dd if=/dev/random of=/dev/blog

22. July 2010

Re: Apple. Will history repeat itself?

Filed under: BSD, Linux, Microsoft, UNIX — admin @ 12:10

I have been thinking about this for a short time now. I have been spending some time studying the computing market at various levels and across varying technologies; most recently the focus was more on the mobile computing industry. But before I dive into some of my personal opinions I want to revisit some brief events throughout history:

From the late 70’s to the 80’s Apple markets personal computers with a proprietary operating system tied to its proprietary hardware. They charge high prices in exchange for a feature rich and an evolving simplified UI. During this time period Microsoft is providing their software solutions as a software only company.

Originally built on MS-DOS (with the first stable release in 1985), Microsoft distributes Windows for the Intel architecture. Over time, they pushed a radical idea of providing an operating system that was not tied to specific proprietary hardware. This enabled many hardware manufacturers to install and distribute licensed copies of the operating system. Although not as advanced as Apple’s OS UI, it was just good enough to get most people to become more productive.

Cheaper hardware + Hardware independent software = Cheaper PCs = Microsoft’s success of the desktop market

Truth be told. You did (and still do) get what you pay for. Microsoft’s applications and series of operating systems were never necessarily well known for stability and security. Overall, their approach to business made sense for its time.

But what do you have now? The focus has shifted to mobility. A lot of applications are now provided services over the web (i.e. the cloud) and our mobile devices provide us access to these services. For the past decade Apple has made a huge comeback and found itself a market which has been leading to its recent success. Although, they continue to push their proprietary model on all their products.

While other companies are competing with Apple, the most noteworthy is Google (indirectly via its ad-based model) and specifically the Android operating system. Google has taken more of an open approach to how Android is presented but in the end, similar to Microsoft with Windows, it is designed to run on varying hardware platforms. With a nice UI (maybe not always as crisp and clean as the iPhone’s OS) and a constantly growing Market with tens of thousands of applications to choose from, Android has proven itself to be a very worthy competitor. Its market growth numbers have reflected this and Android is significantly catching up to the power players of the smart phone industry.

My question is: Is Apple doomed to repeat its own history? Should we continue to expect Apple market share growth? Or will this plateau as more and more Android devices flood the market offering more affordable and feature rich mobile computing experiences?

4. July 2010

OpenSolaris and/or Solaris Next?

Filed under: OpenSolaris, Solaris — admin @ 13:11

After spending a week on the forums at opensolaris.org, it would seem that a great number of individuals are waiting for Oracle to make it official: “that OpenSolaris will be no more.” If this ends up being the case then it would be very upsetting as OpenSolaris is a very stable and robust UNIX operating system. During this time I came across this blog posting which may shed some light. It discusses the Oracle directed Solaris Next label svn_140. Solaris Next is the development name given to Solaris 11.

Initially Oracle had publicly announced that it will stay involved in the OpenSolaris community and continue to support it. This was more than a few months ago, and they have been silent since. If they do decide to kill the OpenSolaris project to shift all focus on Solaris Next alone, then I am curious as to if they will kill the OpenSolaris binary distribution project (opensolaris.com) only or the binary plus the community (opensolaris.org). The community can still live on without the binary. They will instead focus on the Solaris Next builds as opposed to OpenSolaris.

1. July 2010

Are we to ever see OpenSolaris 2010.1H?

Filed under: OpenSolaris, Solaris — admin @ 07:33

I am still unsure about Oracle’s promise on the future of OpenSolaris. Phoronix has just posted an article showing that what was once supposed to be 2010.02 and then 2010.03 to eventually 2010.1H has not been released at the end of the first half of the year. It would be a shame if nothing came out of this. OpenSolaris is such a great platform and ZFS brought some much needed features which helped increase my development and productivity. Should we cross our fingers for a 2010.2H release?

I guess what it boils down to for Oracle is, do they see a profit from this open source project? What does OpenSolaris bring to Oracle and how does it help them solidify their newly acquired Solaris platform? If we ask for my personal opinion, I feel the advantages outweigh the disadvantages. A working example can be seen with Red Hat and the Fedora Project. The more open platform (in this case OpenSolaris) defines the bleeding edge technologies, stabilizes them and is a testing ground for all that will be ported to the official stable release (Solaris). In fact that is how it was under Sun Microsystems.

Although as the months pass by, the more dim OpenSolaris’ future gets. Fortunately enough it is an open source project and can easily be forked into a new community driven distribution. So even in the darkest of hours not all is lost.

10. June 2010

Compatible with…(insert operating system)

Filed under: Linux, Microsoft, UNIX — admin @ 10:26

I don’t get it. Or maybe I am not expected to understand it. Yesterday I went to a local Best Buy retail store to pick up a USB Flash Drive. After doing a quick price comparison I ended up purchasing the Geek Squad (the Best Buy) branded product. The next day I took the device into work and just as I was about to open it I quickly glanced at the back of the package and noticed:

Compatible with Windows 2000 SP4/Windows XP/Windows Vista/ Windows 7, Mac OS 10.x and above.

What about Linux? Coincidentally this device was getting plugged into and used only by a Fedora Linux system. Now I know that this would have worked (despite the package’s information) and not have any problems with ANY Linux and for the most part almost all UNIX -based operating systems. The device (as all other USB Flash Drives) are labeled with a FAT32 file system and Linux, like any other OS kernel can read a FAT32 labeled volume with no problems. On top of that, most mainstream distributions (if not all) enable automount and an auto open of USB storage devices. The user doesn’t need to do it themselves, similar to Windows and the Mac OS. So what is the problem? Why couldn’t the package say “Linux 2.6 and above” or something to that extent?

You would think from a marketing point-of-view it would have been wise to place this on the package for individuals new to the world of Linux and unsure about a few things. Maybe someone new to Ubuntu or Mint or even SUSE just got a netbook with a preloaded Linux-based image on it. They are looking to find some hardware compatible with it and wait a minute the Geek Squad USB Flash Drives sold at Best Buy do not say that they will work. There is a lost sale.

Some of you may think that this is not such a big deal and that I am thinking too deep into this. I don’t disagree. I am thinking too deep into this, but it is only because I am still surprised when I come across things like this. For instance, not too long ago I was looking at laser printers and guess what some said on it (I specifically remember Lexmark):

…compatible with Linux

I remember buying a pack of labels to print names and addresses, guess what the package of labels said on the back:

…compatible with Linux

The list goes on. Whether end-user market share for Linux is 1%, 0.01% or 100%, manufacturers need to get used to the fact that its market share is creeping up especially with the huge influence Linux holds on mobile devices. For instance, when the Android-based tablets come out, people are going to be looking for:

…compatible with Linux” or “…compatible with Android

28. May 2010

Headaches with automake.

Filed under: Linux, UNIX — admin @ 08:05

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.

15. May 2010

Article ZFS data integrity testing and more random ZFS thoughts.

Filed under: OpenSolaris, File Systems, Solaris — admin @ 10:08

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.

12. May 2010

Mozilla Wish List.

Filed under: BSD, Red Hat, OpenSolaris, Solaris, Ubuntu, UNIX, Microsoft, Linux, Misc. — admin @ 10:11

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.

26. April 2010

OpenSolaris back on track.

Filed under: OpenSolaris — admin @ 09:48

It would appear that the OpenSolaris project is back on track. This is a bit long overdue. The acquisition of Sun by Oracle left a few projects in questionable states. It was unknown as to whether Oracle would continue supporting these open source projects. OpenSolaris was included in that list.

The great news is, Oracle locked down b134 (which can be obtained at Genunix). It is going to be build for internal testing and we are possibly looking at a May release. I sure do hope they clarify the release name and rename it from 2010.03 to 2010.05.

All of this can be read here. It was Albert Lee who posted the following:

Those of us feeling left in the dark might be pleased to know that build
134a, the first candidate for the next stable release of OpenSolaris, has
been tagged in Oracle’s release branch (in project jargon: “snv_134a, the
first respin of 134, closed earlier this week”). A packaged build should be
available for internal QA soon, but even if it passes, it will be while
some time before the release can be published to the external repo.

20. March 2010

OpenSolaris and ZFS: The beauty of snapshots.

Filed under: OpenSolaris, Storage, File Systems, Solaris — admin @ 13:57

Two days ago, I ran through a long needed image update to the OpenSolaris 2010.03 preview. I was updating through the pkg update manager from build 129 to build 134. So when I say, it was much needed, I wasn’t kidding. Anyway, after over 1 GBytes of updates was completed, a new boot environment (BE) was created with the native ZFS snapshot feature and I shut down the PC for the night.

The next day I turned the PC on into the latest boot environment to find that my gnome-terminal was giving me problems. The obvious symptom was that certain characters were not being echoed and their was misalignment with every entry and output displayed within the terminal.

petros@opensolaris:~$ ls
            .    ..    Desktop Documents    [ ... more results ... ]
                   petros@opensolaris:~$

After some research I came across OpenSolaris bug 12380: image-update loses /dev/ptmx from /etc/minor_perm. The fix (workaround) was simple: boot into the previous boot environment, mount the newest boot environment and clone the /etc/minor_perm from the one to the other. The steps are as follows:

[reboot into previous BE]
$ pfexec beadm mount [newest BE] /mnt
$ pfexec sh -c "grep ^clone: /etc/minor_perm >> /mnt/etc/minor_perm"
$ pfexec touch /mnt/reconfigure
$ pfexec bootadm update-archive -R /mnt
$ pfexec beadm unmount [newest BE]
[reboot newest BE]

And the problem was fixed. It was quick and easy thanks to ZFS.


	

19. March 2010

Revisited: ZFS, Btrfs and Oracle.

Filed under: OpenSolaris, File Systems, Solaris, Linux — admin @ 13:36

This entry is a continuation of one published in May of 2009. In fact it is relating to a comment made earlier today which I responded to in brief words. I am now taking the time to offer my viewpoint on the whole ZFS licensing under the CDDL and the reasoning for it.

It wasn’t until I started working with the OpenSolaris kernel and by working I mean, modifying code and going through the build process that I finally realized why OpenSolaris was licensed under the Common Development and Distribution License (CDDL). A lot of other people and companies have claim to code used within Solaris. That includes copyrighted code to which Sun does not have the authority to publish in an open source license. This is why they needed to work with a weak copyleft license such as the Mozilla Public License and modify it to their expectations. The CDDL was eventually approved by the Open Source Initiative (OSI) as a valid open source license and Sun Microsystems was then able to release code under its limitations.

Now before I continue I wish to describe 3 different open source licensing models: (1) the strong copyleft license, (2) the weak copyleft license and (3) the non-copyleft license.

The strong copyleft license is a project based license in which it requires that any derived code from the original project must remain under the original license. This method of licensing makes it nearly impossible to link with code under a non-strong copyleft license. As a result of this approach, strong copyleft licenses are often referred to as viral licenses. The most popular of these licenses is the General Public License (GPL) with 3 available versions. The Linux kernel is licensed under this and its success and growth can be attributed to it.

The weak copyleft license is similar to the strong copyleft license except that it is file-based instead of project based. This means that if there are any modifications to a file, the original license must apply; but that file can be combined in a project with code under a different license. This method makes the type of licensing non-viral. The CDDL and the MPL are categorized as weak copyleft licenses.

The third type is the non-copyleft license which offers no requirement for derived works to stay under the original license. In fact, there is also no requirement for derived code to be released under any open source license. This makes it simple for someone to take an open source project and use it as a basis for a proprietary product. A best known example is the BSD license; and Apple’s adoption of FreeBSD kernel code in their XNU kernel or NetApp and their use of FreeBSD in their customized storage appliances.

Continuing where I left off, it would not have been possible to open source the Solaris kernel for the OpenSolaris project if it weren’t for the CDDL license. In turn, ZFS would have been incompatible with the CDDL license if it were licensed under the GPL; although it has no conflict with non-copyleft licenses such as the BSD license. Because of this and now because of Oracle’s admitted support and commitment to Solaris, I doubt this licensing will change; especially to merge it into the Linux kernel. That is why we should be grateful that: (a) ZFS is available under an open source license making it impossible for it to disappear and (b) that Oracle has been committed to Btrfs and bringing an enterprise class solution into the Linux kernel.

This is why we have choices. If you want ZFS functionality, use OpenSolaris or Solaris. If you don’t necessarily need ZFS and are more comfortable with Linux, you have a lot more distributions to choose from. Or if you want ZFS and a familiar Linux environment, there is also Nexenta.

Next Page »

Powered by WordPress