I’ve finally taken the time to prepare a website for all the various programs and scripts I’ve got in use here that the world might also find some use for. The address, right now, is http://random.zerodogg.org, though once I find some more imaginative name I’ll probably move it, but for now it’s random.
Everything mentioned is either GPLv3 (most of it) or GPLv2 (some of it).
I’ll write a quick word on the various new projects, and note those that I have moved from older websites to random.
This is just a collection of scripts I’ve had in use (and had uploaded for the world to download previoulsy, but never together nor on a proper website) that assists in various audio-related tasks. These are:
aac2ogg - a quick and dirty aac to ogg converter, using mplayer, faad and oggenc
wma2ogg - the same for wma, using mplayer and oggenc
reencode - a quick and dirty bash script that lets you re-encode an mp3 file to another bitrate. Useful for clearing up space on “mp3 players”, especially if you’re into audio-books, which can often have their bitrates drastically reduced and still be in a fairly decent quality.
This is a wallpaper randomizer for GNOME/Nautilus. It takes a list of wallpapers (a directory) and selects a random one. This can be done on a timer, or just once. It keeps a hitlist for how many times a wallpaper has been shown, and is more likely to pick those that have not been shown as often. It also lets you ban wallpapers, which will cause it to always ignore the wallpaper in question.
This is a quick script that assists in building LaTeX files. It can call latex or pdflatex, automatically spawn xdvi(k) or evince after building, and detect bibtex. It’s merely a utility script so that I can do “latexb file.tex” to build the LaTeX file properly in one go (it calls latex multiple times to ensure that everything is referenced properly).
This is a simple perl program that lets you monitor how fast a file is growing, displays information similar to that of download utilities like wget.
This program sorts your music collection. It puts them into nice directories (artist/album) and renames the files, so that everything is consistent. It can also let you delete dupes. It works on MP3, and OGG Vorbis-files.
This is my first python project. It builds a static XHTML-gallery from a set of images. It can work as a drop-in replacement of iGal and jGal.
Old stuff, new website:
This is a program that helps you translate PO-files from one similar language to another. Right now it can do automatic translation of for instance Norwegian Bokmål to Norwegian Nynorsk (you only have to read through them afterwards).
This is a quick program that lets you convert PDFs into a set of PNG files. It can also build HTML-files to go with the PNGs, for easy reading in a browser.
This is a simple command-line program that lets you look up words in the Norwegian computer translation dictionary. It’s useful if you don’t want to open firefox and search for words there all the time.
SSHMan is a simple ssh agent helper, along the lines of keychain. It does persistant management of ssh agents, will only ever prompt you for adding keys to the agent once, does not slow down logging into X and does not start when you’re logging in via ssh.
The upcoming Mandriva Linux 2008 Spring release will boast the easiest ever support for synchronizing with Windows Mobile 5 and 6 devices in any distribution. The adventurous can already try out the support in the current 2008 Spring pre-release repositories, by following the instructions here. Mandriva has uploaded a video demonstrating how easy it is to synchronize with a Windows Mobile 6 device right out of the box with Mandriva Linux 2008 Spring. Support is included for synchronizing with both KDE (KDE PIM) and GNOME (Evolution). Similarly easy synchronization is also possible with many Nokia phones and with Blackberry devices.
Following on from my last post - I cleaned up the Windows Mobile 5+ sync support even more, and tested that it works from a completely clean install of 2008 Spring. And then I made a video, and now I’m sending it to the world.
The video shows me installing the metapackage for WM5/6 + KDE support, creating a partnership (with synce-kpm) and running a demo synchronization (with KitchenSync). It’s riveting stuff, and it even has a voiceover. I’m sure it’ll make me rich and famous…
Testing on Cooker, it seems most people can get synchronization going with their device, which I count as a huge success given how pointlessly difficult this all was about five days ago. It also has exposed several minor bugs in, particularly, how KDE handles synchronized data, so I’ll be poking the KDE team to see if they can improve that. But it’s definitely a good feeling to leap right from the “well how do I do that, then?” phase to the “polishing and bug fixing” phase.
I also need to make a video for Nokia and Blackberry syncing, and see if I can fake enough C++ to get this KitchenSync module for nice easy GUI configuration of the Blackberry plugin written. Not sure if I can manage that, heh.
Video is below!
From the Algonquins of Barriere Lake:
We Need Donations and Supplies!
The federal Department of Indian Affairs has placed our community into what is called "Third Party Management" (TPM). This means our Customary Chief and Council have no say in how our First Nations' administrative affairs are managed. The Department of Indian Affairs (DIA) decides how our band funds are spent. We are trying to keep our Elementary School open on a volunteer basis, the Third Party Manager removed the certified teachers from our community on February 20, 2008, while we were trying to get negotiations started with DIA to get Algonquin language and culture into the curriculum and to have a role for our Education Committee in running the school. We need food for breakfast and lunch program we offer to the children who attend the school.
For SUPPLIES we need the following:
• White Flour
• Baking Powder
• Cooking Oil
• Dry Cereals
• Tomato Sauce
• Tomato Paste
• Canned Tomatoes
• White Peas
• White Beans
• White/Brown Sugar
• Soup Base
• Tea Bags
• Canned Milk 2%
• Canned Goods
• Powdered Juice
• Coffee Whitener
Other items: Toilet Paper, Kleenex, Batteries 'AA' Copying Paper, Pencils, Erasers, Note Books, Colored Construction Paper, HP Printer Cartridge # 21 and HP Printer Cartridge #56.
If you can provide a cash donation towards milk, eggs, meat, etc. please contact Marylynn Poucachiche at (819) 423-2113.
You can write to the . . . federal Ministers calling on them to stop trying to illegally replace our leadership and honour the signed agreements they entered into with SQ surrounding community members who are trying to defend the community from the DIA puppet dissident group.
• Prime Minister Stephan Harper
• Chuck Strahl, Minister of Indian & Northern Affairs Canada
• Lawrence Cannon, Local Member of Parliament responsible for our Reserve and Minister of Transport, Infrastructure and Communities
You can write to the following Quebec Ministers calling on them to stop the federal governments attempt to try to illegally replace our leadership and honour the signed agreements they entered into with our First Nation:
• Premier Jean Charest, Government of Quebec
• Benoit Pelletier, Quebec Minister Responsible for Native Affairs
Read more about what's happening in the attached document "ABL Call for Help"...
Free a donc visiblement commencé à annoncer des préfixes sur leur /26 (2a01:e00::/26 FR-PROXAD-20080121 qui va remplacer le /32 précedent, 2a01:5d8::/32 FR-PROXAD-20071108).
La bonne nouvelle c'est un petit changement dans les préfixes annoncés, même si ca reste des /64 :
Donc l'ipv4 a été décalée de 4 bits vers la gauche, ce qui signifie qu'il y a maintenant un /60 par ipv4 !
Un test rapide par un copain indique que tout le /60 est bien routé vers ma freebox.
Il reste à savoir comment ça sera géré, mais ça va faire plaisir aux gens qui ont un routeur derrière la freebox.
This week’s TechMail is Set up a TFTP server for easy network boots and firmware upgrades, which pretty much explains the process of setting up your own TFTP server. I had to figure this one out a while ago in order to upgrade the firmware on a Netgear router I bought from a friend, so I definitely know how useful this can be.
En zo gaat er een half jaar voorbij zonder dat ik een blogje schrijf.
Intussen ben ik verhuisd en dit is mijn nieuwe huiskamer:
Verder is er het goede nieuws dat er een nieuwe versie van Gnome uit is! Natuurlijk is de Gnome-webbrowser Epiphany ook weer een stukje verder verbeterd.
So somehow, last night and today, I’ve more or less dropped everything else and been working on making it *really easy* to use Windows Mobile 5 and 6 devices connected via USB in 2008 Spring. Happily, I’m making a lot of progress.
This was the state of play as of a couple of days ago:
Nothing at all worked because the kernel modules didn’t have the necessary code to handle WM5 / 6 devices.
If you fixed that, sync-engine wouldn’t run as it couldn’t create a default config file.
If you fixed that, it wouldn’t remember any partnerships you created across sync-engine restarts or device reconnections, so you had to keep creating new ones.
sync-engine wouldn’t run when needed, it had to be run manually.
odccm wasn’t set up to start by default and was missing some dependencies in its initscript.
synce-kpm, the best graphical tool for setting up sync partnerships and installing software on devices, wasn’t packaged.
there were no metapackages to ease the pain of getting the necessary stuff installed.
we had opensync 0.36, which is entirely broken.
and on, and on, there’s lots of other things I’ve fixed.
Now, I’ve fixed bugs, added a dbus activation script so sync-engine is run when anything tries to activate it, fixed odccm’s initscript, packaged synce-kpm and added an autostart file so it runs when you log in, created metapackages, and reverted opensync to 0.22, which works…and lots of other stuff i don’t even remember. it’s late. Adam Pigg suggested the odccm stuff. Thomas Backlund added the kernel module fixes to kernel-tmb. John Carr suggested the sync-engine dbus activation trick, for which I’m forever grateful.
there’s still lots of rough edges to sand off, but I can see the light at the end of the tunnel. On my own system, with a clean test user, I was able to log in to KDE, plug in my phone, configure a partnership (with kpm), set up a synchronization (with kitchensync), and actually do a successful sync - all without touching a console. Given that the status yesterday was “just don’t bother”, I consider this pretty good progress.
I’m hoping to have this working really smoothly for final release, so you can just install a single metapackage, restart your session, plug in your phone, and set up a sync really easily. I may also get time to look at Blackberry, Nokia and Sony Ericsson sync too (those are the other devices I have on hand).
I like being able to work on really useful stuff like this
“What is nash-hotplug and why is it consuming 100% CPU?“, someone asked in a Xen-related message I found after experiencing similar problems booting Mandriva 2008.1 with finit in the Asus Eeepc. This situation seems to be especially common in different Linux distributions running as Xen guests and the usual advice is to just kill nash-plugin after the system boots. Instead of doing that ugly workaround, we decided to investigate and find out what’s happening. Whatever nash-hotplug is supposed to do, I can’t say it keeps running consuming 100% of your cpu because it’s a well-written program (notice the bizarre IPC protocol, how it tries to read from a descriptor after closing it and how easily it can get trapped in infinite loops). Use the following quick fix to avoid the problem.
Die, nash, die.
Happy easter holidays btw! :)
Yaf(a)ray is a project created trying to renew Yafray code. Since its start, it has been proven to provide better results than Yafray do. Its main usage is together with Blender, and for that to work some parts of the blender’s yafray export plugin need to be replaced.Some weeks ago Blender developers have changed the way vertices, edges and faces are stored for a given scene, and that simply broke Yaf(a)ray. After spending some time on that, I could get it to work (using this patch) and now I can continue my studies on that :)Here a sample image I’ve done using blender’s fluid simulation. The image itself is very crude and unpolished, but at least it can prove yaf(a)ray is working again:
For the ones who got interested, I’ve rendered a small animation of the fluid simulation in action.
Hopefully I’ll have some more results to show soon.
UPDATE: As pointed by Thomas Zander, I didn’t mention what Yafray is, so here’s a brief introduction: Yafray is a modular raytracer (RayTracing is a technic for image synthesis in which you trace rays from the viewer to the scene until it hits an object from the scene and recursivelly trace reflected and refracted rays that hit specular objects) that supports some global illumination technics.
Besides it being a good raytracer, its current design and implementation was very complicated when it comes to add new rendering technics. That was the reason Yaf(a)ray was created: it already has support for more global illumination algorithms and also its performance has already been improved.
Un chaton, ça ne reste pas un chaton longtemps. En plus c'est con ces bêtes là, ça ne pose pas pour la photo, ça ne sourit pas. Alors quand les premières photos sont ratées, et que depuis le bestiau a grandi, il ne reste plus que l'informatique pour sauver les choses... C'est là qu'interviennent GIMP et son plugin GREYcstoration. Les images parlent d'elles mêmes:L'original :
Final Gnome 2.22 packages are landing in Cooker repositories, this means that the announce for Gnome 2.22 will come shortly. People willing to test new Gnome 2.22 will just need to install Cooker or Mandriva 2008.1 RC1 and install the task-gnome or the task-gnome-minimal package.
Some posts or web articles I found interesting to read :
GNOME Suggestions from 2006 : This post details some suggestions done by some users at London LinuxWorld in October 2006. Some of them are pretty interestings like :
- Browse mode as default ( in nautilus ) : indeed unless the desktop shown by nautilus is $HOME and there's good desktop search integration ( i.e ability to save queries with desktop shorcuts, pre-configured queries for multimedia stuff, ability to browse search results within nautilus ), spatial navigation with nautilus is somewhat useless and unconvenient. To make your Desktop being your home dir, please set to true the gconf key apps/nautilus/preferences/desktop_is_home_dir. For furthers informations please read the following links : How to Deal with the Spatial Paradigm, Spatial mode guide, Le mode spatial de Gnome 2.6 (bis repetita), [Bug 35197] Use "Browser" mode instead of "Spatial" mode for nautilus
- Tabs in nautilus
- Scaling all desktop icons simultanously : i.e a way to increase all desktop icons size from gnome control center
- Reset option for panel to restart from scratch : indeed when you have issues with gnome panels and some applets, you need to erase manually the files in ~/.gnome2/panel2.d/ and ~/.gconf/apps/panel
- Firefox 3 with Profile-Guided Optimization = Speeding ticket : Interesting read about some FF3 optimisations by using a new GCC feature. You may want to read some others links specifics to memory allocation optimisation under Firefox 3. FF3 switched to jemalloc in order to reduce memory fragmentation while keeping a fast memory allocation mecanism, this allow to consume in fact less memory and have a faster Firefox : Improving malloc() locality, jemalloc, A Scalable Concurrent malloc(3) Implementation for FreeBSD ( jemalloc ),
- Line Length, Volume, and Density : this posts explain why having less than 85 caracters by line allow more readable code. Very interesting read. You may want to read the following articles to go further in best coding practices : Designing Klingon Warships Using Behaviour Driven Development ,Improve performace: check your loops, Writing Code is Like Doing the Dishes (5 Reasons Why Documenting Your Code Makes You a Better Coder), What We Can Learn about Software Development from a Failing Restaurant, Do you develop a website? It is infinitely better to synchronize live and development sites using the PEAR Installer
- Social Wallpapering : A ressource of great wallpapers for computers. I take the links from Béranger blog. Maybe Mandriva could include some of theses wallpapers in the default set of provided wallpapers ... This could allow to solve somes issues pointed out by Thomas Lottmann in his review
- Back up Linux with ease : This article talks about Backerupper which allow to easily backup your linux. IMHO the UI of Backerupper is very simple to use, and on top of that they don't try to present all cron possibilities for scheduling which is IMHO a good choice. Indeed cron can do many things, but trying to translate this in an UI will give you something very clumsy. For a personnal backup tool, you don't need complicated backup scheduling options. Most of the time you want to backup each x days at an precise hour or each x hours or eventually each week from day Y to day Z. This is somewhat easier in this case to provide a UI to schedule this ( cf evolution, korganiser, google agenda ). This tool may be an inspiration for draksnapshot.
- Recording sounds for Impress slides with eVoice : A pretty interesting extension for OpenOffice.org which allow to record voices which will be inserted in Impress. By the way, maybe Mandriva could ship by defaults some populars OpenOffice.org extensions ? The same for Firefox ...
4 years ago, I visited Vietnam but I had a big problem with my digicam at that time. Just before the trip, I bought a microdrive 2GB (second hand) and changed my camera from an old Powershot A20 to Powershot S50 (only Canon compact camera to handle microdrives at that time). And I did a newbie mistake :"ok, with one 2GB card, I'll have plenty of space for the entire trip". And of course, the card died on the 4th day of my 2-week trip (and I was fortunate to travel with other people who lend me additional cards I unload quite often to CD-R in various Internet shops across Vietnam).
When I came back, I tried to access the card with my card reader but kernel was not seeing anything. But I never dumped the card, thinking "one day, I'll send it to a recovery company if it doesn't cost too much".
And today, I thought : why not try again, since I heard good opinions about PhotoRec (I quickly met its author at Solutions Linux last month). And guess what : it worked !!
I started PhotoRec in "scan the entire drive" mode and it found 159 files. Then I tried to mount the drive as a FAT partition and it also worked (maybe kernel code for vfat or for usb retry became more robust since last time I checked) and recovered 155 files.
For now, I've been able to confirm 139 files as valid (retrieved by both PhotoRec and direct mount access, with identical md5sum). I have 16 files from "mount method" which have different md5sum as their PhotoRec counterparts. According to file naming, I'm still missing 54 files but I think I have removed them during my trip.
So, I had to dig a little into Photorec recoved files ; some files contains additional padding or even start of next file on disk, after last JPEG end mark (FFD9), which is changing file md5sum. I confirmed 15 files from "mount method" had similar md5sum than PhotoRec files, truncated with help of Hexedit. The last one has only a partial recovery version from counterpart from PhotoRec recovery
Fortunately, I found interesting informations on PhotoRec website, such as file numbering being included in Canon EXIF JPEG file (Canon maker tag 0008, see here or use exiv2 and check image number field), which helped me to fill gaps in the PhotoRec recovered files.
According to file naming/numbering, 54 files are missing but I think I have removed them during my trip, when I discovered photos were bad.
In short, I've been able to recover all files from my damaged microdrive (I don't know yet if I'll dump it in the trash or keep it as a souvenir), thanks to PhotoRec. For people interested, I've uploaded those pictures to my Flickr account (I haven't sorted them, despite my recent decision to try to only upload selected photos Flickr, but I want to be sure those specific pictures are hosted in several physical locations ;), and I've tagged them with photorec tag.
Previous Mandriva versions were using an icon featuring the mandriva logo and the text for menu. Unfortunately this icon was big, and when kicker size was set to "normal", the icon was consuming a lot of space ( cf bug #29080 ). Now finally, with the 2008.1 Spring, the menu icon will keep a small size even when increasing kicker height. This means that more space could be used for shortcuts or taskbar :) Béranger will be happy ;-)
In my enterprise, all the workstations and most of the laptops are running Linux Mandriva. However we need Windows for 2 applications ( BIG Harvest financial simulation, and remote access using ActiveX to accountant ). Previously 2 computers were dual-booting Windows and Linux to allow to use this. Really, having 2 Windows on my network was too much for me ;). So I decide to setup a Virtual Machine running Windows 2k server and using RDP and/or VNC for remote access. At first, I planned to use VirtualBox, but it seems that with the free version I can't have a headless virtual machine. So I decide to use Vmware Server instead.
Vmware Server is free ( contrary to VmWare Workstation ) but is not OpenSource. However VMWare allow fast running and headless virtual machine, and network bridging is very simple. To begin, I download Vmware Server beta 2, as I was willing to test the new VmWare feature. A rpm package is available on VMWare website. You just need to download the rpm and install it with rpm -Uvh like this :
rpm -Uvh VMware-server-e.x.p-63231.i386.rpm
Don't forget to install your kernel headers files :
urpmi kernel-server-devel-latest kernel-server-latest
After a reboot to the new kernel, you need to configure VMWare by launching
/usr/bin/vmware-config.pland answers the question. As VMWare server 2 is using a web interface for the management, I decide to use the ports 8222 ( HTTP ), and 8333 ( HTTPS ) for web connection in order to not have a possible conflict with Apache. Once done, you just need to connect with your browser at the following address : https://127.0.0.1:8333 and use your local root account settings to connect.
Note : If it doesn't work, this may be due to the fact that you have IPv6 enabled. To disable IPv6, adding NETWORKING_IPV6=no in /etc/sysconfig/network will not work ( cf bug #38662 ), you will have to add in /etc/modprobe.conf the following line :
install ipv6 /bin/true
Then you need to restart your computer, and remove VMWare Server to reinstall it. To remove it :
Once you have reinstalled VMWare Server and reconfigured it, you will have to check the config files in /etc/vmware/hostd/ . Indeed the script vmware-config.pl will not overwrite the old config files, and will create files prefixed by NEW_. You will have to replace the old config files manually.
The web interface is a little bit slow IMHO. Creating a Virtual machine is easy. To see the virtual machine display, you will have to install the plugin for VMWare web remote connection. This plugins seems to work under Linux and Mozilla Firefox. However as I was connected through ssh, I couldn't see the virtual machine display because it fails to open the display. When modifying settings, and if you want to restart VMWare server, don't forget to restart also the xinetd service :
service xinetd restart service vmware restart
However as the web interface was really slow ( and I couldn't see the virtual machine output ), I decide to use VMWare Server 1 instead.
Installing VMWare Server 1 is really easy. Once you have removed all VMWare Server 2 files and packages, you just need to download the rpm package "VMware Server for Linux" and install it like this :
urpmi perl-devel rpm -Uvh VMware-server-1.0.4-56528.i386.rpm
Then as usual, configure VMWare with vmware-config.pl. On my computer it failed to create the desktop file for the menu entry : you will have to launch the VMWare console with /usr/bin/vmware. Please note that when launched from a ssh remote session, you won't be able to see the virtual machine display. To do so, you'd better install the VMWare console on your client computer.
For this, you will download "VMware Server Linux client package" which is in zip, then you will do the following : urpmi perl-devel unzip unzip VMware-server-linux-client-1.0.4-56528.zip rpm -Uvh VMware-server-console-1.0.4-56528.i386.rpm /usr/bin/vmware-config-server-console.pl
Once installed, you will be able to launch it with /usr/bin/vmware-server-console. If you want to create a shortcut on the desktop or taskbar, you will find the VMWare icon in "/usr/share/doc/vmware-server-console/". Now you will be able to connect remotely to your VMWare Server. You will also be able to start your VM and quit VMWare Console while the VM will keep running on the server.
Now that I have fixed a very annoying but simple to fix bug in Flickr::Upload, my other Taiwan photos are arriving much faster :)