Skip to main content

Posts

Showing posts from 2007

Distribution of Wealth in the US

The rich get richer and the poor get poorer. I heard this statement quite a bit lately particularly in light of the sub-prime mortgage and general housing crisis in the US. The country has enjoyed significant economic prosperity and both Clinton and Bush boasted economic growth under their reign. Unfortunately, the beneficiaries of the economic boom are not people from all economic backgrounds, but rather the top 10%. To make things worse, Bush gave tax cuts mainly targeting the top 10%. Being more of a numbers guy, I always wanted showing the validity of the-rich-get-richer-n-the-poor-get-poorer statement. Thanks to Wikipedia , I have finally found it!! Both the mean and median net worth of families for the bottom 50% of the population has remained absolutely flat while the 75th-90th percentile see a decent growth and the top 10% enjoy the most appreciation on their net worth. So, if you factor in inflation, the-rich-get-richer-n-the-poor-get-poorer probably holds true. The g

Economic Aid to Developing Countries - The Stats

World economics has been an interest of mine for a long time and I will start blogging about it here. Questions like how and if the US can continue its dominance and prosperity, what role China and India will play in the world and what the future holds for the likes of Ethiopia and Eritrea fascinate and worry me quite a bit. To the best of my non-economist abilities, I will address these questions in the future. My first entry derives some general conclusions from statistics on economic aid from developed countries to developing and third-world countries that I found on BBC . It is no surprise the US leads in this category and a better measure of generosity would be one where the amount of aid is given as a percentage of the country's GDP or revenues. Considering this aid is coming from governments as opposed to NGO's, it would be more informative to calculate this aid as a percentage of a government's revenue. Unfortunately, what BBC reports is the amount of aid as a

[Audio]Book Review

I have always wanted to be an avid reader, but that never happened. So, I recently decided to take a little shortcut and become an avid listener of audiobooks instead. Sure they are not the same, but listening to audiobooks while driving has been one of the most rewarding experiences for me as of late. Here, I intend to write some reviews of audiobooks I have gone through lately. The World is Flat , by Thomas Friedman ( A ) It is a great [audio]book describing the flattening of the world in the information age, allowing everyone from the globe, particularly India and China, to participate in the world economy along the dominant West. The author lists the forces that led to the flattening of the playing field, and suggests ways Americans can cope with and compete in an increasingly competitive global economy where more and more people can compete for resources and services. I highly recommend it. 1984 , by George Orwell, read by Frank Muller ( A ) I have read the book in high sch

Crontabbed Reminder Script

I have always wanted to keep an active and up-to-date to-do list and be always reminded of the things I have to do. There are lots of choices out there, but I wanted to stick to simple commandline driven tools to keep from wasting valuable RAM on non-critical utilities. After a few hours of playing around, here is the solution I have adapted. Todo/devtodo I use ' todo ' to make a list of my tasks. ' todo ' is a reminder/task program aimed at developersis, but it is very easy to use and has a good set of features. For our purposes, we can generate the list shown below by simply entering the following commands: todo -G -a "Jobs applied to:" -p 1 todo -G -a "To Learn and Review:" -p 3 todo -G -a "Daily to-do list" -p 5 If you enter, ' todo ', it will list your to-do list. Feel free to explore more of ' todo ', but the example above suffices for out little demo. I want my extended to-do list to hit me in the face every hou

Live Spellchecking Inside Vim

Did you ever want the capability of live spell-checking inside vi ? Well, I did and I googled the subject and found this simple solution. Assuming you have some sort of spell-checking software like ispell and agrep installed on your machine, you can use the " Engspchk " set of scripts for " multi-language", "on-the-fly spell checking." While the package documentation is pretty good, I will go ahead and narrow it down to a clean procedure. 1) Download the scripts , Unzip/untar them into your .vim directory. cp engspchk.tar.gz $HOME/.vim/ cd $HOME/.vim/ tar zoxvf engspchk.tar.gz 2) Open your ~/.vimrc file and add this piece " This piece enables live spellchecking inside Vim" set nocp if version >= 600 filetype plugin indent on endif set mouse=a let g:spchkmouse = 1 let g:spchkautonext= 1 let g:spchkdialect = "usa" 3) Open a file using vi and enter ' :helptags $HOME/.vim/doc ' 4) To invoke the English spell-checker for a

Python Convert

I shall officially look to Python for all my scripting needs from now on. Just when I thought scripting could not get any easier than Perl, Python has come along and proved me wrong. Everything I have heard about Python's simplicity and elegance is true. My Python education started a while back when I attended at least two tutorials in grad school by Python enthusiasts who were trying to pull some of us Perl enthusiasts to their side. The whole idea of learning a whole new scripting language did not appeal to me and thus I didn't give Python much thought. Lately I have had some downtime and there seemed to be no more productive way to spend it than learning Python and that's what I did. My first set of tutorial was a quick and basic intro by Steven Thurlow . Aside from what is contained in those s ets of lectures, I needed to learn two sets of subjects, namely string/text manipulation and system calls. David Mertz provides a nice introduction to text processing usi

Tech Snippets

I always interesting pieces I never get to share to avoid creating a million little posts about non-original material. So, I will instead contain them all in this one post. Browser market Shares - Firefox Hits 400 Million Downloads "Firefox hit another milestone this past Friday, when it passed the 400 million download mark . From its launch in 2004 it took one year to reach 100 million downloads, hitting 200 million downloads just one year later. According to figures released by US consultancy firm Janco and the IT Productivity Center, Firefox currently has 17.4 percent of the browser market — up 5.6 percentage points in the last year. Also within the last year, Microsoft's Internet Explorer browser dropped 9.6 percentage points to a market share of 63.9 percent." Smarter-than-Human Intelligence & The Singularity Summit "Brilliant technologists like Ray Kurzweil and Rodney Brooks are gathering in San Francisco for The Singularity Summit . The Singularity re

Excerpts from "Seven Wonders of the IT World"

Slashdot led me to an interesting article from which I wanted to share a few gems. The original article can be found at http://www.cio.com/article/135700/Seven_Wonders_of_the_IT_World/ Biggest Paradigm Change in Enterprise Software: Linux kernel Created by: Linus Torvalds, in 1991, helping open-source developers collectively craft a viable alternative to Microsoft operating systems. The Linux kernel contains 8.2 million lines of code, with approximately 86 lines added every hour Number of developers: Total since 1991 is unknown; 3,200 developers for the kernel as of release 2.6.22. New releases: Every 2.6 months.* Quick change artists: 2.89 changes made to the kernel every hour. Lines of code: 8.2 million and growing (about 10 percent per year). Amount of code added every hour: 85.63 lines. Revenue diverted from Microsoft: Perhaps only Mr. Gates knows. *Unless otherwise marked, statistics reflect Linux kernel releases of the past 2.5 years (version 2.6.11 through 2.6.21). Wor

My Midwestern Tour

Well, I had to take care of some business in Chicago recently and I thought I would make a trip out of this opportunity by visiting my very good friends in the area, namely Jay in Chicago, Will in Milwaukee and "the Fekade's" in Minneapolis. The trip started with an 9-hr drive to Milwaukee when I listened to Thomas Friedman's The World is Flat and learned the value of audiobooks, not only in an educational sense but in battling my costly tendency to speed [and get ticketed] during long trips. Milwaukee:: Once in Milwaukee, I settled in the beautiful Whitefish Bay suburb where Will and his family live. Within an hour, I decided to ride Will's bike a mile or two from his house where I was at the edge of a hill overlooking Lake Michigan. For someone who is not fond of the beach and all the heat, burning and nudity that comes with it, there was nothing better than feeling a cool breeze and serenity of the lake. The next day, we went to a Mexican festival and love

Dell Rant

I have not been a fan of Dell as of late and here is why. I have access to a Dell printer(Dell 944 All-in-One printer/scanner/copier) that came in for cheap bundled with a Dell laptop. The printer is basically made by Lexmark, but sold though Dell with minor modifications and a Dell label. This presents two problems: As a Linux user, I like printers for which Linux drivers exist, either through Dell or another party. The irritating thing about these Dell printers is that Dell only provides Windows drivers while Lexmark, the proxy maker of the printer, usually provides at least Windows and Mac drivers and often tries to provide kits for the development of Linux drivers. If one wanted to look for a Lexmark analog of a Dell printers, it is virtually impossible to do because that information does not seem to be readily available. Another way Dell makes it difficult for all non-Dell users and products is in the cartridge business. The ink cartridge can only bought from Dell and no ot

Résumé Template Options for LaTeX and XML

Finding the right résumé template is quite painful for those of us who prefer to do things the more difficult yet elegant way. The alternative is to use LaTeX or XML. Preparing a LaTeX résumé style sheet (HowTos here ) from scratch requires more savvy that I have, not to mention the time and effort. So, I prefer to adopt some templates from the web and modify the pieces for my taste. Unfortunately, many issues arise when one considers the many templates out there. The PDFs generated using these templates do not get properly scanned by software used by hiring companies. That could very well mean the difference between getting hired or being rejected. I noticed this issue during the many times I submitted PDFs generated by 'pdflatex'. In a related issue, converting PDFs to text using 'pdftotext -layout file.pdf' does not produce a desirable text file. For one, the text wrapping is messy, so the text might have to be terminated at about 80 characters by adjusting t

The Linux Alternative

Adapting Linux as the main OS for personal computing does come with some issues since there is a lot of software out there that is simply not available for Linux systems. One would then have to rely on Windows/Mac for short periods of time, or try to run Windows applications in Linux using Wine or Codeweaver Crossover Linux , Cygwin or seek virtualization solutions using software like VMware . Before resorting to the solutions proposed above, one should consider a Linux analog of the Windows application one would like to use. A neat resource for that purpose is this website . I came across this site while trying to find a free Linux alternative to the Origin package for plotting and graphics. Time to give Scigraphica a try! UPDATE: Here is an interesting list of 50 annoying proprietary programs and their open-source alternatives .

Backup Solutions for Linux

While there are many options(cp, tar, simplelinuxbackup, fwbackups, rsync, unison, bacula, keep, karchive ... etc) for backing up Linux systems, there does not seem to be a consensus number one option. So, I went through the frustrating process of trying out a lot of options and found my number one. While the particular needs and intentions of specific systems ultimately determines the best backup tool, I went for the simplest solution for my simple problem. First, I don't need data compression since I have plenty of space on my HD. Plus, date compression consumes a lot of CPU which becomes a huge hustle when I am trying to do real work while performing my backups. Second, automatic/periodic/scheduled backups are not needed in my case because I will invoke the backup process whenever I plug in my external HD and am in the mood to perform backups. Third, I don't feel the need for file encryption. Fourth, I don't need incremental backups -- I simply want the latest copy ba

Getting a Maxtor OneTouch External Hard Drive to Work with Linux

The 60GB disk on my laptop has become a huge limitation recently and instead of having to burn my movies onto DVDs regularly, I opted to shell out a whopping $65 (thanks to a BestBuy sale and $25 coupon) to buy a 120GB external mini-hard drive. It is not only tiny (weighing 7.2 oz) but it does not require an external power source as it can simply plug into my laptop's USB port. While this hard drive does come with a lot of cool features like one-touch backups and file encryption for Windows and Macs, one would be lucky to just get it to work for Linux. For one, it comes formatted in NTFS format and is not writable initially. I will describe how I got it to work below. For starters, here are some specs of my system: Pentium M 1.5MHz Banias, 60GB HD, 768MB DDR SDRAM, Linux version 2.6.20-15-generic (gcc version 4.1.2 (Ubuntu 4.1.2-0ubuntu4)) #2 SMP Sun Apr 15 07:36:31 UTC 2007 First, power up the external HD simply by plugging it into your computer. Most recent Linux sy

GNU Debugger (gdb) Basics

I have been playing with C++ and surely run into compilations that result in segmentation faults. Instead of blindly searching for the source of these errors, I decided to learn a little more about the GNU debugger (gdb). Note that you would need to find the proper compilation flag to be able to debug your code with a certain debugger. For example, I added '-ggdb' flag to g++ in order to debug my code with gdb. ... Was gonna write a tutorial myself, but I will instead just give relevant links to some useful pages. Debugging Under Unix: gdb Tutorial The DDD debugger is supposed to be good. Will report on it soon.

Parsing Commandline Options in Perl

Anyone who has tried to parse command-line options in Perl knows how messy the process gets with increasing number of options. Luckily, there are some modules that the whole process more manageable. The tutorials I am learning from are http://systhread.net/texts/200704optparse.php#one and http://aplawrence.com/Unix/perlgetopts.html . Without using a special Perl module, options can be parsed as follows (credit to http://systhread.net/texts/200704optparse.php#one ) while ( my $arg = shift @ARGV ) { if ( $arg eq '-F' ) { $F_FLAG = 1; } elsif ( $arg eq '-f' ) { $FILE_ARGUMENT = shift @ARGV; } elsif ( $arg eq '-u' ) { usage(); } else { usage(); exit 1; } } Ultimately, using the getopt module should be done if it is available, why reinvent the wheel? Here is an example of using the Getopt module: use Getopt::Std; ... getopt ('f:uF'); die "Usage: $0 [ -f filename -u ]\n" unless ( $opt_f or $opt_u ); if ($opt_f) {

Intro to OOPerl

Excellent set of basic notes can be found as Part 1 and Part 2 The main reason I am interested in learning it is to enable me to use some important Perl modules/packages effectively. In particular, I want to use the PerlMol package to clean up some of my scripts.

Checking Perl Library Path and Modifying it

It is contained in an array @INC, so checking it would be as easy as printing that array. One can add or subtract items to this array to include of exclude some libraries using array manipulating tools like shift/unshift/chop/pop/push/splice/ ... . Here is a script demonstrating that. !#/usr/bin/perl -w #Prints Perl library path and modifies it: print "Default Perl library path:\n@INC\n"; push(@INC, "/home/user/lib/perl"); print "New Perl library path:\n@INC\n"; And the output was: Default Perl library path: /etc/perl /usr/local/lib/perl/5.8.8 /usr/local/share/perl/5.8.8 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.8 /usr/share/perl/5.8 /usr/local/lib/site_perl . New Perl library path: /etc/perl /usr/local/lib/perl/5.8.8 /usr/local/share/perl/5.8.8 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.8 /usr/share/perl/5.8 /usr/local/lib/site_perl . /home/user/lib/perl BTW: I brushed up on Perl basics from this great resource: http://www.pa

IPtables, SVN, and NMAP

I reviewed some material on IPtables, SVN, and NMAP just for the sake of keeping my mind busy. Here are some useful notes: IPtables - best resource found at HERE SVN - best, as in the quickest and simplest intro could be found HERE NMAP - I honestly don't see in using it for more than port-scanning in a few instances. Anyway, here are a few other options that might come in handy at some point. nmap -sT/sS/ sX/sF/...[-P0] IPADDRESS(range) == to check which ports are open nmap -sP IPADDRESS(range) == a simple ping scan for availability nmap -sO IPADDRESS(range) == check what IP protocols are available nmap -sV IPADDRESS(range) == a scan with version detection Other useful flags: -O == detects OS, part of -v (verbosity) flag as well -A == detects OS and versions -v == request high verbosity/detail -F == performs a fast scan of only a few common ports Installing Perl modules Perl modules may be installed using the CPAN module or from source. SOURCE

No Update

My only update is that there is no update. This is not merely a play of words -- it is true! Days are going by without anything eventful happening to me. Nothing worthy of reporting at all. Sad days really. In the spirit of keeping this blog up-to-date, I hereby report that there is no update.

Tips and Tricks

Since there ain't a whole lot happening in my life, I might as well use this venue to make a list of cool Linux tips and tricks. 1) Hey, I need to start spending less time reading Lakers rumors. Why not start by blocking access to the Lakers forum I frequent most, namely forums.lakersground.net (64.38.208.184). Here is how it's done using iptables . iptables -I INPUT -s 64.38.208.184 -d 0/0 -j REJECT 2) If you would like to view your iptables filters/instructions, you can just type iptables -L 3) To check which ports are open, one can use nmap as nmap -sT localhost OR nmap -A -sT localhost OR nmap -sT IPaddress 4) To convert OGG to MP3, use ~/bin/ogg2mp3.pl More to come

Camping out

in Hunting Island State Park in South Carolina. I love camping, especially when everything is kept very simple and organic. I always hoped to live a simple life far away from civilization and camping is the closest to that lifestyle for the time being. As anyone would expect, I missed not checking my email and was desperate to read some good news after four days w/o internet access. Unfortunately, all I got was loads of spam, with a few exceptions. Well, so much more to say and so little time to do it. I am out.

Movies for the Idle Mind

Wondering how I fill my idle hours and days? Among other things, I watch a few movies here and there. Here is a list I downloaded using Bittorrent and am watching at the pace of a movie non-enthusiast. The rating for the movies I have already watched are shown while it is left empty for the others. Woody Allen:: # MOVIE MY RATING ( /10) 1 Annie Hall 10 2 Manhattan 8 3 Hannah and Her Sisters 9 4 Love and Death 8 5 Deconstructing Harry 6 6 Match Point 5 7 Antz 8 8 Play it Again, Sam 8 9 Husbands and Wives 10 The Purple Rose of Cairo 11 Everything You Wanted to Know about Sex, But Were Afraid To Ask OTHER:: # MOVIE MY RATING ( /10) 1 Citizen Kane 7 2 Eternal Sunshine of a Spotless Mind 9 3 The Pursuit of Happyness 6 4 About Schmidt 5 5 The Royal Tenenbaums 10 6 Rushmore 7 7 The Big Lebowski 9 8 Monty Python and the Holy Grail 7 9 Ed Wood 8 10 Broken Flowers 8 11 Basketball Diaries 8 12 Crash 13 The Clockwork Orange 14 City of God 15 The Science of Sleep 16 La Dolce Vita 17

Blogging -- all the cools kids are doing it

Why not me? Exactly! Well, I was big on keeping personal websites and what not when I first came to the US but my interest in such means of communication waned over the years as I opted for more privacy and obscurity. Now that I have some downtime while looking for jobs and relocating, I am bored enough to get back on the tech bandwagon. Of course, I still would like to maintain some level of anonymity/obscurity, if that makes sense.