ReArchitecting . . .

July 18, 2006

YubNub – Command Line for the Web

Filed under: hack, tools — rearchitect @ 11:46 am

Being a big fan of the command line, I find very useful YubNub service, which is a social command line for the web. Search plugins can be easily installed in your favorite browser.

When you are lazy typing commands, you can use Firefox extension called FastYub! from SystemPuntoOut.

April 1, 2006

Software Development Tools Mindmap

Filed under: development, mindmap, software, tools — rearchitect @ 2:33 pm

I am writing a mindmap that represents a set of useful team tools for software development projects. Clearly it's still far from completeness. I have included "most-used" tools and some categories are still incomplete (for example "Modeling").

I think that the adoption of a tool/practice is dependent of the project context, the team and project of course. Feel free to tell me if I am missing something important.

(click on image)

tools_thumb.jpeg

January 19, 2006

Recording streams with mplayer (real audio, asf, …)

Filed under: audio, hack, personal, tools — rearchitect @ 3:08 pm

Problem: I have a Gentoo server always on and I want to record real audio streams daily, encoding them in mp3 to listen later in my ipod.

Solution: mplayer, lame, shell script and cron

1) I wrote a script called record.sh that get an output filename and an url representing the stream to record

#!/bin/sh
# Usage:
#     record.sh <file> <url_to_record>
mplayer -quiet -cache 32 -vc dummy -vo null -ao pcm:file=$1.wav $2 > /dev/null
lame --quiet --preset radio $1.wav $1.mp3
rm $1.wav > /dev/null

2) I wrote a script that grabs my favourite program. Call it for example grab_xyz.sh

#!/bin/sh
RECORD=/home/pc/bin/record.sh
filename=/data/shared/P2PDownload/toListen/$(date +%y%m%d)_xyz
$RECORD $filename rtsp://url/xyz.rm

3) Finally I edited a cron job (cfr: crontab -e)

# Record 'XYZ from Live Stream' (from 13.30 to 14.30)
30 13 * * *     $HOME/bin/grab_xyz.sh
30 14 * * *     /bin/killall mplayer

4) At end I’ll find (in toListen directory)

060118_xyz.mp3
060117_xyz.mp3
060116_xyz.mp3
..................

Ok it’s a small and simple hack but it works and it avoids to buy dedicated shareware.

January 7, 2006

Multiple Desktops and Ubiquitous Data

Filed under: experience, tools — rearchitect @ 8:59 am

One of the most interesting things about working with computers is the ability to work on the same data in different locations (home, office, train, hotel) and environments (Windows, OSX, Linux). It is not so easy to address these requirements easily as the case of working on a single machine with all data and services centralized. I use a lot of machines during a week: Apple G5 Desktop, Powerbook Laptop and a Windows XP Laptop (at office). I can swap regularly between these systems finding always my environment and my data.

I solved synchronization issues using a Home Linux Server and Internet. Server acts as data centralizer and collector for all these systems. I started also experimenting Web2.0 services which can solve easily annoying problems.

My Home Server is equipped with a Gentoo Linux distribution and it performs usual services: file & print server, vnc, subversion and ssh. Synchronization of data files is done using Unison file synchronizer which allows replicas of a collection of files and directories to be stored on different hosts, modified separately, and then brought up to date by propagating the changes in each replica to the other. Unison is truly multiplatform: I can easily synch linux, windows and osx without problems. It works very well in low bandwidth condition too.

Programming projects and source code instead are synchronized with the popular version control tool called Subversion. Any time I switch machines I synch my data (or commit in the case of subversion) and do another synch (or an update in the case of subversion) on my new machine. Everything keeps nicely synced, and I get full version control too.

Unison and subversion are good for documents and source files. Other kinds of data need to keep synchronized and previous tools are not enough. So here is a summary of my strategies for treating all ubiquitous data:

Documents: Unison
Projects and sourcecode: Subversion
Mail: IMAP Server (I purchased a Fastmail.fm account which is very good)
Bookmark: Delicious
RSS: Bloglines
Memos: Writely
Addressbook: Palm PDA (not synch’ed)
Calendar: Palm PDA (not synch’ed)

I know it’s not perfect and from some point of view it can be hard to understand. But I think that benefits of working regularly with different environments are grater.

Blog at WordPress.com.