Trickle: A lightweight userspace bandwidth shaper.
on 30.05.2007, 05:00
in packages-news
Healthcare during DebConf
on 29.05.2007, 17:26
in debconf-news
UltraStar NG: karaoke game that allows user supplied songs
on 23.05.2007, 05:00
in packages-news
Problems with DPotD
on 21.05.2007, 18:57
in packages-news
Mirage: simple and fast image viewer
on 20.05.2007, 05:00
in packages-news
BTS subscription fixed
on 13.05.2007, 23:20
in news
MPGTX: Lossless editing of MPEG video
on 13.05.2007, 05:00
in packages-news
DebConf7 accommodation
on 11.05.2007, 18:25
in debconf-news
Klipper: clipboard action trigger
on 09.05.2007, 05:00
in packages-news
brightside: workspace switcher
on 06.05.2007, 05:00
in packages-news
DebConf7 accommodation
on 04.05.2007, 15:10
in debconf-news
LPI exams during DebConf7
on 02.05.2007, 21:51
in debconf-news
meld: graphical tool to diff and merge files
on 02.05.2007, 05:00
in packages-news

Trickle: A lightweight userspace bandwidth shaper.

published on Wed May 30 05:00:32 2007 in packages-news

Article submitted by Ferry Boender. We are running out of articles ! Please help DPOTD and submit good articles about software you like NOW !

Sometimes, you’ll want to download something but you don’t want it to completely saturate your Internet connection. Perhaps you’re already downloading something more important, or you simply don’t want to get in the way of other people that are sharing the same Internet connection. Some programs, such as gFTP, wget and bittorrent, offer built-in up/download rate limiting. Other programs, such as apt-get and associates, don’t. Enter Trickle.

Trickle is a user space bandwidth shaper. It allows you to limit the bandwidth consumption of a program without requiring all kinds of kernel patches, firewall configurations or root access to the machine on which you wish to use it. Trickle can run in collaborative and stand alone mode. In collaborative mode, trickle can limit the bandwidth used by a bunch of programs at the same time. In stand alone mode, trickle simply limits the program you specify.

Stand alone mode

Trickle is easiest to use in stand-alone mode. Simply run trickle with a download and/or upload limit and a program you want to limit. For example:

[todsah@jib]~$ trickle -d 20 -u 20 wget http://www.electricmonk.nl/bigfile
trickle: Could not reach trickled, working independently: No such file or directory
–12:19:18–  http://www.electricmonk.nl/bigfile
           => `bigfile’
Resolving www.electricmonk.nl… 194.187.77.6
Connecting to www.electricmonk.nl|194.187.77.6|:80… connected.
HTTP request sent, awaiting response… 200 OK
Length: 51,200,000 (49M) [text/plain]

 0% [                                     ] 180,224       21.83K/s    ETA 38:03

In the example above we use wget for demonstrative purposes, even though it has built-in bandwidth shaping. As you can see, the download rate is 21.83K/s. Of course, this is not exactly 20 K/s, but the download rate will vary between 19 and 21 K/s giving an average of 20 K/s. You can use the -w and -t command-line options to fine-tune this behaviour. The longer trickle runs, the closer it will get to 20 K/s. For more information, check out the manual page.

Daemon mode

In daemon mode, trickle can limit a group of programs to a fixed limit of bandwidth. To start the daemon, run the trickled command:

[todsah@jib]~$ trickled -d 20 -u 20

This will start the trickle daemon that will limit the total bandwidth available to all programs run via trickle to 20 K/s both up and down. So if you run a single program via trickle, it can consume 20 K/s. Two programs can each consume 10 K/s, etc. As an example, we start three wget sessions:

[todsah@jib]~/temp$ trickle wget http://www.electricmonk.nl/bigfile
 1% [                                     ] 933,888        6.66K/s  ETA 1:47:17
[todsah@jib]~/download$ trickle wget http://www.electricmonk.nl/bigfile
 1% [                                     ] 720,896        6.65K/s  ETA 1:56:59
[todsah@jib]~$ trickle wget http://www.electricmonk.nl/bigfile
 2% [                                     ] 1,228,800      6.64K/s  ETA 1:45:00

The download rate is limited to about 6.6 K/s per session, making a total of 19.8 K/s. As is usually the case with bandwidth shapers, it may take a couple of seconds before all sessions are correctly limited. This is because of the algorithm used by shapers to determine how much they should delay the sending and receiving of traffic.

Availability

Trickle has been available in Debian at least since v3.1 (’Sarge’) and in Ubuntu since Warty. apt-get install trickle should do the trick.

Notes

  • Trickle doesn’t work with setuid programs. The reason for this is that setuid programs ignore the LD_PRELOAD functionality for security reasons. Trickle requires this functionality to do its shaping. (It also doesn’t work with statically linked programs for the same reason.)
  • Trickle only works with programs that use the socket(2) interface for transmitting and receiving data. Also, it only works with TCP connections, not with UDP connections.

Healthcare during DebConf

published on Tue May 29 17:26:00 2007 in debconf-news

If you are coming to DebConf from an EU member country, Iceland, Norway, Liechtenstein, or Switzerland, you are entitled to free healthcare in the UK (not including elective treatment or non-urgent pre-existing conditions).

To prove that you are entitled to this, you need a free European Health Insurance Card. The arrangements for getting one will depend on your country, but if you don’t yet have one you should apply as soon as possible, to get one in time for DebConf.

Residents and citizens of many other countries are entitled to a more limited level of free healthcare, as listed on the DebConf7 website.

Konversation, A simple irc client with a few surprising features.

published on Sun May 27 05:00:01 2007 in packages-news

Article submitted by Kyle Hamar. We are running out of articles ! Please help DPOTD and submit good articles about software you like NOW !

A sense of community remains is a powerful feature of Linux. Few tools reveal the power of open source, and none more clearly link this community better than IRC clients. Dozens of clients exist, from the small and powerful (irssi) to the complex (centericq). I prefer a lightweight gui: Konversation.

Think of IRC as an open window to hundreds of open source projects, where developers often respond to questions from users on every imaginable subject. Freenode, a service of the Peer-Directed Projects Center supports many popular interest areas.

Konversation

Usage

I recommend the use of freenode, a service of Peer-Directed Projects Center. Freenode host a very comprehensive list of groups related to most major peer directed and open source projects, like Apache or KDE. If you are new to IRC it would be wise to review the general questions and user registration requirements in the faq. Other projects, for example Debian, uses the OFTC network.

Konversation Screenshot

This screenshot of the #debian channel includes someone searching for help with a Perl module, others are asking about Apache. These community supported areas are only a few keystrokes away using Konversation.

Konversation boasts a simple tab-based interface, interrupted only by a few programmable buttons on-screen. These buttons may be modified to provide one-click application of numerous commands. The usual IRC display options are available; including font selection, colors, and various display options. The themed nicklist offers several different options for display of nick information.

configure

Minimize Konversation and it will pop up a small on-screen display activated by a keyword or your nick after you enable the option. The feature works very well, and you can add sounds to notifications also.

on-screen display

One nice feature is the ability to execute commands from within the chat window and return the output for everyone to see:

command execution

Konversation also integrates with Kaddressbook. This allows for whois information to display the users real name.
The point of Konversation seems to be a simple interface with a few nice features. It does not offer the extensive internal scripting support of other clients. In fact, I would say the lack of kitchen-sink bells and whistles is a feature and not a detraction. Konversation can /exec any script you wish (Bash, Perl, or etc.) and provides a DCOP port to return information to the channel. The ability to post the outcome of arbitrary commands to a chat window (how else should you say look at this error!) and the on-screen display while minimized are important features.

Most users probably do not need the bot-like features of this simple client but they are easy to use if you need them. I first tried Konversation on the recommendation of a friend while struggling with a small bug with another client. I’ve not gone back since!

Links

UltraStar NG: karaoke game that allows user supplied songs

published on Wed May 23 05:00:53 2007 in packages-news

Article submitted by Miriam Ruiz. We are running out of articles ! Please help DPOTD and submit good articles about software you like !

Karaoke (カラオケ, 空 kara, “empty” or “void”, and オーケストラ ōkesutora, “orchestra”) is, according to the Wikipedia, a form of entertainment in which an amateur singer or singers sing along with recorded music on microphone. In a typical karaoke game, the system plays the music and displays the corresponding lyrics on the screen, sometimes also showing a video as well, while the singer or singers sing along. Sony went one step further with their game SingStar, for PS2: you not only had to sing the song, but you also had to sing it properly. The game came along with a couple of USB microphones, and the game decided how well you were singing the song.

Then came UltraStar, a Free Software (GPL’ed) SingStar clone in which you could add your own songs in the forms of mp3s along with a text file, as well as pictures and videos. In UltraStar, the original song is being played, and the lyrics shown, while the wannabe singer tries to do their best with the microphone. A gray bar shows the length and pitch of the original song, and the player’s own voice is displayed with a blue bar, which shows whether the song has been sung correctly or not. The better the performance, the more points you get. In the end, you might turn to be an amateur, or a lead singer. Unfortunately, UltraStar was programmed in Kylix/Delphi, and only available for the popular proprietary operating system you’re thinking about. The good thing about UltraStar is that there are lots of people making songs for it, so you might be able to find your favourite ones all along the Internet, in some web pages devoted to the program, in peer to peer network systems, etc. It’s quite easy to make your own songs for UltraStar, or converting them from SingStar format.

UltraStar-NG is the remake of UltraStar that works under GNU/Linux. It is coded in C++, and, for the technical part, it uses alsa for audio acquisition, fftw3 for getting the notes sung by the player, SDL for the visualisation and keyboard input, xine or gstreamer to play the music and librsvg or cairo to display the themes (which are vectorial images). The goal of the game, as you might have guessed, is to get the maximum of points while singing the songs of your choice.

UltraStar intro screen

UltraStar intro screen, you have more screenshots here.

It’s been a long way, but finally we’re able to play UltraStar-NG in our Debian machines. Have fun, and don’t forget that, if the game says you’re singing out of tune, that might not be a bug in the program but in the singer ;)

Problems with DPotD

published on Mon May 21 18:57:42 2007 in packages-news

This post is to inform our readers that we had a problem with an upgrade that we are working to solve. Something went wrong when updating wordpress and the pictures and our theme are gone. Also, permalinks aren’t working.

Thanks for your patience. The DPotD team.

Mirage: simple and fast image viewer

published on Sun May 20 05:00:49 2007 in packages-news

Article submitted by Lucas Nussbaum, based on an article published on Linux Weekly News (with the permission of LWN’s Jonathan Corbet). We are running out of articles ! Please help DPOTD and submit good articles about software you like !

Mirage is a relatively new image viewing application which has been designed with speed in mind. It uses GTK+.

The project was started in March, 2006 according to the CHANGELOG file. Mirage has undergone rapid development since then, with fifteen releases so far.

It has all the features one will expect from a good xv or gthumb alternative:

  • Supported image formats include png, jpg, svg, xpm, gif, bmp, tiff, and others.
  • Has the ability to cycle through large collections of images.
  • Images can be dynamically resized, full-screen and best fit modes are available.
  • A built-in slide show viewer is included.
  • Has a random image viewing function.
  • A user-selectable status bar shows basic image metadata.
  • An image properties pulldown shows more detailed image metadata.
  • Images can be rotated, zoomed, cropped, resized and flipped.
  • Panning through zoomed-in images can be performed with the mouse.
  • Many of the program’s options are user-configurable.
  • A number of command-line switches are available.
  • A number of shortcuts are bound to various key combinations.

The online documentation explains the application in more detail.

However, Mirage still miss some of xv’s features:

  • A grab function for turning windows into images.
  • The ability to convert and save images to another format.
  • A full-featured color editor window, especially the R/G/B/mono linearity adjustments.
  • The lack of a spinning clock as an indication of ongoing image processing.
  • Cropping via mouse clicks in the main window.

Some of these missing functions, such as image grab and convert, can be handled by external commands. Perhaps that is in line with the Mirage lightweight design philosophy, but the omissions come at the cost of user inconvenience.

Mirage is available in Debian Testing and Unstable, and in Ubuntu since Feisty. It is relatively bug-free and actively developed.

It has a nice look and feel, and performs very well for the basic job of viewing large collections of images.

Screenshots are available on Mirage homepage.

Keyjnote: presentation viewer with very nice graphical effects

published on Wed May 16 05:00:53 2007 in packages-news

Entry submitted by Frédéric Wagner. We are running out of articles ! Please help DPOTD and submit good articles about software you like !

keyjnote is an excellent presentation program with graphical effects that will make Apple’s Keynote users be jealous.

Keyjnote keeps the crunchy part of Keynote (fancy display), but doesn’t allow you to create your presentation. It enables you to display a PDF or images-based presentation, but you have to create the presentation with another tool, like the famous latex beamer extension. So you can use your favourite tool to build your presentation, rather than a lame point and click thingy.

Keyjnote allows the display of presentation slides in PDF format (or image files like a photo directory) both beautifully and efficiently. If you are familiar with xpdf -fullscreen, or evince’s presentation mode, you can think of keyjnote as “xpdf on steroids”.

Lots of different OpenGL effects are available for slide transitions, to give the viewers the opportunity to focus on the style instead of the content ;-) Jokes aside, some transitions may be a bit “too much”, but transitions like Crossfade and WipeCenterOut are light and beautiful.

Of course keyjnote is also full of nifty useful features and keyboard shortcuts :

  • an excellent overview screen for quick jumps inside the presentation (using the TAB key)
  • a zoom (z)
  • dynamic highlight boxes to highlight some part of a slide during presentation
  • a spotlight following mouse cursor (ENTER)
  • a fade to white to allow the use of the whiteboard under the projection (w), and also a fade to black (b)
  • possibility to bind audio files to given slides

Transitions can be defined in advance in a specific .info file. It should be noted that keyjnote works extremely well with beamer: it is rather easy to write a small script extracting .info files automatically from the .aux files generated by latex (this exercise will be left to the reader). I personally use the WipeCenterOut transition between slides and the Crossfade transition for animations on slides.

Finally, while keyjnote is command-line driven and scriptable, a Qt front-end called keyjnotegui exists but I personally do not find it very useful.

Keyjnote is available in Debian Testing and Unstable, and in Ubuntu Feisty.

Screenshots:

key3 key2 key1 oview trans

BTS subscription fixed

published on Sun May 13 23:20:55 2007 in news

The mechanism that allows to subscribe to bug reports in the Debian BTS has been broken for some time (how long exactly is unknown).

The problem only affected bug reports for which no "mailing list" existed yet. Basically what this means that if you subscribed to a bug report but never received a mail asking to confirm the subscription, you were not subscribed and will have missed any mails sent to that bug report.

Note that if you did receive a confirmation for your subscription to a bug report, you will not have missed any mails for that bug report due to this issue.

The system works again now. You will need to subscribe again for any subscriptions that were lost. You may also want to review the bug history in the BTS for those bug reports.

We apologize for any inconvenience this issue may have caused.

Frans Pop Debian Listmaster

MPGTX: Lossless editing of MPEG video

published on Sun May 13 05:00:19 2007 in packages-news

Entry submitted by William Tracy. We are running out of articles ! Please help DPOTD and submit good articles about software you like !

MPEG is the JPEG of the video world. It is a format that plays everywhere, and has built-in lossy compression. Unfortunately, that means that, also like a JPEG, if you open and edit an MPEG you will lose more and more quality with each save. Worse, since video files tend to be large, many people will take MPEG compression as far as it will go, creating files that look yucky to start with.

Mpgtx is a partial solution to the problem. It allows you to slice and splice videos without re-compressing them. The video quality and bit-rate (ratio of file size to the length of the movie) stay the same while you chop off the last thirty seconds of your home video or you stick two videos back to back.

This is a command-line utility. For example, mpgtx -j movie1.mpg movie2.mpg -o movie3.mpg creates a file movie3.mpg that consists of movie1.mpg and movie2.mpg back-to-back. mpgtx -s movie1.mpg [30-1:00] -o movie2.mpg creates a file movie2.mpg that includes everything in movie1.mpg from the thirty-second mark to the one-minute mark.

Support

Mpgtx is a shining example of what is so wonderful about Debian. The last update on the upstream website is over a year old —but new patches continue to go into the Debian package.

Several months ago, I ran into a bug in Mpgtx. My digital camera created MPEG files that caused Mpgtx to segfault. At first, I thought I was out of luck when I saw that the application’s maintainer had disappeared. Then I tried filing a bug report via Debian’s reportbug. Lo and behold, I got a response from the package’s maintainer, Erik Schanze. Within a few weeks, I had a working patch piping hot from the oven that fixed my problem. Mpgtx 1.3.1-3, which fixes my bug, is now available in Testing and Unstable.

Conclusion

Mpgtx is a handy little program. It isn’t useful for serious video editing, but it very nice for quickly hacking some already-compressed video that was supposed to be already "finished". It deserves a place in the tool-belt of any command-line-savvy multimedia artist.

Packages and Links

Mpgtx has been available as a Debian package since May 2001; it is present in Sarge, Etch and Lenny (I can’t find info about older releases). It is also present in every version of Ubuntu. For some reason, the package is under the "Sound" category, so look for it there with Aptitude or Synaptic.

Website: http://mpgtx.sourceforge.net/

DebConf7 accommodation

published on Fri May 11 18:25:00 2007 in debconf-news

As Moray blogged last week, there are spare beds in the hostel block booking. If you haven’t already written in ask for one, and you would like to stay with the sponsored DebConf attendees, please write to accommodation@debconf.org now. The plan is to close this option in about 24 hours, so please be prompt.

The spare beds will be allocated to people in the order emails are received; the price per night will be £12 (currently €17.60), which is a special reduced rate due to our large bookings.

Klipper: clipboard action trigger

published on Wed May 9 05:00:12 2007 in packages-news

Entry submitted by Benoit Peccatte. DPOTD needs your help, please contribute !

Are you a kde user? If you are, you should have this one, if you aren’t you should try it!

Klipper is a tool for associating an action to any content you put in the clipboard. It decides what action to activate based on a regular expression match. Thus you can associate actions to URLs for software that don’t support opening an URL, you can associate a path to your file browser…

Usage

This tool puts itself into the task bar waiting for your input. It is disabled by default. Note that the default settings are reasonable. Let’s look at an URL example. First activate the actions by clicking on the tool and select guess what.

Klipper menu

Now select something like “http://test.com” with your mouse. A menu appears that suggests some action. Just point and click.

Klipper actions menu

Configuration

Clipper is as simple to configure as it is to use. You just have to know what a regular expression is.

Klipper configuration
Here, “^https?://.” means anything that starts with “http://” or “https://”, then at least one character.

Klipper is available in Debian since Sarge, and in Ubuntu since Warty.

brightside: workspace switcher

published on Sun May 6 05:00:23 2007 in packages-news

Entry submitted by Jason Polak. DPOTD needs your help, please contribute !

This utility for the GNOME desktop allows you to switch between virtual desktops by moving the mouse cursor to the edge of the screen, as if dragging it to the next one beside it, and is a nice alternative to keyboard shortcuts for the more mouse-oriented user.

The configuration screen in the screen capture can be started by running the command brightside-properties. The command may also be in the System->Preferences under Screen Actions. To activate brightside when you log in, place the command brightside in the Startup programs list in System->Preferences->Sessions.

brightside

You can also assign actions to the corners of the screen such as stopping the screensaver or running your favorite mail client. This feature is sometimes buggy in that it does not always work when workspacing switching is also enabled, as sometimes desktop switching takes priority over starting an application.

The workspace or virtual desktop switching features works well with a solid feel, and moving the mouse across the screen is faster than having to click on the workspace switcher, or faster than using a keyboard shortcut if your hands are not placed on the keyboard.

Using the workspace switching function, applications can also be dragged along to the next virtual desktop. For best results with application dragging, move the application smoothly to the new desktop without stopping at the edge. This dragging feature does not work with XMMS and possibly other applications without a normal window border.

With the wrap around the workspace edges option, which is the last option in the screenshot, the first and last workspaces will also be connected, and using this feature with three virtual desktops allows you to access any virtual desktop by either moving the mouse to the left or right edge.

I installed this program after seeing a feature like this on another window manager, and I use it nearly every time I switch virtual desktops.

brightside has been available in Debian and Ubuntu for a long time

DebConf7 accommodation

published on Fri May 4 15:10:00 2007 in debconf-news

It looks like there are still a few spare beds in the hostel block booking for DebConf. So if you don’t have sponsored accommodation for DebConf, but would like to stay with other DebConf attendees, write to accommodation@debconf.org now.

The spare beds will be allocated to people in the order emails are received; the price per night will be £12 (currently €17.60), which is a special reduced rate due to our large bookings.

LPI exams during DebConf7

published on Wed May 2 21:51:00 2007 in debconf-news

As already announced, we’ve arranged for interested people to take LPI exams during DebConf7.

As the announcement says, you need to register for the exams in two places. First go to the LPI system to get an LPI-ID, and then register for this event, so the LPI people know how many attendees to expect, and for which of the 6 possible tests. (Ignore the MySQL ID, no MySQL certifications will be carried out).

You will see that there are currently two timeslots to choose from on 19 June, one at 10:00 and one at 14:00. This should be enough for the number of people we expect to show up, but if not we will arrange more slots with the LPI team.

As also stated in the announcement, there is a special pack available. If you registered for DebConf7 and also reconfirmed in time, you can take two LPI exams for only 95 EUR, which is less than one exam normally costs.

If you haven’t managed to register and reconfirm in time, don’t worry: the LPI exam will still be available at half the normal price.

Oh, and someone just asked: you can register for the LPI exams right up to the day they’re held at DebConf. Only the special pack is limited to those who registered and reconfirmed for DebConf in time…

meld: graphical tool to diff and merge files

published on Wed May 2 05:00:33 2007 in packages-news

Entry submitted by Bart van Kuik. DPOTD needs your help, please contribute!

Every now and then we need to see the differences between two files. You forgot exactly what you changed in that Perl script, or you’d like to check what changes the intern made in Apache’s configuration, et cetera.

For seeing changes between two files, diff used to be your friend for the command line. Although hard core hackers may disagree, diff its output takes quite a bit of exercise to parse with the human eye. And although diff has a side-by-side mode, a text terminal only offers so much freedom.

A graphical display offers much more possibilities and Meld tries to use them in an admirable fashion. It’s a utility that lets you graphically see the differences between two or three files. And unlike diff, Meld lets you edit (or merge) the files straight away. With the click of a mouse you can copy or move differences between files.

meld httpd.conf httpd.conf.default

Diffing httpd.conf

Pressing and holding the Shift key will change the arrows to crosses, which lets you swiftly delete the additions that the intern made. (After sternly speaking to the lad!).

If you’re a programmer, you probably store your files in a version control repository like Subversion or CVS. Meld supports this, too. On the command line, type:

meld my/project/directory

Meld recognises a directory that’s under version control and will display any changed files. Double-clicking the file will show the differences between the current file that you’ve been working on, and the file in the repository. Meld is tab-based, so the changes will appear in a separate tab, making it easy to quickly return to the directory overview.

Meld in a subversion local copy

Although it’s not documented, meld seems to supports bzr, CVS, darcs, mercurial, monotone and subversion. Meld packs more features not discussed here, like a mode which displays the differences between directories, multiple languages et cetera. I encourage you to just install the package and look around.

Alternate tools

In the project’s homepage, one can find a little comparison with other similar tools:

Kdiff3
Very good for large merges. Automatic merge facility.
Xxdiff
Has some nice features such as CVS unmerge and good scriptability. Does 2 and 3 way file comparison but only 2 way directory comparison.
TkDiff
Two way file only diff viewer. Depends only on tk.
GtkDiff
Gtk1.x diff tool. Project seems dead.

Meld has been available in Debian since Sarge and in Ubuntu since Warty. It depends on the Python scripting language.