作者归档: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