ACPI administration advocacy advocacy advocacy opinion alsa amarok apache apple apt aptitude audio audo authentication automount avi awk bash BIOS boot business cache calendar calibre cdr cdrecord censorship commandline computerscience console convert cron cut database date debian degree design desktop development disk dpkg dvd economics education emacs email europe exim faad ffmpeg file files firefox firewall flash foss freedom ftp fun fuse git gnumeric graphics grep growisofs grub gtkpod hardware hardware html idiocy image imagemagick images installation ip iphone ipod iptables iso itunes ivman kde kernel keyboard knoppix lame laptop latex linux locale lockin longlines m4a microsoft mimetypes minitab mount mp3 mp4 mplayer multimedia music mysql network nfs nfs4 nmap openbox openoffice opinion opinion partition pdf perl php politics postgresql printing privacy programming rant remote rhythmbox rss rsync rxvt scp screengrab screenshot script scripting scsi security sed server shell siteadmin sitenews sitesoftware skype skype slackware sound sox spam spreadsheet ssh statistics subversion sudo svk swap t23 t43 terminal text thinkpad thunderbird time timezone ubuntu udev upgrade usb usbmount users uuid versioncontrol vfat video vnc windows wine wordpress wordprocessing X40 xwindows xwindows youtube
Spending most of the time in the command line, I often use command line tools to find out what the date and time is. Simply typing date will get you the current date and time.
On the other hand the command cal will get you the a printout of the current month in calendar format. cal -y will get a print out for the current year.
I find all this sort of stuff useful. So, do the smart people at lifehacker. But then they start playing around with it and produce something like this
:cal -y | tr '\n' '|' | sed "s/^/ /;s/$/ /;s/ $(date +%e) / $(date +%e | sed 's/./#/g') /$(date +%m | sed s/^0//)" | tr '|' '\n'
The purpose of this is to replace today's date with '##'. I'm not sure why you'd want to do this. Anyway, the code above is broken. For today, April 10th, it blocks out May 10th instead. Here's the version that correctly blocks out April 10th:
cal -y | tr '\n' '|' | sed "s/^/ /;s/$/ /;s/$(date +%e)/ $(date +%e | sed 's/./#/g') /$(date +%m)" | tr '|' '\n'However, I can't tell the people at lifehacker, because they don't allow public comments. And anyway, it probably doesn't handle 30th and 31st properly