Custom Search

Tuesday, March 27, 2012

Disorganized? Get Tracks on Linux


Feeling a bit disorganized? Looking to take control of your projects? Take a look at Tracks, an open source Web-based application built with Ruby on Rails. Tracks can help you get organized and Get Things Done (GTD) in no time.


Getting Tracks


You can get Tracks in a couple of ways. Some distributions may offer Tracks packages, and the Tracks project has downloads you can use to set it up.


The easiest way to get Tracks, though, is the BitNami Tracks stack which includes all the dependencies and just takes a few minutes to download and set up. No need to try to set up a database, Ruby on Rails, or anything. (If you're already using Ruby on Rails for something else, you might want to go for the project downloads, of course.)


I'm running the BitNami stack on one of my Linux systems on my home intranet. BitNami provides installers for Linux, Windows, and Mac OS X. They also provide pre-built VMs with Tracks pre-configured, so you could fire it up in VirtualBox or VMware if you prefer.


What Tracks Does


Tracks is good for single-user project management. It's based around the GTD methodology, and helps users organize their to-do list using GTD.


You can use Tracks without employing GTD, but Tracks is an "opinionated" tool. That is, it's structured around GTD, so it has some artifacts that might not fit into other methodologies quite as well.


Like any other to-do list or organizer, Tracks lets you set up actions. These have a description, notes, tags, due dates, and dependencies.


Dependencies are actions that have to be done before you can complete the current action. So, for instance, if you have a to-do item to deploy Tracks, it might be dependent on installing Ruby on Rails first.


Tracks also has contexts and projects. Projects are just what they sound like. For example, I use separate projects for each site that I write for (Linux.com, ReadWriteWeb, etc.), and also for home, hobbies, etc.


Contexts, on the other hand, are sort of nebulous but can be best defined as groups of actions that can be performed at the same time. You might have a "phone" context for all of the phone calls you need to make, regardless of whether you're going to be making calls for work or personal reasons. So if you're already making a few phone calls for one project, you might decide to just get all of your phone calls out of the way rather than switching context and being less effective.


Likewise, you might have a "system administration" context or "errands" context. If you're already logged into a client's server, you might want to take care of all the system administration tasks in one sitting rather than switching back and forth between phone calls and system administration. If you're going to run an errand to buy a new backup drive for a desktop system, you might also go ahead and do grocery shopping while you're out instead of making two trips.


There's also a special tickler context that allows you to throw in action items that don't really relate to other contexts. This is good for items that don't have specific due dates, or might be "things I kind of want to do, but have no specific plans for yet." I use the "tickler" context for article/post ideas that I don't have scheduled or assigned anywhere, as well as for things I want to do someday but aren't on the immediate horizon. Tickler items can eventually be put into other contexts as they become more important, or you might (yeah, right) finish all your other work and decide to tackle tickler items.


The Tracks Web-based interface is pretty straightforward. You have a Home page with each context and its action items. On the right-hand side you have a form for adding actions.


One thing you'll like right away is that Tracks will auto-complete actions, contexts and so forth that you already have in the system. If you have a "writing" context, for example, you just have to type a few letters and it'll offer to auto-complete it for you.


It also will create contexts and projects for you automatically the first time you use them, rather than requiring you to create them first and then use them.


Tracks is easy to get started with and use. It's not entirely perfect, but it's darn good if you want a single-user organization system. Give it a shot and see if it works for you!


This post was made using the Auto Blogging Software from WebMagnates.org This line will not appear when posts are made after activating the software to full version.

Bodhi Linux, the Beautiful Configurable Lightweight Linux


Bodhi Linux is gorgeous, functional, and very customizable. It just so happens that's what grumpy old Linux nerds like me think Linux is always supposed to be. Let's take this Linux newcomer for a spin and learn what sets it apart from the zillions of other Linux distributions.


Like Sand Through the Hourglass


Bodhi Linux is fast-growing newcomer to the Linux distro scene. The first release was at the end of 2010, and it has attracted users and contributors at a fast pace. Do we need yet another Linux distro? Yes we do. KDE and GNOME both leaped off the deep end and left users in the lurch. KDE4 has matured and is all full of functionality and prettiness, but it's a heavyweight, and GNOME 3 is a radical change from GNOME 2, though considerably easier on system resources than KDE4. And there are all the other good choices for graphical environments such as Xfce, LXDE, Fluxbox (to me, KDE4 is Fluxbox with bales of special effects, as they share the same basic concepts for organizing workflow and desktop functionality), IceWM, Rox, AfterStep, Ratpoison, FVWM, and many more. So what value does Bodhi add? Four words: Enlightenment, minimalism, and user choice.


Enlightenment


The first release of the Enlightenment window manager was way back in the last millennium, in 1997. The current version, E17, has been in development since 2000, which has to be a record. I predict there will never be a final release because that would spoil its legendary status as the oldest beta.


I've always thought of Enlightenment as a flexible, beautiful, lightweight window manager for developers, because my best experiences with it were when it came all nicely set-up in a distro like Elive, PCLinuxOS, Yellow Dog, and MoonOS. When I tried installing it myself I got lost, which is probably some deficiency on my part. Enlightenment is a wonderful window manager that run under big desktops like KDE, and it can run standalone. It runs on multiple operating systems and multiple hardware platforms, and it supports fancy special effects on low-powered systems. Bodhi Linux makes good use of Enlightenment's many excellent abilities.


Bohdi


Bodhi Linux is the creation of Jeff Hoogland, and is now supported by a team of 35+ people. System requirements are absurdly low: 300mhz i386 CPU, 128MB RAM, 1.5GB hard drive space. The minimalist approach extends to installing with a small complement of applications. I suppose some folks might prefer having six of everything to play with, but I've always liked installing what I want, instead of removing a bunch of apps I don't want. There are maybe a dozen applications I use on a regular basis, and a set of perhaps 20-some that I use less often. I don't need a giant heavyweight environment just to launch the same old programs every day. So Bodhi's minimalist approach is appealing.


Bodhi is based on the Ubuntu long-term support releases, and is on a rolling release schedule in between major releases. When the next major release comes out users will probably have to reinstall from scratch, but the goal is for Bodhi to become a true rolling-release distribution that never needs reinstallation.


Killer Feature: Profiles


One particular feature I find brilliant in Bodhi is profiles. Profiles are an Enlightenment feature, and the Bodhi team created their own custom set. First you choose from the prefab profiles: bare, compositing, desktop, fancy, laptop-/netbook, tablet, and tiling. The laptop/netbook profile looks great on my Thinkpad SL410.


The fancy profile greets you with a dozen virtual desktops and a shower of penguins, some of who sadly meet their demise (figure 1.) Then you can customize any of the profiles any way you like with different themes, Gadgets, whatever you want, and quickly switch between them without logging out. So you could have a work and home profile, a single and multi-monitor profile, a travel profile.


No Disruptions


Given all the uproar over KDE4 and GNOME, I asked Jeff Hoogland about the future of Bodhi. He explained that disruptive change is not in the Bodhi roadmap:


"The reason for this is the way in which we utilize E17's "profiles". We recognise that a singular desktop setup is not going to satisfy all users and is far from being suitable for all types of devices. In other words if the Bodhi team sees the need to develop an alternative desktop setup for some reason, it would simply be offered in addition to our current profile selections – not replacing them. User choice is one of our mottoes."


Like KDE4 and Fluxbox, Bodhi supports desktop Gadgets (widgets in KDE4) for displaying things like weather forecast, clock, desktop pager, hardware and system monitors, and various controls. It has its own compositing manager, Ecomorph, which is a port of Compiz. This is an installable option and not included by default because it has problems on some hardware. But if it works on your system it's nice because it doesn't need a mega-super-duper CPU to support a trainload of special effects.


Bodhi comes with the Ubuntu software repositories enabled by default, plus the Bodhi repos. You can manage software with apt-get, Synaptic, or the Bodhi Linux AppCenter for installing apps from a Web page. This requires either the default Midori Web browser or Firefox, because they support the apt:url protocol. The AppCenter has package groups like the Nikhila Application Set, which has one of everything: word processor, audio player, movie editor, and several more. You can get the Bodhi Audio Pack, the Bodhi Image Pack, Bodhi Scientific Publishing, and several more. You're not stuck with the packs, but can install any of the individual applications. Applications are also sorted by category, such as Image Editing, Office Suite, Communication, and such.


Enlightenment has a bit of a learning curve, but the Bodhi folks have written a good Enlightenment Guide, and a lot of other useful documentation. I always like to ask distro maintainers why they lost their minds and decided to create their own Linux distributions. They're not the result of magic, but forethought and planning:


"While the idea to start up a minimalistic, Enlightenment based Ubuntu distro was originally my own I recruited team members before we even released our first disc. We started off with myself, Jason Peel, and Ken LaBuda. Today we have nearly forty people who contribute code and/or documentation to Bodhi, not to mention the countless people who have donated to keep our servers running! I have a rough release schedule posted here — and while that outline is flexible, I would bet it will be fairly close to reality."


Mobile Bodhi


Enlightenment seems like a natural fit for mobile devices, and Mr. Hoogland has plans in that direction as well:


"I would love to get Bodhi working on mobile devices eventually. We have a functional ARM branch that I have successfully booted on the Genesi Smartbook, HP Touchpad, Nokia N900 and ArchOS Gen8 devices to name a few. Sadly though other than then Genesi all these devices lack some functionality due to closed source hardware. We are simply ready and waiting to get our ARM branch with our tablet profile working on a truly open mobile device (if there are any companies out there interested in producing such a device they shouldn't hesitate to contact me)!"


Visit Bodhilinux.com for good documentation, forums, and downloads.


This post was made using the Auto Blogging Software from WebMagnates.org This line will not appear when posts are made after activating the software to full version.

Scientific Linux, the Great Distro With the Wrong Name


Scientific Linux is an unknown gem, one of the best Red Hat Enterprise Linux clones. The name works against it because it's not for scientists; rather it's maintained by science organizations. Let's kick the tires on the latest release and see what makes it special.


Red Hat


Red Hat is one of the oldest Linux distributions, and has long been a fundamental contributor by funding development and making deep inroads into the enterprise. Red Hat is a billion-dollar company (they're expected to make an official announcement at the end of this month) and they did it without tricky licensing that locks up their best products behind proprietary licenses. This graph on Wikipedia shows the reach and influence of Red Hat Linux. (Your browser should have a zoom control to enlarge the image.)


And they did it while competing with high-quality free-of-cost distros, and giving away their own products. Anyone can have Red Hat Enterprise Linux for free by downloading and compiling the source RPMs. Which is harder than downloading an ISO image and burning a CD, but not a whole lot harder. My fellow geezers might remember the wails of protest when Red Hat discontinued the free ISOs, all those non-paying customers who vowed to never be non-paying Red Hat customers again.


Clone Stampede


But these things have a way of working out, and it didn't take long for free RHEL ISOs to appear again. Only they weren't released and supported by Red Hat, but clone distros like CentOS, White Box, Pie Box, CAOS, Yellow Dog, and ClearOS. Clones come, and clones go, and CentOS has been the most popular RHEL clone for several years. I think Scientific Linux would be as popular as CentOS if it had a different name, because most people assume it is aimed at scientists, and is all full of scientific applications. But it's not; it is called Scientific Linux because it is maintained by a cooperative of science labs and universities. Fermi National Accelerator Laboratory and the European Organization for Nuclear Research (CERN) are its primary sponsors. (CERN also funded Tim Berners-Lee when he invented the World Wide Web.)


Scientific Linux calls Red Hat The Upstream Vendor, or TUV. Red Hat told the clones that they could not use any of Red Hat's trademarked materials such as their name, logo, and other artwork. So many of the clones use cutesy nicknames (like TUV) instead.


Developed by Scientists


Scientific Linux was born in 2004, when Connie Sieh released the first prototype. It was based on Fermi Linux, one of the earliest RHEL clones, and it was called HEPL, High Energy Physics Linux because Ms. Sieh and the other original developers worked in physics labs. They shopped it around and solicited feedback and help, and it was renamed Scientific Linux to reflect that the community around it was not just physicists, but also scientists in other fields.


What Does it Do?


So what is Scientific Linux good for? Desktop? Server? Laptop? High-demand server? Yes to all. It is a faithful copy of RHEL, plus some useful additions of its own.


Scientific Linux offers several different download images, from a 161MB boot image for network installations, to live CD and DVD images, to the entire 4.5GB distro on two DVDs. I tried the LiveMiniCD first, which at 482MB isn't all that mini. This is the IceWM version. IceWM is a good lightweight desktop environment, but despite expanding to 1.6GB at installation the LiveMiniCD installation looks barebones. The only visible graphical applications are Firefox and Thunderbird, and Nautilus is installed but it is not in the system menu. There is a big batch of servers and clients, storage clients, networking and system administration tools. IceWM is a nice graphical environment for a server – I know, the old rule is No X Windows On A Server! In real life admins should use whatever makes them the most efficient and gets the job done.


Installing the Desktop group gives you a stripped-down Gnome desktop for the price of a 32MB download, and of course there are many more Gnome packages to choose from, including Compiz for fancy desktop effects. Good old Gnome 2, of course, so Gnome 2 fans, here is your chance to get a good solid Gnome 2 system with long-term support. RHEL has ten-year support cycles, plus extensions. The Scientific Linux team expect to support 6.x until 2017, though this could change.


Additions Not In TUV


Scientific Linux has bundled a nice toolset for making custom spins the easy way. The package group is SL Spin Creation, and you get nice tools like LiveUSB Creator and Revisor (figure 2.) In fact, SL was designed with custom spins in mind; spins have their own unique features, but all of them are compatible. There is even a naming convention: Scientific Linux followed by the name of the institution. For example if I made one I would call it Scientific Linux LCR, for Little Critter Ranch.


You could install yum-autoupdate for scheduled hands-off updates, some extra repositories, and the OpenAFS distributed filesystem. OpenAFS is used a lot in research and education.


The SL_desktop_tweaks package adds a terminal icon to the Gnome kicker, and an "add/remove programs" menu item to KDE. SL_enable_serialconsole is a nice script that configures the console to send output to both the serial port and the screen, and it provides a login prompt. Probably the most useful tweak is SL_password_for_singleuser, which requires a root password for single user mode. That's right, TUV still leaves this unprotected, so anyone with physical access to the machine can boot to single user mode for password-less access. Of course, as the old saying goes "Anyone with physical access to the machine owns it."


Enterprise Features


Red Hat made more than 600 changes and fixes to their version of the Linux kernel, and most of these are for high-demand high-performance workloads. You get all these in Scientific Linux too, along with all the virtualization, high-availability, multiple network storage protocols, clustering, device mapper multipathing, load balancing, and other enterprise goodies.


Support is always a question for the free clones; even when you're an ace admin and know the system inside out, you're still dependent on the vendor for timely security patches and releases. Scientific Linux is consistent at getting their releases out the door about two months after Red Hat, and have a good record with security updates.


So the short story is use Scientific Linux with confidence. The community support is good and mostly free of irritating people, and it's well-maintained and rock-solid.


This post was made using the Auto Blogging Software from WebMagnates.org This line will not appear when posts are made after activating the software to full version.

The Compiler That Changed the World Turns 25

Last year, Linux celebrated its 20th anniversary. The kernel that Linus Torvalds started as a hobby project helped the Internet bloom, challenged proprietary operating system dominance, and powers hundreds of millions of devices. From hacker toys like the dirt-cheap Raspberry Pi to most of the Top 500 Supercomputers, Linux dominates the computing industry. But it wouldn't have been possible without GCC, which turns 25 today.

Before Torvalds started hacking away on Linux, Richard Stallman and started the GNU (GNU's Not UNIX) project and part of that was the GNU C Compiler (GCC). Eventually that became the GNU Compiler Collection (also GCC) but we're getting a little ahead of the story.

A Short History of GCC and Linux

The origin of GCC actually started in the free C compiler that Stallman started in 1984, based on a multi-platform compiler developed at Lawrence Livermore Lab. Says Stallman, "It supported, and was written in, an extended version of Pascal, designed to be a system-programming language. I added a C front end, and began porting it to the Motorola 68000 computer. But I had to give that up when I discovered that the compiler needed many megabytes of stack space, and the available 68000 Unix system would only allow 64k.

"I then realized that the Pastel compiler functioned by parsing the entire input file into a syntax tree, converting the whole syntax tree into a chain of "instructions", and then generating the whole output file, without ever freeing any storage. At this point, I concluded I would have to write a new compiler from scratch. That new compiler is now known as GCC; none of the Pastel compiler is used in it, but I managed to adapt and use the C front end that I had written."

For many Linux enthusiasts, GCC has always just been. It's part of the landscape, and kind of taken for granted. But it wasn't always this way. Michael Tiemann, now vice president of open source affairs at Red Hat and the founder of Cygnus Solutions, called GCC's intro in 1987 a "bombshell."

"I downloaded it immediately, and I used all the tricks I'd read about in the Emacs and GDB manuals to quickly learn its 110,000 lines of code. Stallman's compiler supported two platforms in its first release: the venerable VAX and the new Sun3 workstation. It handily generated better code on these platforms than the respective vendors' compilers could muster... Compilers, Debuggers, and Editors are the Big 3 tools that programmers use on a day-to-day basis. GCC, GDB, and Emacs were so profoundly better than the proprietary alternatives, I could not help but think about how much money (not to mention economic benefit) there would be in replacing proprietary technology with technology that was not only better, but also getting better faster."

By the time Torvalds started working on Linux, GCC had quite a history of releases. The first release was 0.9, the first beta release, on March 22, 1987. It had 48 releases between the 0.9 release and 1.40, which came out on June 1, 1991. Torvalds announced that he was working on Linux in July 1991, using Minix and GCC 1.40.

The EGCS Years

As Tiemann notes later, GCC development started falling behind a bit. Some folks got a bit impatient with the GCC development process and speed of getting features to users. GCC had a number of forks in the wild with patches that hadn't made it into GCC. That led to the EGCS project, a fork of a GCC development snapshot from August 1997.

Eventually, in April 1999, EGCS became the official GCC, and GCC took on the "GNU Compiler Collection" moniker.

New in GCC 4.7

I won't try to summarize all of the development and features that have been part of GCC from 1999 to now. Suffice it to say, a lot has happened and GCC has been at the heart of more than Linux.

GCC has also been used by FreeBSD, NetBSD, and OpenBSD as well as part of Apple's XCode tools until very recently. (That's another story for another day...) If it's hard to imagine a world without Linux, it's even harder to imagine a world without the compiler that's been used to build Linux for more than 20 years.

So it's appropriate that the 25th anniversary release of GCC brings quite a bit of goodies for developers. According to Richard Guenther, 4.7 is a "major release, containing substantial new functionality not available in GCC 4.6.x or previous GCC releases."

Says Guenther, GCC 4.7 picks up support for newer standards for C++, C, and Fortran. "The C++ compiler supports a bigger subset of the new ISO C++11 standard such as support for atomics and the C++11 memory model, non-static data member initializers, user-defined literals, alias-declarations, delegating constructors, explicit override and extended friend syntax. The C compiler adds support for more features from the new ISO C11 standard. GCC now supports version 3.1 of the OpenMP specification for C, C++ and Fortran."

GCC also expands its hardware support, with new support for Intel's Haswell and AMD's Piledriver (both x86) architectures. It also adds support for the Cortex-A7 (ARM) line of processors, and for a number of others. Check out the full list of change for 4.7 if you're interested.

For fun and added points, check out this video on YouTube that visualizes 20 years of GCC development. It uses Gource to visualize the history of GCC development.

A big tip of the hat to the GCC team, present, past, and future. Without it, where would we be now?


This post was made using the Auto Blogging Software from WebMagnates.org This line will not appear when posts are made after activating the software to full version.