How to upgrade Acer Revo Hard Drive

I’m the happy owner of an Acer Revo. I’ve purchased that small box in order to setup a media center, powered by Ubuntu 9.10 and Boxee. As you can see on this post, this is a pretty good way to setup an open-source based media center.

It was working pretty fine until the hard disk started to die. Maybe the fact I’ve put the box too close to my DVD player did some damages (I don’t know if that’s possible, but after a month or so, the HDD was damaged).

I started by contacting Acer’s customer support, explaining my hard disk was damaged. It was the worst customer-support experience I’ve ever had. They didn’t want to agree that it was possible the hard drive was physically damaged if the BIOS managed to detect it…

After a long hour of arguing, they told me it was my fault because I’ve installed Linux instead of keeping the original Windows system… No comment.

After that pretty bad experience, I decided to manually upgrade the hard drive, afterall, that was a good opportunity to upgrade from 160 GB to 320 GB. Here is how to proceed.

Disclaimer : Opening the box of your Acer Revo will break the warranty. Do it with extreme care and be aware that you’re on your own once the box is opened.

First of all you need to open the box, this post on Netbooked.net explains how to do it and is fully illustrated with high-quality pictures and video.

Open the box

Netbooked.net has a good video that explains how to do that:

Now that the box is open, the challenge is to remove the original hard drive from its slot. To do that, you’ll have to be able to remove the motherboard from the box, because the hard drive is stucked by four screws. Removing the motherboard is not as easy as opening the box, here are the needed steps you have to follow.

Unlock the motherboard

The motherboard is locked by four screws, they are easy to find (located in the four corners) and easy to remove.

Acer REvo Opened

Remove the fan

The trick is that removing the 4 motherboard screws isn’t enough to unlock it from the box. The fan is actually still locking it, so you’ll have to remove it as well.

First, you have 3 screws to remove, then you can put aside the fan.

Remove The Fan

Remove the processor protector

Then, you also have to remove the piece of metal that protect the processors, for the same reason.

Remove the processor protector

Unlock and remove the motherboard

Now you just have to unlock the motherboard from the box. In the upper left corner, there is an USB slot locked by 2 white pieces of plastic. It’s easy to unlock. When done, just remove the motherboard starting by taking up the left side.

How to remove the motherboard

You can now unscrew the hard drive from the motherboard and change it.

Happy upgrade!

Posted in Uncategorized

Tags: , ,

Permalink 1 Comment

Dancer 1.000 is out!

Well, here it is, after five months of development, Dancer is stable and feature-rich enough to be released as a shiny, stable, 1.000 version.

Major changes for this version are the following:

  • Support for cookies
  • Support for YAML-file-based sessions
  • Support for Memcached-based sessions
  • Support for Syslog logging
  • Less dependencies than ever (only HTTP::Server::Simple and Exception::Class are mandatory to start writing a Dancer app)

The test suite has also been heavily enhanced, covering now more than 80% of the source code.

I’ve just uploaded the tarball to the CPAN, so expect it to be cpan-able in the next couple of hours.

I welcome very much feedback on this release, please feel free to give it a try ;)

Bugs reports are also welcome here.

Oh, and by the way, today is a special day ;-)

Coat is alive (sort of)

Coat is a module I wrote when I needed Moose in a restricted environment. I was working for a client back then, and the policy was to stop adding new dependencies to the project. Moose was refused then, because of its huge bag of dependencies.

I liked very much the Moose ideas and API and wanted to use it, that’s why I wrote Coat: a basic rewrite of Moose goodness in pure Perl 5.

Later on, the Moose team decided to write its own rewrite of Moose in pure Perl 5, it’s called Mouse (I was a bit surprised at first they didn’t contact me, but I realized later than it was merely a question of communication, I clearly suck at marketing ;)

Anyways, I also used Coat to write Coat::Persistent, a tiny ORM inspired by Ruby’s ActiveRecord API. So even if Mouse kind of replace Coat, it still has a reason to live.

More recently, I gave a couple of talks for a client about modern Perl programming (and more precisely the Coat::Persistent ORM) and there was a very good feedback.

A couple of feature requests were made, and I reported them as issues on my GitHub project pages.

Some of them are already closed in the GitHub repo. This will certainly lead to a new release of Coat very soon. Yeepee.

The 10 rules of Productive Programming

I’ve read the book “The Productive Programmer” by Neal Ford, there are many great ideas in this book. This gave me the idea to write – just for fun – the 10 rules of Productive Programming.

DO NOT talk about Productive Programming!!

1. Do not talk about Productive Programming

Well, you know where that first rule come from, don’t you?

2. Be DRY: Do not repeat yourself

This mantra comes from The Pragmatic Programmer, it says that you shall not repeat more than once a block of code. If you are about to, that means you need to refactor something. The less you repeat yourself, the better your code quality and maintainability.

3. Think YAGNI: You ain’t gonna need it

Donald Knuth is probably the first one who pointed out that sane rule, in The Art of Computer Programming: “Premature optimization is the root of all evil“.

When working on something, you may start thinking about future issues you may have, and here you start to optimize your code for problem you don’t have yet. This is very bad. The fact is that you’re going to spend energy and time on a virtual issue, that may never come true. Focus on your real issues, and let the time tell you where an optimization is needed.

4. Kill distractions

Distractions are the inner enemy: your email client notifications, your instant messaging system, your Facebook page, your Twitter account…

All this leads to disturb your attention. Every distrcation slows down a bit more your productivity. Choose when to check your emails, don’t connect your instant messaging system all day, choose when to connect with your twitters, and when not.

5. Be careful of angry monkeys

The “Angry Monkeys” metaphor symbolizes the fact that people tend to fear changes. When a team is used to do something in a particular way, that team will hardly think about changing its strategy, because of the mantra: “we always did it that way”.

Changes can be good for software. Don’t fear them.

6. Work your flow

The flow is the state of mind where you are when you’re focused on your code. This is a very fragile state, and can be broken very quickly (by distractions). The better your flow, the higher your code quality. Try to control external events that can break your flow, kill districations, and focus on one single task at a time, with a clear target in mind. Move step by step.

7. Write unit tests

Unit tests are the way to go in modern programming. Write tests and use a test coverage analyzer. Target 100% of test coverage. Try to write tests before you write code, use the Test-Driven Development technique as many times as possible.

8. Refactor comments into functions

If you’re writing some comments inside a functions, chances are that this function should be splitted into smaller ones. Those comments you write, they can basically be renamed as functions, you’ll see the resulting code will look much more readable and … testable!

9. If you find a bug, write a test

Whenever a bug is found, the first thing you have to do is to write a test that reproduce the bug. A bug you can reproduce is a bug near to be closed.

10. Apply these rules daily

Well, rules are nice, but they’re even better when applied ;)

All right, I broke rule #1, I know ;-)

Get Adobe Flash playerPlugin by wpburn.com wordpress themes