Adept, Welcome to Your Installer (4 of ?)

Okay, so the time has come to tell you about the Adept Manager. This is by far the most frequently used program on my computer, next to kontact, konq, and konsole. I love this program almost as much as I love my kitty-cat. Have you hugged your kitty-cat today?

Manager main streenSo, let’s begin. The adept manager (to the right here) allows you to do a few things that I really like. Most importantly, it allows you to manage all software packages currently installed on your computer. Secondly, it lets you search and filter software–both installed and yet to be installed–in a variety of extremely useful ways. The third major thing it does is allow you to install, upgrade, reinstall and purge packages. Lastly, it lets you see some very important details about the packages you have installed and wish to install.

Let us walk through some scenarios. Okay, so you if you’re like me, you love quick games that occupy short bursts of time. So you want to find the world’s greatest quick Free Software games. So let’s just search for game programs. We accomplish this by simply typing the word “game” into the “Search” field. Adept will automagically start filtering, so there’s no further work necessary to fire off this search.

Manager with filtersNow, I don’t know about you, but I’m not a huge GNOME fan–sorry GNOME guys, no disrespect–but I prefer KDE applications. Therefore, let us filter out the GTK and GNOME stuff. I look under “Available Tags” and see a “[gtk] GTK” tag. I’ll just drag that over to the “Tags I Do Not Want” box. Now, I do want KDE games, so I’ll drag the “[kde] KDE” tag over to the “Tags I Want” box. Your window should look something like what I’ve got to the left after that.

Manager viewing detailsSo right off the bat, I see a game that I know I’m going to love. kbattleship sounds like a game I used to play when I was a kid. How awesome. Let’s take a deeper look at the package by clicking on the blue arrow to the left of the package. It should expand a little bit with some details about the package. I would like to see more details though. I can accomplish this with a click of the “Details” button.

Manager more detailsWell, this certainly is more detail, eh? With this view you can see several key details about the package. The section tells you what category or section the package is listed as. This display tells you how much disk space it will take up when installed. It also gives you a description of the package, who the maintainer(s) is(are), what the version is eligable for install, and if it is already installed, what version is currently installed. But boy oh boy, that isn’t the end to this fount-o-wisdom. If you look in the tabs below you’ll see three different groups of information: “Package Relationships,” “Installed Files,” and “Additional Information.”

In the “Package Relationships” tab you can see what packages are required, which packages are in conflict, and which packages may be relevent (there may be others, but they’re escaping me now). In the “Installed Files” tab, if the selected package is installed, you’ll see all of the files that are installed with quite a bit of detail about each file. Finally, if you look in “Additional Information,” you’ll see your list of tags again, but also the source package (the package where source is available from), the architecture, the filename in the repository, and the MD5 sum (which helps you verify the integrity of the package, and also helps if you’ve got two different versions you’re comparing to see if they’re identical, but that’s another story).

Manager preview changesSo let’s request to install the package. Click the “Request Install” button and notice that the “Requested change” field now shows “install.” Now let’s look at all of the operations that have been queued up. To get there click on the “Preview Changes” button up at the top of the main window. So now we can see the two packages that will be installed to put kbattleship on your machine. So now if you hit “Apply Changes” you will see the familiar install screens, and then it will take you back to the main display again.

Now, say you play kbattleship and you don’t like it. You may then–in the main display–remove it. Just right-click the package in question and click “Request Removal” and then click the “Apply Changes” button again to remove it.

I understand that this is a pretty light-weight tutorial on adept manager. I will get into the sources selector tomorrow. Have a good night, and thanks for reading the blog. I really hope this is helping you learn how to use one of my favorite programs.

Adept, Welcome to Your Installer (3 of ?)

The CLI Edition

Okay, so I must confess up front, I’m not going to give you any information about adept here. This is related to adept, though not actually about adept. This is about how to get behind the scenes of package management. I invite all you happy people to comment on this entry with your own tips and tricks. Let us please stick to deb-related stuff here (sorry RPM and Gentoo people, but focus helps learning).

By the way, since my target audience is Mary Sue home-maker and Joe Schmoe, I promise to do my best to expand my acronyms. To that end, “CLI” is “Command-Line Interface.” A command-line interface is a text-based interface where a user types in commands and the computer–like a good little kitty–does as it is told. To get to the command-line interface you can use a terminal emulator. I like Konsole, so let’s use that one. Go to the K menu and go to the “System” submenu, and locate “Terminal Program (Konsole).” Click on it and a new window will open that will look something like…


Okay, so let’s talk about this in scenarios….

So, you want to install a program.
So, I’ve been hearing quite a few good things about this awesome children’s learning game GCompris. I want to install it to check it out for myself. To do this I start up my handy-dandy konsole and take to the commands. So, I already know what package I want to install, so let’s go ahead and install it now. You do this with apt-get. I’ll show you the command first, and break it down for you afterwards.

sudo apt-get install gcompris-sound-en

Okay, so sudo is a command that allows you to run everything that follows as root. You should always be careful when doing things as root. Make sure that when you do this that you know know what package it is that you’re installing. All main ubuntu software repositories use GnuPG signatures to verify the authenticity of the packages, so normal ubuntu repositories are pretty reliable.

Next up, apt-get is the remote package installer. It grabs packages from the repositories and it installs it on your computer. The install portion is instructing apt-get to install the package. And, of course, gcompris-sound-en is the package we’re installing.

So, now I’m installing the gcompris-sound-en package, which is the sound package for gcompris for the English language. I like sound, and I suspect you do as well. Here’s the output of the above command for me. This will very likely vary for you…

manchicken@larry:~$ sudo apt-get install gcompris-sound-en
Reading package lists… Done
Building dependency tree
Reading state information… Done
The following NEW packages will be installed:
0 upgraded, 1 newly installed, 0 to remove and 15 not upgraded.
Need to get 1885kB of archives.
After unpacking 2699kB of additional disk space will be used.
Get:1 edgy/main gcompris-sound-en 7.4-3ubuntu2 [1885kB]
Fetched 1885kB in 7s (245kB/s)
Selecting previously deselected package gcompris-sound-en.
(Reading database … 235936 files and directories currently installed.)
Unpacking gcompris-sound-en (from …/gcompris-sound-en_7.4-3ubuntu2_all.deb) …
Setting up gcompris-sound-en (7.4-3ubuntu2) …

So, to be exceedingly concise, what this is doing is opening the database, reading dependencies, locating the package to be installed, determining disk space requirements, informing me of disk space requirements, downloading the package, installing the package, configuring the package, and then closing the database. I’m sorry that I don’t have the time to explain in any more depth than that, but it would really take a while. Package management software is multi-faceted and complicated.

So, I’m going to explain one more scenario and then I’ll let you folks share. Sharing is good; don’t let anybody else tell you differently.

So, you have a program, you’d like to know what it is and where it came from.
I can’t tell you how many times I’ve wanted to know this information. This is a two part process how I do it. Others may have better ideas. Let’s all learn and share together.

What on earth is /usr/bin/dund? I’ve never heard of it before. Let’s learn! So, first, let’s find out what package it’s in. To do that we can use dpkg-query. dpkg is the debian package manager, and dpkg-query queries dpkg. Here’s the command…

dpkg-query -S /usr/bin/dund

Now, dpkg-query is the program we’re running. The -S flag tells it to look for a file name in the database and tell us where it came from. The /usr/bin/dund argument, of course, is the file we’re trying to look up. When I run that I get:

bluez-utils: /usr/bin/dund

That tells us that /usr/bin/dund comes from bluez-utils. Now we can use apt-cache to find information about the package. Here’s the command:

apt-cache show bluez-utils

This command tells apt-cache to show us details about the package bluez-utils. Below is the output.

Package: bluez-utils
Priority: optional
Section: admin
Installed-Size: 876
Maintainer: Ubuntu Core Developers
Original-Maintainer: Debian Bluetooth Maintainers

Architecture: amd64
Version: 3.7-1ubuntu4
Replaces: bluez-sdp (< = 1.5-2), bluez-pan
Depends: libbluetooth2 (>= 3.0), libc6 (>= 2.4-1), libdbus-1-3, libusb-0.1-4 (>= 2:0.1.12), module-init-tools, makedev (< < | udev, lsb-base (>= 3.0-3), dbus
Recommends: bluez-passkey-gnome
Suggests: bluez-firmware
Conflicts: bluez-sdp (< = 1.5-2), bluez-pan
Filename: pool/main/b/bluez-utils/bluez-utils_3.7-1ubuntu4_amd64.deb
Size: 290770
MD5sum: 96a2a998d8121cafaa4e5f48c0eb24b0
SHA1: d6ea9d05c2be90f6d58637ee13c3c73c33d44fd4
SHA256: 2930de56b51148f7bb694cfa8e111d62c1d6f5aa989b4769bffdb1f443aaf290
Description: Bluetooth tools and daemons
This package contains tools and system daemons for using Bluetooth devices.
BlueZ is the official Linux Bluetooth protocol stack. It is an Open Source
project distributed under GNU General Public License (GPL).
More information is available at
Origin: Ubuntu
Task: ubuntu-desktop, kubuntu-desktop, edubuntu-desktop

Oh, wow. Now we know what this is. It is a bluetooth protocol package. I think this output is pretty self explanatory. I could explain all of these lines as well, but as previously mentioned, it would take more time than I’m willing to dedicate to this one post. If you have specific questions, ask in the comments and we can learn together.

Okay, so I’m done now. I really hope this has been helpful, and I truly encourage you to comment and share and learn. With this software you have freedom and you can help your neighbor. Let’s exercise this freedom and help our neighbors. Nighty night all you happy people.

Adept, Welcome to Your Installer (Part 2 of ?)

Okay, as promised, here’s the second installment of the adept rundowns. Let’s do this in order. First I’ll do Installer, then I’ll do Manager, then Updater, and since Updater and Batch are essentially the same, I’m going to skip Batch. Also, remember that my bird-brain can only hold so much information at one time, so I may make some mistakes. If you notice a mistake and post a (polite) comment informing me of this mistake, I’ll do my best to correct myself. If you do find such a mistake, feel free to stop by my coop any time to receive your reward of one free cookie with purchase of $10 glass of milk. So, on to the low-down.

By the way, did you remember to call your mother?

K Menu, with Add/Remove Programs highlighted.Okay, so you all know that I am the ultimate Adept fanboy, and that’s not just because I’m knee deep in its code either. Oh no no no. It’s because Adept has some crazy-cool functionality. Let’s talk Adept Installer, shall we? If you missed the last post, you can look at this thumbnail to help you find it in the K menu.

Now, lately I’ve had a hankering for tea lately, so I’ve decided that we’re going to install KTeaTime. This program helps you know how long to steep your tea for just the right cup. I want to warn you though, according to the description here, it only works with KDE, so pick another package (perhaps another one having to do with tea?) if you don’t want to risk it. You can always uninstall it later 🙂

Adept Installer with KTeaTime selectedOkay, so let’s locate the package. I just navigate to the “Others” group, with the filter bar (in the toolbar) is only filtering for KDE programs. Then, scroll in the “Application (Others)” column until you see KTeaTime–this column is sorted alphabetically.

After reading the description–very important to read the description!–I check the checkbox just to the left of the gear icon (icons may vary depending on your theme) and notice that what was the disabled “Next” button lights up to an “Apply Changes” button. So let’s click the button.

Installer DownloadingYou’re going to see three screens, and I’ll go into a bit of depth on them. So, this screen is showing you that it’s checking your sources list. It does this for each operation you do. For this one package it should only show one of those. Continuing on…

Installer InstallingRighto, so now apt is preparing the database, downloading the file, installing the file, and updating the database. This is all very important stuff. If you click the “Show Details” button it’ll show you the output of the apt process in the background. If you were seeing weird errors, this window could help.

Installer CompleteYay! The installation is completed! Now you should be able to go and brew a cup of tea. Let’s check out the K menu…

KTeaTime in the menu
Yeah! Rock on! Sweet tea-steeping goodness is mine for the taking!

Now that you too can install sweet sweet Free Software programs using our beloved Adept Installer, post a comment telling us all what you’re installing!

Adept, Welcome to Your Installer (Part 1 of ?)

Just a word for those of you tuning in, this will be a multi-part post on Adept, what it is, who uses it, and how one uses it.

Yes, I’m talking about Adept. What’s Adept you ask? Well, check out the write-up on Adept on kde-apps.

Who uses Adept you ask? Well, the simple answer is that all the people who rock and love their mothers use adept. Well, maybe that’s a little unfair, perhaps I should expand. Just don’t forget to call your mother.

K Menu, with Add/Remove Programs highlighted.Adept is the installer program used by default on Kubuntu, a KDE-focused Ubuntu distribution. It interfaces with apt, and does so pretty damned well. So there are four major interfaces you may see from Adept. One is the installer. This is the one that you see on your K menu.

With the installer, you can intuitively locate and install programs. This interface provides you with very useful information about prospective packages that you may be looking to install. This interface lets you search, view by category, and even filter by desktop.
Adept Installer

Secondly, we have the Adept Manager. This interface gives you a comprehensive list of the packages in your selected repositories. You can and filter to your hearts content. There’s a lot going into adept for Feisty, I’ll tell you that right now. There are so many features of this interface, even I’m unaware of a great deal of them.
Adept Manager

Next up, the Adept Updater. This consists of not just the big interface you see below, but also the little system tray icon that lets you know when you have an update. All you do is click that icon, it refreshes from your sources, and then lets up upgrade–with full control–all packages available for update. And if it were time for an upgrade–like when Feisty is ready–it’ll give you a nice wizard to step you through the upgrade process.
Adept Updater

Last but certainly not least, the Adept Batch process. This little fella lets you programmatically fire off an adept install. With an interface so similar to the updater, I didn’t put a photo up for this one.

So, over the next few [INSERT TIMEFRAME HERE]s, I’ll be going more in-depth into what you can do with this amazing program. This is a program that is good to get acquainted with soon, and use well.

The Bears Lost. So? CBS Played Worst of All.

So I’m getting a lot of people who’re trying to justify a loss, get angry at the Colts, get angry at Rex Grossman, whatever. Hey, there there. It doesn’t matter if you win or lose, it’s how you play the game. And the Bears didn’t play the game very well at all. The Colts didn’t play too terribly well either. 6 turnovers in the first half… in a Super Bowl. Wow. Any football fan knows that losses are possible. It’s normal. It’s part of playing the game.

Now, for where my real gripes lay. I have three complaints that I’m going to bring up.

First, what the hell CBS?! What the hell? Is it really that hard to keep the rain off of the lens? Is it really that hard to keep the lenses clean? How could you possibly take the Super Bowl–undoubtedly the biggest television event in the United States–and screw up the direction and cinematography that bad? I just don’t understand was going on there. I hope the director and camera manager got fired with a foot-print on the back side.

Second, related to the first, what the hell CBS 2 Chicago?! How could you grab such a crappy feed? I counted no fewer than six feed freezes and audio blackouts. How could you provide such a disgusting feed for the Super Bowl to the city of one of the contenders in the game? How much were you charging for advertising spots? You’d think CBS could have had a quality feed. What the hell.

Lastly, who the hell signed Prince for the halftime show? Did he even play anything worth listening to? I didn’t see it. I saw the Stones play the Super Bowl half time last year. They didn’t do the greatest, but man it was an original show, and it was relevant to the Super Bowl. How did that happen? The show was dull, poorly done, and thanks to the poor cinematography we couldn’t even see much of the show clearly.

Could someone talk to the NFL about blacklisting CBS from running the Super Bowl again for another ten years? They did a piss-poor job and I walk away truly disappointed by how the game was brought to me.

Congratulations to the Indianapolis Colts, and despite the Super Bowl loss, congratulations to the Chicago Bears for an amazing season. It was an insanely fun season, and I enjoyed not having missed a game. I can’t wait for the 2007 season. Grossman needs to polish up a bit, and Lovie Smith needs a new contract. Lovie is really taking this game to the next level by adding respect.

Why I Will Never Buy an HP Laptop Again…

Man, I’m on a role complaining about HP lappies today. Check this picture out…
DRM Warning Labels: Good for More than Warning

Those are three Free Software Foundation DRM warning labels that are now protecting my laptop from static shock. It would seem that HP forgot to properly protect the sound card from static shock. Every time the tiniest little static shock goes into this metal chassis, the sound card locks up, requiring a full reboot. What a shame.

Proprietary Hardware Vendors, Misbehaving

Right, so I’m frustrated. Why am I frustrated? So kind of you to ask. It’s because I was suckered into buying an HP laptop with an ATI Radeon 200m graphics card, and an ATI IXP sound card. Why is that bad? A good question. It’s because ATI doesn’t know how to write drivers, and won’t let anybody else learn how to. ATI’s IXP sound card keeps locking up. I try to `rmmod -f atiixp` and I get nothing but trouble from the kernel. When it goes stupid, I have no choice but to reboot.

Let’s imagine a world where hardware vendors actually gave a hoot about their customers, shall we? We’d have specs available, we’d have drivers that gave us freedom as well as nifty 3D functionality, and we certainly wouldn’t have sound cards locking up on us while the manufacturer gives us the finger.

Is ATI the only naughty little boy on this one? I think not. Broadcom and nVidia have both been engaging in the exact same practice. In non-proprietary operating systems, you have to utilize dirty hacks like driverloader or ndiswrapper in order to use a Broadcom wireless card. You have to use proprietary drivers for nVidia which it has been proven can cause security problems and ACPI stability problems.

There are people on all sides of this camp. Some argue that it’s okay that vendors don’t release specs as long as they put out quality drivers. I first heard that argument in 1997. It’s now 2007, and I still haven’t seen a single hardware manufacturer make good on that one. The solution? Support Free software projects that reverse engineer these drivers. Older Radeon cards have a high degree of success thanks to the DRI and radeon projects, no thanks to ATI or AMD. ATI can’t even write stable drivers for their “supported” operating systems, good luck waiting for them to support people who like the freedom to choose.

Freedom is the only way that we will ever achieve stable drivers for any operating system is if we have the freedom to debug and tinker.

The Free Software Foundation has a very nice list of hardware that is supported by Free software. I encourage you to consider these products next time you go out to buy hardware. Let’s support freedom and those who enable it.

A GNU Emacs guy’s challenge to vi guys

Alright, so any hacker with air in their lungs has heard of these debates where someone argues vi sucks, and someone else claims that GNU Emacs is slow or sluggish, then the vi guy says that vi is easier to use, and the GNU Emacs guy says that no, GNU Emacs is in fact easier to use. I suppose the title of this entry may even perpetuate these.

Well, let me get one thing clear… I don’t care what editor you use. Just stop bitching about how you don’t like the one I use. That is the one and only comment you’ll see to that degree for this post. Now onto something worth reading.

So, here are a list of features that I know how to do in GNU Emacs, but many of my buddies who use vi ask me how to do. My answer is usually a joking “you use GNU Emacs,” but I’m curious to see how many of these things you can actually do in vi. I’m going to focus on features specifically tailored to software development so as to avoid the “it’s too bloated” scorn of vi users. So, here’s the list of features…

  • In emacs, with tramp-mode, you can edit files remotely with a local running instance of emacs. This allows you to even compile and debug a program on the remote host, still using your local emacs session (only with ssh in tramp-mode).
  • In emacs you can manage your version control for your files from inside of the editor. Check in, diff, etc. All works.
  • In emacs, ediff is an insanely cool diffing program inside of emacs. It lets merge, diff, and diff entire directories of files.
  • In emacs, you can use a database directly from your editor. With two buffers in a split window, you can bind one buffer to your database interface buffer, and execute queries directly from one buffer to another buffer, even live SQL from inside a source file.
  • In emacs, many languages (not all; I’m talking about you, Ruby) have debuggers that are well integrated into emacs. Perl, C, Java, Python, lisp, all just a handful of such languages. Lets you control the debugger from inside emacs, not just a command-line embedded in the buffer.

Once again, this is not a flame at vi users. I’m just curious if/how you can do these things in vi so the next time I get an “how do you do that in vi?” I can answer. Please comment (politely) to this post. Thanks for spreading the knowledge.

manchicken joins the hordes of blogging weirdos!

YEAH! manchicken, the Free Software and Christian fundamentalist you’ve come to know and love, has joined the MILLIONS of people who think their opinions are so important that you would want to read them. Why do I think you want to hear what I have to so? That’s simple…

I don’t!

So, you may–if you so choose–enjoy reading my rants. If you don’t, might I suggest you visit ZoomShare?