猫耳耳机简易评测

img 一句话: 这货重449g。

完。


前几年还比较天真相信众筹的时候,只凭一张设计图就定了这耳机,苦等多年后就等来个.. 呃.. 玩具

我戴上的第一感觉是: 重, 脖子好酸, 颈椎病要发作了.. 就凭这重量,死刑。

猫耳部位是扬声器,可以音乐外放.. 外放.. 瞬间感觉low爆了, 去掉这两个扬声器, 减轻点重量也好啊弱智设计师


最近又想培养培养写作习惯了, 于是从以前草稿箱捞出篇了上面这篇废文。

闷骚型披萨:披萨饺

第一眼见到它的时候,我不由得为它的干净利落赞叹不已。如此简洁的食物,实在是不多见。

無標題

拿披萨当做饺子皮,做成饺子样,这就是披萨饺。

原本热情奔放的披萨,一朝沾染上了含蓄性格,害羞的蜷缩成一团,将自身的一切美好藏在内里,徒留质朴的面饼示人。非得你一刀将其躯壳斩开,才能见得到其满腹的美好,这就是披萨饺。

这种性格,对于人类来讲,一般称为闷骚,所以说披萨饺又名闷骚披萨(雾


店名 Papa Johns
菜名 腊肠蘑菇披萨饺
价格 32 CNY
其它 饮料4选1,无限续杯

Cisco IPSec VPN Automatic Routing Table

What’s wrong?

In PPTP/L2TP world:

  • /etc/ppp/ip-up will be run on VPN startup
  • /etc/ppp/ip-down will be run on VPN shutdown

But Cisco IPSec just ignore these files, why?

After doing some Googling, I figured out the difference:

  • PPTP/L2TP managed by pppd
  • Cisco IPSec managed by racoon

And, here is the solution

Base environment configure

  1. Backup your racoon.conf

  2. sudo cp /etc/racoon/racoon.conf{,.bak}
    
  3. Make a directory /etc/racoon/remote to put our custom config files

  4. sudo mkdir /etc/racoon/remote
    
  5. Patch racoon.conf to include our directory

  6. sudo sh -c 'echo "include \"/etc/racoon/remote/*.conf\" ;" >> /etc/racoon/racoon.conf'
    
## Make custom vpn conf file per server
  1. Connect your Cisco IPSec VPN first

  2. racoon will create a configuration file based your vpn server's IP under /var/run/racoon/, Copy that file to our directory

  3. sudo cp /var/run/racoon/YOUR_VPN_SERVER_IP.conf /etc/racoon/remote/
    
  4. Edit /etc/racoon/remote/YOUR_VPN_SERVER_IP.conf, insert two lines below:

  5. script "/etc/ppp/ip-up" phase1_up;	
    script "/etc/ppp/ip-down" phase1_down;
    
  6. Have fun!

Hello Octopress

开始使用Octopress。

以上。

Mac下批量下载迅雷离线文件-AppleScript

[Update]

2011年6月3日:

添加了反序功能(默认开启),对非BT类批量下载链接进行倒序,功能开关请直接改代码。

代码整理,并增加了一些注释。

下载:ThunderLixian-110603

2011年4月28日:

给AppleScript方法添加了BT类任务支持

新代码请自行打开Service查看,懒得贴上来了..

新Service下载:ThunderLixian-BTSupport

用法:对BT任务点击 “显示BT列表”,之后勾选要下载的文件,然后运行Service。

[NEW]Bookmarklet:

研究了下JavaScript,现学现卖,于是有了个更通用的解决方案

添加书签:

迅雷批量

将上方按钮拖到书签栏

用法:

如图:

已知限制:

  1. Safari和Chrome测试可用,但是Firefox3.6无效,原因不知。
  2. 依然不支持BT类任务,哪天我有下到BT资源可能会解决。

[Old]AppleScript:

创建:

打开Automator,创建一个Service 拖放一个Action “Run AppleScript” 复制下方代码进去,保存。 如图:

或者直接下载文件:ThunderLixian.workflow 解压放到 ~/Library/Services/

使用:

用Safari打开迅雷离线网页,勾选你要下载的文件,然后运行Service

如此,便会自动调用iGetter批量下载了。

局限:

这个Service是随便写来自用的,只达到刚好够用的标准,所以很有局限性:

  1. 所勾选的文件请必须是已下载完成的,而且不支持BT类文件
  2. 调用iGetter下载,要用其它下载工具得自己改代码哦~
  3. 只支持Safari

初版代码:

tell application "Safari"
	if (exists document "迅雷会员-离线下载") then
		set doc to document "迅雷会员-离线下载"
		set src to "var syO = document.getElementsByName('ck');
var syVal = syO.length;
var syList=[];
for(var i=0; i< syVal;i++){
    if(syO[i].checked == true){
    var taskid = syO[i].value;
    var linkId = 'dl_url'+taskid.toString();
    var oneLink = document.getElementById(linkId).value;
    syList.push(oneLink);
    }}
syList;"
		set downList to do JavaScript src in doc

		tell application "iGetter"
			set newDownList to {}
			repeat with i from 1 to number of items in downList
				set this_item to item i of downList
				-- insert actions here
				set newItem to {url:this_item}
				copy newItem to the end of newDownList
			end repeat
			DownloadURL newDownList
		end tell
	end if
end tell

我的第一个iOS App -HappyLyric

最初这个app的目的是练手+自用,当时App Store上的歌词类软件没一个令我满意的 项目开始于大年初一,于正月底完成。 写完自己用的很high的同时,也就想着顺便传到App Store上 然后就是总计历时18天的上架审核 两次提交皆因歌词的版权问题被拒,最后含泪砍功能才得以通过。 期间也理解了歌词类软件渣的原因;

由于自动网络下载歌词的功能被砍了 结果,app成了一个纯粹的LRC Viewer, 需要通过iTunes File Sharing自己放入.lrc文件。

[app 423535479]

[appimg 423535479]

115URLAction -Mac下批量下载115文件

一个Automator的Action 用法参考下图:

下载:115URLAction

源代码: github

感谢: 115SpeedUp项目

Tip:如何设置VoodooHDA的NodesToPatch

大部分参考自:http://www.projectosx.com/forum/index.php?showtopic=465

进Linux ,开 Terminal ,执行

cd ~/Desktop && mkdir CodecDump && for c in /proc/asound/card/codec#; do f=“${c/\/*card/card}“; cat “$c” > CodecDump/${f//\//-}.txt; done && zip -r CodecDump.zip CodecDump
将桌面上的 CodecDump.zip 带回OS X

解开CodecDump.zip ,会有一些txt文件,打开他们,查看第一行,找到含有你声卡型号的文件

例如我的ALC888就在 card0-codec#0.txt里

下载我修改过的脚本 verbit

解压到card0-codec#0.txt所在目录

开Terminal,切换到Dump文件所在目录

执行命令

./verbit card0-codec#0.txt

打开VoodooHDA.kext/Contents/Info.plist

NodesToPatch里需要设置的三个数值 Codec、Node、Config如上图所示

若不需要某个Node,则将相应的Config值设为 0x40f000f0

附上我的Info.plist作为参考

Config值手动修改指南:

参照上图,取前三个数值为例

HOW TO: Mac版魔兽世界更新提示“内部错误”的分析以及解决办法

今天台服魔兽更新了4.0.3a,相信很多MAC玩家都会遇到更新问题

發生內部錯誤,Blizzard更新程式無法進行更新。請聯絡Blizzard的技術支援部門。
如下图

很多人问,这该如何解决,很多人这么建议

运行 Repair 程序修复
不过,一般都是修复失败的结果 于是,大部分人的解决办法是
切换到Windows下完成更新,然后到《X-Only》下载最新的App
但是,这个办法总是麻烦,而且上述问题依然存在,每次更新总得这么麻烦一次

====================

分析部分(analyze part):

那么有没有办法一劳永逸解决这个问题呢?抱着这个想法,我趁着这次更新,研究了一番这个问题

首先,单单一个“内部错误”的错误提示没有提供任何有价值的信息,需要查查看有没有Log记录精确点的问题所在

很容易在WOW目录下找到一个Logs文件夹,找到了一个关键文件

World of Warcraft/Logs/Blizzard Updater Log.html
于是我马上见到了关键的错误信息
錯誤: 更新檔”mac-game-hdfiles/World of Warcraft.app/Contents/MacOS/World of Warcraft“無法安裝。 (MD5 mismatch: expected 0x7058660C35AE508717519CF21B7A3AF0, actual 0xFB9666B037DCB8782339A1DCB2F3400B.)(PTCApply_BSDiff failed.)
这句话说明,补丁升级需要目标文件的MD5值为 0x7058660C35AE508717519CF21B7A3AF0 ,但是现有文件的MD5却是 0xFB9666B037DCB8782339A1DCB2F3400B 两者不匹配,版本不对,升级无法继续 那么,文件“World of Warcraft” 在哪里呢 首先,我定位到魔兽目录下的World of Warcraft.app文件,试着计算它的MD5值 计算结果是:7058660c35ae508717519cf21b7a3af0

这不是没问题吗?那为什么Updater计算出来的会是 0xFB9666B037DCB8782339A1DCB2F3400B

是程序计算错误吗?不,肯定不是,因为很多人都能正常更新。

那么就是说 Updater检查的不是这个文件,那它检查的是哪里的文件?

MPQ!MPQ里也有这个文件

于是我定位到了4个文件

World of Warcraft/Data/zhTW/base-zhTW.MPQ World of Warcraft/Data/zhTW/backup-zhTW.MPQ World of Warcraft/Data/enTW/base-enTW.MPQ World of Warcraft/Data/enTW/backup-enTW.MPQ
Mac下没有好用的MPQ工具,于是我切换到Windows

用MPQ Editor打开base-zhTW.MPQ,解压World of Warcraft.app

找到 World of Warcraft.app/Contents/MacOS/World of Warcraft ,计算它的MD5值 fb9666b037dcb8782339a1dcb2f3400b !!! 我找到它了

那么,为什么,MPQ里面的文件的MD5值为什么会不一样呢

查看MPQ里的这个app的info.plist文件,我注意到它的版本是 4.0.0.12911 真是古老的版本

那么出错的只有World of Warcraft.app这个文件吗?其它几个文件有没有错?

经过对比,4个MPQ文件里的app版本统统错了

那么解决办法出来了,把这MPQ里的5个app文件替换掉

修复问题之前,想下出现这个问题的原因是什么

我得出了一个结论

Blizzard Updater每次更新只会升级当前系统的相关文件
也就是说,你在Windows下更新,Blizzard Updater只会更新MPQ里Windows版的文件,对Mac版的5个.app文件置之不理,因此下次你用Mac版更新就会因为MPQ里的文件版本过旧而遭遇“内部错误”
只要你在Windows下成功更新一次,以后也只能在Windows下更新

同理,在Mac下成功更新一次,下次用Windows更新的话,相信你也会遇到“内部错误”

解决方案(solution part):

Step1: 复制当前正确版本的5个app文件
World of Warcraft/Blizzard Downloader.app World of Warcraft/Blizzard Updater.app World of Warcraft/World of Warcraft.app World of Warcraft/World of Warcraft Launcher.app World of Warcraft/World of Warcraft Repair.app
以及4个.MPQ文件
World of Warcraft/Data/zhTW/base-zhTW.MPQ World of Warcraft/Data/zhTW/backup-zhTW.MPQ World of Warcraft/Data/enTW/base-enTW.MPQ World of Warcraft/Data/enTW/backup-enTW.MPQ
Step2: 进入Windows系统,下载MPQ Editor, <传送门:下载页>

用MPQ Editor打开base-zhTW.MPQ,将5个.app文件拖入其中

Step 3: 之后保持Locale ID为Neutral,点击Rulesets按钮,选择World of Warcraft游戏

Step 4: 文件覆盖提示,选择Yes All

Step 5: 重要,一定要记得选择 Operations 菜单下的 Change(attributes) 命令

Step 6: 对另外三个.MPQ文件重复Step 2~Step 5的操作

Step 7:最后,回到Mac,将修改后的4个MPQ文件覆盖回原来位置

现在,打开Launcher,你已经可以正常更新了,恭喜!

然后,记住:下次不要用Windows更新了&下次你也没办法在Windows下更新了。

Services:快速修正乱码的文件名

使用OS X的时候,下载文件总是会遇到乱码的情况:

搜索找不到令人满意的解决方案,于是我自己动手写了个服务(Services)

图解:

在乱码的文件上右击,选择ConvertFileName

之后会弹出确认框,确认无误点击OK

效果如下

也支持文件夹改名

==Download=============

ConvertFileName.workflow

解压至 ~/Library/Services/

Tip:此服务用于因URL解码错误,呈“%xx”形式的文件名修复.默认设置尝试UTF-8/GB2312/GBK三种编码

如果解码失败,请参考文件源,自行修改文件,添加相关的编码

======================

Windows下SSH+PAC全局自动代理设置

首先,给出整个设置的流程图:

  1. SSH客户端的设置

    • 下载安装 Bitvise Tunnelier
    • Login选项卡填上服务器地址,用户名,密码
    • Option选项卡On Login处去掉Open Terminal和Open SFTP
    • Services选项卡开启SOCKS / HTTP Proxy Forwarding
      • Listen Interface处,只本机使用就保持默认的127.0.0.1 ;要共享多机使用就填你的内网IP或外网IP
      • Listen Port自己指定个端口
    • Save Profile保存配置
  2. 设置http代理转向

    • Bitvise Tunnelier提供的只是socks5代理,我们使用Privoxy提供一个HTTP代理服务,将HTTP协议请求转换为socks5协议,并将连接转发到Bitvise Tunnelier
    • 下载安装 Privoxy
    • 打开Main Configuration
      • 搜索forward-socks5 ,找到一行 # forward-socks5 / 127.0.0.1:8118,去掉行首“#”注释符,IP及端口改为在上一步Bitvise所设置的
      • 如果需要共享多机使用,则再搜索listen-address,找到一行listen-address  127.0.0.1:8118 ; 将IP改成你的内网或外网IP
  3. PAC的设置

    • 从 autoproxy2pac 上获取pac文件,代理方式选择HTTP, IP和端口填上一步Privoxy中listen-address的参数,下载文件或者获取在线版本地址
    • 设置internet选项
      • 打开internet选项,选择 连接 选项卡
      • 使用拨号上网的点击 设置,局域网通过路由上网的点击 局域网设置
      • 勾选 使用自动配置脚本,在其下方地址处填入PAC文件的URL地址

就这么简单的给Snow Leopard系统挪了个窝

今天,我将Snow Leopard系统迁移到了另一个硬盘上,整个过程是如此令我惊奇的简单

只需从安装盘启动,打开磁盘工具,按如下拖动,点击恢复,30分钟解决
重起,引导进新硬盘上的系统,对于我等黑苹果用户,再给新硬盘上装上引导工具

然后,完成了,可以把原来的系统干掉了

第三方工具?那是什么?

批处理设置计算机名及IP

管着两间学生机房,每间机器数量64台,每次网刻后设置计算机名和IP总是件麻烦的事情

于是就写了个批处理方便设置了

功能说明:运行后获取输入的两位数字的机器号后,将计算机名改为PCxx, IP改为192.168.0.1xx

set /p cNum=请输入机号(两位数字):
::添加计算机名前缀PC set name=PC%cNum%
输入机号(两位数字):
::添加计算机名前缀PC set name=PC%cNum%

::设置计算机名 reg add “HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\ComputerName\ActiveComputerName” /v ComputerName /t reg_sz /d %name% /f >nul 2>nul reg add “HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters” /v “NV Hostname” /t reg_sz /d %name% /f >nul 2>nul reg add “HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters” /v Hostname /t reg_sz /d %name% /f >nul 2>nul ::尝试修复重名问题 reg add “HKEY_CURRENT_USER\Software\Microsoft\Windows\ShellNoRoam” /v @ /t REG_SZ /d “%name%” /f >nul 2>nul reg add “HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName” /v “ComputerName” /t REG_SZ /d “%name%” /f >nul 2>nul reg add “HKLM\SYSTEM\CurrentControlSet\Services\Eventlog” /v “ComputerName” /t REG_SZ /d “%name%” /f >nul 2>nul

set IPDNS2=8.8.4.4
::为”本地连接”设置IP netsh interface ip set address name=“本地连接” source=static addr=%IPAddress% mask=%IPMask% gateway=%IPGateway% gwmetric=1
sh interface ip set address name=“本地连接” source=static addr=%IPAddress% mask=%IPMask% gateway=%IPGateway% gwmetric=1

::设置DNS netsh interface ip set dns name=“本地连接” source=static addr=%IPDNS1% register=PRIMARY netsh interface ip add dns name=“本地连接” addr=%IPDNS2%

cls echo. echo. echo. echo. echo =====================设置成功==================== echo. echo 计算机名: %name% echo IP: %IPAddress% echo 子网掩码: %IPMask% echo 网关: %IPGateway% echo DNS1: %IPDNS1% echo DNS2: %IPDNS2% echo. echo ================================================= echo. ::等待15秒退出 ping /n 15 127.1>nul{% endcodeblock %} 本想写个功能强大点的批处理,比如加上根据MAC地址自动设置,但是看了看实现方法,一堆麻烦的for语句,goto语句,顿觉头大,最终还是选择放弃,简单够用就行了

Update:添加几句代码,尝试修复提示重名的问题

Mac不用第三方软件实现闹钟功能

  • 在iTunes创建一个播放列表wakeup,列表中添加当闹钟的音乐文件
  • Automator创建一个应用程序,实现启动iTunes播放wakeup列表
  • iCal设定事件,定好提醒时间,提醒方式选择打开上一步创建的程序
  • 最后,设置自动开机时间,比提醒时间早个5分钟左右
为了避免年纪轻轻就得心脏病,我需要声音能由小到大有个渐变过程 一开始我在Automator流程里加了几个设置音量并暂停的重复操作
但是这样的实现方式看着就不舒服,而且声音变化不够平滑
正好在学objective-C,试着写一个小程序实现,可惜我这个门外汉实在搞不懂设置系统音量应该调用什么函数 用google搜索资料倒是意外得到了一个shell命令
osascript -e "set Volume 0"
Volume值范围是 0.0-10.0 Update: Volume值范围是 0.0-7.0 Update2: 在AppleScript里查到了”set volume”的详细定义,改用”[set volume output volume integer] “命令,integer的值范围是0-100; 于是改用shell脚本实现音量平缓变化
shell脚本代码如下
for((i=0;i<=100;++i))
do
osascript -e "set Volume output volume $i"
sleep 0.2
done

添加一个”Services"-Translate with Google

依照笑来老师的教程添加了几个Services 今天试图添加一个Translate with Google的时候却遇到了点问题

Google translate的Prefix是这样的

http://translate.google.cn/#auto|zh-CN|
按教程到了Display Webpages步骤却会将网址编码转换为
http://translate.google.cn/%23auto%7Czh-CN%7C
问题在于Google translate不支持编码后的‘#’
研究了下于是用AppleScript解决
以下是代码
on run {input, parameters}
set thePre to “http://translate.google.cn/#auto|zh-CN|"
set theUrl to thePre & input
tell application “Safari”
activate
make new document
set the URL of front document to theUrl
end tell
return input
end run