July 2nd, 2010 by Alfred
I just watched The Devil Wear Prada last night and enjoyed it immensely. I know… old movie. Lots of interesting themes: climbing the corporate ladder, sacrificing for the job, dealing with difficult people, caring about your appearance, following your dream vs. selling out.
The thing that struck me as interesting was how Meryl Streep’s character (i.e. the magazine editor) had these discussions in the meetings about the contents of next month’s magazine. How a certain style was done two years ago, can we do something new. Fashion is all about trends and people wanting to follow into new and exciting trends.
The tech world is currently so fashion driven! I normally consider myself to be substance over style but even I succumbed to buying the famous black Macbooks back in 2006. The black ones cost more than the white ones with exactly the same specifications; guess which one I bought, haha! I don’t have an iPhone but I lust for it, even though the new ones have antenna problems. But the cool kids will still like me if I got a new Android phone, right?
Of course, once you get past the hardware, there’s the software. NoSQL is very hot and chic right now. And cloud computing is all the rage. Programming languages? PHP is making a comeback this season in the form of HipHop; but don’t count out Ruby on Rails yet! And the perfect accessory to your web app today is most definitely HTML5 – you want to be a leader or a follower?
Oh it is a glorious time to be in the industry right now!
Posted in Software | No Comments »
July 1st, 2010 by Alfred
When I started out on my career as a software developer, we were never taught about the consequence of copying code and using it in our own projects – except that it would be an academic felony for plagiarism. The first assignment of the operating systems course was to write my own linked-list code from scratch. I didn’t mind the exercise. But then again, coding by “Google” was a technique that wasn’t available at the time.
Today, coding by “Google” is an accepted and effective technique for getting the job done. I remembered pouring over the Win32 API manuals – good times! They even included examples!
So what are the consequence of using code from an example from MSDN? Did they explicitly say that it was okay to use it, even if it was presented to be used in such a fashion? Most of the time, there is an implicit understanding that educational code can be used… for your education.
However, someone who does not understand the consequence of the GNU General Public License can get himself into an intellectual property minefield quite easily, especially the coding by Google types. Let’s get right to the point: if you lift a portion of the source code from a GPL-licensed program and add it to your own program, you have created a “modified work” or work that is based on the “previous work.” If you distribute a version of the modified work, in binary form, you have to make available the source code for the “modified work”.
In other words, the GPL license is intended to be viral and ensure that the derivative works are also open sourced. Your boss probably wouldn’t appreciate the unintended consequences. There has been cases where proprietary software had been caught violating this and was forced to release their source code.
I am not about to argue for the merit or demerit of the GPL license; every “artist” has his own reasons for making his work available. However, anybody who enters the software world in a professional way needs to understand the consequence of GPL and the proper usage of code found on the Internet. By not educating new programmers about the GPL akin to not telling freshly minted stock traders about the consequences of insider trading.
Posted in Software | No Comments »
June 30th, 2010 by Alfred
On Hacker News today, this post from the RethinkDB came up. Their default interview question is:
Write a C function that reverses a singly-linked list.
(Actually, I usually ask an easier default question: Write a C function that reverses a C-string in place. Then I follow up something harder: Write a C function to determine the depth of a binary tree.)
If the person is expected to use C or C++ on the job, this is a fair question. The thing that makes this question difficult is that it requires the interviewee demonstrate his understanding of pointers.
I didn’t get pointers the first time I encountered them. I learned it straight from a book and had to renew that library book quite a few times. I studied the classic swap function over and over until I got it. It was like a lightblub that flicked on when it happened.
Whenever I have to do an interview, I am always reminded of my very first programming job as a co-op student. The interview for that job was just a discussion about my interests and hobbies. No programming questions but there were some brain teasers. My excellent transcript from school probably helped a lot.
Posted in Software | No Comments »
June 28th, 2010 by Alfred
I recently came across “The Other 8 Hours” by Robert Pagliarini at the library. His idea is that while holding down a day job, you should be and can be making a dent in your wealth creation efforts.
This reminded me of the story of how Settlers of Catan was invented. If you haven’t played Catan yet, think of it as a version of Monopoly with much more depth and much more fun. Klaus Teuber, the creator of Catan, was designing boardgames to entertain his family while working his day job as a dental technician. Today, Catan is sold in Chapters bookstores.
Honestly, after working full time at a day job, there isn’t enough energy left to work another job. (If you have a secure slacker day job, please let me know when you have an opening.) It is important to scale back on what you think you can accomplish during your “off” hours instead of pushing hard at building the next Pyramid of Egypt; setting unrealistic goals give you an excuse for failure.
What are you doing during your other 8 hours?
Posted in Gaming | No Comments »