Archive for the 'Ubuntu' Category

Ubuntu: The First Distro to Ship Compiz-Fusion by Default

As of the Tribe 2 release, due to the awesome work on the part of Michael Vogt (mvo) and Travis Watkins (Amaranth), Compiz 0.5.1 git and the Compiz-Fusion main plugins are not just a part of the default installation of Ubuntu, but enabled by Default, even on the LiveCD.

Of course, it’s only enabled for supported hardware devices, so for you folks that can’t run Compiz, you’ll be greeted by Metacity as always.

The rest of the Compiz-Fusion stuff is also in the universe repository, so feel free to pick it up by running the following command:

sudo apt-get install compiz-fusion-plugins-extra compizconfig-settings-manager

Keep in mind, Gutsy is alpha software and isn’t recommended for use on your desktop, however, if you’re feeling gutsy, it’s a fun experience. πŸ˜‰


Adventures with Scribble!: Nothing Quite Like Playtime

I was feeling a little bored, so I opened up Scribble! (after a brief svn update) and decided to play around some.

I ended up making the RGB circle:


While it obviously doesn’t blend to create that insanely cool effect, it looks cool anyway. πŸ˜€

During the process of this, however, something struck me… unless you’ve played with graphics before, none of the “average Joe Sixpack” users that Scribble! is designed for know the golden rule of computer graphics!

When you’re working with graphics on a computer, there’s a little “rule” that you operate under. The point of origin is the top left corner of the screen. There are of course many reasons for this, none of which I’ll trouble you with, but, to keep things brief, if you were to draw up a simple grid with X and Y axes, as far as computer graphics are concerned, you’re dealing with the IV (4th) quadrant.

Now that we’ve established that, looking at Scribble!’s code is easy.

brush.stroke = 0, 0, 0, 0.7

This code establishes the two traits of the Scribble we’re working on before we start any drawing. We’ve set the size to 360 pixels wide and 300 pixels tall. Then we’ve set the stroke of the brush (don’t forget – this is still Ruby and method act on objects, in this case, the stroke is acting on the brush) to be black using RGB values (0 red, 0 green, and 0 blue is the combination for black) and have an opacity of 70%.

brush.fill = 1, 0, 1, 0.5
circle :center => [130,170], :radius => 75

Now, we begin by setting the color of our brush to Magenta (1 red, 0 green, 1 blue) and set its opacity to 50%. This next portion is a little bit trickier in terms of syntax, but it’s relatively simple to read. We’re creating a circle with a center point 130 pixels to the right of the origin and 170 pixels down from the origin. If we compared this to the coordinate sheet we envisioned earlier, our center point is at (130, -170). The next bit, the radius, is set to 75. Simple, no? The rest of the script is just placing two more circles of different colors on other parts of our canvas.

If you’ve got any interesting Scribbles you want to share, please comment! πŸ™‚

Hackety Hack, Meet Linux

Hackety Mouse!After much wait and whining (let’s face it, it’s in high demand!), _why released the first Linux version of Hackety Hack. For those of you who, for some reason completely beyond me, aren’t accustomed to Hackety Hack (or _why for that matter!), Hackety Hack is pretty much the coolest thing since sliced bread.

To start understanding what motivates _why and the other Hackety Hackers, you’ve got to read up on two very important documents which have caused not just controversy but an entire revolution in the way many people think about coding and programming in general.

The first of these is the much-debated and much-beloved essay by why called “The Little Coder’s Predicament“. If you haven’t read this essay yet, go do it now. I’ll wait. Yes, I’m still waiting, now get a move on. Let us think on what _why presents here:

  • Coding shouldn’t be the “dirty little secret” of computers; it should be celebrated and available to everyone.
  • Coding shouldn’t be complicated. A simple task, such as playing a song, should be one line.
  • Code should be not just shared, but shared easily. What’s the point in coding something that nobody will ever see in action?

In today’s world, this sort of thing doesn’t really sound so far-fetched… but you’ve got to keep in mind that _why was writing about this nearly four years (to the day) ago. This was back in the days when Microsoft Office 2003 was the newest thing and Pentium 4 wasn’t considered an old processor.

If “The Little Coder’s Predicament” was the beginning of a prolific movement that’s shaped the entire landscape of learning how to program, then this next bit of genius was what really got the gears turning. If one reads “The Hackety Manifesto“, you’ll immediately notice that it doesn’t talk about anything new. That’s true. It doesn’t; not really. Instead, what it does is further build upon _why’s prior musings in 2003 and extend them into the basis for an application that could revolutionize the way people think about programming.

So what are the Hackety Laws?

  • Beginners should be greeted to Hackety Hack by a cartoon character. (For the sake of argument, let’s call this character: Hacky Mouse.)
  • Also, helpful sentences. And full sentences with a period.
  • Hackety Hack is fundamentally a browser and a programming language. For now, Gecko and Ruby.
  • I’m only using Ruby because I know it. Hopefully, more languages can be added!
  • Again, this isn’t about Ruby, it’s about simply offering a place for plainspeople to tinker with code.
  • IDEs are a disaster. Newbs should see only one non-scary window free of tree controls and pinned windows and toolbars.
  • As such, we want to stay away from project files and makefiles, the trappings of an IDE.
  • Hackety Hack also adds simple libraries for common things.
  • Common things are one-liners.
  • Keep args and options to a minimum.
  • In Ruby, blocks should be used to open up a method to more advanced possibilities.
  • Help files are clean, short, simple. Lots of short examples. No frames.
  • While all bug tickets are helpful and great, I just value tickets from beginners to a greater degree.
  • Hackety Hack is free and will remain free henceforth.

Sounds simple, right?

It’s not.

Think about it – out of all the applications you’ve ever written, or APIs, or libraries, how many times has this really been the case? Once? Twice? The fact of the matter is, clean, simple, easy-to-read code is one of the lost arts that’s only very slowly being relearned and practiced widely, and it’s a shame that it’s taken this long.

So where does Hackety Hack come in?

Hackety Hack is neat if for one thing – it’s a wonderful teaching tool. Hackety Hack was designed to be a simplified front to the Ruby language that was designed in such a way that even the noobiest of noobs and the dullest of gardening tools could code together some very neat, working programs. It’s true to its words in the manifesto – downloading an MP3 or even a simple “Hello world!” program is one line. Obviously, since, at least in the case of the former, Ruby cannot do this out-of-the-box, Hackety Hack comes preloaded with all sorts of neat libraries that one can just call as a simple object inside Hackety Hack. Like the front page boasts, you can write a simple blog in all of six lines of code:

blog = Table("MyBlog").recent(10) {
  blog.each do |entry|
    title entry[:title]
    puts entry[:editbox]

So, to finally get to the point, after much wait and begging and other forms of worship, _why has blessed we Linux users with our first release of Hackety Hack. For a long time it was, very sadly, a Windows-only application, but now, as of this week, we can finally enjoy the bliss that is Hackety Hack.

hackety1 hackety4!hackety2! hackety3!

Amazingly Awesome Screenshots Thanks to Nathan Weizenbaum!

(You can also click on any of those for their full versions instead of thumbnails!)


Ubuntu Feisty users can pick up the tarball here.

To run Hackety Hack, you’ll need to install ‘libwxgtk2.8-0’ and ‘libwxbase2.8-0’ from the universe repository. Once you’ve done that, you can run Hackety Hack from wherever you untarred it to with the following:

LD_LIBRARY_PATH=/usr/lib/firefox:. ./hacketyhack

People on other distributions, assuming they know where the firefox files are kept, can just change the LD_LIBRARY_PATH as necessary. πŸ™‚

Note: There seems to be an issue with the libwx stuff in Gutsy, so if you’re a brave folk like myself, you won’t be able to enjoy the wonderful gooey, ooey sensation that is Hackety Hack. If you’re interested, I’d advise just paying attention to this thread on the Talkety Talk forum.

Hackety Mouse Demands You Start Hacking Right Away!
hackety 5?!?!?
You heard the rodent. Hop to it!

Some Dangerous Updates for Gutsy Users

Just to let any other Gutsy users know, avoid dist-upgrading at the current time because of poppler package changes that will remove key applications like evince and gimp.

If you do accidentally remove them and such, you’ll have to download theΒ  0.5.4-0ubuntu8 versions of libpoppler1 and libpoppler1-glib from here.

Compiz 0.5 – I’ve been waiting! >=( (and other interesting uploads…)

After painstaking months of agony and waiting and all that jazz (er, sort of), Compiz 0.5 has finally been uploaded to the Gutsy repositories. I’m so glad to see it – I was tired of compiling it.

Also of note, Rhythmbox 0.10.90, featuring the new Tango icons in the user interface and crossfading, has also been uploaded. While I personally cannot stand to use Rhythmbox (go Banshee!), they’re finally beginning to put the effort into the user interface that it really deserves. Bravo!

Finally, like everyone and their grandmother (or maybe their mother) has heard, Dell is finally officially, as of today, selling PCs pre-loaded with Ubuntu Feisty. ‘Bout dang time! πŸ˜‰

The Fox and the Bird

Finally, after such a horridly long wait, Thunderbird 2 has hit the Ubuntu Gutsy repositories (in addition to a Firefox compiled against current hunspell packages)!

I’m not going to run over all the new features in TB2, as you can simply do that for yourself. Still, this is really exciting – I’ve been waiting weeks. πŸ˜‰

Gutsy is in Business

The Gutsy repositories, while apparently not containing anything new as of yet, are open and ready for business. I’ve already got my sources.list switched over. πŸ˜€

Nothing like a new development cycle!