Skip to main content

Google "Jaime Bueza"--I've come a long way since I was a young Ninja

Have you ever googled your name? I recently went about googling other colleagues of mine and the results were always their digital portfolios or resume; however, mine turns out to be a broken blog and 6 year old forum topic I created about how to set ranges on randomly generated numbers. I was terrible.
October 10th, 2004 I posted on asking about how to set a range on a randomly generated number in Java. I can't believe that still shows up on Google's search results when you search "Jaime Bueza". 

Here's a few points of advice for aspiring software developers:
  • If you're going to ask a trivial question, ensure that you sign up as a troll. Name yourself: "lolyougotowned" or "trollpride" or "trollingftw". Don't put your real name down when you're asking technical questions. I'm sure that these search results will be detrimental to my career down the road.
  • If you're going to ask a trivial question, ensure that you've taken the necessary steps to hide your tracks (using a troll email address, etc). 
  • Given the fact that all technical interviewers will Google your name, ensure you can 'seed' your results to be in your favour. Use your SEO skills here! If you can somehow tilt the results in your favour (linking to your latest projects or a really intelligent response to an open source technical topic)--DO IT! A true Ninja will always tilt the situation in his favour for positional advantage over his enemies!
Incidentally, I asked that question on because of my undisciplined work ethic back in the day. Before I enrolled into the BCIT CST program, I always wanted to learn things without actually picking up a book (learning by example on the web). This was actually a bad idea for me as there's so much garbage on the web. The problem back then was that I had no formal development training, so I tried to learn how to code by myself. In my opinion, the best way to learn on the web is ensure that you have a solid foundation of knowledge: architectural skill set (design) and an understanding in different philosophical approaches to developing software (patterns). If I could turn back time; I'd ensure that I learned topics, such as, OOP, AOP, and inversion of control. I'm sure that if I had a solid understanding of those concepts prior to BCIT, I would've been more experienced in putting them into practice on different projects. If you have a strong foundation in regards to software development approaches and philosophies, learning a new programming language will come naturally.

Ultimately, languages, frameworks, and toolkits all fade away as time goes on; however, philosophies and approaches remain to be forever unchanged given how fast technology evolves. This is absolutely necessary to understand as this really shows how truly strong a programmer is: his ability to adapt to change and to be able to be successful in any language. This post is a segue to my next post about how to be a Kage developer (if you've watched Naruto, Kage is the highest ranking Ninja). 


PS: I don't even watch Naruto; but it's cool they have a ranking system for Ninjas. 
PPS: I wrote this blog listening to TI - What You Know on repeat.
Post a Comment

Popular posts from this blog

TextMate Tutorial: How to add a Strikethrough keybind to your Markdown bundle

Markdown is awesome for quickly generating Readme's on Github. After looking at other projects using the strike tag, I've decided to create a custom keybind for it in my TextMate Markdown bundle. Here's how:

1) Click the + sign on the bottom left and click New Command.
2) Paste this into the editbox and make sure you name your command "Strikethrough".

For the input field, select WORD in the drop down.
For the output field, select "insert as snippet".
As for the keybind, you can totally map it to whatever you're comfortable with but I chose Command-D as it is the same thing in Microsoft Word.


Using Git Hooks: Prepare Commit Message to automatically prepend branch names on commit messages

When you're practicing branch by feature with distributed version control, typically you'll get assigned a ticket or issue and that ends up being your feature branch. Instead of always typing in the branch name in every commit, you can edit your Git hooks (specifically prepare-commit-msg).

Assuming that this is a brand new git repository:

mv .git/hooks/prepare-commit-msg.sample .git/hooks/prepare-commit-msg
vi .git/hooks/prepare-commit-msg

Edit the file by commenting out what was originally in the file and then add this:

Now, whenever you make a commit, it should show up like this in the log:

Since GitHub and Bitbucket both support Emojis inside commit messages, you can do something cute like this

Want more emojis? check out the Emoji Mardown Cheatsheet!

NodeJS Hack Session: MMO Pokemon with NodeJS/WebSockets

The primary focus of this proof of concept is to determine how easy it is to build real-time web applications for all iPad, iPhone, droids, Safari, Chrome users on top of NodeJS (non-blocking event driven server side Javascript platform). The proof of concept was built within 6-8 hours including the following:

Uses Express framework for server side Javascript development (inspired by Rails / Sinatra / Django)Uses EJS for templating language (much like Django templates and symfony) -- allows partials and passing parameters into partials like symfony PHPReal-time chat using WebSocketsArena Queueing System for real-time competitive matchplay using WebSocketsHTML5 AudioCSS3 transitions for all hand cards, tappable cards, transparent panels, rounded corners, drop shadowsFallbacks for Firefox, IEFirefox/IE will fall back to Flash socketIE will fall back to XHR long poll if the user doesn't have Flash installedNoSQL CouchDB for fetching users and soon cards, achievements, friend associat…