来自知乎 linux的一些玩法

开源系统最大的好处在于可定制性,以下是自己的一些折腾的玩法:
  1. 用 beautifulsoup, urllib, sqlite3 编写 python 脚本,解析学院主页上的学术会议报告通知,一旦有新报告就记入数据库,并且发微博 at 一部分人,放入 crontab 自动定期执行。
  2. 对 dmenu 程序启动器的哲学不满,遂参考其源代码重写了一个按 MRU(Most Recently Used) 排序的程序启动器名为 mrulauncher。
  3. 讨厌 top 命令在显示内存大小的时候不按「超过 1024 就升级单位」的规则来,遂修改源码定制自己的 top。
  4. 用 vim+xelatex+mupdf 写论文,但每次 make 之后 mupdf 无法自动刷新。查阅手册后发现它接收一个 SIGHUP 信号可以用来刷新,遂写了一个名为 mupdf-refresh 的脚本,在 Makefile 里调用,实现编译完后自动刷新。
  5. 笔记本是 ThinkPad R400,自从某次更新 BIOS 之后,风扇转速一旦升上去就降下不来了(即使 CPU 温度降下来),遂自己写了一个名为 fand 的守护程序根据 CPU 温度调节风扇转速。
  6. 上文那个播放器。早年许多播放器不支持 APE 格式,不支持格式转换,中文还乱码,遂抛弃它们,移植 APE 官方解码库,从头写了个基于插件的播放器自己用着。
  7. assaultcube(类似CS的FPS游戏)玩得不过瘾,遂修改源码:去掉后座力,弹药无限,增加护甲。
  8. 写内核模块,又不想让自己的机器 kernel panic。于是搭建一个 nfs,存放内核模块的源码,然后在虚拟机里挂载这个 nfs,开发测试内核模块。
  9. 使用 zfs-periodic 脚本对 /home 分区每小时做快照,保留最近12小时的快照。再也不担心误删文件了。
  10. 使用 tmpfs(共享所有主存模式),编译啊、浏览器缓存什么的都放在内存文件系统上,又快又干净。
  11. 有一次更新系统后发现 CPU 的中断率异常的高,于是用二分查找(svn update -r xxxxx,编译安装内核,重启),搞了N次,终于确定了哪次 revision 导致问题,然后上邮件列表问,很快就得到开发者回复,修好了这个问题。
  12. 用 wget 抓取教授们的个人主页,有时会有意外收获:)
    wget-site: aliased to wget -c -r -np -k --timeout=3
    
  13. 学习一些开源项目,有时候时间隔久了就分不清他们用哪种版本管理器,同步前要确认一下再敲相关命令很麻烦,于是弄了一个名为"up"的命令:
    up () {
            if [ -d ".git" ]
            then
                    echo "git pull origin"
                    git pull origin
            elif [ -d ".svn" ]
            then
                    echo "svn up"
                    svn up
            elif [ -d ".hg" ]
            then
                    echo "hg pull"
                    hg pull
                    echo "hg update"
                    hg update
            else
                    echo "Bad repository!"
            fi
    }
    
---------------------------------------
以下是我没去做的,但技术上毫无难点的玩法(适用于ThinkPad):
  1. thinklight:加载 acpi_ibm 内核模块后,便有了 /dev/led/thinklight 节点,只要在命令行执行
    echo 1 > /dev/led/thinklight
    
    或者
    sysctl dev.acpi_ibm.0.thinklight=1
    
    就能控制键盘灯。这意味着只要在别的软件里(例如邮件客户端)稍微加点代码,就能实现类似 iOS 的「LED闪烁以示提醒」那种效果。
  2. hdaps:众所周知 ThinkPad 有APS硬盘保护功能(依靠2轴传感器)。然而现在许多人换固态硬盘了,不再需要APS,所以我们就能随心所欲地使用这个传感器,通过驱动读取笔记本 x-y 轴倾,调整某些应用程序的行为(例如用来玩 superttuxkart 卡丁车游戏 =_=)
---------------------------------------
好吧,其实我是 FreeBSD 桌面用户 :)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MATLAB是一种广泛应用于科学与工程计算的高级编程语言和环境。平衡加权高斯消去法是MATLAB中用于求解线性方程组的一种数值方法。 平衡加权高斯消去法是高斯消去法的一种改进方法,旨在提高求解线性方程组的精度和稳定性。它通过将系数矩阵进行适当的归一化或缩放,使得方程组满足一定平衡条件。在求解过程中,加入权重矩阵来改善数值稳定性,减少误差的传播。 使用MATLAB进行平衡加权高斯消去法的求解可以按照以下步骤进行: 1. 首先,在MATLAB中定义系数矩阵A和常数向量b,组成线性方程组Ax=b。 2. 接下来,对系数矩阵A进行平衡操作,可以使用矩阵的归一化函数或自定义函数来实现。这一步的目的是使得矩阵A满足平衡条件,提高数值计算稳定性。 3. 在求解过程中,引入权重矩阵W,该矩阵可以根据具体问题设定,也可以选择默认的对角矩阵。权重矩阵用于在消去过程中调整消元的顺序和大小。 4. 进行高斯消去法,消除系数矩阵A中的未知数。这一步需要在求解过程中进行迭代,直到得到最终的解向量x。 5. 最后,将解向量x与常数向量b相比较,验证求解的准确性和误差大小。 通过以上步骤,我们可以使用MATLAB进行平衡加权高斯消去法的求解。这种方法对于求解大规模线性方程组具有重要意义,并且能够提高计算的精确度和稳定性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值