Archive

Archive for May, 2010

Ubuntu enchancements expected by 10.10

May 30th, 2010 8 comments

In recent Linux related news I have been reading about the Ubuntu Control Center (UCC) and the Ubuntu Application Menu (Global Menu). The projects looked extremely interesting so I decided to install them and give them a try. Note that directions for download and installation are provided in the links above.

Ubuntu Control Center (UCC)

In the GNOME desktop environment, most of us have become familiar with the gnome-control-center. The gnome-control-center provided a centralized interface to access various components and elements of your GNOME desktop environment to your general computing experience. This included shortcuts to network configuration tools, disk management tools, display and screensaver related tools, power management and more.

UCC is not that much different. The way in which it stands out is that it is a little more visually appealing to the eye and continues to maintain the new style and themes presented by Canonical for Ubuntu. It is also simplified in presentation and organization. I can see it to be less intimidating to a lesser experienced Ubuntu Linux user. It is my opinion that this is a great step into the right direction. It is these little things that help one distribution stand out over the others. In the open source world we call this differentiation (a topic I will write about in my next post). Although I don’t see myself using it that much, as I usually know which commands to invoke from the command line or which files to modify instead, I can see someone like my wife utilizing this interface and actually be somewhat comfortable with it.

UCC

Also note that when it is installed, the application can be launched from Applications > System Tools > UCC.

Global Menu

While this is not an Ubuntu original project, it is one that Canonical desires to use in their distributions intended for smaller devices (i.e. netbooks). At least for now, it is planned to have this feature implemented in the future release of Ubuntu Network Edition (UNE).

The interface reminds one of the similar feature in the Mac OS series of operating systems. Instead of wasting LCD  space for every open application by dropping a File, Edit, etc. menu system, Global Menu will integrate it into the top GNOME panel. This is very desirable for the netbook devices with smaller screens (i.e. 1024×600).

global menu 1

I actually like this. Truth be told, I grew up on Macs, so I am very familiar with this setup and while it is going to take a little bit of getting used to, I have decided to keep it installed with my 10.04 installation on my everyday notebook. Here you can see it in action when a terminal is open:

global menu 2

There are a few drawbacks to this though. It would seem that this feature is only fully functional for GTK+ developed applications. Or at least something to that extent. Certain applications such as Firefox, OpenOffice.org to even VirtualBox will only result in the name of the application to show up in the global menu with options to show the desktop or maximize/minimize the current application. Instead you will find that the generic menu interface will still be presented in the application’s window. Despite this, I still do look forward to seeing what this project grows into.

Categories: Linux, Ubuntu Tags:

Headaches with automake.

May 28th, 2010 Comments off

For the past week I have been attempting to build the oprofile profiling suite for the ARM architecture to a specific vanilla kernel my current employer is utilizing for their embedded Linux framework. It has been quite an interesting week overall.

Oprofile is built around the autotools framework which is a great method by which one can create a portable application for multiple architectures. For the most part it works great, that is until you are building for a platform and environment that is built from the ground up to serve only the company’s purposes and in turn will contain the bare essentials for features and functionality ensuring a lightweight core OS for embedded architectures. This is where we start getting into dependency hell: rebuilding binutils (specifically libbfd) for the ARM and pointing the configure script to look at libbfd alongside some headerfiles.

After resolving that, I then coming across compilation errors specific to C++. Let it be known for the record: I do not like C++. Being a kernel and device driver developer, I have always been entrenched within C and when I need to get into Object Oriented Programming, I would prefer Python and in the rarest of cases, Java. It is just much cleaner and easier to work with. Usually Python best fits my needs especially when it comes to graphical development and I write GNOME based applications with pyGTK. C++ was a good concept and major stepping stone in the programming world but it is just sloppy. Even when you come across an error, a lot of times it is just too cryptic. In my most recent situation though, it seemed that it was a stdlibc++ issue built into the GCC toolchain used.

I will save you from the nasty details. To conclude, it was an unsuccessful effort. The module built (written in C) and was loadable with no problems. The only problems that existed were around the user-land tools alone. A whole week spent on something that could not be used in the end; at least until we have more time to invest in addressing the obvious issues. But I guess it was a learning experience nonetheless.

Some additional excitement came when I saw that Bruce Perens has been consulting our group for the past few days to ensure that we are complying with all used open source licenses. Yesterday, he took the time to give a very interesting 2 hour lecture about companies and their uses of open source license. Some of you may recognize that name, if not then you should read more on the open source movement. I found it humorous to observe that his character in person was no different then what I would see in video and documentaries such as Revolution OS.

Categories: Linux, UNIX Tags:

Playing with Android 2.1

May 18th, 2010 Comments off

So, I just got my Android upgrade for my HTC Droid Eris phone. It upgraded from 1.5 (Cupcake) to 2.1 (Eclair). I must say that I am happy with the update. Although there were a couple of annoyances that had to be dealt with.

  1. For instance, the update loses all your contact information. You needed to resynchronize it from your Gmail account. A good thing to do is to occasionally export your contact information from Gmail into vCard format. This way you can hold a backup copy just incase of failure. The Android OS reads the file format and can re-import the contact list from the local SD Card with no problems.
  2. A second annoyance was that all of your widgets were defaulted to the default HTC setup. Whatever. It took 5-10 minutes of my time to lay everything out and download some newly 2.1 available widgets from HTC.

All of this was not preserved and yet I was surprised to find that all of my e-mail accounts were intact. I guess this was saved on the SD Card. Go figure.

Other than that, all seems to work great. There are a lot of great new features and the appearances (including icons) look sharper and cleaner. Also I noticed that the phone (tuned to my liking with Advanced Task Killer) consumes less battery power with this update.

While HTC had always supported multitouch capabilities, they expanded on it in the 2.1 release. For instance, in the HTC phone, I have 7 desktops which I can slide side-to-side to get to. They have a new feature where I can do a multitouch pinch at the center of any desktop screen and it zooms out to view all 7 of my desktops. I can then select one to zoom back into.

Also with this release, there is support for animated backgrounds. HTC added some neat looking animation to the Sense UI. For instance, the weather applet will animate on update by showing transparent sun rays, clouds moving to even rain on the screen. It looks nice but I am sure it will get old after some time.

The Android Market Place has a nicer and cleaner look and feel and the new HTC provided widgets are also kind of neat (i.e. for quick not taking among other things).

The only problem that I did notice was when I upgraded my wife’s phone to 2.1 (she has the same HTC Droid Eris phone). The HTC Weather applet would error everytime it was launched and do a force close. This was easily resolved by going into all of the weather related applications (Menu > Settings > Applications > Manage applications) and clearing all cached data contents.

With Android 2.1, I finally had the opportunity to play around with applications such as Google Goggles, which works great in limited use (so far). Now as I am finally playing with Android 2.1, I am hoping that 2.2 will make its way to the Droid Eris as it supports Wi-Fi tethering.

Categories: Linux Tags:

Article ZFS data integrity testing and more random ZFS thoughts.

May 15th, 2010 Comments off

Earlier this week I came across this blog posting about data integrity testing on ZFS title: ZFS data integrity tested. It was a few months old from Robin Harris’ blog Storage Bits. I guess the most exciting part was validating Sun Microsystem’s claims to ZFS having the ability to correct data corruption even with error injection to both the disk and memory. ZFS continues to prove its worth on enterprise class systems and applications.

My only frustatrions with ZFS are that cluster support is currently not available, at least until Lustre 3.0 is out, whenever that will be. Another frustration is trying to write an application that will work directly with a zpool. For instance, there is no simple method to send a zpool a generic ioctl() such as DKIOCGGEOM to obtain the size of the volume. In most cases I don’t care about the number of cylinders, heads and sectors. In the end I calculate the total volume block and/or byte count. So those values could be generic and made up.

In the early stages of my discovering this, I posted a simple question on the OpenSolaris Forums:

“As I was navigating through the source code for the ZFS file system I saw that in zvol.c where the ioctls are defined, if a program sends a DKIOCGGEOM or DKIOCDVTOV, an ENOTSUP (Error Not Supported) is returned.

You can view this here: http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/uts/common/fs/zfs/zvol.c

My question is, what is an appropriate method to obtain the zpool’s volume size from a C coded application?”

After posting my question, I immediately went to view the open source to the general zpool/zfs binaries and observe how zpool reported the drive pool’s capacity back into user space. Unfortunately it utilized some cryptic method not as straight forward as sending a simple ioctl() to the desired volume. This was a bit frustrating as it was such an ugly approach to only receive the size of the volume.

I was grateful to have a response confirming my fear of choosing the ugly route; but it also made me realize the true value of open source. What if I simply patched a supported ioctl() definition to return the total accessible “block” count of a zpool? It would be similar to the Linux BLKGETSZ/BLKGETSZ64. This would be the most realistic and proper method; to add a new ioctl() and then modify all storage modules to accommodate it. For instance in the usr/src/uts/common/sys/dkio.h file we would need to define:

#define DKIOBLKGETSZ  (DKIO|50)

And then go back to the zvol.c file and add the extra ioctl() to handle this:

case DKIOBLKGETSZ: {
uint64_t vs = zv->zv_volsize;
if(ddi_copyout(&vs, (void *)arg, sizeof(uint64_t), flag))
error = EFAULT;
return (error);
}

To give a level of consistency across all storage devices, we will need to add the ioctl() definition to the following modules:

usr/src/uts/common/io/cmlb.c
usr/src/uts/common/io/ramdisk.c
usr/src/uts/common/io/fd.c
usr/src/uts/common/io/lofi.c

Although we do not necessarily have to support it and can instead interpret it as such:

case DKIOBLKGETSZ:
return ENOTSUP;

Who knows, one of these days I may get around to patching this myself and if the OpenSolaris community doesn’t accept it I can always make it available on any one of my website. I will most definitely post about it.

Categories: File Systems, OpenSolaris, Solaris Tags:

Mozilla Wish List.

May 12th, 2010 4 comments

As long as I can remember I had been using the Netscape web browser which evolved to Mozilla and now Firefox. I still use Firefox and have grown so comfortable with it that I don’t really desire to move onto anything else. Needless to say, Mozilla’s products are not perfect and there is always room for additional features and what I believe to be necessities in order to function in today’s world of computing.

For instance, I wish there was more of a concentrated effort to bring additional usability and manageability of these same Mozilla products (i.e. Firefox, Thunderbird, to even the SeaMonkey suite) where it can truly compete with Microsoft to even IBM’s Lotus in the professional world.

In this initial example I will choose to focus Lotus Notes and SameTime. This application was built around enterprise productivity. Everything is integrated in such a way where I do not only have the ability to work from my e-mail but through SameTime I can easily connect to the same directory of individuals for instant IM messaging. Google saw an advantage to such an approach and had it integrated into their GMAIL web client. So how difficult would it be to have Thunderbird do the same thing? Now, SeaMonkey may be a better candidate for this integration (as it resembles more of what Netscape used to be) but nobody really knows of its existence.

Another example is the way Microsoft integrates all of its products together to provide a complete solution. If I am using Internet Explorer and I click on something that requires Powerpoint, Excel or something else Microsoft developed, there are no problems in opening up those files and working with them in a new tab of my web browser. It could be beneficial for Mozilla to partner up with Oracle and provide similar transparent integration into their products with Star Office and OpenOffice.org. In fact, what is stopping Red Hat, Canonical, Novell or even Oracle from developing such integration modules in their workstation solutions? I always found it annoying that when I click on a PDF file to open it up in a new tab, it runs outside of the browser instead (unless I were to install a third party developed plug-in most of which are written for Microsoft Windows anyways).

Other things that I would like to see Mozilla work on is better management for corporate environments. Internet Explorer has a centralized managed infrastructure in that it can be controlled using Group Policies across an entire network emphasizing consistency. If you need to change the settings across all web browsers in your network, IE makes that easy and realistic. It is not realistic to e-mail co-worker HOWTOs (especially if they do not have the required permissions) nor is it realistic to visit or remote into every node to address those same changes. This form of management also includes patching/upgrading the browser/e-mail clients. Sometimes this needs to be controlled on a corporate basis as opposed to an individual user.

Mozilla has been doing an excellent job in conquering their fair percentage of market share. All without the billions of dollars dumped into marketing (as seen by their competitors). They are a known household name. A lot of end users know what Firefox is. To move on to the next best thing, I feel they need to start concentrating more on the corporate world.

Short Review: Ubuntu 10.04

May 8th, 2010 7 comments

So, I finally did it. Two days ago I installed Canonical’s latest release Ubuntu 10.04 LTS on my main computing laptop. Just to give you a brief history, since 2001 I have been a Red Hat Linux user. And even when they decided to go enterprise, I decided to stick with the community driven solution, Fedora. Up until two days ago, I had always been running Fedora on my laptop. Although I had been using Ubuntu since their Hardy Heron release (8.04 LTS). In fact, that is what I had the wife work on when it was released and my exposure to Ubuntu was with her using 8.04, 8.10 and 9.10. I was also using 9.04 on my netbook for a short while, at least until I over wrote it with OpenSolaris (currently running b134 of the 2010.03 release candidate) and have also been running it in VirtualBox and one or two servers for development and testing purposes. The reason why I am mentioning this is because I had noticed a lot of great changes with each release. The integration of Upstart, Plymouth, etc. has made a user friendly and beautiful looking computing environment. Wanting to give the latest LTS release a whirl, I decided to do away with my Fedora installation.

First things first, the installation was beyond simple. Answer a couple of questions and just sit back while the installer handles everything else. Once my OS was installed, the PC rebooted and in 10 seconds (possibly less), I was at the log in screen. Note that I am running on a 2 year old Lenovo R61i Thinkpad with 3GB of RAM, 1.8 GHz Intel Dual Core processor and a standard SATA 2.5″ hard drive. Nothing out of the ordinary. It is amazing what can be achieved when you get rid of the traditional init daemon and replace it with Upstart.

So I log in and start to disable the login sounds. I couldn’t stand it in Microsoft Windows, so I would not tolerate it in Ubuntu. After that I began to install all of my software. I had a huge list that I had to go through; software and packages that were in my previous Fedora installation. For the most part I was in the command line invoking aptitude unless I came a across a package that I couldn’t find (not knowing the string name of the package). So I would then navigate to Applications > Ubuntu Software Center and start searching through there. It is an extremely user friendly and amazing way to install, manage and uninstall your applications.

I then set up my e-mail accounts, configured conky, customized the Avant-Window-Navigator and even tuned Firefox to run its cache entirely out of RAM through a local tmpfs  mount. Overall, a pleasant experience.

Ubuntu 10.04 Desktop

The only downside was attempting to figure out why network manager was not enabling my wireless card. I have an Atheros wireless card:

petros@petros-laptop:~$ lspci|grep Atheros
03:00.0 Ethernet controller: Atheros Communications Inc. AR5212 802.11abg NIC (rev 01)

Its driver was also installed and fully functional:

petros@petros-laptop:~$ lsmod|grep ath5k
ath5k                 118988  0
mac80211              206616  1 ath5k
ath                     7611  1 ath5k
cfg80211              125541  3 ath5k,mac80211,ath
led_class               2864  3 ath5k,thinkpad_acpi,sdhci

But after some playing around with iwconfig, I was able to get it working and tuned to how I wish to enable/disable it with local hotkeys and alias commands pointing to customized scripts.

The reason for this problem is…who cares. I read many blogs complaining how Linux is not ready for desktop use. Blah blah blah. Neither is Microsoft Windows, if you choose to complain for the same reasons. Often the complaint is about wireless cards. How many fresh Windows installations will have a wireless driver (or graphics and anything else) to your device(s)? Not many if at all. Fortunately enough OEM distributors provide the user with a driver resource CD or you may have to dig up the device driver from the collection of CDs or somehow get on the Internet and obtain it from the manufacturer’s website. I never saw this as a problem. As long as Canonical does an excellent job in working with OEM providers, then this should never be seen. 95% of Windows users never have to install Windows from a CD. And if a Ubuntu imaged PC is bought from Dell or <insert other OEM distributor here>, chances are they would never have to install Ubuntu from a CD and all their devices would be working out-of-box.

All in all, this has so far been a very pleasant experience. I even took the time to upgrade my wife’s 9.10 installation to the latest. The upgrade, while taking 1.5 hours, went smoothly. No problems seen. Great job Canonical!

UPDATE 27Jun10: I ended up finding out of a great fix for the wireless driver problem I had been seeing during and after installation. Note that I was able to get it functional but it was not operating as fast as I would have liked it. So I found this blog posting with a great fix for the AR5212 Atheros card and it seemed to have resolved those issues.

Categories: Linux, Ubuntu Tags:

Commercial Advertisement: Kiri

May 2nd, 2010 1 comment

Last month my wife and I had taken one of my two dogs to WCIU studios in downtown Chicago (we live in the western suburbs of the city) for a commercial filming. Both dogs are Shiba Inus: Nemo (6 yrs old) and Kiri (9 yrs old). We only took Kiri because Nemo does not do well with larger dogs. Call it a case of Napoleon Syndrome but he is a 26 lbs. dog who thinks he can take on a 60 lbs. dog and larger.

Anyways, below is the commercial that Kiri is in, and if you think she stands out from all the other dogs listed in this month’s listing, I encourage you to please vote for her. One thing to note is that at the last minute that surprised me by dropping the boom mic in front of my face and asked me to look into the camera and say a few words about why people should vote for Kiri. I wasn’t prepared for that and worst of all, I have an obnoxious yellow band-aid on the right side of my face. C’est la vie.

Categories: Misc Tags: