BlackBerry posts smaller loss