The Raspberry Pi: What it is and why it will make a difference

I’ve met the Raspberry Pi project around three months ago, and immediately fell in love for its concept and idea: to build a extremely cheap Linux box that could be used to teach children the world of programming, Linux and even open source in general. But when I first knew about this project (it was on Slashdot if I remember correctly), me and lots of other people were skeptical about it, specially because of the aim price (USD $25/18,5€), because of the size of the prototype board (the first one presented was no big than a USB flash drive, and in fact, was smaller than many of them), and because their website consisted of a single page with an image of that prototype board and a few technical details; it also said the Raspberry Pi Foundation was a charity (non-profit).

I forgot about the project for a few weeks: like many other people, I thought this was no more than vaporware. Later, when I visited their website again, I found it to be much more complete, and it already had some more information and more facts had been confirmed. From then on, I began to check the website much more frequently and, currently, the Raspberry Pi doesn’t look like vaporware anymore: there are alpha boards built that have been distributed to various people doing software work on them, and the project staff has ran demos of the Alpha boards at many meetings. The Raspberry Pi was and continues to be responsible by news articles, sometimes front-page articles, on many technology sites. They also shown on UK television and radio. All this, and they haven’t released a final product to the market yet!

So what is the Raspberry Pi, in conclusion? It’s a extremely cheap, cheaper than many books, embedded Linux board. At launch, there will be two models: A and B. The model B has better features than the A, they will cost $35 and $25 respectively. Behind the project there’s a charity with the same name, the UK-based Raspberry Pi Foundation.

Both models feature an ARM11 Broadcom CPU clocked at 700MHz and a GPU capable of drawing Full HD H.264 videos at 30fps, and supporting OpenGL ES 2.0; a SD/MMC/SDIO card slot from which the OS will boot. For video output, the Pi has both an HDMI connector and a good old composite video connector, which means the Pi will be able to display not only on a modern LCD with HDMI connectors, but also on older TV sets and displays that feature composite video input(s). The RAM varies according to each model, and is presented stacked on top of the CPU (PoP configuration). Both models have some GPIO (General Purpose Input/Output) pins, although nowhere as many as things like the Arduino.

As for power supply, the Raspberry Pi will ask for a 5V input, and it should run off 4 AA cells. It will use a micro-USB connector for power supply, but note that it doesn’t act as a USB client device (it only draws power from micro-USB, no data). The energy consumption of the board is also incredibly low, and I believe it is lower than the consumption of many devices in standby mode.

The publicly shown Raspberry Pi Alpha board

The publicly shown Raspberry Pi Alpha board

Model A will only have 1 USB port, no ethernet and 128MB of RAM, whereas the model B will feature 2 USB ports, an ethernet jack and 256MB RAM. The final PCB design has been released, after lots of work doing the routing of the tracks of the PCB to ensure the maximum efficiency of the Raspberry Pi; the board will have the same area as a credit card (it’s amazing how could they fit all the connectors in such a small size board).

Oh, and I forgot to say: the Pi also has a 3.5 mm jack audio output; combine this with the small form factor of the board, some portable power supply and buttons connected to the GPIO, and there you have a very powerful MP3 player that also turns into a full-featured PC when you connect a display, keyboard and mice to its USB port(s). Or you could bring a touchscreen and make your very own Android/Ubuntu/whatever Linux tablet!

The circuit scheme of the final boardThe circuit scheme of the final board

As for the software, the board is designed to run ARM Linux distros, but people are already planning on porting other lightweight OS – don’t expect Windows in any way though as a) this device is simply too open-source for Microsoft’s mind and b) There’s not enough RAM to run Windows 8 in any way. Plus, WINE and other Windows abstraction layer software will not work, as these are not designed for ARM. Apart from these limitations (that most certainly don’t affect you unless you were expecting to make a hardcore gaming machine out of it), the Pi will do, better or worse, practically everything you do with a PC: web browsing, email, word processing, spreadsheet, instant messaging… for more advanced users, this is also a perfect server, either for serving files on USB drives, or hosting websites. For those (of any age!) willing to learn (embedded) software development, this is also the perfect device – specially because it’s cheap as hell, when compared to things like the successful Beagleboard.

I guess that we only need to allow time for humans to develop uses for the Raspberry Pi, and some of them will drive our minds crazy I’m sure. Enough presenting the Pi, if you want to know more you can do research…

Why I think the Pi will make a difference

You already saw what the Pi is from my quite long introduction above. I won’t say this is a revolutionary device, that will change the way we see technology. I won’t say that this is going to cause an impact as big as the iPhone caused on mobile phones or as the iPod on digital music, either, specially because a) the Pi doesn’t have an Apple on the back, b) the iPhone/iPod weren’t news either, since things like them already existed before; that fruit company only made them friendly to the masses (and credit to them for that).

Other thing that makes me think the Pi won’t reach the intended audience so fast as some expect is it’s appearance. I don’t want to make more analogies with Apple’s devices, but please allow for just another one: smartphones existed well before the iPhone, and I have an HTC phone from 2005 that did more (has 3G connectivity, for example) than the first iPhone, that was launched much later. Then why didn’t the older smartphones make much success? I don’t think expensive is the problem, but their look: most of them look ugly, to the masses at least, something the iPhone did better (just like with most recent Apple products).

Stopping with Apple analogies (I promise!)… the Pi is an innovative product by its size, its price and its main objective. If enough people know about it, it will suppress many markets, such as the thin clients one. From my point of view, this is the most cheap and minimal mini-ITX you can get, with the detail it doesn’t run Windows, but that is a matter of getting the world used to Linux. Due to its small power supply requirements and the cheap price, it will also bring computing where it is very rare nowadays, enabling people in development countries to have their first PC (or PED – personal embedded device 🙂 ). If we find a way to cheaply connect the Pi to the internet no matter where one is, it is even better, because people that have gain access to the ‘net and to who we teach how to use it, will eventually become better informed people.

In other words, this is a bit like the OLPC project, except that, at least in my honest opinion, and based on what I know from the OLPC project (which might not be accurate), it is being done with much more responsibility and a true knowledge of the requirements of the target audience. It also uses emerging technologies such as Linux for the ARM architecture, contributing to the evolution of the open source universe. But still, I don’t want to say the Pi is the perfect device: the Universe doesn’t allow perfect things to be made, duh. So, not being the perfect device, there’s always space for improvement, specially because one size doesn’t always fit all, and people will always one to thinker with a Pi to make them more like their own definition of “perfect”.

Other important difference in comparison with the OLPC project is that it isn’t just for children: indeed, the first batch of 10000 Raspberry Pies will be more targeted at developers and hackers (that doesn’t mean some “hackers” aren’t as young as me…), however and unlike was wrongly stated in many news, any person can buy it. Detail: I’m not yet sure if the first batch will be sold as a buy-one-donate-another project, making you pay for two Pis whereas you’ll only receive one, having the other going to charity. Please enlighten me on this subject!

The defects of the Raspberry Pi

As I said, this isn’t the perfect thing, and I think it’s important to point out its defects and limitations, because only this way we can improve on them. So, here are the things that according to my thoughts are yet to be solved or better discussed:

  • Peripherals: the Pi can be considered nothing more than a PC’s motherboard; it still needs you to have all the peripherals, from keyboards, mice, SD cards, and specially, a screen where to show things. The screen is the most expensive part, if you assume people can’t use an existing screen because of e.g. the lack of one.
  • Power supply: well, this is a “defect” that comes with every device, so I’m not considering it as a defect, but more of a “thing to discuss” – and many people are already discussing it, fortunately. Even if the Pi consumes such little power that it can run of standard AA cells, the things you’re going to connect to it won’t. And being the Pi basically just what a motherboard is to the PC, it’s pretty useless without some input/output devices – and these will consume much more power than the Pi. Well, we can assume you only connect a four-line character cell display to it, and a USB keyboard for input, and then use the display to show four lines of Linux shell – not very practical, obviously.
  • Memory/CPU specifications: As I said above, it’s not going to run the traditional Windows, nor a recent Firefox on Linux, at least until they stop making memory-hungry Firefoxes. It’s all a matter of studying the capabilities of the device and see if it applies for your project. I think the low specifications of the board also have a positive point: It will teach the young developers how to make apps that don’t use 1GB of RAM after half an hour of use, thus teaching these developers how to manage the system resources.
  • The case: it’s known that the Pi will ship without case. There will be cases available on the online store of Raspberry Pi, but of course these cost some money, increasing the price of the device if you must have a case. Of course, we can’t see just the negative part of this: the lack of a case opens people’s mind to creativity and curiosity, making them poke inside the Pi. If it breaks… well, if you have enough money to buy another, that’s not a problem. However, if we want to incentive children to learn programming with the Pi, it must be made somewhat attractive.

Finished! This is my long essay on the Raspberry Pi… please correct me if you find any errors on the facts presented here, and take the opportunity to express your own opinion by dropping a line on the comments. Oh, and of course don’t forget to visit the official Raspberry Pi website for more amusement! 😉

I’m alive!

I haven’t posted anything on this blog recently, but I’m still alive online and I check this blog every day for new comments or software updates. Simply, nothing that deserves a blog post has come to my attention recently, but more than that, is the fact that I’ve been very busy with school and will continue to be. Perhaps after mid-December I’ll have some more time to dedicate to my personal projects.

By the way, I managed to finish the change of the user interface of my URL shortener, 4.l.to, to Bootstrap. It looks really nice. How could I come up with time for this, if I say I have been very busy? Well, working 15 minutes per day on it, for the last days, plus spending an hour yesterday getting it all online. Tell me what you think of my work…

Being busy studying doesn’t mean I’m not online, as I open the browser and stay online, but idle, on sites like FreeVPS.us, Rockbox.org and Slashdot. This means you can still contact me using the cables (or the free wifi ha ha) at any time. Just don’t expect an immediate reply 🙂 .

My first Slashdot submission was… accepted!

I don’t know if you ever took the time to see my profile on Slashdot… for quite a long time, I had a terrible karma at there. Not that I consider myself a troll, but it seems other users with modpoints never liked my posts and always modded down to -1.

Following some recent news about the Raspberry Pi project, I decided to submit a Slashdot story on it… at first I saw the submission getting voted down, so I gave up on checking its progression and thought “nevermind, Slashot’s not a site for me”. But today, I got a message from Liz (at the foundation), thanking me for what she called “slashdottage”. I thought, “thanking for submitting a story that wasn’t even accepted?”. Then I checked Slashdot… and after a story about Portuguese schools moving to OSS (which I haven’t seen any consequence of), I saw my story submitted… oh my!

Well, this blog wasn’t Slashdotted – fortunately, since I configured the web server to only allow two PHP processes at once, or the server would get a memory outage. At this moment, it’s got about 7 clicks referred from Slashdot.

By the way, my Slashdot karma went from ‘terrible’ to ‘bad’, and I got eligible for the removal of ads on the Slashdot website (something that already happened anyways, since I have AdBlock enabled – but don’t tell them!).

I even joked with Liz that they should offer me a discount on the first Pi I buy. But, hey, they’re a non-profit, so let’s pay the full price and be nice 🙂

My email addresses

I find myself to be getting more and more email addresses as I register on web services. For example, yesterday I registered on Zoho office, and it turns out to be kind of an email provider with docs integration (previously, I thought it was docs-only).

I’m posting this more for me to remember I have all those addresses than for people to know. Anyways, the first address in the list is the one you should use to contact me. You can send junk to the others, and don’t expect to find me checking those inboxes often 🙂

Obviously only the addresses that can be made public to anyone are on this list, duh.

The first column is the username, the second is the server, add a @ between the two.

gbl08ma gmail.com
me gbl08ma.com
gbl08ma zoho.com
gbl08ma inbox.cat

I’ll try to update this list often, but no promises 🙂

Now running with nginx!

I was really fed up with Apache on this server. It would use huge amounts of RAM, even after all the visitors left the website. Having done all tweaks to the memory usage of Apache and PHP, the amount of RAM used would never get below 450MB (out of the 512MB this VPS has). Hell, Apache was consuming even more memory than MySQL!

For those who don’t know, nginx is an alternative, lightweight webserver which is generally used (by many popular websites) as a load balancer. However, it can also act as the single web server on a system, like what Apache and Lighttpd do. I had worked with nginx before on some small websites on low-resource servers, and I was quite satisfied with it. As I explained with an earlier blog post, nginx is great as long as the website you want to serve with it does work with nginx – that is, doesn’t heavily depend on Apache rules or some Apache-specific thing. Sure, those rules can be converted to nginx config options, but I never succeeded on making eyeOS 1.x work fully with nginx.

WordPress is one of the scripts that works best with nginx. Since this website is mainly powered by nginx (although I have some custom scripts laying around, mainly the scripts providing alternative WiiMC internet media), I made my mind and decided I would go through the hassle of switching from Apache to nginx. It wasn’t a big hassle after all: apart from having to restart the server at some point due to a RAM outage, the website wasn’t offline much time, and there was no data loss.

After putting Apache off-use and starting nginx, the server was still using 300MB of RAM. I though nginx couldn’t be using so much RAM, and there was another problem laying around. Turns out to be a problem in MySQL config: I don’t need InnoDB functionality, so usually I add a “skip-innodb” line to my.cnf. The problem was, this line needs to be added under the [mysqld] section and in my case, it was somewhere else. So I moved skip-innodb to the right place, restarted MySQLd, and that’s it:

The server is now using 240MB of RAM, which still fits inside the dedicated RAM (256MB), so I’m not taking any of the burst RAM, which resides in the server swap space. The RAM usage is still high, because I have other things running such as dovecot for mail delivery.

It also looks faster to load pages, but probably someone with a faster connection than me will notice a bigger difference.

Strange times… again!

So the last times have been strange again. A lot of events which somehow hit me harder, for the good or for the bad, have happened recently. Some are more personal than others, anyway. Here are the ones I can remember and talk about in public, ordered in chronological order:

  • My cat is really sick 🙁
  • dmmcintyre3 got me a .com domain – I wasn’t expecting that in any way, thanks a lot! 🙂
  • Steve Jobs had his last kernel panic (must I explain?). Let him rest in peace.
  • It’s hot like hell in Portugal, hotter than in the Summer, and it’s already 6th October
  • Last night (during the Steve Jobs thing, perhaps) I got a bunch of twitter followers. Funnier: most of these users have their following and follower counts on the hundreds, but never posted a single tweet. One word: spam bots.
  • And some more things I can’t remember! (I forgot about them while I was writing this, and now I can’t remember. Seriously!)

I have been upgraded to .com!

Following the latest changes in this website domain, it looks like it will have to edit the URL for this website in wordpress settings again, in no more than a week.

But this time, unlike last time, I’m incredibly happy. No, my birthday is only on 8th October, but the owner of http://freevps.us, dmmcintyre3 has registered for me the domain “myself on .com”, that is,http://gbl08ma.com . Yeah! That’s myself on a .com domain – in case you haven’t understood.

Goodbye malware-false-markings due to the use of crappy free domains! Now I only have to make sure my real TLD is not marked as malware itself.

Now I can freely post URLs for posts in my blog without fear for supposedly containing malware! This is an huge step!

Remember, the Bitcoin donations thing is still valid; at the end, I want to renew this domain next year 🙂

An huge thank you to dmmcintyre3! And to Namecheap for providing cheap domain names.

ReactOS: will they ever get somewhere?

For those who may not know, ReactOS is an operating system that “aims to follow the Windows-NT® architecture designed by Microsoft from the hardware level right through to the application level”. By other words,  the idea is to provide Windows XP-level compatibility with software and hardware.

Looks like a neat idea? Yes, indeed. An “open source Windows” system would has lots of applications, for example, in situations where demand for using open source software and common standards, instead of proprietary solutions, exists (like what happens, in theory, on some country governments).

Why it doesn’t work right? Well, nobody can say the project has been abandoned. It’s progressing, but very slow. I can’t blame the developers for the slowness: the task they’re doing is hard, and there aren’t many developers devoted to the project.

The latest version was released on March 2011, and it was just a tiny improvement over all that’s still missing. My only concern is, when they get a Windows XP compatibility that is good enough, won’t be XP as obsolete as Windows 95 is now? At the end, Windows XP is already more than 10 years old, and even some of the most recent software by its creator, Microsoft, doesn’t work on XP (e.g. IE 9 or the latest Live Messenger).

And another thing: if ReactOS gets noticed enough, won’t Microsoft try to squash them and send some juridical flames regarding e.g. stupid patents? Or even reverse engineering, although I don’t think they can be legitimately accused of doing it? Note that these questions may also apply for WINE and similar software, but up to now, it looks like they have been safe from Microsoft’s hammer.

Website address changed, cya cz.cc!

First of all, sorry for posting nothing on this blog for more than a month. The truth is, school has started, I’ve got to study, after studying I have lots of other things to do, and, in general, posting on this blog has been the last of the priorities. It’s also true that during this month I didn’t come with something worth a blog post. However, in the last days some online events made me direct some attention to this blog and the server it is hosted in.

Some days ago, Pingdom started reporting that gbl08ma.cz.cc was down… and down… and down… not only gbl08ma.cz.cc, but also all the cz.cc domains were down for more than 48 hours – and continue to be, and will never come back up – I explain later. After more than 48 hours of consecutive downtime (and an email inbox full of Pingdom alters), I decided it was time to “wake up” and take some action.

So, I went searching. I knew that everything cz.cc was down, that was a fact. After no more than 30 seconds of Googling, I see the expressions “takes offline”, “cz.cc domains”, “Microsoft” and “Kelihos Botnet” on the same headline.

Before we continue, let me explain: I knew Microsoft and its “secure internet” partners had taken the Kelihos botnet down some days ago, I just didn’t know how that was related to cz.cc subdomains. So don’t take me for as so uninformed as you might think.

…turns out that Microsoft and its partners took the cz.cc domain service down along with the Kelihos botnet. OK, I had assumed this would happen anytime soon, the point is that it just happened before I thought it would be, and it happened before my eyes. So, cz.cc was taken down, after being considered as being a Kelihos partner and containing other multiple issues (we all know the lots of spam and scams operated from cz.cc domains, right?).

Well. Yesterday I was a bit angry with Microsoft, but now I think it was a great thing after all: they shut a bad thing off the internet, while forcing me not to use that horrible domain service anymore. For me, the biggest hassle is updating the URL of this blog on all places I left it. The ideal solution to this free domain problem was to buy a real top-level domain and get off with gbl08ma.com or gbl08ma.net, but as I don’t have enough money to buy a TLD yet, I just moved to the very-reliable and reputable freedns.afraid.org (unlike cz.cc, it isn’t associated with badware or spam).

Plus, afraid.org has some great points compared to cz.cc: since Google banned them from search results, this blog could not be listed on Google; now with afraid.org, I’m still not listed on Google by default, but I can bother Joshua Anderson, the FreeDNS admin, to whitelist this website and allow Google to index it, like he did with my 4.l.to URL shortener. (to Joshua Anderson: if you’re reading this, smile 🙂 ).

There’s even another great thing, apart from not being associated with the “dark side” of the ‘net. The FreeDNS domain I chose is even shorter than the previous one!

Conclusion: The URL for this blog is now http://gbl08ma.l.to. (not anymore, read last update)

I’m progressively updating all references to gbl08ma.cz.cc on the internet to gbl08ma.l.to, as long as it’s under my control; if you ever linked to this website, please update your links; remember to update your bookmarks too, if you had any. Starting now, forget gbl08ma.cz.cc and update your mind to use gbl08ma.l.to. I thank you for not associating this little blog with Kelihos, since it was never associated and never will.

See you!

Gabriel

EDIT: I was trying to configure WP to Twitter plugin to work with the new URL, and at the Twitter developers center, I just discovered that Twitter thinks that l.to domains are malware, too. Damn! What free domains aren’t considered as malware?! I need a TLD… please… oh damn, I can’t pay.

EDIT2: As you should be noticing, the blog is now on a .com domain. So the accurate URL is http://gbl08ma.com

Accepting Bitcoin donations

Letting anyone who might read this know that I’m accepting Bitcoin donations of any amount at the Bitcoin wallet:

1Kw1ACWYy7YdoNsSKH6jig5Bqi1J9Y9F8f

Any amount you donate, even if very, very small, is appreciated 🙂