标题纯属瞎扯,其实非也;标题党?额好吧…… 刚才给移植过来的 music player 又加了一个支持多播放列表的功能,原因并不是为了支持multiple而multiple,而是如果一个list下面的track太多会影响页面美观(列表太长了),所以完全处于对UI的考虑而加了多playlists的支持,这不是mvc这可是vmc…… 另外提一下一直还没有把source放到github的原因,主要原因有二,之一是因为人家原创作者都没有放到github上去,我先跑去抢了名字似乎有点喧宾夺主,我一直觉得这些改动作为这个plugin在github上的一个fork存在是最ideal的形式;之二则是我开发的时候不小心或者说是无所谓的将mp3和ogg等格式文件加到了git里面…… 整个project本身就不小,加之git存储的东西一下子翻了一番,印象中github有个project大小的限制,我感觉我是超了,当然workaround就是把这些二进制都移除git,但是由于原因一我目前也懒得动了。 另外考虑音乐文件普遍流量恐怖,所以放到了号称××××都unlimited的hostmonster上去,而不去折腾我那流量有蛋疼限制且超流量有如坐飞机行李超重般惩罚严厉的小vps了;所以最后域名是samsonw.info而不是crash4.us,所以也可以说 everything happens for a reason. 好了anyway,enjoy!
Full Screen Mode for TextMate and MacVim
继续用wordpress的fullscreen mode写关于fullscreen的东西…… 不要怪我火星,你要允许孤陋寡闻的井底之蛙(比如我)慢慢发现以前一直很annoying的fulscreen mode原来可以真的让我相对focus一些,暂且不管这到底持续的时间能有多长…… For those who cares, it’s all about focus and productivity. (really? are you crazy?) [MacVim] 火星旅程开始,先别急着google,turns out 人家MacVim已经自带了这个功能,奈何我是眼睛大还是压根没注意… 打开MacVim,然后: Window -> Toggle Full Screen Mode You got it: [TextMate] TextMate默认不自带fullscreen功能,不过人家整整5年前便在讨论解决了……
So for all of you who patiently wait for this to become a native feature, now there is a workaround.
5年后的今天TextMate本身还是没有native的include这个feature,想必你对几乎所有用户所诟病的textmate更新慢的”feature”也可见一斑了吧,更新慢却又不开源,是很多曾经很fan却又最后放弃的很大原因,当然这是后话。 5年前的那个workaround的最后更新是09年9月,虽release notes里面明确指明了snow leopard和64-bit compatible,其不活跃的开发状态仍然让人不放心,怎么都一副德行…… 最后还是在github上搜到了一个相对而言蛮新的 textmate plugin , 最后更新在去年12月,且有专为Mac OS X Lion TextMate用户打造的版本,你还能再奢求什么? 在这里下载最新版 (Beta-0.4),解压双击安装后,你的TextMate也就有了MacVim一样的fullscreen mode. Window -> Fullscreen (⌃ + ⌥ + ⌘ + F) 最后提一句,这两个editor的fullscreen mode都没有之前提到的writeroom给力,不过也总算聊胜于无吧……
music.samsonw.info
tl;dr 传送门: music.samsonw.info Prerequisite: 网速要给力…… 目前只在最新版本的firefox,safari和chrome下测试通过 ((opera最新版有bug,手边没IE懒的测了…)),虽然不是必须,但还是推荐用webkit内核浏览器 ((safari, chrome)) 访问.
我的SQL.tmbundle fork
今天两篇post之后,还是对wordpress 3.2的full screen editor爱不释手 ((美中不足,fullscreen模式下少一个preview的按钮,但瑕不掩瑜)),所以再来一篇……;这不是0day,所以请expect一切都会可能有延迟. 话说这还是上周一的事情了……
插入一个闪回: 我平时一般工作或是自己开发都开着两个editor,一个是macvim,这个目前看来是完全为了vim-task了,我用它来GTD;另外一个是textmate,我大部分的code,除了java和obj-c外 ((java当然eclipse了,obj-c更是当仁不让于xcode))都是在textmate里面完成;可能你会觉得好奇,话说这已经牵涉到信仰的问题了,要知道textmate是我两年前我买mac的first bullet,如果抛弃textmate,我两年前的行为就似乎失去了意义;请不要告诉我mac的ui怎么怎么fancy,界面怎么怎么友好,我不是果粉,这些对我其实都没有杀伤力;我更不是那些个喜欢抱着macbook pro在星巴克靠窗的座位前展现各种独特品味的伙计,话说我到非常希望我能有如此的定力……
闪回完了回来,回到上周一;如果你像我这样用textmate编辑维护总和超过10000+行的 sql stored procedure (单文件3000+行) ((for the record, 这是postgresql的pl/pgsql代码)) 代码,你会明白textmate默认自带的SQL.tmbundle其实做的蛮烂的,作为一种语言的bundle,它竟然不支持symbol list,这让本身在TM里面navigate就不方便的用户情何以堪…… 一般语言定义的function或是method都会被作为symbol list的item,方便用户直接跳转到该function/method的definition处;没有symbol list的情景下,这意味着你只能search,还要人为或自动的filter掉一些不是definition的match字串,这在你debug的正high,正心急如焚抑或火冒三丈的时候,无疑不是种尴尬,接下来便是不情愿的敲上 ⌘ + F,然后嘴里嘀咕着:”人生啊”;这,就是我上周一之前一直的状态…… 不过上周一之后有了我自己的SQL.tmbundle后,我终于有了SQL的目前相当简陋的symbol list,我很清楚的记得我那天没再说那三个字…… 不过可惜的是,也许也是值得庆幸的是,我马上就不需要维护那么长的SQL了,话说这还真不好说是高兴还是悲伤,但无论是高兴还是悲伤,这里,永远都不是一个应该表达感情的地方; 我想我上面罗里罗唆的还闪去闪回的应该已经把我写下标题后想传达的信息传达到位了,至少我希望如此。 对了,如果你看到这里还不知道symbol list是啥(不是没可能,话说这个名字还是有点confuse的),这里有个截图,symbol list就是右下角popup的那块,可以像我这样用鼠标点,也可以用 ⌘ + Shift + T 打开 “Go to Symbol…”的dialog,更多的时候shortcut key更管用。 最后,如果你brave enough想尝试下这个的SQL bundle的话,下面是installation guide,follow TM bundle的tradition,assume你已经装了git: [cc lang=”bash”] $ mkdir -p ~/Library/Application\ Support/TextMate/Bundles $ cd ~/Library/Application\ Support/TextMate/Bundles $ git clone git://github.com/samsonw/sql.tmbundle.git SQL.tmbundle $ osascript -e ‘tell app “TextMate” to reload bundles’ [/cc]
WordPress 豆瓣插件: douban-collections (豆瓣收藏) 1.0.0
此次release主要来源于两个trigger: 1. wordpress 3.2 release了; 2. grid archives 1.2.0 实现了一个只在某些page或post页面load资源文件 (css, js etc) 的feature,就如人家建议的,这个feature,douban collections也值得拥有; [Live Demo]
[Changelog]
- 增加了一个只在某些特定页面load豆瓣收藏插件资源文件(css, js etc)的选项,从而相对减小其他页面的load时间
- 在插件管理页面 (Plugin Admin UI) 做了很小的改动,从而和 wordpress 3.2 的新管理界面完全兼容
- 使插件完全兼容 wordpress 3.2
Grid Archives 1.3.0
Wordpress 3.2 is released today with “Refreshed Administrative UI”, “Full Screen Editor” ((I really like the Consolas font in the editor)) and a couple of other enhancements and bug-fixes. To be fully compatible with this latest release, only a couple of minor tweaks ((for the record, grid archives 1.2.0 is also fully functional with wordpress 3.2)) was made in this grid archives 1.3.0 release. [ChangeLog]
- tiny UI tweak in plugin admin setting page, make it compatible with the Refreshed Administative UI of wordpress 3.2.
- make the plugin compatible with wordpress 3.2.
As always, please visit the plugin home page for more details.
Grid Archives 1.2.0
Continue with our CDD ((Comment Driven Development)) process :) As indicated in this comment, before 1.2.0 grid archives resource files (css, js etc) are loading on every page. This is actually a common plugin issue as that’s the default behavior of wordpress’s 2 API functions: wp_enqueue_script() and wp_enqueue_style(). To avoid loading resources on every page and thus improve the load speed of the whole site, Grid Archives 1.2.0 added an option to allow user to enable loading plugin resources only in specific pages and posts. The page/post name can be configured in the grid archives settings page. [ChangeLog]
- added a option to enable load plugin resources only in specific pages and posts.
Grid Archives 1.1.0
Grid Archives now seems work pretty good with the CDD (Comment Driven Development) process :) This release is driven by this comment. As I said, the plugin is now totally driven by comments, so as always, thanks for these who trying this plugin out and giving back the precious feedback. In this release, grid archives now support displaying posts from one specific category, just input [ grid_archives category=”Category name” ] ((remove the space after “[“ and before “]“)) in your page/post, the category is the category name you want to display. For backward compatibility, the old [ grid_archives ] will still work and will still show all the posts as it did before. [ChangeLog]
- added a shortcode category attribute to display articles under one specific category, grid-archives now support [ grid_archives category=”Category name” ]
Please visit the plugin home page for more details.
喝coffee写coffeescript
好吧,这回中文,亚历山大…… 其实英文有英文的好处,比如英文会使本人比较focus,因为没兴趣也没能力瞎扯,于是主题明确而不拖泥带水;中文的坏处便是我会常常迷失主题,跑题千里后蓦然回首,那人竟然还在灯火阑珊处…… anyway…… 前几天看到sunng的take my coffee,一看title以为必是coffeescript,结果竟偏是如此纯结(纯是纯净水的纯),看来还是哥多虑了…… 想来最近的blog title里面随便带个coffee都会让人浮想联翩,coffee script的“火”冒三丈也就可见一斑。 标题起源于上周想到一个idea,便是让live fortune定时publish到新浪微博或是twitter,目前新浪的publisher已经实现,并顺便refactor了一下code,让之后twitter publisher的加入变的十分简单(在plan中);实现的过程中再次发现了sina clone的迹象,因为其oauth实现竟然连url抄的都一模一样,倒是方便了实现,因为twitter oauth的sample code基本上改个site base url后就能完全照搬,暂且认为这是新浪有意而为之的吧,目的便是方便第三方开发人员…… 本来这篇文章一直draft着,再加上周末一直不available,所以拖到现在,为了应景,还特地决定一大早先跑去喝杯咖啡后再来奋笔疾书,无奈公司咖啡机几近坏掉,我修了半天搞的满身都是最后还是勉强喝到了一点味道有稍许异样的不知道还能不能叫做coffee的”coffee”,看来杯具如我辈是永远达不到sunng那种小资情调的呵呵; 吃葡萄不吐葡萄皮,不吃葡萄倒吐葡萄皮. ((喝coffee不写coffeescript,不喝coffee倒写coffeescript))