May 2009 Archives

Just You and Me

| No Comments

MinMenu 0.11.0 Released

| No Comments
Source code for MinMenu 0.11.0 is available at http://indicium.us/cgi-bin/pages/get?view=minmenu. Binary installers are also available for the i386 and amd64 architectures.

I added a cool new feature to MinMenu that allows the end user to specify any command or program, and to have the standard output of the command or program displayed in the top left corner of the screen. The output displays in a line-by-line ticker style, at the speed specified by the user.

The specified command can be anything that can be called or interpreted by your local bourne shell, including more complicated commands with logical operators and pipes. So with a little creativity and shell-scripting wizardry, you could have practically any information you want feeding into the display.

Single Process Bandwidth Limiting on Linux - Sooooo Cool

| No Comments
There's this cool program in the Debian repositories that has been there for who knows how long, and some how I just found out about it. Its called trickle. Its a sort of wrapper, that allows you to limit the net-bandwidth usage of a single program (process).

This was a great find for me because I'm in the process of mirroring the Debian repository. (That is, copying the entire Debian software repository onto one of my PCs.) There's about 50 or so Gigabytes of data for my architectures, which obviously means a fairly long download as I only have a 1 Mb / sec connection. I could not afford to have my bandwidth completely consumed for days. But trickle allows me to run apt-mirror at 200 Kb / sec, leaving plenty of bandwidth for other activities.

To install in Debian, go root and run:

apt-get install trickle
And a usage example:

trickle -d 20 apt-get install armagetron
This will install the 3d game armagetron with the command "apt-get install armagetron) but will limit download bandwidth to (approximately) 20 KB / sec (that is about 160 Kb / sec).

Note: If you are running a program that spawns child processes, trickle will (from my experience) give the designated bandwidth to /each/ child process. Apt-mirror, for example, uses (by default) 20 wget child processes. So you would want to do the multiplication, and use a smaller bandwidth number for such a program.

How to Get a Core Dump in Linux

| No Comments
I believe this is fairly common knowledge among developers, but it still took a newbie like myself a while to find it on the Internet. If you need a core dump of the program you are developing, run the command

ulimit -c unlimited
Then run your program. The core dump file should appear afterwards in the same directory as the program/process being run. From what I understand, the core dump file will only be created if the process receives one of a certain set of signals which causes a core dump to be generated. Examples are SIGSEGV (11), which is sent when a seg-fault occurs. Or you can purposely send such a signal. See MAN KILL(1).

The -c switch specifies the maximum allowed size of the core dump file. So you may specify a maximum size if you are concerned about hard drive space limitations.

[Edit: I started one of my programs from a directory outside the program's directory, and the core dump appeared in the directory I launched the command from.]

Imaginary Numbers

| No Comments


Ah, Intermediate Algebra. Great fun.

MinMenu 0.10.0 Released

| No Comments
The source code for MinMenu 0.10.0 is available at http://indicium.us/cgi-bin/pages/get?view=minmenu.

The primary functional change is that the color themes for MinMenu have been moved into a separate plain-text file, which can be edited by the end user. End users may modify existing color themes or create new ones, and immediately select those themes from their local configuration file.

If you do create a color theme which you like, please e-mail it to me at webmaster@indicium.us, and it might be included with the main build of the program (under the terms of the GPLv3).

IMPORTANT NOTE: Version 0.10.0 utilizes a different configuration file arrangement. The original "$HOME/.minmenu" configuration file has been replaced with a "$HOME/.minmenu" directory where user configuration information is stored. You will need to remove the original "$HOME/.minmenu" config file if you are upgrading from a previous version, as well as the "/etc/minmenu" global file.

"Hello World" in 200+ Programming Languages

| No Comments
http://en.wikibooks.org/wiki/List_of_hello_world_programs

The previous links shows how to write "hello world" programs in over 200 different programming languages. My faves are, of course, are C and Perl.

Boy, it's been a while (fifth grade, I think) since I've used hypertalk, which is the scripting language for Apple's HyperCard. Aside from my early experiments with BASIC and with Turtle graphics, HyperCard was my first contact with programming.

The site blog for indicium.us.
Linux Projects
Online Games
Unsung Linux Games

RSS Feed

Powered by Movable Type 4.21-en
and GNU/Linux


Creative Commons License
The content of this blog is licensed under a Creative Commons Attribution-Share Alike 3.0 United States License. See my copyleft page for more details.