分类: TechNote

  • Capturing the first frame of an animated GIF with ImageMagick

    convert “animation.gif[0]” file.jpg

    Ref: http://devblog.bluefuton.com/post/2976224441/capture-first-frame-animated-gif-imagemagick

  • set default grub options

    1. open /etc/default/grub
    2. then change anything you want

  • memcached expire time 0

    今天一个同事问道缓存设置0然后判断永不过期的实现机制是怎么样子的,当时猜想可能是设置了一个比较大的值(比如十年),不过对此不确定。
    兴起去pull了memcached的源码来看:

    git pull https://github.com/memcached/memcached.git

    memcached.c 文件 3314 行:

    /*
    If exptime is zero realtime() would return zero too, and
    realtime(exptime) – 1 would overflow to the max unsigned
    value. So we process exptime == 0 the same way we do when
    no delay is given at all.
    */
    if (exptime > 0)
    settings.oldest_live = realtime(exptime) – 1;
    else /* exptime == 0 */
    settings.oldest_live = current_time – 1;

    原来是用了无符号整数的溢出。。。

  • Resque

    在厦门PHPer群里看到的。
    这个玩意儿比较好的地方就是可以跟操作系统解耦。
    其中用到了redis作为队列处理,依赖还是较强,处理量不大的话,用sqlite来替代会不会更好?。

    里面的几个思路跟我自己在cron脚本的一些处理上蛮像,殊途同归,LOL。

    Resque: https://github.com/defunkt/resque
    PHP的clone:https://github.com/chrisboulton/php-resque

    Ref: http://avnpc.com/pages/run-background-task-by-php-resque

  • 使用hping来tcp ping

    在Windows Azure起了两台测试,奇葩的微软没有开放ICMP。

    于是用hping来测试:
    hping3 -S -p 80 google.com

  • 关于Unix

    Ref: http://www.ruanyifeng.com/blog/2012/09/linus_torvalds.html

    14. 关于Unix
    “你在UNIX上完成的大部分任务都是通过六个基本操作完成的,它们被称作”系统呼叫”(system call)。第一个基本操作是”创建子进程”(fork),一个程序把自身完全复制出来,这样你就有了两个相同的拷贝。第二个基本操作是复制出来的程序,再用一个新项目替换自己。其他四个基本系统呼叫–打开、关闭、读和写–都是为了访问文件的。这六个系统呼叫便组成了UNIX的简单操作。然后,你只需在程序之间创造出交流渠道(pipes),就能解决复杂的问题。”

  • Enable APC on CLI

    Available since APC 3.0.7.

    只加载模块是没用的,还需要额外设置一下参数。

    apc.enable_cli = 1

    Ref: http://www.php.net/manual/en/apc.configuration.php

  • elasticsearch

    You know, for Search

    So, we build a web site or an application and want to add search to it, and then it hits us: getting search working is hard. We want our search solution to be fast, we want a painless setup and a completely free search schema, we want to be able to index data simply using JSON over HTTP, we want our search server to be always available, we want to be able to start with one machine and scale to hundreds, we want real-time search, we want simple multi-tenancy, and we want a solution that is built for the cloud.

    “This should be easier”, we declared, “and cool, bonsai cool”.

    是基于Apache Lucene的。用户有mozilla、stumbleupon等。。貌似是个好玩意儿。。

    官网也是蛮漂亮的:http://www.elasticsearch.org/ 让我联想到Linux Mint的绿色。。。

  • 将ubuntu合上笔记本事件响应改为待机

    默认动作是锁屏。

    vim /etc/acpi/events/lidbtn 修改 action 为 sleep.sh

    第三次跟acpi打交道了,第一次还是几年前用FreeBSD的时候,第二次是archlinux。

    这两天用回unity,比以前用起来要舒服一些,第一感觉就是apps关键词查找的时候变快了。
    同时把cinnamon(我用的是开发版,有时会crash)卸掉了。