Tuesday, October 19, 2010

How to Tell if You’re a Programmer Geek

Let’s face it: computer programmers became cool with the dot-com wave.  It wasn’t just the Artist-Formerly-Known-as-Prince who was partying in 1999, it was all those pimple-faced anonymous geeks who built the Netscapes, Googles and other.coms of the world.

Thanks to these successful entrepreneur coders, there’s no longer shame in admitting that you are a programmer geek.  In fact, it means that you are a member of an exclusive club of brilliant logicians who are all just one killer app away from retiring rich and living large.

As a result, the image of geeks in movies, TV and pop culture has shifted away from the dorky “Revenge of the Nerds” virgins with thick glasses.  Now the geeks start dot-coms, stop bad guys, save the world, make millions, and get the (real live, not virtual) girl.

This short quiz will help you see if you’ve got what it takes.  The more questions you answer “yes”, the more you are programmed to be a geek.

I am a programmer geek if:

I consider 256 to be a nice, round number.
I become annoyed when 10K means 10,000.
I start counting from 0 and end up with one less than everyone else.
I end my sentences with a semi-colon.
I write equals as == and not equals as !=.
I know where to find the {braces} keys without looking.
I call text phrases “strings.”
I frequently use words like iteration, contiguous, trivial, version, array, polymorphic, parse and WTF in casual conversations.
When someone asks me what languages I speak, I reply: “C#, Java, PHP and Python.”
I hear the word “Scuzzy” and don’t think it’s a bad thing.
My favorite f-word is fdisk.
<rant>I include XML in regular correspondence.</rant>
I use camelCase for names.
I take things too literally.  For example, my wife gets upset when she asks “Do you want to take out the garbage?” (no) instead of “Will you take out the garbage?” (yes).
I respond to questions too logically.  For example, when a waitress asks me, “Would you like coffee or tea?”  I respond, “Yes.”
I answer negative questions in the technically-correct but awkward way.  When my mom asks me, “Wouldn’t you like a glass of milk?”  I respond, “Yes, I wouldn’t like a glass of milk.”
When I make a mistake or say something I shouldn’t have, I wish I could press Ctrl+Z.
When searching a paper book, I get frustrated that I cannot simply press Ctrl+F to find the text I’m looking for.
When a store cashier asks me for my zip code, I demand to see the store’s privacy policy.



I get sudden attacks of bittersweet nostalgia when thinking about my long-lost Commodore 64, Sinclair ZX-81, TRS-80, or Amiga 1000.
It’s hard for me to make an absolute statement because I always consider there may be an edge case.
I unit-test my wife, expecting deterministic, solid outputs for a certain input with boundary conditions.
I tell my wife to “stop throwing exceptions that I’m not willing to catch.”
I hold a mouse more than my wife’s hand.
I assume that most people love their jobs like I do.
I’d rather text the guy in the next cubicle than talk to him.
Nighttime and sleep are no longer irrevocably linked.
I understand (0×2b||!0×2b) and find it funny.
I think these programming jokes are hilarious.
I think xkcd is the funniest webcomic ever.
I believe these laws to be self-evident and true.
I think the three primary colors are red, green and blue.
I have more than one monitor.
I have more email addresses than pairs of shoes.
The number of computers in my house exceeds the number of romantic relationships I’ve had in my lifetime.
I run a Web server at home.
Instead of playing games on my Xbox, I install Linux and use it as a server.
I carry a USB flash drive in my pocket wherever I go.
I know what a router is, and I know what a bit is, but I don’t know what’s a router bit.
I helped my grandma create her own blog.
Whenever I use another person’s computer, I complain that they are not using Firefox and attempt to switch them.
I email myself to remind me to do something.
I rig up elaborate mechanisms to perform basic tasks.
I’ve written a useless program “just for the fun of it.”

(http://www.devtopics.com/how-to-tell-if-youre-a-programmer-geek/)

21 Laws of Computer Programming

As any experienced computer programmer knows, there are unwritten laws that govern software development. However there are no penalties for breaking these laws; rather, there is often a reward. Following are 21 Laws of Computer Programming:


  1. Any given program, once deployed, is already obsolete.
  2. It is easier to change the specification to fit the program than vice versa.
  3. If a program is useful, it will have to be changed.
  4. If a program is useless, it will have to be documented.
  5. Only ten percent of the code in any given program will ever execute.
  6. Software expands to consume all available resources.
  7. Any non-trivial program contains at least one error.
  8. The probability of a flawless demo is inversely proportional to the number of people watching, raised to the power of the amount of money involved.
  9. Not until a program has been in production for at least six months will its most harmful error be discovered.
  10. Undetectable errors are infinite in variety, in contrast to detectable errors, which by definition are limited.
  11. The effort required to correct an error increases exponentially with time.
  12. Program complexity grows until it exceeds the capabilities of the programmer who must maintain it.
  13. Any code of your own that you haven’t looked at in months might as well have been written by someone else.
  14. Inside every small program is a large program struggling to get out.
  15. The sooner you start coding a program, the longer it will take.
  16. A carelessly planned project takes three times longer to complete than expected; a carefully planned project takes only twice as long.
  17. Adding programmers to a late project makes it later.
  18. A program is never less than 90% complete, and never more than 95% complete.
  19. If you automate a mess, you get an automated mess.
  20. Build a program that even a fool can use, and only a fool will want to use it.
  21. Users truly don’t know what they want in a program until they use it.
(http://www.devtopics.com/21-laws-of-computer-programming)

Friday, September 17, 2010

Question of Privacy

After series of experiment, I found out that I cannot make this hub private because some bugs do not have gmail. This blogspot is selfish. If I set this as private, the viewer needs to sign in their google account.

So with this, I set this hub back to public viewing.
For those who want to publish something here, please post, as comment, your gmail address. Thank you.

Let us be bold and spread the virus!
Long Live *insert official name here*!!

Thursday, September 16, 2010

Works to be Done



After I have asked Jinggay, Kristian, and Elaine, I have come out with a list of lab exercises that we have to get done with our dying brains.

Arraylist implementation (ADT)
Pointerlist implementation (ADT)
ADT on Linked List
Singly Linked List
Circular Linked List
Doubly linked list
Circular Doubly Linked List
Inventory Application (list implementation)
Stacks (ADT)
Balanced Braces (stacks implementation)
Postfix calculator (stacks implementation)
Converter: Infix to postfix (stacks)
Queues (ADT)
Circular Queue (Array & Pointer Implementation)
Event Driven simulation (people falling in line)

Questions, clarifications, suggestions, and other thoughts related to be subject, please feel free to comment. If you find this list missing something or the opposite, please do post a comment.

Monday, September 13, 2010

HACKER SOCIETY

Hacker Society is currently broadcasting through DROPBOX (http://www.dropbox.com/) .

All the source code is contained inside the folder named "SourceCode" .

Our root folder will be named as Hacker Society.

Rules of the organization is contained in the README text file inside the root folder. Don't worry, rules don't hinder your freedom to collaborate! ;)


Welcome to the Hacker Society!

Be BOLD and NAKED!

:D

Sunday, September 12, 2010

A Call for Unity

Hello young Computer Scientists!

This post marks the birth of our blogspot. I am planning to make this private. With this, I mean aliens are not allowed to enter this hub. Specific users, with emails enlisted in the list, are the only ones who could access this. But in the meantime, since I have not yet gathered your emails, this hub is still of public access.

Why did I make this?
I made this hub for us to share codes, insights, problems, and other matters that we deal as we fathom this dark valley of BS in Computer Science. As computer scientists, we are advised to work as a team. Collaboration is the key.

I hope this would not create conflict among each member of the team.
So, fasten up your belts and we will make this an awesome ride!

-Admin