Category Archives: Technology

Get A “New” Macbook Pro At A Fraction of The Cost

My Macbook Pro (13-inch, Mid 2009, 2.53 GHz Intel Core 2 Duo) was bought in December 2009. It is 6 years and 3 months old and counting. Lately, it was showing signs of slowness and hard disk failures more and more frequently. I thought it was time to get a new laptop.

But a new decent laptop cost more than a few thousand ringgits. I hesitated for a long time thinking whether it was a right choice to buy a new laptop (I am not rich).

Another concern was that what could I do with the old Macbook Pro if I decided to get a new computer? Throw it away? Give it to charity? Recycle it for free? After all, many of the parts are still fully functional.

Reusable parts:

  • CPU
  • RAM
  • Keyboard
  • Trackpad
  • Screen
  • CD player
  • Etc

CPU and RAM are actually the last parts to die among all parts out of the whole laptop. And Macbook Pro is built to last forever! It would be a huge waste to throw them away just because one or two of the parts are broken!

Based on reading from the Internet and from my personal experience, the most fragile and vulnerable parts are:

  • Hard drive
  • Battery
  • Cooling fan
  • Power supply
  • Etc

Since I can no longer access the Macintosh HD, the default hard disk of my Macbook Pro, I decided to replace it.

After reading articles and watching videos on the very promising performance of solid-state drive (SSD), I decided to give it a try.

I did my shopping online and found the Kingston V300 SSD. It got my attention because it is the cheapest.

Kingston V300 SSD 480Gb

Kingston V300 SSD 480Gb

The Kingston V300 SSD 480GB cost me RM 498 which translates to around RM1/GB. Dirt cheap. I bought it through Shopback from Lazada with discount.

By following installation guide from Youtube, I managed to change the hard drive all by myself.

Hard Disk (Before)

Hard Disk (Before)

Hard Disk (After)

Hard Disk (After)

After cloning the new SSD with the content of my USB drive from last incident, all was set to go.

The result exceeded my expectation. The Macbook Pro suddenly becomes so responsive like a brand new laptop. Booting it up and shutting it down takes just a few seconds!

The Kingston V300 SSD is able to run at the maximum speed that the MCP79 of my Mid 2009 Macbook Pro 13-inch is able to support, which is 3 Gigabit, despite the fact that some people can only get it to 1.5 Gigabit of negotiated link speed.

Kingston V300 SSD Negotiated Link Speed is 3 Gigabit

Kingston V300 SSD Negotiated Link Speed is 3 Gigabit

The OS that I cloned to the SSD was Yosemite 10.10.5. Now I upgraded it to El Capitan 10.11.4 and everything is still running smoothly if not better. It is running so silently and fast.

OS X El Capitan 10.11.4

OS X El Capitan 10.11.4

Final thought

I paid RM 498 instead of RM 4999 to get a “brand new” laptop. If I could get a new Macbook Pro at one tenth of the price, why not?

Price is what you pay, value is what you get. – Warren Buffett

At such a low price, it is hard to go terribly wrong.

The speed of SSD is incredible. I recommend it to everyone. It is worth the money because it is 10 times faster and lasts 10 times longer than a mechanical hard disk drive. It is fast and could last for a lifetime! It is such a good investment that you won’t regret it.

My next step is to replace the battery…

Topcoder: Get Paid Working on Challenging Problems

From my last post, I talked about a gaming platform that allows you the improve your programming skill by playing games. Today, I am exploring another site of similar genre: Topcoder.

During the writing of my previous post, I was thinking to myself that since I was spending time solving puzzles using my programming skills, why not getting paid doing it? It was for this reason that led me to explore alternative sites that reward programmers with money for solving problems. Topcoder is one of such sites. A site where you get paid working on challenging problems.

Based on the description from the site itself:

Topcoder gathers the world’s experts in design, development and data science to work on interesting and challenging problems. Members are provided with opportunities to demonstrate their expertise, improve their skills, and win cash, while helping real world organizations solve real world problems.

Topcoder is established online since 2001. Actually, it is not built for programmers only. There are challenges from three major areas to work on: 1) design, 2) development and 3) data science. The first kind of challenges are for designers, the second kind of challenges for developers and the last for data scientist and statisticians.

Example of challenges on Topcoder

Example of challenges on Topcoder

Anyone who joins Topcoder can start working on any challenges he/she feels comfortable with. This means that you can start working on any challenges right after joining. For each challenge, there may be many competitors submitting solutions, however, only the best solutions (top one, two or three solutions judged by the host) will win the prize (cash $$$). Winners take all.

High success rate on challenges

Based on my observation, there are actually not many competitors for each challenge. Most of the challenges have less than 50 registered competitors and even less submissions (competitors that manage to submit a solution). This means that chance for you to emerge as a winner is very highly probable.

To test this assumption, I participated to some of the “challenges”. They were actually fun sweepstakes (sweepstakes are like lucky draws where the lucky guy wins). I participated in four of the challenges. After losing the first two, I won the third challenge!

My first win on Topcoder

My first win on Topcoder

So my assumption was right, the probability to win cash on Topcoder is very high.

Here is the detail of the challenge that I won.

Cash $250 for 1st place

Cash $250 for 1st place

It is a challenge from IBM and it requires participants to use IBM Bluemix. What is Bluemix? Just like at Amazon, we have AWS (Amazon Web Services). At Microsoft, we have Azure. And at IBM, we have Bluemix which is a cloud service from IBM.

So once you were registered for an account on Bluemix, you would need to build a web app using one of Watson‘s features: language translation. Watson is the Artificial Intelligence engine developed at IBM.

This is the example demo you start with. And this is my “winning” solution (this site will be unavailable after several months when my trial at Bluemix expires). Add a button or two and you could win $250 under two hours of work.

Apparently IBM is doing something right. It is for this reason that Warren Buffett is acquiring IBM stocks all these years (Ok, I am a bit biased for the the reason mentioned above).

Thank you Santa Claus (IBM) and merry Christmas!

CodinGame: Improve Your Programming Skill By Playing Games

Two weeks ago, I was told by a friend that there was a programming contest happening on a website called CodinGame.


Solve puzzles to improve skills

That was the first time I heard about CodinGame. It is a gaming platform for developers. I never knew such website existed. Last time, I used to join the programming contests organized by my department in my former company and it was fun. Now, there is a website offering the similar experience: write code to play game. It is very addictive.

There are actually many such websites providing competitive programming service and CodinGame is one of them. I was just too ignorant to not know about their existence earlier. CodinGame was online since 2012.

CodinGame: Programming is fun

If you were a programmer, you could improve your programming skill by playing games at CodinGame. I admit I learn great things working on some of their puzzles.

CodinGame online IDE

CodinGame online IDE

They organize programming contests every few months and you could join them for competing among other top programmers around the world (most programmers are from France since CodinGame is a french-based company). The last contest (Code vs Zombies) that I joined was on 29 November 2015 that lasted for 24 hours continuously. Most participants were really gurus who managed to extract most scores from the game. I only managed to score 58720 points and ranked 760 out of 3963 participants who managed to submit their solution before deadline. The winner scored 997k (!!) using a random strategy.

Code VS Zombies

Code VS Zombies

If you didn’t want to join the contest, there is another way for you to have fun: by going to their game section and solve the existing puzzles anytime convenient to you. The puzzles are categorized into four levels: easy, medium, hard and extreme hard.

Today, two weeks later, I had tried most of the puzzles. I can tell that most of the puzzles took time to solve (at least a few hours to days for some puzzles). The difficulty is range by simple programming concepts like if-else (easy), more complex logic and data structures (medium), the application of known algorithms (hard) to artificial intelligence (extreme hard). It is impossible to solve some of the hard and extreme hard puzzles alone without resorting to external resources (like wikipedia).

You can use most of the popular languages (more than 20 languages supported) to solve the puzzles. Each puzzle solved earns you certain coding points which is used for ranking.

Right now, I am ranked 779 out of a total of 276387 users. The ranking will drop each day if I didn’t continue work on new puzzles since everyday there are new comers overtaking you.

Track your progress

Track your progress

There are other features like clash of code and multiplayer games that I haven’t tried yet. You can explore them for yourself.

The main purpose of CodinGame is to link coders to companies. The job store section has a list of job openings from participating companies. However, almost all of them are European companies. The only Asian company is from Hong Kong.

I found that not many Malaysians are participating on the site. Only 936 Malaysians users out of 276k total users. This translates to only 0.34 % of total users. Hopefully more people (especially programmers) can benefit from this platform. The best way to learn is to have fun while learning. 🙂