Open Development


A Fail-Proof Way To Learn Linux

Posted in Uncategorized by opendevelopment on the January 7, 2008
Tags:

I have a friend that commented to me recently, something to the affect that “can’t Linux developers make anything simple?” I detected a slight tone of desperation in his voice that was not so unfamiliar, and which brought to my mind memories of my own frustrations trying to install, maintain, and use Linux as a desktop replacement to Microsoft Windows ®. Not to mention installing software.

I have spent a few years experimenting with many different Linux distributions looking for one that is fast, stable, intuitive, up-to-date, and simple enough for my technologically-deficient friends and family members to use. And I admit that I still have not found that perfect, user-friendly Linux distribution yet.

After trying many popular “distro’s” (and others more obscure) such as Red Hat/Fedora, OpenSuse, Mandriva, Ubuntu, Mint, Gentoo, and countless live versions that now serve as coasters, and encountering the many differing and similar, all very frustrating, drawbacks and bugs in all of them, I began to wonder if I would ever come across a version that fit my expectations. Nothing I saw impressed me, and If it didn’t work properly (as all Operating Systems do every now and then), I was often at a loss as to how to solve the problem, even with my fair knowledge of the Linux OS.

It was today that I finally saw light at the end of the tunnel, in the form of a Linux distro called Arch Linux. While Arch has not and will definitely not solve all of my problems (I would say that OpenSuse is still my top pick for new users), it very ingeniously solved one of them: It will surely teach you how your Linux system works, if you can handle it. In fact, it would not be an understatement to say that Arch is the most difficult to install of all that I have experimented with — but that is truly the beauty of it.

It works by forcing you to install and configure your own system step-by-step, teaching you all about how Linux configuration files and package management works in the meanwhile. You end up with a screaming fast, highly optimized, custom-built Linux edition that you know inside and out. (Don’t worry, you don’t actually have to compile source packages and sort through dependencies; the excellent package manager (pacman) makes short work of that process.) All you need for this adventure is a good amount of time to spare, the 41-page beginner’s guide (a step-by-step instruction manual for building your own Linux system–you’re going to want to print this), and a copy of the starter (core) .ISO available from http://www.archlinux.org/download/. Burn it to a CD, restart your computer, and you’re off.

You will need a working, high-speed Internet connection to install Arch Linux, because the installation CD provides only a minimal base environment for you to work from as you install it. It took some doing, but I was eventually able to use my Windows wireless card for this, even out of a primitive text-based shell, because ndiswrapper is one of the few core packages included.

Besides the educational benefits, here are a few other reasons that Arch Linux may be worth looking into:

  • Arch is highly optimized and extremely fast (based on Slackware)

Correction: Arch is actually “inspired by”, but independent of, Crux. Thanks to vEX and Raul specifically for pointing this out, and to Misfit 138 for technical clarification.

  • Arch is highly customizable, to say the least! You build it just the way you want it
  • Arch comes with an extremely handy package manager, pacman, that makes installing and updating Linux software fast and easy (which is a miracle by itself)
  • Arch is a rolling release distribution, which means that software is easy to update and that you always have the latest without needing to upgrade your system

Unfortunately, this is not something that I would recommend to beginning Linux users; it takes courage to take on a project like this. But I can assure you that it’s worth it. I’ve been using Linux for a few years and I learned a lot from this clever project in just a few hours. While Linux may never be as “user-friendly” as Windows or a Mac, if we appreciate it for what it is it is certain to be useful and is more than capable of replacing its more popular competitors. So if you have been disappointed with the latest major Linux distributions the last few years, I encourage you to roll up your sleeves and give Arch a try.

http://www.archlinux.org

Rich Internet Applications: A Free Alternative to Flash ®

Posted in Uncategorized by opendevelopment on the January 1, 2008
Tags: , ,

Update: I’m learning that Laszlo is more of a Flex replacement than Flash, simply because both are meant for data-driven RIA’s. Flex is now open-source anyway, however, and Flex Builder 3 is available to students for free.

If developing rich internet applications sounds like an attractive feature that would look nice on your website, but you can’t afford Flash Professional (that retails for $699), perhaps it’s worth taking a look at an Open-Source alternative called Laszlo. Similar to Flash, Laszlo produces .swf files that nearly any browser can view, from a scripting language. Below is a screenshot of the Calendar Demo produced using Laszlo*:

Screen clipping taken: 12/30/2007, 4:28 PM

One intuitive demo, the OpenLaszlo Explorer, teaches the basics of Laszlo’s Scripting language visually, step by step. From displaying a simple, “Hello World” to advanced features such as animation, data basing, methods & events, drag and drop, etc. This can also be used for writing and testing simple code of your own, since I soon found out that compiling an application is a little more involved.

 

Screen clipping taken: 12/30/2007, 4:34 PM

One might be surprised at first after downloading the hefty 32.7 MB file from Laszlo’s homepage to find that it is simply a server that runs on Tomcat, and that (unlike its commercial counterpart) there is no fancy IDE. Although I was a little disheartened at first, after a little Googling, I found a plug-in for the Eclipse IDE that allows drag-and-drop visual development called Spket IDE. So far I’ve found it satisfactory for designing the .lzx files that Laszlo uses.

 

These files with the .LZX extension are simply special XML files that, somewhat like java source code, is interpreted by the server and displayed at runtime. In order to “run” the files, the Laszlo server must be started in the background.

 

The “URL method” of compiling your file is to point your web-browser to http://127.0.0.1/8080/lps-4.0.7/my-apps/myapp.lzx (replace “4.0.7″ with the version you are using, and “myapp” with the filename of your source file), but this requires you to copy and paste the source file into a subdirectory of /lps-4.0.7 in order to launch it from your web browser. A much easier way to 1) launch the server, and then 2) copy your source code into the corresponding “edit code” box in OpenLaszlo Explorer.


Click here to open the tutorial in your web browser.

For the simple little snippets of code that you will produce trying Laszlo, this should be sufficient. Unfortunately, it is going to take some digging around in the extensive documentation and experimenting with Eclipse to come up with a comfortable way to code, compile, and execute/debug the applications. I’ll post more on that as I experiment in-depth.

I am always excited when an Open-Source alternative for an expensive commercial application is developed, but I very, very, excited about Laszlo’s potential as a useful tool in modern web development.

Laszlo’s Homepage: http://www.openlaszlo.org

As a last note, if you are curious (or Laszlo’s features are not enough to meet your needs), you can watch a video of Flash’s features here: http://www.adobe.com/products/flash/ssi/iframe/feature_tour.html

*Many more impressive demos can be viewed at:
http://www.openlaszlo.org/demos