Tuesday, September 21, 2010

Windows & Linux

Favorite Quotes
Some of my favorite quotes on technology, Linux, Microsoft in no particular order. Sources of a number of quotes are unknown and hence those empty spaces after those quotes.

1. "Any sufficiently advanced technology is indistinguishable from a rigged demo"
~ Andy Finkel

2.  "The TV world is a simplified and analog recreation of what's happening in more interactive mediums, like the Web" ~ Rishi Chandra, Senior product manager, Google Inc.

3. "Any sufficiently advanced bug is indistinguishable from a feature." ~ Rich Kulawiec

4. "Nuclear war can ruin your whole compile." ~ Karl Lehenbauer

5. "The UNIX philosophy basically involves giving you enough rope to hang yourself. And then a couple of feet more, just to be sure."

6. "The difference between Microsoft and 'Jurassic Park': In one, a crazy businessman makes a lot of money with beasts that should be extinct. The other one is a film."

7. "There are 10 kinds of people in the world, those who understand binary and those who don't."

8. "Why do geeks think Halloween and Christmas occur on the same day? Because 31oct = 25dec!"

9. "What happens when you read some doc and either it doesn't answer your question or is demonstrably wrong? In Linux, you say "Linux sucks" and go read the code. In Windows/Oracle/etc you say "Windows sucks" and start banging your head against the wall."
~ Denis Vlasenko

10. "We all know Linux is great, it does infinite loops in 5 seconds." ~ Linus Torvalds

11. "I still maintain the point that designing a monolithic kernel in 1991 is a fundamental error. Be thankful you are not my student. You would not get a high grade for such a design."
~ Andrew Tanenbaum to Linus Torvalds

12. "Some people have told me they don't think a fat penguin really embodies the grace of Linux, which just tells me they have never seen an angry penguin charging at them in excess of 100mph. They'd be a lot more careful about what they say if they had." ~ Linus Torvalds

13. "Avoid the Gates of Hell. Use Linux."

14. "How should I know if it works? That's what beta testers are for. I only coded it." ~ Linus Torvalds(supposedly)

15. "How do you power off this machine?" ~ Linus Torvalds, when upgrading linux.cs.helsinki.fi, and after using the machine for several months.

16. "Absolutely nothing should be concluded from these figures except that no conclusion can be drawn from them." ~ Joseph L. Brothers

17. "The Linux philosophy is "laugh in the face of danger". Oops. Wrong one. 'Do it yourself'. That's it." ~ Linux Torvalds

18. "Linux: the operating system with a CLUE, Command Line User Environment."

19. "..Linux really *is* the best thing since sliced bread." ~ Vance Petree

20. "See, you not only have to be a good coder to create a system like Linux, you have to be a sneaky bastard too." ~ Linux Torvalds

21. "Linux: The OS people choose without $200,000,000 of persuasion." ~ Mike Coleman

22. "Linux is not user-friendly. It _is_ user-friendly. It is not ignorant-friendly and idiot-friendly."
[Read our BIGGEST EVER discussion on Linux and it's user friendliness]

23. "Why geeks like computers: unzip, strip, touch, finger, grep, mount, fsck, more, yes, fsck, fsck, fsck, umount, sleep."

24. "One of the main causes of the fall of the Roman Empire was that, lacking zero, they had no way to indicate successful termination of their C programs." ~ Robert Firth

25. "Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning." ~ Rich Cook

26. "I don't know why, but first C programs tend to look a lot worse than first programs in any other language (maybe except for fortran, but then I suspect all fortran programs look like 'firsts')" ~ Olaf Kirch

27. "I'd crawl over an acre of 'Visual This++' and 'Integrated Development That' to get to gcc, Emacs, and gdb. Thank you." ~ Vance Petree

28. "It's God. No, not Richard Stallman, or Linus Torvalds, but God." ~ Matt Welsh 

29. "On the Internet, no one knows you're using Windows NT" 

30. "Never make any mistaeks." 

31. "I think there is a world market for maybe five computers." ~ Thomas Watson, chairman of IBM, 1943

32. "There is no reason anyone would want a computer in their home." ~ Ken Olson, president, chairman and founder of Digital Equipment Corp., 1977

33. "A Windows user spends 1/3 of his life sleeping, 1/3 working, 1/3 waiting."

34. "Which is worse: ignorance or apathy? Who knows? Who cares?"

35. "I would love to change the world, but they won't give me the source code."

36. "My software never has bugs. It just develops random features."

37. "Windows isn't a virus, viruses do something."

38. "The box said 'Required Windows 95 or better'. So, I installed LINUX."

39. "If Python is executable pseudocode, then perl is executable line noise."

40. "Real men don't use backups, they post their stuff on a public ftp server and let the rest of the world make copies." ~ Linus Torvalds

Thats it for now. Hope you had a nice time reading them. Meanwhile, we also had a beautiful collection of awesome XKCD comics before. You may want to check them out too.

Thursday, September 16, 2010

RS-232 Communicaation

http://airborn.com.au/serial/rs232.html
http://www.aggsoft.com/rs232-pinout-cable/nullmodem-db9-to-db9.htm
http://www.lammertbies.nl/comm/info/RS-232_null_modem.html

Tuesday, September 14, 2010

Back up Disks - clone hard disk

Posted: 12 Sep 2010 07:31 AM PDT
Clone a Hard disk before making changes to it is a great way to be sure you can go back to the previous state.
I usually do that before a major Linux upgrade on my servers, if something brokes during the update I can easily go back.
And the command is as easy as:
dd if=/dev/hda of=/dev/hdb
Where if is the input media and of is the output media, be sure to avoid mistakes, as you can ruin your hard disk.
Backup to an image
If you prefer you can also save to an image, instead of using a whole disk as the target.
dd if=/dev/sda of=~/backup-disk-YY-MM-DD.img
If you want to store it on a CD or DVD, just follow this way.
First compress it
gzip ~/backup-disk-YY-MM-DD.img
Burn the image on the CD/DVD
cdrecord -v speed=8 dev=0,0,0 name_of_iso_file.iso
You may want to check this out Burn ISO images
Restore backups
To restore the images, just exchange the if and of targets.
Example:

dd if=~/backup-disk-YY-MM-DD.img of=/dev/sda
Note:
Be sure to, not mess with
/dev/sda, /dev/hda, /dev/sda1.. etc... you can check the mounted points using the command df. It may have an output like this:
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/hda3             74786624  57024748  13962908  81% /
/dev/hda1               101086     36808     59059  39% /boot
none                    513256         0    513256   0% /dev/shm
Or maybe like this:
/dev/disk/by-uuid/fc8f5296-7bd8-463a-87af-87c6d2215ff9
                      42034200  15579204  24319972  40% /
If this happens, and /etc/fstab is by UUID check this Linux UUID

Saturday, September 11, 2010

Urbi

This time, it is the popular robotic software platform called Urbi. Widely popular robotic projects like Segway RMP, Lego Mindstorm, Aldebaran Nao etc. runs on Urbi robotic software platform.


Urbi Robotic Software Platform
Urbi is a software platform to control robots or complex systems in general. It includes a C++ component library called UObject that comes with a robot standard API to describe motors, sensors and algorithms. This awesome technology is now open source with an GNU AGPLv3 license.

We had featured some of the Urbi based projects in one of our previous post on top 10 linux powered robots from around the world. According to Urbi developers, the goal of the project is to help making robots compatible, and simplify the process of writing programs and behaviors for those robots. But the real potential of Urbi goes beyond robotics, since it has been successfully used in generic complex systems, where parallel and event-driven orchestration on multiple agents is the rule.

According to many, Urbi is also very simple to use, even for beginners. It is perfectly suitable for advanced industrial or academics applications, as well as for the educational market. The source code is covered by an Affero GNU GPL v3 license and is available for download here. Urbi promoters hopes that, the initiative will allow developers worldwide to participate in the growth of the industry's most innovative robotic software solution.

Gostai and Urbi
Gostai is a Paris-based editor of innovative software for robotics & Artificial Intelligence. And Urbi is Gostai’s flagship product which is compatible with Linux, Windows or real-time operating systems.

Linux with Preload

Preload is nice little application that could make your linux system a lot more snappier. Preload is an adaptive readahead daemon. It monitors applications that users run, and by analyzing this data, predicts what applications users might run, and fetches those binaries and their dependencies into memory for faster startup times.

Preload packages are available for almost all linux distributions. And it is available by default in the Synaptic Package Manager in Ubuntu. Alternatively, you can install it via Terminal.

sudo apt-get install preload

Create directory trees in one command

If you ever need to create directory trees like this
Directory Tree
You can do this:
cd /tmp
mkdir 1
cd 1
mkdir 2
cd 2
mkdir C
or, you can just do this:
mkdir -p /tmp/1/2/3
From the man page of mkdir
-p, --parents
no error if existing, make parent directories as needed
You can also use this option to create more complicated trees. Like this one.
directory tree
Do that with this:
mkdir -p /tmp/a{1,2,B{1,2}}

Tar tips and uses

According to Wikipedia:
"In computing, tar (derived from tape archive and commonly referred to as "tarball") is both a file format (in the form of a type of archive bitstream) and the name of a program used to handle such files. The format was created in the early days of Unix and standardized by POSIX.1-1988 and later POSIX.1-2001.
Initially developed to be written directly to sequential I/O devices for tape backup purposes, it is now commonly used to collect many files into one larger file for distribution or archiving, while preserving file system information such as user and group permissions, dates, and directory structures.
We will now learn some useful command to manage and create tar files.
We will cover how to:
  1. Create a tar file with no compression
  2. Untar an uncompressed tar file
  3. Create a gzipped tar file
  4. Untar a gzipped tar file
  5. Create a bzipped tar file
  6. Untar a bzipeed tar file
  7. Listing the contents of a tar file
  8. Extracting the files to a specific directory
1. Create a tar with no compression
tar cvf tar-file.tar directory/
2. Untar an uncompressed tar file
tar xvf tar-file.tar
3. Create a gzipped tar file
tar cvzf tar-file.tar.gz /directory
4. Untar a gzipped tar file
tar xvzf tar-file.tar.gz
5. Create a bzipped tar file
tar cvjf tar-file.tar.bz /directory
6. Untar a bzipeed tar file
tar xvjf tar-file.tar.bz
7. Listing the contents of a tar file
tar tvf tar-file.tar
For uncompressed tar file
tar tvfz tar-file.tar
For gzipped tar files
tar tvfj tar-file.tar
For jzipped tar files
8. Extracting the files to a specific directory
tar xvf -C tmp/som/other/directory tar-file.tar.gz
For uncompressed tar files
tar xvzf -C tmp/som/other/directory tar-file.tar.gz
For gzipped tar files
tar xvjf -C tmp/som/other/directory tar-file.tar.gz
For jzipped tar files
The options used
-c
create a new archive
-v
verbosely list files processed
-f
use archive file or device ARCHIVE
-x
eXtract the file
-z
--gzip, --gunzip --ungzip
-j
--bzip2
-C
change to directory DIR

Install LaTeX

This guide explains how to install LaTeX in Ubuntu Linux. LaTeX is a document preparation system for high-quality typesetting. It is most often used for medium-to-large technical or scientific documents but it can be used for almost any form of publishing.
LaTeX is not a word processor! Instead, LaTeX encourages authors not to worry too much about the appearance of their documents but to concentrate on getting the right content.

How to install LaTeX in Ubuntu

In Ubuntu Linux, you have to first install LaTeX to use it. This is how LaTeX is installed in Ubuntu.
$ sudo apt-get install texlive
The above command will install a basic subset of TeX Live’s functionality. To install all the packages in the LaTeX distribution, you have to run the following command.
$ sudo apt-get install texlive-full

Gedit LaTeX Plugin

Gedit has a plugin for LaTeX which converts Gedit into a LaTeX editor. You can install the Gedit LaTeX plugin as follows :
$ sudo apt-get install gedit-latex-plugin
Once you install the plug-in, you will have to enable the plug-in in Gedit to begin using it. This is achieved by opening Gedit Preferences (GEdit > Edit > Preferences). Then clicking on the Plugins tab and turning on the “Gedit LaTeX plugin”. Now when ever you open a TeX file, you will have access to the LaTeX menu in Gedit.

Recommended LaTeX Packages

  • latex-beamer – Beamer package is used to create presentations. It is an excellent LaTeX class that supports dynamic effects.
  • TeXPower – Is a bundle of style and class files for creating dynamic online presentations with LaTeX.
  • Prosper – A LaTeX class for writing transparencies.
  • texlive-pictures – This is a LaTeX package for drawing graphics. It contain several classes such as ‘curve’ (for creating resumes), ‘bardiag’ (for bar graphs), ‘pmgraph’ (poor man’s graphics) and so on.
  • texlive-latex-extra – This is a large collection of addon packages for LaTeX. The full list of classes in this package are listed here.
This is the full command I used to install LaTeX on my machine running Ubuntu Linux.
$ sudo apt-get install gedit-latex-plugin texlive-fonts-recommended latex-beamer texpower texlive-pictures texlive-latex-extra texpower-examples imagemagick

Wednesday, September 8, 2010

Data Logging in Ntop

http://www.mail-archive.com/ntop@unipi.it/msg11835.html