Belenix Planet
The OGB is dissolved
The OGB has done a good job in so far as their powers as a Governing Board are concerned. Before one declared them to be "weak" or "powerless", we should remember that most of them are strong enough to run their own distros. Indeed, Moinak created Belenix, and didn't hesitate to quit Sun when the pressure to stop work on Belenix became too disappointing (among several other reasons).
If Oracle really believes in community, etc, then this is the time for them to put their act together. After all, one of their VPs - Jeb Dasteel - has said in writing from an oracle.com email address that Oracle is interested in the community.
Surely Jeb must have some worth of his own words both as a senior Oracle officer, and as a senior person in the industryu.
Also, Oracle must have some self-respect of their own so explain their VP's statements and promises to the community.
OpenSolaris != opensolaris
There's been no formal communication about what Oracle intends to do with the opensolaris community + codebase. Leaked mails, news from friends within and from vendors did give a number of us insights into what's happening around.
If one were to go by the leaked email then the distro is dead and the mercurial repo will get some code pushed to it (under the CDDL license) only after Solaris 11 is release.
Circumstances may change in the future, and Oracle may push through nothing at all.
Rather than whine about source being closed, or Oracle reneging on promises made in Feb, I'd rather thank Sun for releasing the excellent code to the world, and congratulate them on putting together an engineering team that created such amazing functionality !
Thank you, Sun, and thank you, all you Sun engineers who created such wonderful work.
I just cannot use a Linux based distro full time ever again.
rpm ready, smart in testing :)
There was a curious issue with rpm (my usual mis-build karma, I think), so I got rpm5 in place instead.
smart's working as well, but there's some testing in progress more to do with me understanding smart better.
I haven't touched yum yet, though, since smart's more exciting at the moment :)
So just in case Nexenta's Debian-alignment doesn't work out, we have a plan B at least (though I'm myself partial to rpm, to Centos's stability, and to Fedora's clean new packages).
What fun !
Events !
I have hacked around with node.js over the past month. One of the hardest things to get right with a new platform / language / framework / api is the balance between exposing powerful abstractions and keeping the interface clean and minimal. This is something Unix manges to do really well as opposed to Java or Perl. Node makes a decent stab at both.
Writing network servers in node.js seems insanely easy and powerful and I get to scale perfectly on a single core for free. Integration with the upcoming WebWorkers API might make the multicore story more seamless. But its a liberating feeling to not care about the quirks of libeio and libev and C when all I want is to serve dynamic content over HTTP. There are already very node-like bindings for Redis, CouchDB and Cassandra – the three NoSQL systems I care about. There is also a very well thought out WebSocket library (socket-io.node) that has bindings for Flash, XHR, iFrames and WS with a uniform interface. And finally, async DNS = Sheer awesomeness !
The main pain for me comes from the fact that I have to write code in Javascript – the horrendous monstrosity of a language. I tried CoffeScript – A fantastic and brave translator to cleanup the ugliness. But that is not good enough for my brain that is being conditioned by Haskell. Also, nesting layers and layers of closures makes code hard to follow.
I liked a whole bunch of ideas exposed by node.js. Since I have been idling away on my vacation without much internet access, I started sketching out concepts for my-ideal-programming-language. Going from EBNF grammar specification to having a working parser took only a few days thanks to PyParsing. Walking the syntax tree and generating usable code took only a few hours thanks to llvm-py. I am curently thinking of a way to implement Scheme-style call/cc plus making the language more “functional” without looking alien to imperative programmers.
Maybe I will get around to all these another day. But for now, I look forward to something more exciting: Getting married to someone very special and starting a new life
Filed under: Computer Science, Programming
u_int8_t vs uint8_t
http://dev.zuckschwerdt.org/openobex/ticket/15
C99 conformance is a nice thing to have in place
Fun times again
Status:
Solve the following:
ld: fatal: library -lssp_nonshared: not found
Three new features in Fedora 14
Fedora will use LZMA compression for the LiveCD at least.
rpm, dpkg, apt-get, yum, smart ?
Choosing a package manager is easy: Use either yum/apt and put smart on top of it.
yum means the underlying package format should be rpm, while apt means the underlying package format should be dpkg.
Both rpm and dpkg today are good enough in their own right.
package formats also usually imply that the build recipes should be based on existing recipes which produce output in those formats (e.g. Fedora/CentOS for rpm packages, Ubuntu/Debian for dpkg packages).
The Belenix repositories at present have recipes in the form of spec files - these are in a format different from the Debian world. The package build recipes too are borrowed from SFE/Fedora. At present, the package quality at Fedora/CentOS is definitely much higher than that at Ubuntu. Debian packages are definitely of high quality, but one concern is that the packages are not updated as regularly as we'd like them to be.
Another concern is whether the Debian community would welcome contributions (such as Nexenta's enhancements to apt to support useful Solaris notions). This is a dilemma that can be easily resolved by talking to Debian, I think, even though they have in the past lashed out at well-meaning posts by Nexenta folk. This blog post (http://ianmurdock.com/solaris/no-good-deed-goes-unpunished/) makes things a bit confusing, though.
Update: Removed the Music label. The opensolaris planet was picking up the music label as the title of the post !
About the OGB decision
While it is easy to accuse the OGB of being cowards, there are some points that we should remember:
- The opensolaris.org constitution mandates that there must be an Oracle representative (my wording, but that's the gist).
- The OGB members have approached Oracle via formal and via informal channels seeking responses from Oracle on how they intend to interact with the community.
- Till date, there have been informal responses to the OGB members, and two formal mails to various mailing lists attempting to provide reassurance to the community. There has also been a series of conference calls (which I have been unable to attend due to my own workload - more on that someday).
- The OGB members have to ensure that they do what's expected from them in their capacity as OGB members. Asking Oracle to honor the constitution and to respond to community questions are part of those expectations.
- One could expose the fact that all development of the OpenSolaris distro (different from the opensolaris community) is happening (if at all) behind closed doors by asking the distro community for a progress report. However, given that Oracle employees are stating that they cannot respond to anything they are not authorized to respond to, is already a signal in itself. However, Alan Coopersmith has told various community members that there are some critical bugs that are being worked on and that the distro would indeed be out soon. This was the message some months ago - I don't know the status today.
Given that there has been zero change in the above status for the past few months, I think the OGB did the right thing.
Also:
- Some of the OGB members are technically strong enough to have distros or package ecosystems of their own (Joerg with Schillix, Moinak with Belenix, Dennis with Blastwave).
- The others on the OGB have a proven track record of understanding corporates and open source (John Plocher and Simon Phipps).
It's not very clear what Oracle wants to do with the opensolaris community. It's not clear if Oracle understands how to deal with a community that thinks for itself (as against various communities of users who are interested in Oracle showcasing them new products).
I sure hope that Oracle doesn't decide to remain quiet and thereby damage the community. I also hope that the ON stays open and that new technologies are put out. After all, Linux awareness is more than AIX or HP-UX awareness because one is free and open, while the other two are not. We'd all want Solaris to rank high in awareness given the amazing technologies that it has.
Update: Removed the Music label. The opensolaris planet was picking up the music label as the title of the post !
What has Ubuntu done right ?
I was once a big fan of Ubuntu. Then I discovered Gentoo, and ended up learning a bit about setting up a desktop environment from scratch.
Despite rumours of a fall in package quality and of a decline in testing, people continue to use Ubuntu. I thought of jotting down some points here on why I feel this may be so:
1. bash command not found handler
See:
http://www.workswithu.com/2009/08/17/enhanced-command-not-found-hook-in-ubuntu-910/
2. Good desktop integration
This is almost as good as what OSX or Windows 7 have today by way of MIME type handling, file associations, etc.
3. Good collection of updated packages
The wide variety of packages help users understand and have confidence that they can do a wide variety of things with Ubuntu.
Other distributions (Linux, BSD-style) too have a variety of packages, but the public perception is that the Ubuntu package repositories are very much up to date, and that they have a wide variety of packages.
There are some other points that set Ubuntu apart. See
http://www.workswithu.com/2009/04/23/four-simple-features-that-set-ubuntu-apart/
Some of these points can be fixed on Belenix and on other distros using technology, while others need a lot of perception management.
Update: Removed the Music label. The opensolaris planet was picking up the music label as the title of the post !
RIM: Make it easy for us to develop Blackberry Apps
Here are RIM's terms and conditions for signing up for the App World:
Administration Service Fee
- There will be an initial $200 USD administration service fee in order to complete registration and submit applications.
- In the event your account is not approved, this $200 USD administration service fee will be refunded.
- This initial fee will allow for ten (10) application submissions.
- If you have used all ten (10) application submissions, an additional $200 USD administration service fee will be applied on your next submission, adding another ten (10) application submissions to your account.
- Multiple versions of the same application will not count as separate submissions. (Example: An application might have a version for the BlackBerry Storm and the BlackBerry Bold)
- An upgrade to your application, resulting in a submission of new COD files, will be counted against your ten (10) application submissions.
- Resubmission of a rejected application will be counted against your ten (10) application submissions.
- Removal of an application will not affect your remaining balance of application submissions.
All I want to do is to write a simple free BB application. Paying 200 USD for it is too much!
Solaris no longer free: The FUD around OpenSolaris
To clear up
1. Solaris GA releases ( Solaris 10 u1 - uX ) were never open sourced.
2. Solaris code base was open sourced under the CDDL. The Solaris Express and OpenSolaris distros came out of this
3. Belenix ( http://belenix.org/ ) is a distro created by Moinak Ghosh and Sriram Ram Naraynan ( who is from ThoughtWorks ). It is built on the OpenSolaris code base
4. The word "OpenSolaris" itself means three things a. The distro b. The code base c. the community
5. Most of the OpenSolaris code base is available at http://src.opensolaris.org/source/. This is the source belenix is built on.
6. Thanks to the CDDL, Belenix development can go on.
For any further questions, post to the Bangalore OpenSolaris User Group at mailto:ug-bosug@opensolaris.org
OGB Candidacy Details
On the lines of the excellent bio by Peter Tribble I am posting my own bio here as required by the OGB candidacy rules.
DECLARATION OF INTERESTS
- I am Platforms Engineer cum OS and apps Developer presently employed with Goldman Sachs. Goldman uses SUN Solaris and Redhat Linux among other platforms in the firm. However my engagement with the OpenSolaris community is a hobby activity that I do outside of my work with my employer’s consent. As such all my views and actions are entirely my own done using personal resources and time and not related in any way to my employment.
- I have been a user and developer on Solaris and Linux platforms for the last 12 years (of a total industry exposure of 13.5 yrs) and have been participating in the OpenSolaris community from it’s early days. I have previously been employed by SUN in the Solaris Sustaining engineering group working on various aspects of the OS from userland to the kernel.
- I am also the creator of the BeleniX distribution of OpenSolaris: http://www.belenix.org/. It was the second distribution of OpenSolaris that came out after SchilliX borrowing some concepts from SchilliX. It was the first non-SUN OpenSolaris distro to bring a full-fledged GUI desktop based completely on the X.org OSS stack and eventually matured into a stand-alone desktop distro. It brought in several innovations to OpenSolaris and formed the foundation for the OpenSolaris distro from SUN.
- I am a core contributor in a few OpenSolaris communities like X-Windows, Distribution etc. I contribute to the Fully Open X project off and on and have recently started another project called libtaskq (http://sourceforge.net/projects/libtaskq/) based on the TaskQ kernel framework from OpenSolaris.
- I co-lead one of the oldest and very active OpenSolaris user groups, the Bangalore OpenSolaris User Group with another OpenSolaris community member Sriram Narayanan.
BRIEF BIO
I live and work in Bangalore, India’s Silicon capital. However I was born in the eastern city of Calcutta which was once the capital of the British rule in India. I did my studies in Calcutta at Asutosh College under the auspices of the University of Calcutta. However I do not come from an Engineering background. My majors in Graduation were Geography, Geology and Economics while I studied Economics, Statistics and Maths in high school. I had a deep interest in Biology and Geomorphology till high-school and actually wanted to do Biotechnology as a career!
However I developed an interest in Computing as a hobby during the March of 1990 (thanks to my mom) and my first exposure was on the BBC Model B microcomputer which I hacked to death at my Mom’s office – Birla Industrial and Technological Museum. After that I completed all the typical topics of a Computer Enginering course as a hobby while studying Geography and moved from the BBC to a PC-AT and all the subsequent Intel processor models.
After hacking around with Borland Pascal, C/C++, Win32 etc. my first introduction to *nix was on Slackware Linux 0.1. By that time I have completed a PG diploma course on Software Engineering and my first job had me working first on FoxPro and then on Oracle on WinNT.
My second job provided me a big break when I joined HCL Technologies in the southern tropical city of Chennai where I started working at the dedicated Cisco offshore development center. That was the time when I came into touch with Solaris 2.5.1 logging onto large engineering servers via big-screen TektroniX X-Terminals. That experience at HCL – Cisco provided me with a wealth of resources and expertise. I later started having my first SPARC desktop and SUN Ultra 5. I worked across various Cisco groups including Test Automation group, Network simulators, Network Management group with my work touching a vast array of computing technologies starting from router chips and OS platforms and continuing till Java and webservices frameworks. I played with the guts of routers costing hundreds and thousands of dollars apart from a variety of SUN Servers.
After my 5.5 yr stint at HCL – Cisco I decided to accept an offer at SUN Microsystem’s Solaris Sustaining Engineering group and worked there for 4.5 yrs till the middle of 2008 when I jumped ship to Goldman Sachs in their Platforms Engineering group. In SUN I worked on various pieces including, commands, libraries, systems management and a few kernel components as part of my OpenSolaris dabblings.
I have been a voting member of the OpenSolaris community from some time.
Musing in the SUN – Set
Now with the EU approval coming the curtains have started coming down on the acquisition soap opera that has been going one for the past year or so. There are still a couple of regulatory approvals pending from Russia and China but the major hurdles have been crossed so that the assimilation process by Oracle can begin in earnest. This is good news for all SUN customers and users as the uncertainities end and roadmaps start to be delivered.
With this a decades long fantastic story of innovation and technical brilliance comes to an end, SUN as we have known it begins to set. Hopefully Oracle will keep the core essence alive and we will continue to see great developments happen on the most popular SUN platforms, Solaris, Java, Systems etc. Hopefully we will continue to see the opensource efforts continue and OpenSolaris community, source bases continuing to flourish.
It is both a time of relief and sadness for me seeing the acquisition process finally moving forward. I am proud to have been among the privileged denizens of the hallowed portals of this great organization. I worked for SUN for 4.5 yrs leaving it in the middle of 2008. Those years were probably the most exciting and fulfilling years of my career that I have had till date and will shine in my memories till the end of my days.
Leaving SUN has been one of the most excruciating decisions I was forced to take till date. It is akin to what an old Oak or Pipul tree might feel if it is transplanted. I was literally torn from my roots. I still cherish the teams and the people I had worked with. The experience at the SUN workplace was so rewarding for me in a host of ways that I essentially regarded it as my second home. I will probably never get to experience such a fascinating workplace again: amazing people, exciting technology and projects, culture of innovation, work life flexibility, efficacy of people management, lack of hierarchy in perception and behavior of management, boundless opportunity to learn, freedom to define and create your own projects and work boundaries. These were some of the unparalleled qualities that I am yet to see anywhere else. My frustrating experience around lack of recognition of my BeleniX work (that provided the foundation for the OpenSolaris distro), towards the fag end of my SUN career was but a tiny fly in an otherwise spotless ointment.
Many will of course will have their own views and ideas on why SUN failed in spite of having some of the best technology talent in the industry. Since I have experienced the place first hand, let me put down a few pet views of my own:
- SUN has been and still continues to be the crucible of brilliant technology innovations but it lacked in business acumen and leadership. In this context I came across this thought-provoking article: http://blogs.harvardbusiness.org/anthony/2009/03/what_makes_a_company_the_world.html. I am hopeful of the future of the core SUN technologies under Oracle’s business acumen that SUN direly lacked.
- Pointless acquisitions.
- The OpenSolaris distro and the way some of the community matters have been handled. While the distro has been great for visibility and adoption I personally fail to see the justification of putting crucial time, money and effort into developing an opensource distro without a proper business model. Why would one put their business and top engineering resources into developing something without a revenue model ? Which enterprise customer will be willing to deploy a software from a development trunk into their data centers where they host business critical applications ? I am hopeful of Oracle here again. SUN customers would really like to lay their hands on Enterprise Solaris 11. Of course an opensource distro is needed so SUN should have followed the Fedora -> RHEL model. Empower the community and let it deal with distro things and focus your business resources in doing, ahem, business. There were efforts out of the community like BeleniX, SchilliX and others that could have fit the bill. Obviously BeleniX being my creation I am biased towards it. However BeleniX indeed provided the full foundation of OpenSolaris distro so it could have evolved, at that time, into the community distro variant like Fedora. However it was ignored after the benefits were extracted.
There are many obvious others I have skipped here. Anyway I am looking forward into the future with an expectation that Oracle can recover the market that Solaris and OpenSolaris lost in recent times. Solaris today is probably the most mature and technically capable OS out there in the wild and it deserves to be more widely adopted than it is today. While people only look at the blockbuster ZFS, Dtrace and Zones stuff, it is really full of compelling technologies that together make it a compelling platform: MDB/KMDB, Proctools, Truss, Apptrace, CTF, Resource Management, CIFS, Seamless Real Time extensions, Crossbow networking, I/O Multipathing, SMF and so on. Joerg Moellenkamp has an excellent brain dump of all these “other” features in his open book “Less Known Solaris Features“.
Building Packages on BeleniX #1
Several people have been asking me to detail the steps I use to build packages for BeleniX, so here is an overview of what needs to be done and what are the gotchas to be kept in mind.
BeleniX uses the Pkgbuild utility to build packages. Pkgbuild is similar to Rpmbuild and uses Spec files to store the build recipes. However instead of generating RPMs it generates SVR4 packages. Since we are actively considering a move to RPM from the venerable but somewhat dated SVR4, having spec files that need a little massaging is an advantage. Though this is still being discussed a bit. If you are not familiar with Spec files I’d recommend you to go through some of the excellent resources and howtos available on the net regarding writing Spec files and generating RPM packages. In addition Pkgbuild has some OpenSolaris – specific extensions that are documented in the Pkgbuild manual page.
However you should Not use the standard Pkgbuild utility from the original website. We have a slightly modified older version of Pkgbuild that supports the “Conflicts” directive among a few other tweaks. This is packaged via the BELpkgbuild package available in the BeleniX package repo.
If you have installed BeleniX 0.8 Beta1 using the install_belenix Network Installer mechanism, you will find that the installation lacks various headers, compilers and other files needed for development. To ease the task of getting a baseline development environment the package repo provides a group package called “devel” that pulls in all the necessary stuff. Consider this as the Debian “build-essential” thingy.
In BeleniX we primarily use the Gcc4 compiler since in the spirit of opensource we much prefer an opensource toolchain even though SUN Studio can provide some benefits over Gcc in terms of performance. In addition it is much easier to port and build third-party software using Gcc as compared to Studio since FOSS developers tend to use Gcc themselves. Since we are a resource-constrained small team we would prefer not to spend all our time chasing down compiler related build issues. The “devel” group package pulls in Gcc4 as well. However in addition to Gcc4 you will need Studio for certain things like building OpenSolaris from source. In that case I’d recommend you to download and install the latest tarball version of the SUN Studio compiler by visiting this page.
Next you will have to checkout the BeleniX spec files from the SVN repo and setup the initial Pkgbuild environment.
So preparatory steps are:
- Install development packages: pfexec spkg install devel
- Install SUN Studio(optional)
- Checkout spec files from BeleniX SVN: svn co https://belenix.svn.sourceforge.net/svnroot/belenix/trunk/spec_files belenix_specs
- The above command may give an error due to an issue older locale packages on the beta1 release try setting the C locale explicitly: export LANG=C
- Now create some directories that Pkgbuild expects. By default Pkgbuild expects a directory structure within the user’s home directory. The following directories need to be created: ~/packages/SPECS, ~/packages/SOURCES, ~/packages/BUILD, ~/packages/PKGS
- Now copy the needed files into these directories:
- cp belenix_specs/base-specs/* ~/packages/SPECS
- cp belenix_specs/include/* ~/packages/SPECS
- cp belenix_specs/patches/* ~/packages/SOURCES
- cp belenix_specs/ext-sources/* ~/packages/SOURCES
Now you are ready to play around further. Typically Pkgbuild provides two utilities called pkgbuild (aka rpmbuild) and pkgtool a higher-level wrapper around pkgbuild that can automatically download sources files and execute all the pkgbuild steps to generate a package and also install it. You can read more about pkgtool and pkgbuild commands by executing them with the ‘–help’ option or read the online manual. i am not going to repeat the details here.
In order to correctly use pkgbuild however certain environment variables and PATH must be set. At the minimum CC and CXX variables must be set to point to the C and C++ compilers. To simplify things a wrapper script is provided that sets up things properly for SUN Studio or Gcc4. It can be found at belenix_spec/run-build assuming belenix_specs is where you have checked out the spec files. So to build a spec file using Gcc the incantation will look like this: cd belenix_specs; sh run-build SFEfoo.spec gcc
The above invocation will automatically download the tarballs, apply patches, build, package and install the package. The SVR4 packages are kept under ~/packages/PKGS. During the build process the build output is sent to a log file having the package name. So for SFEfoo.spec the log file will be /tmp/SFEfoo.log. However pkgbuild first sends the logs to a temporary file and then appends those to SFEfoo.log. In order to monitor a running build the following simple script can be used:
#!/bin/sh PID=`ps -ef | grep pkgb | grep " /bin/bash " | awk '{ print $2 }'` LF=`pfiles ${PID} | grep "/tmp/pkgbuild.out" | head -1` echo "********************" tail -f ${LF}This completes a brief intro into the initial preparatory steps. The next step is to actually look at a spec file and prepare a new one. There are various gotchas and things to keep in mind when doing that. I will briefly go through the stuff that one should do when preparing a new spec file on BeleniX in the next post. In the meantime one can look at existing spec files to check how things are done. Two suggested sample spec files to look at will be SFEpth.spec and SFEmrxvt.spec. Pth is the GNU portable threads library. It shows how to write a single spec file to build both 32Bit and 64Bit versions of a library. Mrxvt is a multi-tabbed terminal emulator. To look at typical cmake invocation that I have been using one can look at the KDE4 spec files in belenix_specs/kde4.
The loyal Dog on my PS3
I had got a PS3 a few months back with a multitude of objectives. Blu-Ray player for my planned Home Theater setup, general media center, watching Youtube on the big screen, Gaming of course and to hack on the Cell. For the last one piece fortunately I have the 80GB Fat/Phat model.
I had been holding out on the actual Linux installation and hacking since we experience power cuts and a power loss during a system update or Linux installation can leave me with an expensive brick that my wife will probably be prone to break on my head!
So I had to invest on a UPS. I already had an APC Back-UPS RS 1000 with additional battery backup for my PC. I decided to get a beefier Smart-UPS 1000UX with 100AH external batteries for my PC and hook up the PS3 to the Back-UPS. However the LCD TV is on line power and when power goes it goes dark naturally and I can’t switch off the PS3 without having a working display. I can hook the TV to the UPS but I do not want the UPS to be always powering the TV. So I whacked together a double-pole 2-way switch. I put 2 modular single-pole 2-way switches side by side and stuck 2 pvc pieces with superglue on either end. The common lines from these switches go to the TV. One set of poles connect to UPS power and one set to mains. Ordinarily the switch connects to mains. When power goes while PS3 is in use I can flick it to put the TV on UPS battery power. Admirably the Back-UPS can take a sudden load surge while on battery without tripping. The UPS has already saved me once.
Then I went about the process of formatting the PS3 for Linux and installing the kboot loader. Initially I decided to go with Ubuntu. Version 9.04 did not work with the latest 80GB console models so I tried 9.10. The GUI came up with that and it hanged trying to sync with NTP servers. After googling I decided to pull out the Ethernet cable from the PS3 while installing (I have a concealed CAT-5 cable running from PS3 in living room to a switch in another room). The installer proceeded beyond NTP server sync and hanged again. I decided to give up on Ubuntu and go with Yellow Dog Linux 6.2. I had avoided YDL initially since it is a large 3.4GB download. The experience with YDL was extremely smooth. It installed flawlessly and works quite fast. I have a happy puppy yapping on:
Impressive Fedora
I use Linux as well apart from my obsession with OpenSolaris. I have used several distros in the past and came to like Mandriva for general use. I was also once the biggest critic of Fedora. Having had bad experiences with FC3 and FC4 I cursed it and simply ignored it till recently when I started stealing spec file recipes and patches from FC 11,12 CVS repo for building packages on BeleniX
During the course of that usage I now stand to take back my earlier criticisms of Fedora. In fact I am thoroughly impressed with the quality of the work they are doing. The quality of the spec files and patches speak for themselves. Many of the conventions they follow align with how things are laid out on OpenSolaris as well. I am now going around and recommending Fedora 12 to anyone who is using Linux. The only issue that one will see is from a desktop use perspective. Out of the box Fedora has very few customizations and tweaks, so it takes a while of manual work to tune it to your liking.





Recent comments
11 weeks 19 hours ago
27 weeks 3 days ago
31 weeks 4 days ago
32 weeks 18 hours ago
32 weeks 19 hours ago
32 weeks 21 hours ago
32 weeks 21 hours ago
32 weeks 1 day ago
32 weeks 1 day ago
32 weeks 5 days ago