来自实验室的新鲜事

作者:John Knight

本月首先介绍的是体重管理器 Pondus。根据其网站介绍:“Pondus 是一款用 Python 和 Gtk+2 编写的个人体重管理程序,根据 GPL 协议发布。它的目标是简单易用、轻量级且快速。数据可以绘制成图表,以便快速概览您的体重历史记录,并存储在 XML 文件中,以便与其他程序轻松访问和修改。” 的确,它非常简单,安装也很方便。Pondus 允许您跟踪一段时间内的体重,并用图表显示您的进展。它还可以在公制和英制单位之间切换。

Fresh from the Labs

图 1. Pondus 的可爱极简主义和我的体重图表

安装

在依赖项方面,您需要在开始之前安装一些与 Python 相关的库。每当您编译某些内容时,安装程序总是会要求提供开发文件,因此请确保首先安装 python-dev 文件。如果您仍然遇到问题,在 Google 上搜索会发现论坛上有一些关于 Pondus 依赖的软件包的帖子

  • python 2.4.4-6

  • python-gobject 2.14.1-1

  • python-gtk2 2.12.1-1

  • python-matplotlib 0.90.1-2

  • python-support 0.7.6

一旦解决了依赖项问题,从项目网站下载源代码包,解压内容并在新文件夹中打开终端。

以 root 用户身份,输入命令

# python setup.py install

如果一切顺利,Pondus 应该会编译甚至安装到您的应用程序菜单中。在我的系统上,我在“实用工具”→“Pondus”下找到了一个新的菜单项。如果您在菜单中找不到 Pondus,可以通过输入命令来启动它pondus.

用法

Pondus 非常 极简主义,但这不一定是坏事。进入 Pondus 后,您会看到一个小窗口,其中包含五个按钮。第一个按钮添加一行数据——即您的体重和输入日期。第二个按钮删除一行,第三个按钮编辑一行数据。输入一些体重和时间后,您可以通过单击第四个按钮将其显示为图形。如果您想在磅和公斤之间切换,第五个按钮会打开设置窗口,让您更改单位(这是仅有的两个选项之一,另一个是记住窗口大小)。

不过,跟踪您的进展才是 Pondus 的真正目的,因此您需要跳转到图形部分——第四个按钮,即“绘制数据”。单击该按钮,将出现一个名为“绘制体重”的窗口,其中包含一个整洁的折线图,表示您一段时间内的体重。如果您查看右下角,会看到一个下拉框,其中写着“所有时间”。这允许您将其余信息过滤为您过去一年或仅过去一个月的数据。如果您想将时间过滤为更具体的内容,左下方有两个名为“选择日期范围”的字段。在第一个字段中输入您要查看的开始日期,在第二个字段中输入结束日期,单击最右侧的“更新”,图形将使用选定的信息更新。对于那些想要保存您的进展副本的人,单击底部的“保存图表”按钮可让您将图表保存为 .png 文件。我自己是一个瘦小的矮子,所以我不是想减肥,而是想 增重,所以请查看我的屏幕截图示例(顺便说一句,单位是公斤,我不是 72 磅)。

总的来说,Pondus 是一款非常简单干净的应用程序,它将吸引许多新的 PC 用户,因为它位于一个漂亮的小窗口中,并且不会用大量的选项让您感到困惑。我猜 Pondus 可能会随着时间的推移添加更多功能,但希望不要太多,因为这样做可能会疏远其目标受众。这是一个可爱、简洁的小程序。

BeeDiff (beediff) 是一款 GUI 程序,用于比较两个文件之间的文本差异,任何差异都将根据差异类型以不同的颜色突出显示。然后,可以删除或在文件之间复制找到的任何差异。BeeDiff 是使用新的 Qt4 库开发的,因此,它非常快速且轻量级。它也很容易安装,这是另一个优点。

安装

出于安装目的,您有两种选择:i586 二进制文件或源代码 tarball。

如果您选择二进制文件,请首先下载提供的 tarball 并将内容解压到您选择的文件夹中。

然后,以 root 用户身份或使用 sudo,将二进制文件复制到 /usr/bin 或您首选的二进制文件目录,以系统范围运行 BeeDiff。

接下来,将包含的图标 beediff.png 复制到 /usr/share/icons 或您喜欢的任何图标目录。

Fresh from the Labs

图 2. BeeDiff——失眠程序员的最佳朋友

如果您宁愿本地运行 BeeDiff,可以通过输入以下内容来运行它

$./beediff

从您解压到的任何目录。如果您的系统设置正确,您也可以通过在文件管理器中单击它来运行它。

如果您更喜欢编译它(例如,如果您没有 i586 兼容的处理器),那也很容易。只需下载并解压网站上提供的 tarball,然后在新的 beediff 文件夹中打开一个终端。

以 root 用户或 sudo 身份,运行命令

# ./install 

脚本将为您完成所有编译和安装。

完成后,输入beediff在命令行中应该启动程序。

起初,我在运行二进制文件或编译它时遇到了错误,这是由于安装了旧库。当我尝试运行二进制文件时,我得到了这个

nhoj@ubuntu:~/src/beediff_1.5_i586/beediff$ beediff
beediff: symbol lookup error: beediff: undefined symbol:
_ZN10QBoxLayout10setSpacingEi

而且,我在源代码编译中得到了这个

QBtSeparator.cpp:139: error: 'const class QColor' 
 ↪has no member named 'darker'
QBtSeparator.cpp:142: error: 'const class QColor' 
 ↪has no member named 'darker'
QBtSeparator.cpp:145: error: 'const class QColor' 
 ↪has no member named 'darker'
make: *** [tmp/QBtSeparator.o] Error 1
install: cannot stat `beediff': No such file or directory
nhoj@ubuntu:~/src/beediff$

BeeDiff 至少需要 Qt 4.3——作者 Piotr 使用的是 4.3.2。安装您可以安装的最新版本以及开发库。安装这些后,BeeDiff 就可以运行了,包括二进制文件和源代码。

用法

BeeDiff 主要用于比较两个具有相同来源的文件,因此比较代码片段和脚本将是 BeeDiff 功能的最佳用途。启动 BeeDiff,进入后,您会注意到两个主要窗格。在这里,您将在每个窗格中加载一个文本文件。左窗格是原始文件,右窗格用于与之比较。每个窗格的右上角都有一个按钮,用于浏览要加载的文件。

加载后,任何不同的行都将以不同的颜色突出显示

  • 红色:已删除的行。

  • 蓝色:已添加的行。

  • 黄绿色:已更改的行。

在分析了哪些行不同之后,您可以采取几个操作。在右侧的工具栏上(以及“操作”菜单下)有四个图标:“全部从左侧删除”、“全部从右侧删除”、“全部合并到左侧”和“全部合并到右侧”。“删除”按钮显然会删除有问题的文本,但“合并”按钮可让您抓取任何不同的行并将其复制到另一个文件中并保存——非常方便。

BeeDiff 是另一款朴实无华的应用程序,它名副其实,并且不伪装成其他任何东西。该程序应该可以为脚本编写者和程序员节省许多深夜的头痛,并且在公司和项目之间普遍指控“代码被盗”的时代,它可能会被证明非常方便。

首先,这是一个 YouTube 下载器。不是很令人兴奋,因为每个人以前都使用过它们,对吧?确实如此,但是几个月前,YouTube 更改了一些嵌入选项,导致大多数这些可爱的工具变得无用。好吧,这个小脚本已经更新,并且可以很好地下载 YouTube 视频。要安装,只需将提供的 URL 保存到您的硬盘驱动器即可!确保按原样保存文件名,而不是使用 .html 扩展名。

Fresh from the Labs

图 3. youtube-dl——一个用于将 YouTube 视频保存到硬盘驱动器的 Groovy 命令行实用程序

要使用它,请在保存文件的目录中打开控制台。确保您可以通过输入以下内容来执行该文件

$ chmod u+x youtube-dl

现在您已准备就绪!找到您最喜欢的 YouTube 视频剪辑并复制其 URL。返回您的控制台并输入./youtube-dl,并在其后粘贴视频剪辑的 URL,如下所示

$ ./youtube-dl http://youtube.com/watch?v=tNTWwbYYlgU

youtube-dl 现在将其保存到您的硬盘驱动器,它甚至还有一个漂亮的基于文本的进度监视器。下载完成后,文件名看起来就像随机垃圾。将文件重命名为 nameofyourvideo.flv(.flv 扩展名是最重要的部分),并使用强大的视频播放器(例如 VideoLAN 或 MPlayer)打开它。

getmsmp3 (MySpace 下载器, psydev.sourceforge.net/new/misc/getmsmp3)

这个聪明的小脚本可以在任何具有网络连接和 Perl 的设备上运行。它从 MySpace 页面抓取 MP3 并将其保存在本地。与 youtube-dl 一样,这不是什么新鲜事物,但它自动化了许多事情,并在本地从您的硬盘驱动器执行,而没有奇怪的要求。最好的部分是它可以抓取所有歌曲并自动以 [乐队] - [歌曲标题].mp3 的格式保存它们。与 youtube-dl 一样,只需将项目文件保存到您的硬盘驱动器并将其标记为可执行文件,如下所示

$ chmod u+x getmsp3

现在,只需运行脚本并在命令后输入您想要的乐队的 URL

$ ./getmsmp3 http://www.myspace.com/soundskp

当然,我们不能鼓励您非法下载,所以我为您提供了我们自己乐队的 URL,您可以随意下载(虽然有点多余,因为我们无论如何都提供了下载我们文件的选项)。

FoxyTag (www.foxytag.com)

这是一个我很想看到结果的项目——一个免费(如啤酒般免费)的测速摄像头警告系统,旨在跨各种移动电话和 GPS 设备运行。FoxyTag 是一个协作系统,旨在鼓励用户共享测速摄像头数据——用户和反馈越多,系统就越可靠。该系统也不仅仅假设测速摄像头在一个地方。用户可以选择报告永久摄像头或移动摄像头的安装或拆除。

Fresh from the Labs

图 4. 人民的测速摄像头定位器——FoxyTag

然而,日内瓦大学的项目负责人 Michel Deriaz 并非试图提倡超速或不安全驾驶。根据 FoxyTag 的网站

FoxyTag 既不鼓励超速,也不鼓励任何其他冒险行为,而是让驾驶员能够专注于道路,而不是因为害怕被闪光而将目光固定在速度计上。我们观察到,驾驶员在看到测速摄像头时往往会突然刹车(即使他们没有超速),这可能会导致交通拥堵甚至事故(连环碰撞或侧滑,就像这段视频 [请参阅网站链接] 中那样)。FoxyTag 提前发出测速摄像头的存在信号,以便驾驶员有足够的时间检查他们的速度并在必要时进行调整。

至于手机,任何具有 MIDP 2.0、CLDC 1.1 和蓝牙的 Java 手机都应该兼容。对于 GPS 系统,任何蓝牙 GPS 都应该兼容(包括某些导航系统的 GPS 模块),Michel 推荐 Sirf III GPS。不幸的是,我都没有。希望我们可以找到所需的硬件并进一步报道这个项目。我很想看到这个项目的结果。

John Knight 是一位 23 岁的鼓和攀岩狂热爱好者,来自世界上最偏远的城市——西澳大利亚珀斯。人们通常会发现他要么埋头于 Audacity 屏幕,要么疯狂地敲击低音鼓。

加载 Disqus 评论