Ruby language is one of the most elegant computer languages out there. You can write highly efficient code with Ruby. It is also very popular and bagged the programming language of the year award in 2006! In this post, I will look at the free ebooks available for Ruby.
1. Programming Ruby, The Pragmatic Programmer’s Guide – This is one of the best free ebooks available for Ruby. The first edition of this book is available online. A copy of this book is also included in the Ruby language download. I would suggest this as the first book for learning Ruby.
2. Mr. Neighborly’s Humble Little Ruby Book – This is a short treatise on the Ruby language, covering language basics and some library functions. PDF version of this ebook (144 pages) can be downloaded after registering at the site.
3. Why’s (Poignant) Guide to Ruby – This is an interesting Ruby book and is available online. This e-book covers Ruby in deep, but not everyone may like the novel type style used. It is also the funniest book I have read so far. You can also download a PDF version here.
4. The Little Book of Ruby – Supposed to be the “fastest and the easiest way to learn Ruby by example”, this book is available as a PDF download. You can also download sample code used in the book. Data structures are explained in detail.
5. Learning Ruby – This book is still in development and covers the basics. You can read the book online or download a zipped version.
6. Ruby user’s guide – The ultimate reference to the Ruby language and covers the language in depth. This can be read online.
7. Ruby Quick Reference – This is a single page quick reference guide to Ruby. This is an ideal reference to keep beside your desk.
8. A little ruby, a lot of objects – This is a Ruby book under construction. The chapters are available as PDF. This book covers the language from the object oriented viewpoint.
9. Data Structures and Algorithms with Object-Oriented Design Patterns in Ruby – This is a book on data structures and algorithms. The language used for examples is Ruby. Use this book once you have learned the basics of Ruby language. You can read this book online.
Movies are a powerful medium and I think they do have the potential to change people. In fact one movie which made me choose my career path is Terminator 2. It may sound silly, but after watching terminator 2, I decided to learn computer programming and years later I find myself to be a programmer!
In this post, I will look at 3 powerful movies which probably would have affected/changed a lot of people.
1. Forrest Gump – If you haven’t seen this movie, I suggest you rent a DVD and watch it today. It is one of the powerful movies I have seen and I think would have influenced a lot of people.
Forrest Gump (starring toms hank) is mentally challenged. He is also a simple, honest and innocent man. Surprisingly his honesty and innocence alone takes him through life and he accomplishes great things in life. The film superimposes important american events from 1950s with his life.
Some may say that it is unrealistic, but the movie is highly inspiring.
2. American Beauty – American beauty shows what is meant by “modern dysfunctional family”. Lester Burnham (Kevin Spacey) is a middle aged man living a rather boring life in the suburbs. His personal/professional life is in ruins and one day he realizes it and decides to do something about it. The only problem is that he ends up dead.
One character which I found very interesting is Ricky Fitts. Here are some quotes from the movie which I found very interesting,
Lester Burnham: Remember those posters that said, “Today is the first day of the rest of your life?” Well, that’s true with every day except one: the day that you die.
Lester Burnham: I had always heard your entire life flashes in front of your eyes the second before you die. First of all, that one second isn’t a second at all, it stretches on forever, like an ocean of time… For me, it was lying on my back at Boy Scout camp, watching falling stars… And yellow leaves, from the maple trees, that lined my street… Or my grandmother’s hands, and the way her skin seemed like paper… And the first time I saw my cousin Tony’s brand new Firebird… And Janie… And Janie… And… Carolyn. I guess I could be pretty pissed off about what happened to me… but it’s hard to stay mad, when there’s so much beauty in the world. Sometimes I feel like I’m seeing it all at once, and it’s too much, my heart fills up like a balloon that’s about to burst… And then I remember to relax, and stop trying to hold on to it, and then it flows through me like rain and I can’t feel anything but gratitude for every single moment of my stupid little life… You have no idea what I’m talking about, I’m sure. But don’t worry… you will someday.
3. SiCKO – This is technically not a movie. It is a documentary by Michael Moore which looks at the bad side of american healthcare. It is shocking and at the same time shows that there are a lot people who require help from society – even in america!
Tony Benn: If you can find money to kill people, you can find money to help people.
SiCKO is released last week and it is yet to see what sort of impact it will have on people. But one thing is sure, even hardcore moore haters may applaud after the movie.
Forrest Gump Trailer
American Beauty Trailer
1. Geeky T-shirts – This is the easiest way to let everyone know that you are a geek. There are lot designs available on the market. But my all time favorite is the one pictured here (localhost – there is no place like 127.0.0.1).
2. Watches for geeks – You can either go for an ordinary watch with a geeky look or if you are a hardcore geek, you can go for a watch which is difficult even for you to read! For example, Think Geek has a binary watch and you need to practise before you can easily read time!
3. Geeks love sensors – Geeks generally likes anything which measures something. So it is no wonder most of them will go for a device which has the maximum number of sensors. My favorite is the Casio Pro Trek series. For example, PAW1100-1V features atomic time keeping, temparature, altimeter and barometers and yes, it does show time as well!
Another favorite of mine is the wireless weather station. This has the maximum number of readings sure to please any geek!
1. Mythical man month Frederick P Brooks – This classic book looks at the human elements of software engineering. I know some of you will scream, “not this book again!”. But this is a must read book if you are a programmer and many of the conclusions in the book are still very valid after all these years.
2. The pragmatic programmer: From Journeyman to Master by Andrew Hunt and David Thomas – This book explores the “apprentice” way of becoming a master programmer. I found this very informative look at programmer evolution.
3. Code Complete by Steve McConnell – An instructive book on programming by a Microsoft engineer. But there is nothing specific about Microsoft in this. It is a pleasure to read this book and you will find yourself reading it again and again.
4. Object-Oriented Software Construction, Second Edition by Bertrand Meyer – This book is a complete reference on the object oriented software design. I don’t think there is any other exhaustive book on the object oriented topic. Only drawback is that this book is too academic. Still a must have item for a programmer.
5. Design Patterns: Elements of Reusable Object-Oriented Software – This is a gold mine of programming wisdom. But you need some solid coding experience before you can appreciate this book. Don’t just memorize the pattern names in the book, but try to understand the real motivation for each of the patterns presented in this book.
Here are some Windows keyboard tricks you can use to impress your friends! These are nothing but less known features of the Windows XP operating system. To revert back the screen to previous state, repeat the key combination again.
Trick 1 (High Contrast) – Hold Shift, Alt and Print Screen keys together. Click on “OK” when a message appears (this enables high contrast on Windows system). The screen should change to black!
Trick 2 (Magnifier) – Hold Windows key (logo key) and R key together. Type magnify in the run box and then press Enter. This enables magnifier tool and anything near the mouse trail will now appear magnified on top!
Trick 3 (Invert Windows screen) – This is one of the scariest tricks which turns Windows upside down. You can press Ctrl, Alt and then any of the four arrow keys (Ctrl-Alt-Down will rotate screen by 180 degrees)! I have noticed that this doesn’t work on certain Windows XP machines (It is dependent on video driver).
You can check out these and many more accessibility tutorials here.
Looking for free chess software to play chess? Well you have come to right page. In this article I will cover all the major free chess programs available for PC. Please note that I haven’t included any demo or limited version chess programs even if it is free. Also very old chess programs(which are no longer maintained) are also excluded. I plan to write another post for them.
Some of these programs are chess engines which will work with third party chess GUI software such as Xboard.
1. Xboard and WinBoard – These are graphical user interfaces for chess engines. They don’t have any built in intelligence but offers an API for displaying and moving pieces on a chess board. Chess engines such as GNU chess can use these as the front end.
3. Brutal Chess – Brutal Chess is an open source chess engine and is targeted for multiple operating systems. It was developed recently and is still in the alpha stage. Brutal Chess features full 3D graphics, an advanced particle engine, and several different levels of intelligent AI. You download source code or a binary version for Windows here.
5. Chenard – Chenard is a freeware Chess program by Don Cross. It is written in C++ and the source code is easily portable to any OS. Linux and Windows versions are available for download. The game has an opening library and the engine is aware of endgame tactics.
6. Arasan Chess – Arasan is a free chess program for Windows and Linux. Arasan has Windows GUI but can also work with Arena or Winboard GUI softwares. Arasan also has huge opening book of about 75,000 moves! You can download arasanchess here.
7. Alpha Chess 4 – It is a compact and free chess game for Windows. Board and chess pieces can be customized and the program includes 5 built in themes. Works on Windows 98+. You can download alphachess here.
8. Octochess – This is free and open source chess program with a clean interface. It is a cross platform release and is fairly strong.
9. Dream Chess – This is a free and open source chess program available on Windows, Linux and Mac. The built-in engine is strong and you can replace it with other engines such as GNU or crafty. You can play games in 3D or 2D mode.
10. Sharp Chess – This is developed using .NET and runs on Windows/Mono. It is available with source code and has a ELO rating of about 1600.
If you know of any good free chess playing software not included in this list, please do let me know. I plan to keep this list updated regularly.