Posts for Tuesday, September 1, 2009

Exherbo Repository


My would be repository, as far as I can tell, has everything it needs now in order for paludis to actually pick up and install things from it. Granted, at this point it only has three exheres in it, and granted, only two of them will work. But none the less it is there and you can use it.

the steveno repo

Again, suggestions, hints, and corrections are welcome.

Enjoy the Penguins!

avatar

Rapid Fire

Some things that didn’t make it into a thinkMoult post. In no particular order. Sometimes posts like these are mandatory.

  • Wipup.org is now functional and running, albeit very unfinished. Our social desktop submission stands at 68% and we welcome you to contribute your vote.
  • Kamal has joined the Eadrax team from the graphics side to replace Chris Peters.
  • I have the privilege of being a beta-tester on Lockerz, a site where you earn points through doing activities and can exchange these for real-life merchandise. It’s legit and looks quite spiffy. Leave a comment if you want me to send you an invite.
  • The first 5 portfolio entries on the carousel have been linked properly to their respective items. Go on, try click them.
  • 10 or so new submissions have been added to the Blender Model Repository.
  • A one-hour speech to a small group of 50-60 people on education and communities.
  • School has started and I finally received my badge for the International Award Silver Level (they forgot to give it last time and I only got the certificate) – hopefully I’ll get my gold before the end of this year.
  • A lovely new set of material to use for portfolio creation after some full time work-experience at an architecture firm.
  • An attempt to cook with my Dad that ended up in spaghetti being burned. Yes, with flames and everything – I didn’t even know that was possible.

… and of course all the usual routine stuff with a hilarious schedule – but then again, you already knew that.

Related posts:

  1. Blender Suzanne Awards announced.
  2. Back from the Jungle
  3. What’s new 18th July 09

Posts for Monday, August 31, 2009

Tools for prototyping

Yesterday I sat in a meeting where we looked at a prototype modelling something that we had come up in an earlier workshop. The prototype is necessary cause it's not obvious whether the model we came up with works (well enough) to be of use to us, we had to check our assumptions basically.

One of the participants put quite a lot of work into the prototype so we could check out results, the prototype kinda integrated with some sort of metamodelling framework in JAVA so the class diagram was a mess (not cause of bad modelling on his part but just cause of all the hoops he had to jump through to get stuff going).

It was one of those moments where you realize something consciously that you always knew but never properly phrased: You need some sort of prototyping tool for your area of expertise or you will waste a lot of time and/or create bad results.

Prototyping is something completely different than "proper" development. Let's look at software as an example: If I write software to try out something the internal design, the architecture isn't all that relevant, I just slap enough code together that I can validate or invalidate my assumptions, not one line more. In prototyping there's no "ugly code", no "wrong" cause they are basically just tests that are gonna be thrown away later anyways. After I have validated my assumptions I then start from scratch and design a "proper" solution, that does things right.

We are lazy and the idea of throwing away code scares many people: "Why would I write something again that already worked? That sounds like twice the work!" is something you might hear from these people. This train of thought is based on the wrong assumptions.

More often than not it's a bad idea to carry the code from your prototype over to the proper implementation. All the corners you cut when prototyping will get expensive code dept in your "proper" design.

Prototyping is about quicklygetting results. That also means that some technologies work better than others: If you design interfaces for your software for example, prototyping on paper is about the fastest and most useful tool you can ever have. Using a GUI-editor to click together interfaces is second and writing real "code" to create a GUI is way last. Paper gets results quickly, it's easy to change stuff, to develop ideas and change details, it's easy to rearrange things. When you want to write prototypical code, don't use something like C++ or JAVA cause you have to deal with too much "administration" and "code bureaucracy" in order to get shit done. Use something dynamic, fast that gives you a bunch of building blocks that you loosely throw together to check whether an idea works. Use Python, Ruby, Prolog, whatever dynamic tool floats your boat and gets stuff done quickly, even if you subscribe to the belief that static typing is somehow a good thing. Actually, especially then.

Thinking back to the wide array of classes on the diagram yesterday I wonder how much more could have been done using a proper prototyping tool for the job. How much easier some quick fixes would have been to check some other idea.

If you develop anything you will have to prototype at some point. If you don't have the proper toolset to do that you will waste your time running in the wrong direction. Look at your own design process. Do you have proper tools to prototype really quickly? If not, find some now. Learn their ins and outs. You'll be thankful when your next project comes.
avatar

Xen Hypervisor Nullmodem Connection

Been playing about with the rebase/master xen git branch again today to see if I can get it to boot my Gentoo xen setup. No luck, still the same panic on boot, so I decided to find out how to capture the output.

Grabbing the output from the kernel is simple: Add “console=tty0 console=ttyS0″ to your kernel command line. Then cat ttyS0 on the other end. For more details, there’s the TDLP Remove Serial Console Howto

Getting the Xen hypervisor to do something similar was slightly trickier. Turns out you have to use minicom, or all you get is a string of control codes. After some help from ##xen on Freenode, I was able to find OpenSuse Wiki: How to capture Xen hypervisor and kernel messages using a serial cable.

I can now get Xen output - however it seems to block the kernel output, so it’s one or the other at the moment. Would be nice if I can find out how to get both (kernel and hypervisor) working at the same time.

Posts for Sunday, August 30, 2009

Apple Trailers Fix


Header

As some of you may have found out or read about, Apple trailer downloads for Linux are currently broken. Apple has implemented a Quicktime user agent check prior to downloading. Personally I agree with the decision because Apple is concerned about the quality of reproduction (though Apple trailers still play with an odd hue on Windows – think this has to do with Quicktime not correctly reading Window’s color setting – but I’m getting off topic). This means that movie players plugins for web browsers (like gecko-mediaplayer and totem) will no longer work. Until gstreamer gets a patch that fix’s this, here’s a script that can download them manually.

#!/bin/bash # atget - download trailers from Apple website # Usage if no parameters given if [ -z $@ ]; then echo "atget apple-trailer-url"; exit fi # Prepend 'h' before resolution to create a valid url newurl=$(echo $@ | sed 's/_\([0-9]*[0-9][0-9][0-9]\)p.mov/_h\1p.mov/g') # Download trailer and save to the desktop wget -U QuickTime/7.6.2 "$newurl" -O $HOME/Desktop/${@##*/} # Play trailer with mplayer (using 200MB cache to be sure trailer is dl'd first) #mplayer -cache 200000 -user-agent 'QuickTime/7.6.2 (qtver=7.6.2;os=Windows NT 5.1Service Pack 3)' $newurl

You can comment wget line and uncomment the mplayer line to directly play the trailer. The mplayer line needs to have a cache to be sure the video is downloaded before it start or errors will occur (200MB should be enough for just about and video on the site). Watching trailers is a fix for me, so hopefully this will help you too.

Credits

Thanks to Ian on stack overflow, who help me figure out how to prepend a regex search.

Falcon and Exherbo updates


Thanks to this guy, you can now learn about setting up Vim for use with the falcon programming language on Falcon’s site. Which I must admit I broke the first day I had access too. I’m back to that “feeling like a tool” comment I made a couple of posts ago. I created a separate filetype plugin and detection script for vim. So now vim will properly detect and use falcon source code. The filetype.vim code I have is correct, and works, but using the separate files works better. You can naturally find them all on my github site in their respective directories. If you would rather download them from vim’s website, they are here.

I have not created exheres for these new files yet. No real reason why not at this point. I would like to create a single exheres to setup all the vim scripts needed to use falcon. But, looking at the examples on Exherbo’s git repository, I have not setup mine correctly. I assume there is a way around it, I just haven’t found it yet. Speaking of which the dev-lang exheres, while in much better shape now, still doesn’t do anything. Any suggestions on any of this would be much appreciated.

Enjoy the Penguins!

avatar

Good riddance, Twitter.

Twitter has successfully put the “Twit” in “Twitter”. Some people realised that I apparently vanished off the face of the Earth on Twitter. I realised that I used Twitter in a way that was better served through other methods. I followed people/groups in order to keep up with tech news, and mainly “tweeted” in order to alert others of new updates on my various projects.

The first is obviously a crappy function duplication of the RSS aggregator – except for lazy people. The people that I were following that weren’t simply news corporations were, quite frankly, idiots. Well, idiots on Twitter.

No. I don’t want to hear about the weather, no matter how you choose to describe it. I don’t care for parrots who simply re-tweet everything. I especially don’t want to hear about your depressing thoughts described in the most enigmatic and bullshit words possible.

What I do like however is people who can readily distinguish between reality and their own little fantasy world and know which of those other people like to know about. Once that distinction is made I’d like further categorisation for time-wasters and useful information. Sad to say that I didn’t really see anything in the “useful information” column outside news companies – who reported real people doing real things that made real impacts.

As interesting as technology might be, the Internet is the nine-years consecutive winner of the “stupid content” award. If you don’t believe me, take a look at this blog post, which lists the most popular alphabetically listed search terms on Google after “I like to”, including my all-time favourites “I like to tape my thumbs to my hands to see what it would be like to be a dinosaur” and “I like to think of Jesus as a mischievous badger“. So-called Social Networks like Twitter are propagating this nonsense and it stands to reason that my Tweets were being read by similar idiots. Or not read at all.

Suffice to say that my account was better off being nonexistent. I wish to disassociate myself from this crowd and remain close to my ideals.

Related posts:

  1. Twit-to-who?
  2. The end is nigh!
  3. Blender Suzanne Awards announced.

Kontact/KMail/KOrganizer <-> Thunderbird/Sunbird conversion

As I'm (again) without my own laptop, I depend (again) on PortableApps.

This means that I use Thunderbird and Sunbird (or rather the Lightning plugin for Thunderbird) to cover my PIM needs. The question now is does anyone know if it's possible (and how) to:

  • import Thunderbird's sentbox to KMail
  • import Thunderbird's inbox; although I can just POP the inbox from the server itself, but having it marked that it's already read, replied to and/or important would be nice without having to do it again in KMail
  • sync Sunbird's/Lightning's calendars and tasks with KOrganizer's (importing KOrganizer's iCal files into Lightning failed already for me)

So, dear lazyweb, if anyone has any tips on how to do that, I'll be glad if you'd share.

hook out >> studying and listening to the latest hip-hop album on BlocSonic
<!--break-->

Posts for Saturday, August 29, 2009

Looking for KDE minions

As the title says I'm looking for a few people to help maintain the KDE packages in Exherbo.

I'm looking for people who's going to actively work on resolving bugs and problems as well make sure we have all the latest packages versions in the KDE repository. Part of the work requires working closely with KDE upstream as you'll be filing bugs and patches upstream as well as applying upstream patches to our packages. We try to stay as close as possible to upstream and I don't expect too many problems from this work.

Standard Exherbo benefits includes:
- The  very cute Exherbo mascot (yes, even as a frequent contributer you can use Zebrapig any way you like as long as you respect the Creative Commons Attribution Share Alike 3.0 license)
- Verbal abuse from Ingmar Vanhassel and myself every time you screw something up
- Your 15 minutes of fame spend on a relatively small open source project

and finally

- You get to pick your own theme song as long as you keep it yourself

So stop being so lazy and step up to this monumental task now :)

Oh, you also get a few other minor things of course..
- Get to hang around some very cool and friendly guys (collectively known as the Exherbo contributors)
- Learn way more about packaging problems in Linux distributions than you ever wanted to
- Move up the hierarchy of open source developers due to your contributions, often helped by other Exherbo contributors

Please contact kloeri (myself) or Ingmar in the #exherbo-kde channel if you're interested in helping and we'll figure out how to get you involved in the KDE/Exherbo work.
avatar

Sibelius, Finale, Cakewalk? Real men use Lilypond.

Some of the old-timers on this site might recognise the title’s startling similarity to the introductory article I wrote about LaTeX. I received some questions on how I created the music sheet in the previous post about my upcoming composition, Evan, and the answer is: with Lilypond.

As you’ve probably guessed already, Lilypond is a markup language, just like LaTeX. You don’t use a graphical user interface to insert your notes, rests, and whatnot, but instead just code it into a plain text file and convert it to a, let’s say PDF format when you’re ready to view it.

lily-1f1cc0c4

Music scores are complex. Much, much more complex than your word documents. You might have a good deal of fun formatting wizardry going around with LaTeX, but with music, you have notes, you have staffs, bars, stems, different symbols, different types of annotations, clusters, rests, expression markings, decoration (stuff like trills etc), and don’t even get me started on modern music. A score of a modern music piece is probably a piece of art in itself, my stemless notes, dotted barlines and lack of a time signature in my previous post being nothing compared to what’s out there. All of this has to be pieced together in a readable format, whilst still giving the composer flexibility to modify the score to put whatever they wants.

If anybody here has used the famous notation softwares out there such as Sibelius or Finale, it’s quick and easy to learn but a pain when you get to decently complex scores. You also quickly realise that the stuff you produce on there definitely looks nothing professional and mediocre at best. If you consider creating a score, for, let’s say an orchestral piece, you’d not want to continue using these traditional programs.

2009-08-26-232355_1280x800_scrot

Take for example that score above. It’s of decent complexity and created using lilypond. Attempt something like that in other programs and you’d fail horribly.

Lilypond is like LaTeX. You tell it what your score will contain, and Lilypond will work out the best way to format it. That’s the best thing - it ensures readability, something vital in any score and a real pain to do manually. Here is a simple example, as a picture speaks a thousand words:

2009-08-26-232958_1280x800_scrot

Lilypond is flexible. It allows you to notate very modern pieces with weird artifacts such as, in my own piece missing stems. Of course you may even have missing notes, or even stems that branch out or waving lines to symbolise a direction. (please, don’t just add these for the fun of it, you need to know why and when they should be used and more importantly how to use them)

2009-08-26-234829_1280x800_scrot

It’s also fast. Don’t believe me if you want to, but I would honestly say that creating a score in Lilypond is faster than other software (well, LaTeX in my opinion is also faster than Word Processors). Not only can you chunk in notes as fast as you can possibly type them (and you get used to how to input notes very quickly), you can also use variables. If you have a repeating section of a piece, you can just assign it to a variable, just like in math you can say x = 5, and whenever you want to use that section, or in math, the number 5, you just dump the variable and it does it all automatically.

One other feature some might consider a plus point is that it can output the score in midi format. My personal view is that midi should be marked illegal and anybody who uses it be sent straight to prison, because it sounds like crap and effectively slaughters the beauty of the piece, but – well, it does it anyway if you tell it to.

flat-design

It’s hard to fully appreciate the capabilities that Lilypond provides but I’d like to stress one: readability. Lilypond takes this very seriously. Just as music has evolved through the ages so has scorewriting, and Lilypond really adds that professional feel to whatever score you produce. If you create scores, I would recommend it.

All well and good, but how do I start using Lilypond?

Just like LaTeX it doesn’t matter if you’re on Windows, Mac or Linux. Lilypond works cross-platform and doesn’t charge a buck. First you’d want to hop over to their website, and proceed to the download page. Their website looks as though somebody ate the stylesheet, but nevertheless I can assure you that the program definitely has style. You’d then want to start reading the documentation.

You’d want to read that documentation carefully and ensure you understand what’s going on especially if you’re new to markup languages. Go through step by step – it contains many cross-links but I would recommend just doing it in the order it presents itself in. I cannot say the first score you ever produce with Lilypond will be up and running within 5 minutes, but you’ll get used to it, and when you do, you’ll be really glad you did.

Note (no pun intended): the images were shamelessly ripped off various parts of their site, but all with good promotional intention.

Related posts:

  1. Word Processing? Real Men use LaTeX!
  2. Composition in progress: Evan
  3. A little introduction to MP3s

Posts for Friday, August 28, 2009

PulseAudio Foray

I’ve taken then plunge: I just installed PulseAudio (PA) and related tools (on Gentoo). A lot of users are vehemently anti, stating numerous complications and bugs, but its potential advantages for networked audio are attractive.

Evidently KMix is supposed to support PA, but it still only shows the alsa devices. I suspect this is related to when PA is loaded, and currently I do not have any user-space loader. What’s the optimal way for this to happen in KDE? An autostart entry? Symlinking some mysterious file to kde’s env directory? All the forum posts are for older KDE versions. Phonon works so far though. All the PA apps are GTK/GConf based, and aren’t very KDE friendly, and generally it seems like KDE has neglected PA support, or PA has neglected KDE support. They simply aren’t very pretty together. What are the plans for integrating KDE and PA a little bit more closely?

I’m using a Macbook as a print server, printing to it from my Linux box, and everything is simple because they both use CUPS. However, I’m having a bit of trouble streaming audio to it. I can’t seem to build PA on OSX, and I don’t even think OSX is officially supported by PA. I tried installing ESD using MacPorts and using PA’s bridge for that, but it played a half a second of sound before skipping. ESD doesn’t do good latency calculations. PA supports streaming to Airport Express, so I thought I’d try out Airfoil Speakers, but unfortunately, Airfoil uses a different protocol. So I’m not sure what to do now… How do I send PA to my Macbook?

PA also doesn’t work well with Skype, and I anticipate some other problems as well. What a hassle. Why the bad integration with KDE? Why the numerous bugs? Any PA tips from veteran readers?

avatar

how to use encrypted loop files with a gpg passphrase in Debian

Fast howto (mostly a note for personal use) on what’s needed on Debian to use an encrypted loop:

1. The necessary utilities (patched losetup)
# aptitude install loop-aes-utils
2. The necessary kernel-module
# aptitude install loop-aes-modules-2.6.30-1-686-bigmem
3. Create the keyfile (keep your computer as busy as possible while doing this to increase entropy)
# head -c 2925 /dev/urandom | uuencode -m - | head -n 66 | tail -n 65| gpg --symmetric -a >/path/to/keyfile.gpg
4. Loopfile creation (10Mb)
# dd if=/dev/urandom of=/my-encrypted-loop.aes bs=1k count=10000
5. Initialize loopfile
# losetup -K /path/to/keyfile.gpg -e AES256 /dev/loop5 /home/username/crypto-loop.img
6. Format loopfile
# mke2fs /dev/loop5
7. Delete loop device
# losetup -d /dev/loop5
8. Create mount point for loopfile
# mkdir /mnt/crypto-loop
9. Add entry to fstab

/home/username/crypto-loop.img /mnt/crypt-loop ext2 defaults,noauto,user,loop=/dev/loop7,encryption=AES256,gpgkey=/path/to/keyfile.gpg 0 0

10. Try mounting the loopfile as user
$ mount /mnt/crypto-loop
11. Check it’s mounted properly
$ mount | grep -i aes

and use it!

P.S. Secure your keyfile.gpg, if it gets lost you won’t _ever_ be able to decrypt what was inside crypto-loop.img!

avatar

Froscon 2009 afterthoughts

Froscon was great.

  • It was smaller then I thought, I especially assumed more activity in the devrooms (I'm too used to fosdem which is much bigger), but hey nice conference anyway.
  • It was great to meet (some of) my Arch Linux colleagues. Mostly the guys from Germany showed up, and Roman who is from Ukraine.
  • We all got an Arch t-shirt/polo of which we could pick the color ourselves. Woohoo. Thanks donators.
  • A few people also told me they had tried / were using uzbl (my browser project) so that was really cool.
  • I had an interesting chat with Thomas Lange, the author of FAI (a tool to automatically mass-install systems, mostly Debian). I've used it in the past, liked it and was somewhat inspired by it when building AIF. (but some design goals are different).

Here is a picture of my "Arch releng partner" Gerhard (right) and I (left). We've done a lot of work together and it was great to talk face to face for once. Here we're showing (proudly) an Arch Linux Froscon disc (which is a slightly modified version of the 2009.08 core images):

Team photo:

Image gallery

avatar

Gentoo & Trac: Post-commit magic

When using trac under Gentoo, the location of the pre-commit and post-commit scripts changes every version. In addition, I have multiple repositories. Together this makes for annoying maintainance every time I create a new repo or upgrade trac. The solution? Shell scripting magic:

# Repo path is in format: /home/allenjb/allenjb.me.uk/svn/<project>
# Trac env path is in format: /home/allenjb/allenjb.me.uk/trac/<project>
# PROJECT contains the <project> name
PROJECT=`echo ${REPOS} | cut -d "/" -f 6`
TRAC_ENV="/home/allenjb/allenjb.me.uk/trac/${PROJECT}"
# TRAC_VER contains the trac version
TRAC_VER=`trac-admin --help | head -n 1 | sed -e 's/^\([^0-9]*\)\(.*\)/\2/'`

/usr/bin/python /usr/share/doc/trac-${TRAC_VER}/contrib/trac-post-commit-hook -p "$TRAC_ENV" -r "$REV"

Posts for Thursday, August 27, 2009

avatar

Django makes web development… fun?


Fun may be going _too_ far, but it is a heck of a lot cleaner than anything I ever hacked up before.  To be honest, I really stayed away from web development before I really gave Django a try.  Now, I’m almost ready to start writing my own website/blog/everything (I know, cliche) in Django.

I’ve really gotta hand it to Chipx86 and Djblets though.  My first Django project immediately ran into issues with deployment.  Issues that Djblets immediately solved with the SITE_ROOT stuff.  I have to say, my inexperience with Django most certainly would have led me to hack in something not nearly as clean as what Djblets has in place.

One thing does bother me about the SITE_ROOT stuff.  It’s actually more of a Django problem.  It seems that after adding ‘djblets.util.context_processors.siteRoot’ to TEMPLATE_CONTEXT_PROCESSERS in settings.py, it doesn’t do anything.  In fact it doesn’t, until you use RequestContext() from django.template.context like:

render_to_response(template, RequestContext(request,{…}))

The TEMPLATE_CONTEXT_PROCESSERS are not used until you use RequestContext() which seems so very wrong.  Can someone explain this to me?

Anyways, I really enjoy programming django for the web (still not a huge fan of any web programming, but I’m warming to it…).  If you have working knowledge of python and web programming, I highly suggest Django.

Linux + ATI != ETQW

Okay..  I have no idea why I'm writing this, but to heck with it.  People should know.  Either that, or I need to figure out what the hey I'm doing wrong.

So, about a year ago I began a crusade to help AMD / ATI as much as I possibly could.  I've already been buying AMD processors now for at least 5 years for myself, my work, my friends, and my family.  I also have been buying Nvidia graphics cards.  Well, since AMD acquired ATI, I've been buying ATI cards.  I've even got a couple of my friends to see the light and begin buying the RadeonHD series instead of the Nvidia counterparts.

So, I had a pretty good start with my RadeonHD 4850.  It installed just fine, and I could run my ETQW games just fine.  That is, until about 2 months ago.  Something in the new 9.6 drivers is causing that one game to segfault each time I try to run it.  I can play UT2004 and Nexuiz just fine, but ETQW just refuses to load.

It was about that time that I got very sick of dealing with games in Linux.  From the lack of support for games I want to play, to the finagling required to get the supported games to work.  Ugh...

So, I did it.  About a month ago, I installed windows on a spare hard drive I had laying around, and haven't dealt with anything having to do with games in Linux ever since.  Windows still blows, and blows hard, but unfortunately, people use it and companies develop for it.

Also, in doing this, I uninstalled the fglrx driver I've been using and now use the radeonhd driver instead.  I've got dual-monitor setups at home and work now, and the radeonHD driver seems to handle it with ease.

So... Yeah...  I'm using windows XP for games.

Maybe that's why I feel nauseated all the time now.

Who knows...  Maybe when the 3D support in the radeonhd driver is done, I'll consider giving it another try.

Posts for Wednesday, August 26, 2009

avatar

Composition in progress: Evan

I’ve been doing composition again! School has started and that means that it’ll be difficult again to keep up with the rest of my interests. I’m quite happy to say that I’ve managed to keep the post-every-two-days going for a while, with each post actually announcing something significant that has occurred or something I did that I can share.

My cousin is going to have a wedding. I am very happy for him and he’s asked me to perform a little something during the wedding. What could be a better opportunity to compose a new piece? My past three compositions were very rushed on time and so I hope this one could be of somewhat decent quality. (that’s not to say I’m completely free to spend all my time on this, of course!)

I’m quite traditional when it comes to composition. I cannot believe people who use all these technologies and digital whatnot and hi-tech recordings during composition. When it comes to piano the computer pretty much plays no part at all. I sit there with a sheet of music paper and a pencil. Then I just mess around. Or something like that.

I only touch the computer when that sheet becomes too messy to read or I need to clarify some ideas. This obviously means that the computer-typeset score is most of the time miles behind the scribbles. Nevertheless, I have made a decent start. It’s without annotations and still needs polishing. Here is the start of it, and if any of you are musically inclined I would love to hear a recording of your interpretation on how to play it!

2009-08-24-140539_1280x800_scrot

Of course, it’s still very much a work in progress, needs polishing and development. More soon! Oh, and if you are so musically inclined feel free to improvise and send suggestions too :)

Related posts:

  1. Sibelius, Finale, Cakewalk? Real men use Lilypond.
  2. Perspective in progress

Funtoo’s Website is Designed for Internet Explorer


Taken from the Funtoo FAQ:

“Is Mozilla Firefox compatible with funtoo.org?”

Mozilla Firefox does not appear to be compatible with the Funtoo.org website, unfortunately. It does not support the insertAdjacentHTML function, and also does not support XML data islands. These features are supported by Internet Explorer and we use both of these features. I think that insertAdjacentHTML is a good idea, and I also think it’s a good idea for the browser to support XML data islands, which are particularly useful for formatting text. Funtoo.org uses its own documentation management method, and these documents are easier to maintain if insertAdjacentHTML is correctly supported by the browser, and XML data islands are a great help to us as well.

We could maintain patched versions of Mozilla Firefox that would be usable with the Funtoo.org website, but I don’t want to get into the business of supporting a non-standard browser as the upstream project does not seem very supportive of getting these compatibility issues resolved, and thus this could turn into a maintenance burden for Funtoo. So I’d rather just not support Mozilla Firefox for now.

I guess I expected open source projects to be more widely aware of the importance of having open standards, coding to a standard rather than an implementation and driving innovation through new, public standards rather than abusing undocumented proprietary extensions.

Update: This post seems to have been exposed to a wider audience than my usual readership. For those who don’t feel like reading the comments, and who don’t understand what’s being discussed here, you can compare the quote above to the Funtoo FAQ entry introduced by this commit (unfortunately there’s no way to link to individual Funtoo FAQ entries).

Posted in funtoo Tagged: eapi, funtoo, paludis, pms, standards
avatar

Extracting CAB files for Windows Mobile without ActiveSync

I received an old bluetooth GPS that I write about here. To install the software, I simply had a Windows (not mobile) executable. I don't have Windows and ActiveSync installed, so how do I go about getting the contents out of the executable and onto my Windows Mobile phone?

In most cases it's quite easy! Here are some tips:

Try 1: Is a plain CAB alternative offered?

This may seem obvious to some, but check if the software is offered in two forms - as a Windows executable, and a plain CAB file download. Browse around the website or CDs for files ending in .CAB

Try 2: Is it a self-extracting zip file?

This is the easiest form of executable! Zip files can be made "self extracting" by containing both executable code and the embedded zip structure. To find out (from Linux, Unix, BSD etc) just run an incantation of zip that understands dos-based PKZIP archives, such as info-zip. (You may have this version of zip already).

info-zip comes with zipinfo which lists information about zip files. In my case, the TomTom executable is called navupd521.exe
$ zipinfo navupd521.exe
Archive: navupd521.exe 4409856 bytes 5 files
-rw-a-- 2.0 ntf 4762417 b- defN 16-Jan-06 13:17 setup.apk
-rw-a-- 2.0 ntf 81 t- defN 23-Feb-05 23:28 cp.txt
-rwxa-- 2.0 ntf 2498560 b- defN 16-Nov-05 15:49 setup.exe
-rw-a-- 2.0 ntf 0 t- stor 24-Feb-05 11:05 TomTom Update.cid
-rw-a-- 2.0 ntf 22 t- stor 11-Jul-05 08:54 ttn.txt
5 files, 7261080 bytes uncompressed, 4377788 bytes compressed: 39.7%
If you see a list of files, then the executable is understood by zip. But alas! there's no CAB files in here. Unless they're in that setup.exe...
$ unzip navupd521.exe
Archive: navupd521.exe
inflating: setup.apk
inflating: cp.txt
inflating: setup.exe
extracting: TomTom Update.cid
extracting: ttn.txt
$ ls
cp.txt setup.apk TomTom Update.cid
navupd521.exe setup.exe ttn.txt
$ zipinfo setup.exe
[setup.exe]
End-of-central-directory signature not found. Either this file is not
a zipfile, or it constitutes one disk of a multi-part archive. In the
latter case the central directory and zipfile comment will be found on
the last disk(s) of this archive.
zipinfo: cannot find zipfile directory in one of setup.exe or
setup.exe.zip, and cannot find setup.exe.ZIP, period.
And here's the end of the line! The setup.exe file is not a zip archive (even though they sometimes are called setup.exe).

Try 3: Temporary files

Use wine to start the install process, and look for temporary files.

In my case, when I run wine navupd521.exe:
  • While the TomTom installer is complaining that your computer does not support the device blahblah or somesuch rubbish, look for a directory in
  • /windows/temp that wasn't there before. If necessary, create an index of all the files in your wine c drive before you run the installer. Then do it again with the installer running, then check for differences. There should be a temporary file or directory somewhere!
  • copy the entire directory (for TomTom that's "<.wine>/drive_c/windows/temp/WZSE0.TMP/") to somewhere safe
  • Exit the installer, and search for CAB files in the directory you just copied.
  • For TomTom you will find:
    WZSE0.TMP/pocketpc/tomtom.cab
    WZSE0.TMP/pocketpc/ttn.cab
    WZSE0.TMP/palmos/navigator.CAB
  • Choose the right CAB file matching your device by name or directory. I'm going with the pocketpc directory for my pocketpc!
Now all that's left is to copy the CAB files to your device using bluetooth, USB, or storage card; then select them in Windows Mobile to start the install.

(This example is for the TomTom Navigator 5 December 2005 update. After installing your original TomTom Navigator, run these CAB files to update to the new version)

And that's how you can get CAB files without Windows!

Installing Perl Modules


Header

If you do Perl programming or if a program you have needs a perl module, you could download and compile it manually but the easier way would be to use CPAN (the Comprehensive Perl Archive Network).

CPAN

First thing you should do is see if your distribution has it in it’s packages repository so that it can be easily added/removed. If it isn’t, be sure you have perl installed and start the cpan shell:

perl -MCPAN -e shell

Then upgrade the local CPAN module database:

install Bundle::CPAN reload cpan

Then to install (for example HTML::Template):

install HTML::Template exit

Once the database is downloaded you don’t need to use the shell anymore to add a module:

perl -MCPAN -e 'install HTML::Template'

The Linux Foundation Visa Platinum Rewards Card

With every purchase made you help the Linux Foundation. The funds raised will be used for technical events and travel grants for open source community members. Grab your Linux Foundation Visa Platinum Rewards Card now!

Github rename, exheres creation, :(


First, I renamed by github account to steveno from soliver. While I honestly prefer soliver, steveno is the nickname I already use on IRC not to mention this blog so I renamed my github account to match. Consistency is key they say. That’s trivial news in some respects. I have updated all the links to my github that I have control over (and I could remember making).

In other news I have unofficially created a exheres repository (for the Exherbo Linux distribution). Personally I prefer not to make a big deal out of it. I did it so I’ll blog about it. But don’t expect my exheres to be perfect or even correct or complete for that matter. For example the whole dev-lang folder, all one exheres, it’s not finished. If paludis will even run it, all it will actually do I suppose at this point is download a tarball. Use of the working exheres along with suggestions for improvement is most welcome though.

Finally, I own two computers. I Linux desktop and an Apple laptop that happily runs OS X. Well the power supply blew out in the desktop so I’m not actually running any version of linux at the moment. I hope that’s not to much of a disappointment. It’s actually really a bummer for me. You don’t realize how much you use Linux for stuff till it’s gone. Either way, as soon as I get my hardware (and I have no idea when that will be) I’ll be back up and running again.

Enjoy the Penguins!

Posts for Tuesday, August 25, 2009

avatar

What do do with a bluetooth GPS


I received a bluetooth GPS, by TomTom, which came with TomTom Navigator 5.

It installs on my O2 Windows Mobile 5, it pairs, it works, but there are no maps for Australia. It is, after all, from 2005.

(I've made some notes on extracting and installing CAB files in Linux without ActiveSync, which you might be interested in).

I've searched for map downloads, but as far as I can tell, they're not available for Australia for this version of Navigator. Nor are TeleAtlas maps, which are supposedly compatible.

So the question is: What do I do with this bluetooth GPS? It works fine with my phone, and no doubt would work with my laptop. I don't want Google Maps, because it doesn't give voice guided directions, nor does it allow you to download maps. (You have to be within range of a 3G tower at all times).

I would have liked a voice-guided navigator for my mobile, but I can't find one. Nor do I want to hack or download the latest Tomtom Navigator, or equivalent.

Your suggestions please! The more unusual the better! Duct tape required! Perhaps a GPS-aware back to base alarm for my car? You think of something...

Ideas so far:


  • Download a compatible program and create data for OpenStreetMap. (OpenStreetMap is creating a royalty free and open GPS street map of the world, but they need GPS data). I could permanently mount my GPS and phone in the car, and upload the data from time to time.

    The only problem is Yahoo has provided some free data already which covers most of the city I live in...

  • (Waiting for idea #2)

Posts for Monday, August 24, 2009

Kmix Gets Support for OSSv4


Up until now, KDE 4 users have had to use OSSv4 own sound mixer (ossxmix) to change volumes levels while within KDE. Recently though preliminary support for OSSv4 has been built into kmix.

Testing

The Open Source Sound system is a sound system for *nix operating systems built on the original OSS format. A number of users have requested OSSv4 support in kmix for the last year. OSSv4 has now been added to the trunk of the kmix svn. I compiled kmix and tested it.

And it works pretty good.

I’ve built a PKGBUILD for Arch linux. If you’d like to compile it take a look at that for instructions.

What doesn’t work

  • Multimedia keys won’t be able to change volume and if you push them enough kmix magically disappears.
  • No support for adjusting program volumes levels.

Thanks for the KDE developer(s) work for helping get OSS back into KDE 4.

avatar

My OpenDesktop Competition Submission: Wipup

Folks from PlanetKDE last heard me announcing my journey along the path to become a KDE developer. There are many ways to do this and unfortunately the path that involves learning a load of C++ and start developing applications is still making slow but steady progress and not (yet) eligible for public announcement.

But – there are many ways to contribute!

I knew about the OpenDesktop Competition for quite a while now and originating from the area of webdevelopment I realised that my latest project ties almost perfectly with its goals. Obviously being very much related to KDE development and open-source in general I wanted to share it here:

Click here to check out my submission.

Obviously the main way to make this project become successful is through community support. I really think this can be integrated well such as through plasmoids or plugins on applications such as Krita or Dolphin.

Sorry for not really explaining what it’s about because it’s quite difficult to explain very quickly. But here is a crappy attempt: It allows users and developers to showcase the works in progress of their projects and keep in touch through them.

snapshot6

Of course, if you like the idea, I would love feedback and voting :)

Related posts:

  1. Hello Planet KDE!
  2. How do you use your desktop?
  3. The Road to KDE Devland (Moult Edition) #0

Planet Larry is not officially affiliated with Gentoo Linux. Original artwork and logos copyright Gentoo Foundation. Yadda, yadda, yadda.