TechToy

follow your principle

OpenWrt简单配置

| Comments

  1. 使用UUID挂载U盘或移动硬盘至/opt目录

  2. 修改/etc/opkg.conf添加一行 dest usb /opt/Packages

  3. 修改/etc/profile添加

    if [ -d /opt/Packages ]; then
    export USB=/opt/Packages
    export PATH=$PATH:$USB/usr/bin:$USB/usr/sbin
    export LD_LIBRARY_PATH=$USB/lib:$USB/usr/lib
    fi

iPad利用DLNA客户端直接看电脑中的电影

| Comments

搞了个乞丐版的new pad,平时用来看看新闻,博客,偶尔玩玩游戏真的挺爽。

电脑了存了一些电影,一直没时间看,这个周末准备用ipad体验一把。说实话ipad直接拷电影很不方便,而且我的乞丐版容量小,放不下几部,于是google怎么用ipad直接观看电脑上的电影,总结了下主要有如下几种方式:

  • 远程桌面方式首先放弃,ipad的屏幕看电脑桌面还是感觉有点小,控制电脑桌面不爽。

  • ftp共享也许是个不错的方法,后来才知道ipad里面好多视频播放软件可以直接访问ftp里面的内容,反正成功搞定DLNA方式之前没有尝试此方式。

  • uPnP/DLNA,不得不说这是个比较完美的方式,适合geek折腾,_^

[转]GDB使用介绍

| Comments

本文转自于CSDN, 仅作排版处理。

GDB介绍

在Linux下最强大的Debug工具就是GDB了,许多IDE都集成了GDB进行调试。使用源代码级调试能够更直接的进行调试,效率明显高于输出Log信息。但目前无论是Mac下的XCode,还是Linux下的其它集成工具,对于调试库函数都是相当困难的,如果直接使用GDB这些问题就迎刃而解。我们首先来探讨一下GDB的基础知识。

GDB调试流程

GDB调试依赖于编译器输出的调试信息,所以进行调试前必须确定GCC输出了调试信息。

Linux 环境变量的多种设置途径

| Comments

上一篇提到有空写写Linux设置环境变量的方法,没想到一眨眼就是一周,怎一个懒字了得。

其实这篇文章主要翻译自一篇英文blog,有喜欢阅读英文资料的可以前去一观。

会话级环境变量

会话级的环境变量只影响特定的登录用户,用户主目录下有几个隐藏文件可以用于进行此设置。

  • ~/.profile - 这个脚本在启动DM(Display Manager)时被自动加载;如果你使用控制台方式登录,它也会被加载,其实确切的说,只要是使用 login shell ,此文件就会被加载。

Arch使用systemd替换sysVinit

| Comments

忘了最早是怎么知道systemd的了,最近想起来折腾它还是因为无意中看到了Arch论坛上一篇帖子,帖子内容跨度了两年,对于技术贴来说,我第一次见到。要想把整个帖子内容都看完有点不现实,大体上整个帖子就是在讨论Arch中怎么用systemd替换现有的sysVinit

systemd是一个新的init系统,有关它的详细介绍参见Lennart的blog,文章很长,推荐技术宅们详细阅读下,看完你会觉得受益匪浅,甚至也许你就会像我一样迫不及待的想要尝试一下了。

其实整个切换过程并不复杂,按照Arch wiki上一步一步来就行了,我这里只是记录下我自己的整个操作过程,算是Wiki的中文简化版吧。

安装systemd

$sudo pacman -S systemd

Arch当前安装完会有一些提示,可以暂时不用管,后面会用到。

ln -s '/usr/lib/systemd/system/getty@.service' '/etc/systemd/system/getty.target.wants/getty@tty1.service'
:: Append 'init=/bin/systemd' to your kernel command line in your
   bootloader to replace sysvinit with systemd

[转]Linux Inode 介绍

| Comments

本文转自http://www.cnblogs.com/itech/archive/2012/05/15/2502284.html,在原文基础上稍加排版,纯属收藏

一、inode是什么?

理解inode,要从文件储存说起。文件储存在硬盘上,硬盘的最小存储单位叫做”扇区”(Sector)。每个扇区储存512字节(相当于0.5KB)。

操作系统读取硬盘的时候,不会一个个扇区地读取,这样效率太低,而是一次性连续读取多个扇区,即一次性读取一个”块”(block)。这种由多个扇区组成的”块”,是文件存取的最小单位。”块”的大小,最常见的是4KB,即连续八个 sector组成一个 block。

文件数据都储存在”块”中,那么很显然,我们还必须找到一个地方储存文件的元信息,比如文件的创建者、文件的创建日期、文件的大小等等。这种储存文件元信息的区域就叫做inode,中文译名为”索引节点”。

Git-svn更新svn地址

| Comments

今天一个项目的svn地址发生了变化,如果本地使用svn客户端,比如tortoise-svn,可以直接relocate更新地址,但我一直使用git-svn管理项目代码,这个变换svn地址可就没那么容易了。

网上搜了下,git的wiki里面介绍了三种方法:第一种发送比较繁琐,但好像是使用最广泛的,因为好多搜索结果都是使用的此方法;第二种方法引自与winterstream’s blog;第三种方法一看也比较繁琐,最终决定使用第二种方法。

详细阅读了下winterstream的方法,具体步骤可以概括为三步:

Git-svn 标准模式克隆的问题

| Comments

公司采用svn托管代码,个人比较偏向于使用更加灵活的Git。由于项目代码包括windows客户端,linux后台,以及web客户端,很自然的形成三个文件夹:

project/Trunk/windows  
project/Trunk/linux  
project/Trunk/web
project/Branches/V2/windows
project/Branches/V2/linux
project/Branches/V2/web
...

C# 非UI线程通知关闭UI时的异常处理

| Comments

C#中非UI线程正常情况下无法操作UI控件,一般使用委托的方式访问这些控件。
示例代码:

private void DelegateHandler()
{
    if (this.InvokeRequired)
    {
        this.Invoke(new MethodInvoker(
            delegate()
            {
                this.DoSomething();
            }));
    }
    else
    {
        this.DoSomething();
    }
}

Git历史搜索的各种方法

| Comments

  • 搜索提交日志

    git log –grep

示例

$git log –oneline
939439b Update arch hdmi config
bda8277 add disqus
a128978 write a blog about hdmi audio in arch
9ae3805 modify path for articles

$git log –grep “arch hdmi”
commit 939439b3b011f05c7e86ab7efd38c67a6da3f4ad
Author: ensonmj ensonmj@gmail.com
Date: Mon May 14 20:49:32 2012 +0800

Update arch hdmi config

  • 搜索变动

    git log -S< string >
    git log -G< regex >

示例

$git log -G”Arch HDMI”
commit 939439b3b011f05c7e86ab7efd38c67a6da3f4ad
Author: ensonmj ensonmj@gmail.com
Date: Mon May 14 20:49:32 2012 +0800

Update arch hdmi config

commit a1289784169fcba713c2fa5ad7a860f70e10f289
Author: ensonmj ensonmj@gmail.com
Date: Fri May 4 23:02:56 2012 +0800

write a blog about hdmi audio in arch

  • 搜索工作区

    git grep

示例

$git grep “Arch HDMI”
source/posts/2012-05-04-arch-hdmi-sheng-yin-shu-chu.markdown:title: “Arch HDMI 声音输出”
source/
posts/2012-05-14-arch-hdmisheng-yin-shu-chu-(xu-).markdown:title: “Arch HDMI声音输出(续)”