Current Flow

Endeavours into the world of programming and electronics


The Raspberry Pi Will Bring Fun To Computers Again

I was browsing the Raspberry Pi forums these days and I came across a very interesting thread titled PC’s Are Boring. I read all the posts until that moment and started reflecting about that statement. The thread starter was completely right about this, PC’s (which I understand for computers that run Windows or Linux, excluding Macs) are really boring, that’s why the mobile industry is so amazing these days, because people stopped changing their computers every ½ years and started changing their mobiles.

A lot of the users on the forum were talking about “the old times” of the Commodore and Atari when you felt like you had power over the machine and today you’re just part of a mainstream movement. Also they were talking about how “normal people” are discouraged to program because are afraid they can break the computer (which isn’t true of course, but that’s what the average user thinks) and how the price of the Raspberry Pi could help people to get into Linux or programming. They are completely right, as soon as the Pi comes out a lot of programmers are going to rush to get their hands on one (I am very excited to get my hands on one too) and possibly a lot of people that want to start programming will get it too.

The RPi will make the feeling of having power over the machine come back again. The best example I can give is my own. I’ve never been so excited for a “computer” since the first dual cores came out, I’m thinking about the awesome things that I could do with it like: Making my own Linux-powered tablet (which is completely possible), porting new Linux distros to it, porting other OSes to it and even making my own distro only for the Raspberry Pi.

I’m sure all the geeks are very excited waiting for the release and wondering all they could do as soon as they get their hands on it. Leave a comment below with your opinion or ideas. If you want to keep in touch to the latest news about the board just visit their blog and don’t forget to contribute on the forums.

This is an old article from my old blog that I moved to here


My Dream Reading Device

My dream device

Today I was reading some of the 109 articles saved on my Pocket account and I thought about something that I would love: A tablet running a fully customized (for stability and lightness) version of Android sporting a awesome e-ink display. As soon as possible I posted it on Google+, since I really wanted to philosophize more on this idea I’ve wrote this article.

Why e-ink?

First of all, if you’re going to read for long periods of time the LCD screen is just going to burn your eyes, that’s why e-ink is the best alternative. Second, if you ever owned a Kindle (I own the DX, and the new non touch screen version), or any other e-ink device, you know that the experience is incredibly great. I know the refresh rate is a con, but seriously there are a lot more pros and also this technology is still evolving.

What about a touch screen?

Maybe, but I would buy the non-touch screen version because on a reading device I prefer to navigate and switch pages using physical buttons, also be able to holding it anyway I want without worrying about touching the screen by accident.

Why not just root a Nook Simple Touch?

Yeah, the Nook Simple Touch can be rooted and turn into a “fully functional” e-ink Android tablet, the problem is fairly simple: The lack of Android e-ink optimized apps. That’s why if a startup start this trend and it gets some attraction of reading addicts I’m sure developers of big reading apps for Android will optimize their applications for this new category. Also the interface isn’t actually optimized, it’s just a lighter version of ADW Launcher with some tweaks, nothing drastically changed from stock Android, and for this kind of screen a UI with more contrast and less mid-tones is a must.

What’s your proposed interface for this device?

This is my sketch of the perfect UI for it, made with Paper (sorry for my terrible drawing skills):

UI Sketch

The interface is pretty clean and extremely usable (also it looks a bit with the Kindle interface). The status bar will only show the name of the user and a clock. Below the status bar is the app drawer, I thought about it as just a simple collection of the application names (scrollable if you have more applications than it can fit on the screen). The last piece is the actual running application itself.

There is market for such product?

That’s a difficult question to answer, but as far as everyone can see the eReader/eBook market is growing exponentially and I think a lot of customers would give it a try if it was presented to them.

What you might end up doing?

As I wait until this dream reading device becomes true I’ll buy a Nook Simple Touch, root it, customize the OS to make everything with high contrast, and start developing that launcher from scratch.

What are your thoughts about this dream device? Any suggestions about it? Leave a comment.


Microsoft Finally Saw Where The Developers are Going

Today I revived my hope on Microsoft as I received the news that they released their brand new “product” for their fellow developers. The release I am talking about is the official Metro theme for jQuery Mobile. The awesome mobile framework finally got some Microsoft love.

In December of last year I got a new device to develop for, a HTC Titan, running the latest Windows Phone 7.5 Mango build. I loved the OS UI and how the applications were information-centric and not just eye-candy, but there was one problem, the same way C# is a incredible language for a lot of things, it’s parsing functions, for JSON specifically, are very difficult to learn and the articles about it were made for senior C# developers, which makes it difficult for beginners like me to understand them, at least I now can develop using the technology I love most for mobile development: Cordova (aka PhoneGap).

I always wanted to use Cordova for my WP7 projects but the Metro interface was way too complex to build from scratch and since the WP7 build of Cordova was on it’s early stages there were some features still to be implemented, for example there was no way to prevent the app from scrolling and some other things. Now there are plenty of plugins to make the app as native as possible and with the latest help from Microsoft, the Cordova development community has another great platform with almost full support of the native web app framework.

It’s great to see that Microsoft finally realized that the future of development has Javascript, HTML and CSS as the main languages. That’s why I have hopes that Boot to Gecko gets some market attraction and becomes a popular platform.

Follow my blog with Bloglovin


Interpreted is The Future

Interpreted languages are pretty popular since 2005. Ruby with the Rails framework (or API), Python with Django, Javascript with Node.js. These are just some examples of interpreted languages that became extremely popular, mostly because of frameworks, but the main thing that will make the future be ruled by interpreted languages aren’t frameworks. Instead the best feature of these languages are the fact that you can easily test or debug your code on-the-fly, without having to worry about compiling a test source code to see if it works.

The Node.js console for example: I can run my server script on the test machine, then I type node and I can debug/test the code I just wrote, sending GET/POST requests, doing simple database queries (MongoDB of course) and testing code I might add to the main script. A lot of people complain that they are slow because of the way they “read” your code, but seriously I never had any problem with slowness on my code, so I think this isn’t an issue.

Of course languages like C/C++ (I hope Go can kill them because they are completely outdated and there is no more reason to continue using them) or Java will continue to exist for a long time because there are some things, like bootloaders, security systems, OSes, that can only be written in code that can be compiled.

I hope the future gets even brighter for interpreted languages, that’s why I’m trying to give them all a try before choosing the one I’ll stay. At the time Node.js is the best for me because I really love Javascript, but I might get into Ruby too, I like the syntax and the community is really great too.