In the past, I've always shied away from integrated development environments (IDEs), but I recently had a strong enough motivation to finally learn how to use Eclipse -- one of the most widely-used free software IDEs available today. Eclipse is known mainly as a Java IDE and it does require Java itself, but it is also a powerful and flexible multi-purpose platform, and adaptations exist for programming in many languages, including Java, C/C++, Lisp, and Python. Python support is available with an Eclipse package called "PyDev", and I have found it to be a big step up.
A good backup system can help you recover from a lot of different kinds of situations: a botched upgrade (requiring re-installation), a hard drive crash, or even thumb-fingered users deleting the wrong file. In practice, though I've experienced all of these, it's the last sort of problem that causes me the most pain. Sometimes you just wish you could go back a few days in time and grab that file. What you want is something like the Internet Archive's "Wayback Machine", but for your own system. Here's how to set one up using the
rsnapshot package (included in the Debian and Ubuntu distributions).
There are a number of simple games I like to play when waiting for a package to download or compile. Often the available themes don't really suit me, and in any case I like to make themes or skins when I can. One of the easier packages to create an alternate theme for is KDE Mahjongg (
kmahjongg), which I will demonstrate here using Inkscape and Gimp. With the 40th anniversary of the Apollo 11 moon landing coming up, a space exploration theme seems appropriate.
In my last article about Xorg, I touched upon several points that have been in a state of continual flux in Xorg. Here's a follow-up on that article, as it seems to have generated quite a lot of interest. However, I didn't expand much on some features and their implications, so I will do so here.
I will, also, touch upon a few improvements other than pure graphics.
Some time ago I wrote an article about Jim Kent, an American biologist who used free and open software to race Craig Ventnor to the finishing line, sequencing the human genome. That was very big, cutting edge science with a global audience and reach. We live in an age when big science is done, overwhelmingly, in big businesses, universities, research labs and government laboratories. In Eric Raymond's paradigm it is the culture of the Cathedral.
Over time, many people have complained about the X Window system; the X Window system, or Xorg in its current most popular implementation, is the layer between applications and the graphics adapter. It has some fantastic features (like the ability to run application over the network) and some shortcomings (it really looks like it's been put together backwards).
One thing is sure: it has evolved over the last year or so, immensely, especially as far as 3D and hardware acceleration go.
Lately, the Falcon Programming Language has attracted growing interest and excited a deal of curiosity.
In this article I'll document some unique features of Falcon that allow users to build easily what I define as a "second order virtual machine". Despite the ominous-sounding name, it's a very practical topic: with less than one hundred lines of code, you will be able to write your own special commands that can be used, for example, as dynamic configuration files.
In the first part of this piece I introduced zenity : the handy tool for providing GUI interaction with your shell scripts. In this second part I'm going to delve a little deeper into the type of things you can do with this versatile tool.
I was browsing around my local Carphone Warehouse shop last week. Unlike the last time I crossed their threshold (November) I noticed that their Ubuntu netbook display had vanished. There was only one netbook on display and it was advertised as running Windows XP. Their website also advertised the Asus EeePC with Windows XP too. I approached a sales person to ask about a GNU/Linux option on the Elonex and was informed that they no longer stocked them. What when wrong? I decided to investigate.
Whilst an increasing number of recent converts are avoiding it (and I don't blame them really), the shell is still a key tool for the majority of GNU/Linux users. Shell scripts are knocked-up, shared and deployed in all sorts of circumstances -- some simply time-saving, others life-saving. But even if the shell script has been written by somebody else, running it can be a cumbersome and frightening exercise for users of lesser experience or confidence. How do we bring the flexibility of the shell script to the GUI-only user?
One of the cool things about custom distributions of GNU/Linux is that they usually have better "eye-candy". However, it's not really that hard to provide your own. If you are setting up a multiple boot system, the GRUB boot menu will be an important startup step; remarkably enough, it is possible to include some graphics even as early as the boot menu.
This last Christmas, I refurbished and installed computers for two of my children. As we still have a pile of old games in a drawer, I wanted to provide multi-boot systems. This was much easier and more satisfying than the last time I set up a Linux/Windows dual boot system (with LOADLIN.EXE, which I can't really recommend today). I also wanted to test out the current state of FreeDOS (a GNU GPL-licensed operating system that emulates parts of MS-DOS 3.3 and MS-DOS 6.0). I did try installing ReactOS 0.3.7 instead of Windows on one of the systems, but I ran into installation problems I couldn't work around (a topic for a later column, perhaps), owing no doubt to the immaturity of the ("alpha") software.
I've been using Fedora (Core and all) on and off for a few years now and its parsimonious attitudes to codecs notwithstanding, the thing that always reduces me to a whimpering, pleading wreck is watching Yum installing a piece of software. I can forgive its tendency to handhold and even to confabulate, but Yum moves with all the speed of a treacle flow at the North Pole. Apt-get has already done its stuff and gone home for tea but Yum is still setting the table and polishing the silver.
The Falcon Programming Language is a typeless language born for rapid development, prototyping, and ready-made integration. We may also describe Falcon as a "scripting" language with features that enable the programmer to create even complex multi-threaded applications. It mixes several different programming paradigms into an unique blend of constructs, overcoming the limitations and partialities of other languages.
Many systems support video upload and viewing functionality. Of course, all video files uploaded by users shall be converted to some common format (flv format as usual) to make playback easier, probably scaled to common resolution, or watermarks are required on the site, etc. Therefore, developers have to solve the problem of video conversion very often and use various approaches.
A long time ago, on a blog post not that far away...
I once wrote an article on Xvid 1.1.3, and the speed boost one could get by enabling assembly-optimized code. Well, this is a case of my being hoisted by my own petard -- however, I must admit that several things were against me.
In short, Murphy's Law struck again. But first, for those of you who don't want to click through old blog posts, a (fair) bit of history.
Mention Jimmy Wales and you automatically think Wikipedia; however, that is not his only love child. The Wikia search engine is his latest offspring -- or least it was when it was launched in January 2008. Wikia has been devised as a free software and open source alternative to Google and othersNow.
Some time ago I was required to adapt a bespoke website application (which I had originally written) so it not only supported multiple languages but also multiple character sets. The website, MakingContact.org, is a on-line community for families with disabled children run by the charity Contact a Family. It required "support" for four languages in addition the English it was currently in: Somali, Arabic, Farsi and Simplified Chinese. Yes, I know the latter is not actually a language but for these purposes the cap fitted.
I decided to do it using Smarty, the PHP-based templating engine. Whilst it was possible that a CMS or similar could do the job now, at the time I could find none which supported multiple character sets in the way I required. I've been meaning to write the process down for some time so here's how I did it.
In part one of this tutorial looked at installing and configuring greylistd alongside Exim to help combat the evils of Spam. In this second part I will look at getting some information out of greylistd -- handy if you need to troubleshoot why the CEO's "urgent" message hasn't arrived yet!
Traditional methods of spam protection involve using Bayesian detection rules (usually via SpamAssassin) on messages after they have been accepted by your server. Most mail sysadmins may have encountered the constant cries from their users asking "can't you stop them sending it?". Of course you can't stop somebody sending a message but you can stop accepting them in the first place. Enter greylisting.
These two articles are kind of follow-ons to my previous article on spam prevention in exim mail servers. Think of it as an appendix. If you are starting from scratch you might find is useful to go and read that first.