Friday, April 13, 2012

Touch Typing and Programmers

Is touch typing essential for good programmers? Its a good question. But is it fair? I recently was surfing and looking for people's blogs about touch typing. After reading much about them , I decided to give touch typing a go.
Let me tell you I am really good with Hunt and Peck style of typing. Over the time I have developed a fast typing in HNP(around 80 WPM). But as I read about many people arguing that a programmer must know how to touch type, I decided to learn touch typing.
So I installed tuxtyping on my ubuntu box (yeah its a great application). started getting some lessons. It was great in about 3 days I was able to type without looking at the keyboard. If you have enough experience as a programmer , you will have a good knowledge of key positions. With practice you can remember all the keys very easily. I was touch typing, not at my own rapid speed of 80 WPM @HNP. But still around 15 WPM.
So did I continued? The answer is NO !!!
Why?
The fact I usually program in languages like C, HTML, java. It was really hard.
Touch typing is for writing text, but as it comes to code... well it becomes ugly. The very essence of touch typing is in positioning your hands and not moving them, that's how you can type fast. But in programming we need to use {}, () "" <>, -> & TAB / * like chars. Which will make your hand move. After moving your hand you need to position your hand correctly OR you gonna miss.
So after 3 days I stopped touch typing. But you know what? I realised that when I am coding I am already touch typing with HNP :)
Peace !!!

Monday, March 26, 2012

BackTrack5 and Windows XP Virtual LAN setup in Virtual Box

Well This post is for those guys who are trying to setup a virtual pen test lab on Virtual Box. I know Whole process of installing the two OS is easy, but How to get them on the same virtual LAN?
This process is Easy too, Just go to the setting section-> network setting and then choose VIRTUAL_BOX_HOST_ONLY_ETHERNET adapter for both the OSes.
Again You might have figured that already. :)

But here is where most people will get stuck. Most user will then try to ping the other OS to check if they are in LAN. Amazingly only windows system will be able to PING the Backtrack 5 System. But Backtrack won't be able to ping back.  The Ping command seems to stuck.

So How to make BACKTRACK 5 Ping the Windows System Ping?
Its your lucky day :)
--->>>turn off windows firewall . :) :)<<<---
Please leave comment if you were stuck at this point and this post really helped you go over :)
Cheers.

P.S. I really LOLED after I tried this on my virtual box windows installation and my backtrack was able to ping it :)
backtrack 5 in virtual box pinging another virtual windows machine

Wednesday, June 29, 2011

Firefox's unusual multiple tabs opening bug

Today encounter a very (funny) odd looking bug in firefox. (Its not strictly related to Firefox, but anyways.)
The Bug:
If you have chosen the option in Firefox called "Open link in new Tab" and your default PDF file viewer is Firefox (Yeah it can happen with some people). If you download a PDF file and try to open it. The firefox will go in a infinite loop opening multiple Tabs (sometimes over 300, the only way to stop it using the "stop" icon in main menu).
Most people (non technical ones) get really annoyed with this. Installing and uninstalling the Firefox won't kill the problem (as its not entirely related to web browser).
Solution:
Only solution is to unassociated PDF files with firefox , thats it.
Right click any PDF file and then choose Open with menu and choose your default PDF viewer (Adobe or foxit). Choose Always open these files with this application. and you are done.

Saturday, April 30, 2011

Why C programming Language is a powerhouse.

In this era of modern programming language, where there are like tons of programming languages available to computer professionals. C programming language which was developed like 40 years ago is still a persistent entity.
I know in this new world new languages has taken over the programming world. Languages like C#, Java, Python or others. May be (new) "people" don't like C/C++ anymore (I should be precise). But if you look at most core part of modern software system, they are still coded in C /C++. I will support my argument with following famous software.
Gecko :     This is the layout engine of Mozilla FireFox web browser. So this is the heart of FireFox and it is still written in C.
Android  : To days most famous mobile operating system. Core part of android is written in C/C++.
VLC player : Most preferred Video player, guess what its written in C/C++.

Doom engine : Id software Doom game engine, written in C/C++.

Half life engine : Written completely in C, C++ , the result? Well everyone knows ;)

Oracle DB : The Oracle Database management system, Owned in C/C++.

U Torrent  : Our beloved torrent client , written completely in C/C++
OK I think this is enough, the list is really long. But why I mentioned these examples? As you can see I chose them really carefully. How?
These example represents different programming scenarios. So as you can see C/C++ can tackle from web development system to database management system. The vary versatility of C/C++ is what it makes C a great programming languages. The code that C produces is far superior to any other language. The performance comparison is not even close. I know some languages specialize in certain part of programming (Like LISP excels in string handling), but C is still very very close to them. The C code is very close to even assembly languages. That is why most core system are still coded in C.
Languages like C#, java , python may have great programming supports in terms of API or libraries. These languages may also feature fancy stuff like garbage collection or dynamic variable types. But the raw powerhouse of C language is what it sets it apart from other language. (Most fast drivers still prefer the manual gear system then auto gears. right? )
Not to mention that while you have worked with C programming, it is very easy to migrate to other languages.
"At last there are only two type of programming languages in world. One is the language people always bitch about and other nobody uses".