Posts Tagged ‘ linux

NVDIA Tegra

11031-dsc00147There has been a lot of buzz over the demo of new Tegra platforms recently. Most of the news seems to pit the Tegra against Intel for dominance of the Netbook market. Personally, I have to agree in the most part. Except for the purpose of running Windows applications, a Tegra Netbook would be a better choice than an Atom based system for one simple reason: performance per watt.

For those of you who do not understand the difference, suffice to say that the Tegra is built of a different architecture from the Atom systems. As a result, the Tegra provides a richer multi-media experience than the Atom system and consumes less power while doing it. The reason is very simple. The Tegra integrates graphics capabilities from NVIDIA and a low-power multi-media enhanced ARM based system.

For those of you who have never heard of ARM, they are the microprocessors that power your mobile phones, ipods and various other consumer electronic and multimedia devices.

The super exciting thing about this is that NVidia is able to fit an entire computer platform onto a board that is only slightly larger than your typical USB flash drive. Therefore, it is obvious which market segment is NVidia targeting – the ultra-mobile and integrated devices.

You may ask what kind of software it can run. The answer is that it can run almost everything except Windows software. You see, there has been an ARM port of Linux for ages. In fact, Ubuntu has been working on exactly that – an ARM port of Ubuntu for the purpose of placing it on ARM based Netbooks. Google has also moved the Android platform up from merely powering smart-phones to powering ARM based Netbooks. In fact, Adobe has recently announced that they will be releasing flash support for ARM as well.

So, you can see where this is headed.

Oh, I forgot to mention its performance numbers. The various sites claim that it can playback 1080p video and can run for several days on a single battery charge. Personally, knowing how these things work, the numbers sound right.

New Netbook Player

Just found out that there is a new and exciting player in the low-end X86 market, today! NorhTec, a Thai company, has come out with a small netbook powered by 8 AA sized batteries. I checked out their product website and the netbook has a very exciting architecture. The main thing that made it stand out was that the entire PC motherboard + CPU platform consumes barely 1.2W of power. This beats even the numbers from AMD/Intel/VIA. Being the processor geek that I am, I decided to investigate further.

The netbook is based off a Xcore86 System-on-Chip, which contains a 586 class processor, audio, video, network, storage, and I/O all on one chip. From a purely technical perspective, this would actually be a whole PC-on-chip. All you would need to get it to run is to add some memory, monitor, keyboard and mouse. This got me thinking that it would be an excellent candidate for a variety of other PC-based products.

So, investigating further, this Xcore86 is a re-branded Vortex86 System-on-Chip. Again, checking out the information on the website, this chip reminded me of some of the older 386 based SiS System-on-Chips operating in the embedded market. So, doing a little more digging, it turns out that I was right! It is the SiS based system. It was the former SiS division that was sold off to a Taiwanese company. So, these babies are essentially the new and improved SiS chips.

Personally, I think that it is great that the SiS chips are still alive – rise from the dead. They had a very specific niche market segment – embedded x86 applications. However, with the present boom in netbooks, they seem to have found a new market segment. However, I don’t see Intel taking this lying down. The situation with x86 patents is rather murky. They may or may not have the legal right to actually produce x86 processors.

Regardless of the legal issues, you can expect this processor to be slower than the offerings from any other company. However, they should be able to compete on cost – shrinking a whole motherboard of chips into one. Couple that with a sightly older manufacturing process, the prices should be competitive for the low-cost segment. Performance while running Linux should be perfectly fine. I am also running Linux on a similar class machine at home.

All in all, an interesting development. I like this NorhTec company. They have been at the fringe of my radar for quite a while now. They’ve got a bunch of other small-form factor PC products, including a couple that I am interested in.

Jaunty Jackalope

jauntyGuess what arrived in my mailbox today – Jaunty Jackalope! I had pre-ordered it before it was officially released. It is extremely good for them to have hardly a fortnight for it to get to me. I am quite excited about playing around with it. However, I will hold-off actually tinkering around with it for a while – at least until the weekend!

There are a bunch of things that I am looking forward to. A friend of mine mentioned the other day that operating systems were no longer exciting. I beg to differ. Linux is still very exciting, even on a non-geek level. In Jaunty, I am dying to try out the new digiKam and Amarok. These are the best media management apps, IMHO. They have plenty of advanced features.

Jaunty spouts many under-the-hood improvements. For a long time, Ubuntu has been suffering from performance degradation. The developers have been working hard and they are now able to boast a significant speed increase. I have been suffering for a few months because of this degradation too. I hope to be able to run fast again!

Unfortunately, there are some known issues with using the open source ATi graphics drivers. So, I may have to resort to using the proprietary drivers from ATi themselves until this issue gets sorted out, which it will. The open source drivers are improving by leaps and bounds ever since ATi released its hardware documentation.

There are of course, a whole lot of other minor usability and speed improvements. It has been branded – “Speed, Beauty and Innovation”. I sure hope so!

Going back to Linux

After spending the last month working on a Windows machine, I have decided to go back to using Linux in the office. If I have to use it under virtualisation, so be it. I have come to understand why trying to do development work on a Windows machine is a joke. Seriously, you won’t understand it until you have actually used Linux for real-world embedded development.

Let us just talk about this from an embedded developer perspective.

One word – Emacs. There are few integrated development environments that are as featured as Emacs. It has everything under the hood and more in its back pocket. Just like a woman, it takes a while to learn all the right moves but once that’s mastered, life will be good. Try comparing Eclipse or the piece-of-shit CodeWarrior that I have to use at work is laughable. While notepad++ shows some promise, it is but an infant compared to Emacs.

Two words – Code management. Windows does not come with any sort of code management system. Therefore, developers have developed a lot of bad habits over the years when it comes to working with code revisions such as the multiple-folder technique. Instead, Linux comes with a host of code management tools from the venerable RCS to the most modern Git. Once you have experienced the beauty that is distributed code management, it is difficult to go back to anything inferior.

Three words – Support Tools and Utilities. When you experience some trouble with some piece of code, you need to have a lot of support to solve it. Windows does not come with anything. For example, when you have some really cryptic C code that you need to understand, there’s always cdecl on Linux and nothing equivalent on Windows. Doxygen is truly a life-saver when it comes to the tedious work of generating mundane documentation, which every engineer hates to do.

Obviously, this just applies to a specific area. I’ve heard a lot of good things about Microsoft’s own developer tools. Unfortunately, those are not universal and are not suitable for use in embedded development. Maybe this is an area that Microsoft should take care of. However, they seem to have little incentive to do so as few embedded systems are bloated enough to run Windows.

Oracle-Sun

The tech industry has been buzzing with this corporate takeover merger for the last few days. In case the rest of you have not yet heard, or do not yet care, the Sun has been bought up by the Oracle. Sun used to give us the ‘dot’ in dot-com but they have always been a company with great products, but bad management. The new entity will give us another giant in the computing industry.

Let us start with Sun. Sun has an amazing array of technical products. Their UltraSPARC processors are the fastest and lowest power machines operating in the server space. Imagine having a processor that can execute 64 parallel threads in hardware. Now, we are talking some serious computing power. No serious business can do without having Sun machines as their backbone. This is particularly true in the telecommunications industry.

Then, right on top of all that hardware, Sun has Solaris – a mature Unix operating system. Hence, Oracle would be able to optimise and deploy their software on top of their own OS, without depending on either Linux or Windows. Who is to say that Oracle would not actually build new instructions and hardware capabilities into the next-gen UltraSPARC processors to give them an edge over the rest in hardware database acceleration. (hint: If anyone from Oracle is reading this, my PhD thesis is on hardware search acceleration!!)

Next, on top of this operating system layer, Oracle can now host their ever powerful database application. Their databases are universally recognised as the de-facto standard in corporate relational database management systems. There are many other products that compete with them, including from IBM, Microsoft and even some open source offerings. However, Oracle has always stayed ahead of the rest, due to effective marketing and management.

That is where the difference in their culture lies. Oracle has never actually had any technically superior products. However, they had good management. So, if they carefully crafted a path to integrate the best of Sun products with their management practices, they would create a new behemoth that can rival IBM, Microsoft and every other major name in IT.

All hail our new Oracle-Sun overlords!

Work Laptop

Today, I finally received the laptop that I am supposed to use at work. It is an older laptop but its specs are still fairly decent. It comes with a T2500 Core Duo processor at 1.8GHz with 2Gb of RAM. However, it has a puny little screen and I hope that I’ll be able to find a larger screen to hook it up to.

Unfortunately, it came with Windows XP. I was told that it would be configured in a dual-boot set up. However, it turns out that I will need to install Linux myself. Tomorrow, I intend to burn a Kubuntu 8.10 iso and install it onto the laptop. Then, for compatibility purposes, I will run the windows OS under a virtual machine. I will probably need to do this until I can be sure that there are no specific proprietary things that require Windows. Even then, I will probably still keep the partition around.

I will probably need to go in early to office in order to do this. I hope that Kubuntu can be installed with minimal hassle in the shortest amount of time. Then, I can hopefully get the trainer to help me set up the Linux version of their tools. This will probably help me simplify a lot of the development work that I will have to be doing in the future.

There are many people who use Linux at the office. So, it should not be an issue in my case. However, there aren’t many who use a dual-boot setup. Some run Linux under a virtual machine and others use a remote login programme to run Linux on the servers. However, seeing that I have a working Windows version, I should be able to copy any settings over easily.

So, here’s to myself – and Linux. All the best!

BSD Windows

FreeBSD mascotI had this short conversation with several people the other day, where I mentioned about Windows. I wondered why Microsoft has not decided to build the next version of Windows on the BSD kernel. Besides the sin of pride, I really couldn’t think of any technical reason not to.

BSD is a distribution of Unix created by UC Berkeley. Unix is an operating system developed in 1969. Through the years, it has evolved into an extremely secure and stable OS. People who use real computers (not toy computers) use variants of Unix. There is no technical reason why Microsoft cannot just use BSD and rid the whole world of numerous security problems. A company that has finally decided to do exactly that, after going their own way, is Apple. Just in case you didn’t know, Apple uses a BSD operating system. They then designed a ultra cool user interface on top of it. Microsoft could always copy Apple – they do it all the time anyway.

  1. Backwards Compatibility
    Some people may think that Microsoft needs to maintain backwards compatibility. Therefore, it cannot make a major architectural change like that. I laugh inside whenever I hear this. However, most people are not familiar with the Church-Turing thesis and therefore, I must forgive them. Microsoft is not the scion of backwards compatibility. They often break compatibility within their own products.

    Apple has shown us that backwards compatibility is certainly possible. Few people realise that you can run Apple II software on a modern Mac. This is ultimate backwards compatibility. The Apple used to use a Motorola 68K microprocessor, then moved onto the IBM PowerPC before finally turning to Intel x86 today. Apple has shown that not only is backwards compatibility possible, even software written for an entirely different computer architecture can be kept compatible.

  2. Proprietary Software
    Some people may think that Microsoft has a lot of secret sauce that it needs to keep hidden and using an open source OS like any of the modern BSDs will force it to reveal its hand. This is a myth because the BSDs are distributed under a very permissive BSD license, which basically allows you to do whatever you want with it, including building proprietary software out of it.

    In fact, Apple again has shown how to do it. Apple has plenty of secret sauces that Microsoft is still failing to copy successfully. Apple has built them all on top of BSD and does not need to share it with the world if it does not want to. It all comes down to the terms of the BSD license. It is more commercial friendly than say, the GPL that is used by Linux. That’s why I’m suggesting BSD instead of Linux Windows

  3. Technical Superiority
    This is another laughable excuse. While many people are heralding the technical superiority of Windows 7, please remember that they are comparing it against Vista, not any of the Unices. While they herald the resource savings of Windows 7, please remember that a full fledge BSD install with graphical user interface can fit inside 128Mb of hard disk space or less, using even less memory. While users try to fight off the ‘infection of the day’ on Windows, the Unix people are free to do something useful with their time instead.

So, I sometimes wonder why Microsoft still wants to go it alone and re-design their OS from the ground up so many times and still fail to get it right. Their track record has shown that they just cannot write quality software. Since there is already a proven 40 year-old OS out there for the taking, it is really stupid not to just customise it and use it.

The other day, a friend of mine tried out Linux for the first time and asked me what anti-virus he needed to install. He did not quite believe me when I told him that there was no such thing. Those that are written for Linux, such as ClamAV and F-Prot, are actually designed to kill Windows viruses, not Linux ones. Seriously. You do not know what it is like to live in a virus free world until you have entered the world of Unix. It is totally refreshing and fun.

Microsoft should seriously consider doing an Apple. It will end up doing the whole world a favour by introducing ‘safe computing’ to the masses instead of introducing new infections with every new version of Windows.

FAT32 FUD

Most technology sites today are reporting on the news that Microsoft is starting its patent attack on Linux. According to the news, it pertains to Microsoft suing a GPS device manufacturer (TomTom) for alleged infringement on Microsoft patents on the FAT32 filesystem. Sigh. This is again FUD.

While I do agree that there are utilities in Linux that use FAT32, it is most definitely non essential. There are like a dozen file-systems that Linux can use. 99% of Linux distributions will either use Ext-FS or ReiserFS as the default file-system. In fact, the only reason that FAT32 code is available in Linux is because of compatibility with other (read – Windows) systems, which is the same reason why NTFS has not taken over Windows entirely (backwards compatibility).

However, there is a far deeper problem here. 99% of consumer electronic devices use the FAT32 file-system (think thumb-drives, digital cameras, mp3 players). While most major companies would have licensed the patent from Microsoft, I can tell you with 100% certainty that there are a lot of companies who do not license it, particularly small and medium electronic companies.

I know for certain because this question gets asked a lot on various embedded electronic forums. Designers of embedded devices are always trying to embed things like SD-cards in their devices because it is very cheap storage (2Gb@RM20). The typical answer that designers get is that Microsoft owns the patent but they are unlikely to enforce it. This case may just change that.

So, while Microsoft may want to spin this as a battle against Linux, in reality it isn’t. Life goes on in Linux without FAT32. The ones who may really end up being hurt are consumer electronic companies like TomTom and ultimately the consumer.

The simple solution to this problem is for the whole consumer electronics industry to standardise on a new file-system that everyone will recognise in their products. However, this is a pipe dream as they aren’t even able to standardise on a single media (SD, CF, XD, MS). But this case may just force people to do that. Otherwise, Microsoft will always hold a knife at our throats.

PS: As for TomTom, since they control their product ecosystem entirely, they can just remove the offending FAT32 code and use JFS/Ext2 instead.

Zaurus Rawr!

This is another example of my engineer-ness. I was thinking about adding a computer to my car, what is known as a CarPC. Such a computer is typically used to provide music and videos for entertainment (it could also possibly be used to build a mobile WiFi hotspot if configured correctly).

Anyway, I was thinking about doing it. A CarPC could be installed in the boot of the car with little problem. I was thinking that an Atom based mini-itx board could be used, coupled with a small amount of memory and a solid state harddisk. Because the car will experience bumps and shocks, it is important to use a solid state drive. So, I was calculating the cost of doing this – about RM300 or so.

Then, the only trouble was with building a user interface to the computer. It has to be something that can be accessed from within the car. So, I thought of building my own little device with a screen and some buttons. Then, I suddenly realised that I could just use a PDA to control the CarPC. That was when the though hit me.

I could just use a PDA as the CarPC!

I have two old PDAs lying around, a Sharp Zaurus SL-5500 and an Acer Palm S10. The choice was evident on which to use. The Zaurus is infinitely hackable and had more computing power than the Palm. It has a 200MHz ARM processor, 64Mb RAM, 320×240 LCD display, keyboard, SD card slot, CF card slot. I plan to use the SD card slot for adding storage while using the CF card for peripherals (I have a wifi card for this device).

So, I dug up my old trusty Zaurus from my box of old stuff and plugged in the power cable. Nothing happened. Then, I shook the power socket a bit and the power-LED came on. That is a good sign. Then, I tried to turn it on and again nothing happened. I kept tapping away at the different buttons until something came on screen. However, the screen was dark because the back light did not want to come on. But after more fidgeting, the entire unit came to life! The batteries were just weak.

So, I logged onto the Internet and downloaded the latest version of OpenZaurus, a Linux operating system designed for the Zaurus. I flashed the internal firmware to the latest version and everything worked. This made me infinitely happy as I now have a semi-powerful computing device that I can install in my car. It runs on a 5V power supply which is easy to tap into, in a car.

So, the plan is to install a media player onto the Zaurus and test it to see if it can play MP3s and OGGs. If that works, the next thing to do would be to find a nice way to interface the Zaurus’ headphone socket to the car radio and provide a suitable 5V power supply. If that works, then it’s done!

In addition to playing media, I can install the wifi card onto the Zaurus and use it as a mobile way to say, check emails and such at public hotspots like at McDonalds or some other cafe. Now, that would be a real accomplishment. Wardriving is also a potential plus!
as

*buntu

I have recently just made a family wide wipe out of Windows. My sister’s home computer recently got infected with a virus (all it took was a simple connection to the Internet) and I was tasked to fix it. My mom complained that she did not have enough games to play on the same computer. So, the solution to both these problems (and more) was just to install Linux on it.

Since I had a free CD of the latest Kubuntu install, I decided to install it everywhere. I installed it in my dad’s computer at home and also my sister’s home PC. Adding that to the Linux installs on my two laptops and my home theatre PC, makes every PC in my family, Linux running. Although I still think that Slackware is probably the coolest distribution around, *buntu makes a very compelling case for the desktop market.

The fact that this distribution has made great inroads in the short time that it has been around, speaks volumes of it. It has recently been featured in a New York Times article, along with its backer, South African billionaire – Mark Shuttleworth. My experience with Kubuntu has shown me that desktop Linux is already here. I honestly sympathise with the people who struggle along with Windows simply because they do not know any better.

However, this article was as much about Mark as it was about Ubuntu. I liked the fact that Mark is a technical guy who understands technical things and is truly passionate about open source. The fact that he is a billionaire, and who can afford to fund a free operating system out of his pocket change, is quite appealing to me. Sometimes, I feel that more of the rich would emulate people like Mark, who put their money to good use and fund things that can fundamentally change the world, rather than to just hoard everything.

People like him are my heroes. People with technical knowledge, who put it to good use, make wads of cash and continue to turn that cash into doing some real good and making a positive change in this world. Now, Mark certainly does not have enough money to take on the empire that is Microsoft alone, but with an army of volunteers behind him, he can definitely succeed – and he has just such an army of trained volunteers.

Finally, I love this quote from the article: “It is not because I need to watch porn in high-definition but because I want to see what you do differently.” – ditto.