作者: wenbin

  • php dyld: Library not loaded: /usr/local/lib/libjpeg.8.dylib 错误

    通过 brew 升级了一下 mac 上安装的包,php 开始报 dyld: Library not loaded: /usr/local/lib/libjpeg.8.dylib 的错误。
    比较明显的看出是依赖出了问题,上 stackoverflow 查一下,已经有解决的方法了。
    排行第一的答案的方法是手动下载 jpeg 包的源码,本地编译安装。我这样有点洁癖的不太喜欢本地编译安装的方式,管理起来太麻烦了。既然是brew 升级造成的问题,我更倾向于直接降级。
    其他答案里也提供了降级的方案:

    brew switch jpeg 8d
    

    如果这个命令提示jpeg does not have a version "8d" in the Cellar.brew 仓库里不存在8d 的版本
    需要手动回滚 brew 仓库版本进行安装

    cd $(brew --prefix)/Homebrew/Library/Taps/homebrew/homebrew-core
    git checkout b231469
    HOMEBREW_NO_AUTO_UPDATE=1 brew install jpeg
    git checkout master
    

    最后重新执行上面第一步的命令,就修复好了。
    参考:
    https://stackoverflow.com/questions/32703296/dyld-library-not-loaded-usr-local-lib-libjpeg-8-dylib-homebrew-php

  • 小米电视 4A 65 寸 开箱记录

    家里装修好住进来3个多月,电器都还没配全。一是这些电器用到的频率比较小,早点装迟点装影响不是很大,二是装完修,手上并没有太多的闲钱。不过再怎么没钱,结婚前还是要把所有东西配齐的。
    这周配了一个小米电视。买电视前稍微看了下相关资料,电视还是索尼的比较好,另外在推荐的观看距离里,电视越大越好。我们家里客厅比较小,座位到电视墙的距离就2.3M 左右,这个距离正好是65寸电视推荐的最小观看距离,但是电视墙又比较大,如果放了比较小的电视,看起来会比较 Low,权衡之下,还是决定买65寸的电视。
    淘宝上看了下65寸索尼电视65寸要1.5w,着实有点贵。花这么多钱买个平时不太用的电器感觉有点不值。问了下身边刚装修完的几个同事买的什么电视,发现清一色的都是买小米电视。又问了下小米电视广告多的问题,发现广告多的问题其实有几种处理的方式。就安心的决定买小米电视了。毕竟价格在这里,是索尼同等大小价格的三分之一,差太大了。
    65寸的小米电视有4,4A,4A 语言版,3S,3S 曲面版等5个型号。官网对比发现4A 和3S 版本配置基本相同,后者在某些地方还比前者要好一些,比如智能背光,更高的NTSC参数,USB 3.0,更薄的机子等,最关键的,3S 配备了小米家庭影院音响系统,这个在小米官网独立售价就是1999元。而3S标准版只比4A 标准版贵了1000元。这让人十分心动。我旁边工位的同事也是看中这点买了3S。我最初也是决定买 3S 的。
    买电视的时候正好遇上各大电商的818大促活动,点开小米官网,各个商品也和其他电商一样在做活动,不同的小米电视都有优惠三四百,五六百块钱。看到 3S 有便宜300块钱非常高兴。但是点开详情页的时候,我就有点不好了,显示已经售罄。马上点开小米天猫旗舰店,3S 也是售罄状态。我就不淡定了,花这么多时间决定好的型号没了,我又回到了原点。重新找个型号还是怎样呢。闲想间又逛了下小米官网,意外看到4A 型号促销便宜1300元,这样的优惠估计是不常有。这里面也有一点猫腻,3S 的优惠是有包邮的,而4A 的优惠没有包邮,邮费报价300元,所以实际上只是优惠了1000元,这下算上独立的音响系统,价格是和3S 一样了。既然3S 售罄,也没有其他好的选择了 ,于是立马下了个单。
    下单的时候还有点意外,选错了付款方式,本来是可以花呗6期免息分期的,选成了用信用卡全款付款。想后台退款了重新拍一单,但是后台竟然没有取消订单的功能。联系了下客服,表示也不知道,但是可以工作人员手工取消订单,需要等待24个小时。这服务简直眼瞎。不想折腾,就算了。
    周日下的单,工作日家里都没人,联系物流下周六送货。下单的时候小米系统给自动预约了上门安装服务,安装工人和物流之间没有系统调配。自己做了协调。
    周六送货过来,配送员会帮你开箱通电,检查显示器完整及漏光情况。也就插上电源开机看了下。中午12点送的电视,预约的是3点钟过来安装。但是安装工人并不是很准时,过来安装的时候已经6点了。两个工人,安装其实比较简单,其中一个工人只是帮忙抬下电视,并不需要做其他事情。在电视墙上打孔,安装支架。打孔比较粗暴,打孔周围前面都有一些裂缝,粉刷的墙面都有点掉下来。反正都在电视后面,没有太计较。
    有个不太方便的地方是,4A 的背面接口面板比较靠里面,挂上去之后想再接其他线,比如挂个移动硬盘,比较麻烦。线路面板不在电视中央,背景墙上开的隐形线路管道距离有点远,线路要穿进去的话需要很长的线。我的机顶盒的线就不够长,只能放外面过。显得有点丑。

  • 陈素封

    “过一个平凡无趣的人生实在太容易了,你可以不读书,不冒险,不运动,不写作,不外出,不折腾……但是,人生最后悔的事情就是:我本可以。”——陈素封

  • [lessons-0]Hello World

    欢迎来到 HackDesign! 第〇课是你接下来的每周都会收到的课程的一个准备,这些课程将会教会你熟练的运用设计。兴奋吗?
    这一周,仅仅是一个连接。但这是我至今看到的最有理想的设计资源,并且很高兴我能和你分享。它不仅改变了我对产品设计的认识,还让我陶醉于设计可以对人们的生活产生各种积极影响的能力。(翻译的有点拗口,见谅,下面有原文连接。)
    在twiiter上联系我@wr – 让我知道你的想法
    工业设计面面观
    这个影片是建立这个课程背景的关键。
    当你看时,可以想想他们都说了什么,想想你自己的工作中是不是这么一回事。
    全片:在全球的任何地方,你都可以通过Objectified这个网站,用3.99美元观看这部影片。你也可以再NetflixAmazon Prime或者iTunes上查看。
    如果上面查看方式都失败了,这里还有一个 YouTube播放列表。
    原文:http://hackdesign.org/lessons/0
    作者信息:
    Wells Riley
    Product Designer, Kicksend
    I’m the Product Designer at Kicksend. I love creating clean and understandable user interfaces for web and mobile products. Creator of Hack Design and Startups, this is how design works. You can Follow me on Twitter.

  • Moto defy Mac 上无法连接 adb 问题

    还在用一代神机 defy,虽然已经老的不行,价格从入手时的 2k 掉到现在 150软妹币,用来调试程序还是可以的。
    速度至少比模拟器快不少吧。另外就是老态龙钟的 defy 还有幸刷上了第三方提供的 android 4.4 rom。
    defy 通过 usb 插上电脑后,在终端中输入

    adb devices
    

    发现社设备列表没有出现defy。
    查了下问题,找到了解决方法。
    在终端中输入

    system_profiler SPUSBDataType
    

    查看系统所有 usb 设备信息。
    找到手机的Vender ID,记录下来。
    打开用户目录下的.android/adb_usb.ini文件,把上面的 Vender ID 输进去,保存之。
    重启下 adb 服务,重新插拔下 usb。

    adb kill-server
    adb start-server
    

    再执行

    adb devices
    

    时就可以看到设备了。
    reference:
    http://blog.csdn.net/duanyipeng/article/details/8836040

  • ‘autorelease’ is unavailable报错修复

    对着教程敲代码,可能教程有些老,教程里的代码跑起来报错,
    报了个’autorelease’ is unavailable: not available in automatic reference counting mode。
    下意识觉得是配置文件问题,看了下 build setting,果然后这个设置项,把 Automatic Reference Counting 设成 no 就好了。

  • wordpress FTP credentials on localhost

    本地安装的测试用的wordpress升级的时候提示要输入ftp用户名和密码。
    想想应该是权限的问题。
    两条命令搞定

    $ sudo chown -R _www wordpress
    $ sudo chmod -R g+w wordpress
    

    reference:
    http://wordpress.org/support/topic/wordpress-localhost-ftp-computer-security
    http://codex.wordpress.org/Changing_File_Permissions
    http://wordpress.stackexchange.com/questions/57166/ftp-credentials-on-localhost

  • Mac 下安装和配置 mysql 记录

    安装其实很简单,就一条命令:

    $brew install mysql
    

    主要是安装好后需要注意做一些安全方面的设置,以前都没有意识去做,这里记录一下。
    安装好后主要做三件事:
    第一,要给 root 用户设置密码。

    $mysqladmin -u root password 'password'
    

    第二,默认情况下mysql可以不用密码就连接,我们要设置一些登录密码的安全访问限制,删除匿名用户访问,删除root用户通过网络访问,删除test测试数据库等。

    $mysql_secure_installation
    

    最后,更具需要配置 my.cnf 文件。

  • 批量替换 github 的 https 连接为 ssh 连接

    要把 git repo 的 https 连接方式改成 ssh 的一般有两种方法:
    一、修改 repo 下 .git 文件夹里的 config 文件,将 [remote "origin"] 里的 https://github.com/ 改成 git@github.com:
    二、使用 git 提供的命令来修改 git remote set-url origin git@github.com:user/repo.git
    两种方法不做修改的话都没法实现批量处理,对整个 workspace 内那么多 repo 没个批量处理的方法那还不疯了。
    其实批量处理也很简单啦,一条命令的事情,就是对上面的方法一作一些小修改,用了三个比较常用的命令 find, grep, sed
    $ find ~/workspace -exec grep "https://github.com/" ‘{}’ ; -exec sed -i "" "s^https://github.com/^git@github.com:^g" {} ;
    查找文件夹下所有文件,找到其中的 https://github.com/ 替换成 git@github.com:

  • 在 IDEA 的 external tools 里面执行 grunt

    项目里使用到 grunt, 但是又不希望每次使用 grunt 的时候要打开 项目文件夹,再打开命令行窗口,那么可以使用 IDEA 提供的一个在其内部执行外部命令的小工具 external tools
    其实很简单,只要进行一点点配置就可以了。
    我的工作环境是 WIN7
    在 IDEA 下按 Ctrl+ALT +S 调出来配置管理器,在右上角搜索框搜索 external tools
    点击添加配置,在配置里修改相关配置,主要是下面 3 点
    Program: C:Program Filesnodejsnode.exe
    Parameters: ~AppDataRoamingnpmnode_modulesgrunt-clibingrunt
    Working directory:$ProjectFileDir$
    如图:
    QQ截图20131121105030
    over.
    配置好后就可以在Tools菜单看到响应的选项了,你可以通过配置将其图标放到菜单下的图标栏中方便点击。同理其他相关任务都可以通过这样的方式添加进来,十分方便。
    reference: http://stackoverflow.com/questions/18894270/how-can-i-run-grunt-as-a-external-tool-from-intellij