<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-1322920654509886809</id><updated>2011-10-27T20:10:45.845+11:00</updated><category term='mobile telephony'/><category term='performance tweaking'/><category term='fuse'/><category term='playstation 3'/><category term='epiphany'/><category term='fonts'/><category term='domain names'/><category term='postfix'/><category term='packagekit'/><category term='fedora'/><category term='privacy'/><category term='rhythmbox'/><category term='censorship'/><category term='this site'/><category term='server setup'/><category term='openoffice'/><category term='adventures with windows'/><category term='browsers'/><category term='gnome'/><category term='vsftpd'/><category term='microsoft windows'/><category term='social networking'/><category term='windows'/><category term='zen-cart'/><category term='the interschnitzel'/><category term='screenshots'/><category term='bind'/><category term='gstreamer'/><category term='bittorrent'/><category term='php programming'/><category term='linux'/><category term='pulseaudio'/><category term='one line hacks'/><category term='mysql'/><category term='vmware'/><category term='security'/><category term='politics'/><category term='kernel tweaking'/><category term='graphics'/><category term='openssl'/><category term='internationalisation'/><category term='musical tastes'/><category term='multimedia'/><category term='openssh'/><category term='wordpress'/><category term='shell programming'/><category term='apache2'/><category term='squid'/><category term='usability tweaking'/><category term='bluetooth'/><category term='community service announcement'/><category term='ubuntu packages'/><category term='totem'/><category term='wireless'/><category term='ipod'/><category term='samba'/><category term='opinions of the funk'/><category term='screencasting'/><category term='ubuntu'/><category term='google'/><title type='text'>funk's corner of the interschnitzel</title><subtitle type='html'>A place for Paul to post random smatterings of code &amp; technical information on the web -- unbiased, unedited and occasionally unmaintained too.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://thefunkcorner.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://thefunkcorner.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Paul</name><uri>http://www.blogger.com/profile/13666227889038099116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>89</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-1322920654509886809.post-828878085065030293</id><published>2009-09-18T13:32:00.002+10:00</published><updated>2009-11-23T16:34:28.540+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='multimedia'/><category scheme='http://www.blogger.com/atom/ns#' term='playstation 3'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Trying Out Rygel</title><content type='html'>Trying out the new, integrated into GNOME and uses GStreamer -- Media Sharing daemon, &lt;a href="http://live.gnome.org/Rygel" title="The Rygel Homepage on GNOME.org"&gt;Rygel&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;First thoughts, it's a _lot_ easier to configure than Mediatomb -- I am using the "media export" plugin because my Ubuntu Jaunty installation is rather bastardised, so Tracker is "unreliable at best" on my system.&lt;br /&gt;&lt;br /&gt;I'm using the packages from James Henstridge's &lt;a href="https://launchpad.net/~jamesh/+archive/upnp"&gt;PPA Repository&lt;/a&gt; -- because they're available for Jaunty, as well as the Vala Compiler from their &lt;a href="https://launchpad.net/~vala-team/+archive/ppa"&gt;PPA&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Getting it going with the PS3 was easy though, first of all -- I disabled the LPCM transcoding (for some reason, none of my MP3's appeared until I did that), by unchecking the tickbox -- set the interface to wlan0, added my media directory -- and away we went.&lt;br /&gt;&lt;br /&gt;Still have the odd issue where Wirelessly, my PS3 doesn't see anything exported from the Ubuntu box -- but i'm figuring that's more a router issue, more than an Ubuntu one -- having recently experimented with Fedora as well.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1322920654509886809-828878085065030293?l=thefunkcorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thefunkcorner.blogspot.com/feeds/828878085065030293/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1322920654509886809&amp;postID=828878085065030293' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/828878085065030293'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/828878085065030293'/><link rel='alternate' type='text/html' href='http://thefunkcorner.blogspot.com/2009/09/trying-out-rygel.html' title='Trying Out Rygel'/><author><name>Paul</name><uri>http://www.blogger.com/profile/13666227889038099116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1322920654509886809.post-5899080016704571686</id><published>2009-09-18T12:50:00.001+10:00</published><updated>2009-09-18T14:10:03.235+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='packagekit'/><category scheme='http://www.blogger.com/atom/ns#' term='one line hacks'/><category scheme='http://www.blogger.com/atom/ns#' term='opinions of the funk'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>PackageKit, The Superior update-manager Alternative</title><content type='html'>So, Dad decided to mess with his Ubuntu installation over the weekend -- he upgraded from Hardy to Jaunty as a one-step upgrade, which, somewhat unsurprisingly, broke heaps of stuff.&lt;br /&gt;&lt;br /&gt;(&lt;span style="font-style:italic;"&gt;personal opinion:&lt;/span&gt; It is for this reason, I hope the Ubuntu guys don't go head-long into GNOME 3.0 for "whatever-the-hell-the-L-release-is-called" if it's going to be a standard 6-month release cycle AND an LTS -- because they'll have people from 8.04 or 6.06 triggering ungrades and no-one wants a repeat of the PulseAudio debacle but on a far bigger scale. Either &lt;span style="font-weight:bold;"&gt;a)&lt;/span&gt; leave GNOME 2.28, continue polishing it and push GNOME 3.0 for the release after the LTS, so it gets three releases (or 2 years) of polish before it goes to the masses, or &lt;span style="font-weight:bold;"&gt;b)&lt;/span&gt; make the release cycle 6 months longer for an LTS, just like 6.06 was, but for the right reasons.)&lt;br /&gt;&lt;br /&gt;Anyway, after re-installing Jaunty from scratch, fixing his RAID, re-installing his printer and playing with DKMS because his nVidia card doesn't like the newest driver in Jaunty, but will happily work with anything older -- we tripped over the '&lt;span style="font-style:italic;"&gt;&lt;a href="http://www.ubuntu.com/getubuntu/releasenotes/904#Change%20in%20notifications%20of%20available%20updates" title="The Ubuntu 9.04 Announcement Documenting This Absurd Change"&gt;incredible&lt;/a&gt;, vanishing update manager &lt;a href="https://bugs.launchpad.net/ubuntu/+source/update-notifier/+bug/332945" title="A Bugthread Requesting The Sane Behaviour Be Restored"&gt;issue&lt;/a&gt;&lt;/span&gt;'.&lt;br /&gt;&lt;br /&gt;(&lt;span style="font-style:italic;"&gt;personal opinion II:&lt;/span&gt; big, big cock-up on the part of the Ubuntu guys -- Windows has an update icon, MacOSX has an update icon, every other distribution of UNIX has an update icon, but a 50+ year old man can have a taskbar full of update-manager windows, which makes the one browser window icon in the window list appear as 3-pixels wide because he doesn't understand he has to close them all individually? It would have been better to pop up a dialogue in the middle of the screen that says "Security Updates Are Available for Your Computer, would you like to install them now?" (or "Non-Essential Updates" in the case of non-security updates), or leave the icon where it was and hack in OSD notifications (like NetworkManager does) -- but don't just leave a glowing taskbar window in the bottom left hand corner, UI or Accessibility designers would turn in their graves.)&lt;br /&gt;&lt;br /&gt;Anyway ... Given the track record that Ubuntu has for making seat-of-the-pant changes like that and taking forever to admit it was a mistake and reverting it to sensible behaviour, I decided to give &lt;a href="http://www.packagekit.org/index.html"title="The PackageKit Homepage"&gt;PackageKit&lt;/a&gt; a try.&lt;br /&gt;&lt;br /&gt;Short story -- impressive.&lt;br /&gt;&lt;br /&gt;Installation was a simple: &lt;span style="font-weight:bold;"&gt;apt-get -f install packagekit packagekit-gnome gstreamer0.10-packagekit&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The Ubuntu packages in Jaunty do add a duplicate "&lt;span style="font-style:italic;"&gt;Update Manager&lt;/span&gt;" icon to the System &amp;#8674; Administration menu, but that's purely cosmetic -- upon install it does make itself the default package update manager, which is a step in the right direction.&lt;br /&gt;&lt;br /&gt;I have always been concerned about the way updates are presented for non-technical users, Microsoft nearly has it right -- too much information scares the non-technical user, but most UNIX variations give too much superfluous information to the user, great for technical types who actually fix issues -- and certainly something that shouldn't be removed, just 'shielded' from the user somehow).&lt;br /&gt;&lt;br /&gt;PackageKit does this well, it gives the user notification that updates are pending in the standard way (which was our major gripe that prompted the change) but is also laid out in such a way that Dad found easier to drive than the traditional package manager (as he put it, "&lt;span style="font-style:italic;"&gt;I already like the idea you can press a button to review changes before they happen.&lt;/span&gt;").&lt;br /&gt;&lt;br /&gt;As I may of mentioned before in this blog, my dad is not a unintelligent man, he's been involved with computers, electronics, data communications, radio and just about any other form of technology you'd care to mention forever -- we've worked together on some massive projects, including hardware design, starting our own UNIX distribution and starting up smaller technology projects together -- and he has been a Linux user for nearly 5 years himself, but he's firmly a "a computer is a tool, just make the thing work" man, rather than a "let's experiment" one. &lt;br /&gt;&lt;br /&gt;(He also builds &lt;a href="http://www.pt-boat.com" title="John's PT-Boat Website"&gt;RC Boats&lt;/a&gt; for a hobby, which is just cool.)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1322920654509886809-5899080016704571686?l=thefunkcorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/5899080016704571686'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/5899080016704571686'/><link rel='alternate' type='text/html' href='http://thefunkcorner.blogspot.com/2009/09/packagekit-superior-update-manager.html' title='PackageKit, The Superior update-manager Alternative'/><author><name>Paul</name><uri>http://www.blogger.com/profile/13666227889038099116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-1322920654509886809.post-5714684782645146551</id><published>2009-09-18T11:32:00.003+10:00</published><updated>2009-09-18T12:43:48.968+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='multimedia'/><category scheme='http://www.blogger.com/atom/ns#' term='one line hacks'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>"Network Error 00000000", The PS3 and Mediatomb</title><content type='html'>After requiring a fresh install of Ubuntu on my media-serving laptop due to disc failure -- I restored all the configuration settings from a backup, re-imported my library into Mediatomb, restarted the daemon and wandered into the lounge to watch TV via the PS3, a ritual with the two evening coffees before the cricket starts.&lt;br /&gt;&lt;br /&gt;However, last night -- something strange kept happening, I could browse the videos, they even had thumbnails, but when I attempted to play them, a black screen would appear with &lt;span style="font-weight:bold;"&gt;"Network Error (000000000)"&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Checked the configuration, checked the router settings, checked the wireless signal strength, all fine. (then figured, &lt;span style="font-style:italic;"&gt;"paul, you'd not be able to see anything if these settings didn't work ;)"&lt;/span&gt;)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.google.co.uk/search?q=status%20256%20mediatomb&amp;ie=UTF-8&amp;oe=UTF-8"&gt;Googled&lt;/a&gt;, no luck there either -- hence this post.&lt;br /&gt;&lt;br /&gt;Enabled debugging mode by editing the /etc/default/mediatomb file and changing OPTIONS="" to OPTIONS="-D" and restarted the daemon and loaded up the /var/log/mediatomb.log file to find:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;2009-09-17 23:34:00   DEBUG: [../src/io_handler_buffer_helper.cc:224] staticThreadProc(): starting buffer thread... thread: -1267590256&lt;br /&gt;2009-09-17 23:34:02   DEBUG: [../src/process_io_handler.cc:234] &lt;span style="font-weight:bold;"&gt;read(): process exited with status 256&lt;/span&gt;&lt;br /&gt;2009-09-17 23:34:02   DEBUG: [../src/io_handler_buffer_helper.cc:227] staticThreadProc(): buffer thread shut down. thread: -1267590256&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Hmm, status 256 you say? "&lt;span style="font-style:italic;"&gt;Could be something to do with the encoding then?&lt;/span&gt;" I thought.&lt;br /&gt;&lt;br /&gt;Running &lt;span style="font-weight:bold;"&gt;ffmpeg -i testvideo.wmv -target dvd -y testvideo-ps3.avi&lt;/span&gt; from the command line, indeed gave me my answer:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;Unknown encoder 'mpeg2video'&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Turns out, the default ffmpeg installation for Ubuntu Jaunty and Karmic have mpeg2video support in ffmpeg &lt;span style="font-weight:bold;"&gt;disabled&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Two ways to fix this, the first is to implement a much, much, much longer command to encode your videos -- I use a generic script to encode videos based on their content type, but the PS3 can play (from Firmware 2.61, 3.00 and 3.01 anyway) anything encoded with the DVD profile (which encodes to MPEG2 based AVI's via the aforementioned mpeg2video codec), so instead of:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;ffmpeg -i "$input" -target dvd -y "$output"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;You'd use:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;ffmpeg -i "$input" -vcodec mpeg1video -mbd rd -trellis 2 -cmp 2 -subcmp 2 -b 1500 -g 250 -y "$output"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;(&lt;span style="font-style:italic;"&gt;note:&lt;/span&gt; those commands are the only ones that are essential for making the video output work on the PS3, it'll produce a standards-compliant MPEG file with 64k MP2 audio -- but the quality may look suspect, as long as you leave those commands in, you can add things like &lt;span style="font-weight:bold;"&gt;"-flags qprd", "-bf 2" or "-flags +ilme+ildct" (good for interlaced video like animation)&lt;/span&gt; to improve the quality slighly)&lt;br /&gt;&lt;br /&gt;Or, you can install the alternative versions of FFMPEG by enabling the multiverse repository (System &amp;#8674; Administration &amp;#8674; Software Sources) and then installing the -unstripped versions of FFMPEG with the command:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;sudo apt-get -f install libavcodec-unstripped libavformat-unstripped&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;... and continue using the transcoding scripts you're using now :)&lt;br /&gt;&lt;br /&gt;&lt;h3&gt; How can I tell if I have a broken FFMPEG installation? &lt;/h3&gt;&lt;br /&gt;&lt;br /&gt;The simplest way is to run: &lt;span style="font-weight:bold;"&gt;ffmpeg -formats | grep mpeg2video&lt;/span&gt; from the command line, if you receive:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;D VSDT mpeg2video&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Then you're missing the 'E'ncoding aspect of the codec, meaning you need to install the unstripped packages to make everything work correctly.&lt;br /&gt;&lt;br /&gt;If it returns:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;DEVSDT mpeg2video&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Then you're all set to go :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1322920654509886809-5714684782645146551?l=thefunkcorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/5714684782645146551'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/5714684782645146551'/><link rel='alternate' type='text/html' href='http://thefunkcorner.blogspot.com/2009/09/network-error-00000000-ps3-and.html' title='&quot;Network Error 00000000&quot;, The PS3 and Mediatomb'/><author><name>Paul</name><uri>http://www.blogger.com/profile/13666227889038099116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-1322920654509886809.post-3004591503668620107</id><published>2009-08-11T18:33:00.000+10:00</published><updated>2009-09-02T18:44:41.192+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='one line hacks'/><category scheme='http://www.blogger.com/atom/ns#' term='ipod'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Getting iPod's Working With Banshee In Ubuntu 8.04.3</title><content type='html'>Recently, I had need to install a newer &lt;a href="http://www.banshee-project.org"&gt;Banshee&lt;/a&gt; from the Ubuntu PPA on a friend's Ubuntu LTS machine (I only ever recommend LTSes to friends converting from Windows and thus not used to the 6-month upgrade dance).&lt;br /&gt;&lt;br /&gt;He plugged in his iPod, after it had been restored with iTunes from his wife's PC and -- no, nothing happens.&lt;br /&gt;&lt;br /&gt;Unplugged, Replugged -- yep, appears on the desktop as an iPod and Banshee starts correctly, the iPod just doesn't appear in it.&lt;br /&gt;&lt;br /&gt;Checked dmesg, yes, the device is a 8GB iPod, no it does not need fsck'ing and yes, it uses the correct mountpoint.&lt;br /&gt;&lt;br /&gt;Checked Synaptic, all the Banshee code is there.&lt;br /&gt;&lt;br /&gt;Checked the Bugtracker, found &lt;a href="https://bugs.launchpad.net/banshee/+bug/139226"&gt;bug #139226&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;So, we ran:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;sudo apt-get install podsleuth&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Unplugged, Re-plugged the iPod. Success.&lt;br /&gt;&lt;br /&gt;Question is, if podsleuth is that important to getting &lt;abbr title="Digital Audio Players"&gt;DAP's&lt;/abbr&gt; working in Banshee, shouldn't it be at a dependency of the install?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1322920654509886809-3004591503668620107?l=thefunkcorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/3004591503668620107'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/3004591503668620107'/><link rel='alternate' type='text/html' href='http://thefunkcorner.blogspot.com/2009/08/getting-ipods-working-with-banshee-in.html' title='Getting iPod&apos;s Working With Banshee In Ubuntu 8.04.3'/><author><name>Paul</name><uri>http://www.blogger.com/profile/13666227889038099116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-1322920654509886809.post-6822609201953844896</id><published>2009-07-09T16:17:00.001+10:00</published><updated>2009-07-09T16:22:49.145+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='one line hacks'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Fixing Ubuntu PPA (Personal Package Archives) Signing Key Issues</title><content type='html'>My default &lt;span style="font-style:italic;"&gt;/etc/apt/sources.list.d/&lt;/span&gt; has around 10-12 PPA listings in it all the time and with the release of 9.04, there doesn't seem to be an automatic way of ignoring authentication for packages on upgrades, so a number of upgrades choke because of unsatisfied authentication issues.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://ubuntuforums.org/showthread.php?t=1056099" title="Thread on Ubuntuforums.org"&gt;This&lt;/a&gt; thread was a lifesaver, download the script, install the dependencies, run it, then re-run &lt;span style="font-weight:bold;"&gt;sudo apt-get -f update&lt;/span&gt; ... problem solved!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1322920654509886809-6822609201953844896?l=thefunkcorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thefunkcorner.blogspot.com/feeds/6822609201953844896/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1322920654509886809&amp;postID=6822609201953844896' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/6822609201953844896'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/6822609201953844896'/><link rel='alternate' type='text/html' href='http://thefunkcorner.blogspot.com/2009/07/fixing-ubuntu-ppa-personal-package.html' title='Fixing Ubuntu PPA (Personal Package Archives) Signing Key Issues'/><author><name>Paul</name><uri>http://www.blogger.com/profile/13666227889038099116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1322920654509886809.post-4775924689049784345</id><published>2009-06-10T15:43:00.006+10:00</published><updated>2009-06-10T20:39:20.195+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='internationalisation'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='opinions of the funk'/><title type='text'>Why No Linux Installation has an 'I Only Speak One Language' Option?</title><content type='html'>Now that Fedora 11 has come out, I decided to give it a spin in a VMWare box -- i'm not entirely satisfied with the drive read speed of Ubuntu Jaunty, nor the compiled in IPv6 option making Transmission crawl into the floor in terms of connection speed with no true way to disable it, I am unsure if users will the new 'update notification' (it's almost like Windows XP in that regard, just without the forced rebooting when it's finished) and I can certainly take or leave the 'new' notification system, which makes VMWare go nuts with screen flicker while the notification is on-screen.&lt;br /&gt;&lt;br /&gt;Needless to say, that while I thought Ubuntu Hardy was brilliant for both technical professionals and new users alike on the Desktop -- having used Jaunty for a month, I almost feel like i've installed a totally different system that feels totally foreign -- and one that has been dumbed-down to the least-common-demoninator level, an unfortunate side-effect of 'visionary progression' within parts of the Linux on the Desktop supporters.&lt;br /&gt;&lt;br /&gt;Coupled with the fact i'd like to play with RPM building again and thought PackageKit sounded remarkably cool -- I thought this would be a good time to try Fedora (my last experience with it on the desktop was 4, other than building &lt;em&gt;libgpod&lt;/em&gt; for 9 and 10) -- I only upgraded from Ubuntu 8.04 to 9.04 to try GNOME 2.26, which Fedora 11 has included.&lt;br /&gt;&lt;br /&gt;Now, i've never, ever, ever accepted the defaults for a Linux installation -- so I selected the 'Customise Now' button to remove the packages I didn't need at install-time (F-Spot, Java, etc).&lt;br /&gt;&lt;br /&gt;Fedora, like &lt;dfn title="Red Hat Enterprise Linux"&gt;RHEL&lt;/dfn&gt; still has a very nice package selector, with an 'Optional' button that allows you to select with tick-boxes which packages the user would prefer.&lt;br /&gt;&lt;br /&gt;So, after a while -- I found the &lt;strong&gt;Base&lt;/strong&gt; section.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_WROglLz0RI4/Si9mES8D4hI/AAAAAAAAARY/-DpiO_Hwy9I/s1600-h/f11-finding-fonts.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 200px; height: 150px;" src="http://2.bp.blogspot.com/_WROglLz0RI4/Si9mES8D4hI/AAAAAAAAARY/-DpiO_Hwy9I/s200/f11-finding-fonts.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5345603506701328914" /&gt;The Package Selection Dialogue&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;28 of 80 Fonts?&lt;br /&gt;&lt;br /&gt;So I click the "Optional Packages" button, to find:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_WROglLz0RI4/Si9mpDRAnlI/AAAAAAAAARg/FR_chWPkfnc/s1600-h/f11-extra-fonts.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 200px; height: 150px;" src="http://2.bp.blogspot.com/_WROglLz0RI4/Si9mpDRAnlI/AAAAAAAAARg/FR_chWPkfnc/s200/f11-extra-fonts.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5345604138149387858" /&gt;The 'Optional Packages - Fonts' Dialogue&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Now, in my personal case -- as far as &lt;em&gt;foreign&lt;/em&gt; languages go, I speak semi-minimal German. As a native English speaker, everything I do with a computer is in English, aside from seeing what the other fonts look like, all they really do for me is take up room and slow OpenOffice down when it loads.&lt;br /&gt;&lt;br /&gt;I de-selected all the optional fonts with the exception of the DejaVu fonts and continued on with the install as normal.&lt;br /&gt;&lt;br /&gt;I personally think that the internationalisation of Linux is incredible and a wonderful thing to watch, but installing over 100 megabytes of fonts that I will never use, never see and couldn't really understand anyway -- seems like 100 megabytes of space that could be better used elsewhere.&lt;br /&gt;&lt;br /&gt;To be fair, On the Red Hat / Fedora side, this problem bugged me more back in the pre-Red Hat 9 days, where ISOs were shipped on a 650M CDROM and every piece of space had to be meticulously accounted for -- they've worked around the issue by using multiple CDs to do the install, as well as supplying an &lt;em&gt;'Everything on DVD'&lt;/em&gt; release.&lt;br /&gt;&lt;br /&gt;Ubuntu, on the other hand -- has always had this problem, Epiphany (the GNOME based Web Browser Front-end) needs to be installed post-install, but South African English, several Thai and Indian dialects as well as Japanese fonts are installed from the core 700 megabyte ISO.&lt;br /&gt;&lt;br /&gt;It just seems as though the installer needs a box that asks 'Is that the only language you speak?' ... and only if you select 'No' does it select the internationalisation components of whatever distribution you're running.&lt;br /&gt;&lt;br /&gt;The one question it raises is how much of all the languages you should include by default -- since the advent of network-based installs, it might work if the various  installer code provided the strings for 'Do you Speak ...' 'Is your Network Set Up (followed closely by 'How would you like your network set up' if you have a Wireless configuration) and then sent off to mother-goose to install the relevant packages based on the locale configuration to that point.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1322920654509886809-4775924689049784345?l=thefunkcorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/4775924689049784345'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/4775924689049784345'/><link rel='alternate' type='text/html' href='http://thefunkcorner.blogspot.com/2009/06/why-no-linux-installation-has-i-only.html' title='Why No Linux Installation has an &apos;I Only Speak One Language&apos; Option?'/><author><name>Paul</name><uri>http://www.blogger.com/profile/13666227889038099116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_WROglLz0RI4/Si9mES8D4hI/AAAAAAAAARY/-DpiO_Hwy9I/s72-c/f11-finding-fonts.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-1322920654509886809.post-6945201011414535550</id><published>2009-05-17T19:01:00.001+10:00</published><updated>2009-05-18T17:15:18.682+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='community service announcement'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='screencasting'/><title type='text'>Trials with RecordMyDesktop</title><content type='html'>I've been playing with &lt;a href="http://recordmydesktop.sourceforge.net/" title="RecordMyDesktop's Homepage"&gt;recordmydesktop&lt;/a&gt; lately in order to put some suitable screencasts together for demonstrating various Linux-related activities to university students next week.&lt;br /&gt;&lt;br /&gt;Unfortunately, both Fedora 11 and Ubuntu Jaunty have issues with RecordMyDesktop -- the current version (0.3.8.1) is much better than the last version I tried (0.3.5) in terms of both video and audio quality, but the more-than-occassional&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;Broken pipe: Overrun occurred.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Cause audio to be clipped rather badly.&lt;br /&gt;&lt;br /&gt;The default settings make the video speed up and therefore finish well before the audio too -- so I set about trying to find the optimium settings to make the best encode I could.&lt;br /&gt;&lt;br /&gt;First, if you are using a 3D Window Manager (such as Compiz), please use the &lt;span style="font-weight: bold;"&gt;--on-the-fly-encoding&lt;/span&gt; and &lt;span style="font-weight: bold;"&gt;--full-shots&lt;/span&gt; options, or everything from opening new windows to redrawing your background will end up with corruption.&lt;br /&gt;&lt;br /&gt;If you do not know which Window Manager you are running, you can use the &lt;span style="font-weight: bold;"&gt;Visual Effects&lt;/span&gt; tab of the &lt;span style="font-weight: bold;"&gt;Appearence Preferences&lt;/span&gt; window.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_WROglLz0RI4/Sg_TCje2zhI/AAAAAAAAARQ/aFdVguqs4bo/s1600-h/ubuntu-appearance-preferences.jpg"&gt;&lt;img src="http://2.bp.blogspot.com/_WROglLz0RI4/Sg_TCje2zhI/AAAAAAAAARQ/aFdVguqs4bo/s200/ubuntu-appearance-preferences.jpg" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 200px; height: 172px;" alt="" id="BLOGGER_PHOTO_ID_5336716124295187986" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;If the button is in the first box (&lt;span style="font-style: italic;"&gt;None&lt;/span&gt;) then you are &lt;span style="font-weight: bold;"&gt;not running&lt;/span&gt; a 3D Window Manager, if it is in either the &lt;span style="font-style: italic;"&gt;Normal&lt;/span&gt; or &lt;span style="font-style: italic;"&gt;Extra&lt;/span&gt; boxes, you are.&lt;br /&gt;&lt;br /&gt;Now we've figured out if we need the options for 3D Window Management, it's time to move on to the audio -- in it's default configuration, the program will clip and/or drop audio because of the overrun mentioned above, but you can reduce that by a fair proportion by either:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;Using &lt;span style="font-style: italic;"&gt;pasuspender&lt;/span&gt; to launch the program. This &lt;a href="https://bugs.launchpad.net/ubuntu/+source/gtk-recordmydesktop/+bug/208139" title="Reference to the Ubuntu Bug in question"&gt;particular solution&lt;/a&gt; was suggested by an Ubuntu developer on a reported bug about RecordMyDesktop that looks very similar to the particular issue we're covering here.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Configuring an &lt;span style="font-weight: bold;"&gt;.asoundrc&lt;/span&gt; file to use PulseAudio for all ALSA based audio by default.&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;br /&gt;The latter is done by creating a new blank file in your home directory and adding the following code:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;pcm.!default {&lt;br /&gt;type pulse&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;ctl.!default {&lt;br /&gt;type pulse&lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Save the file, exit, log out of your session and login again.&lt;br /&gt;&lt;br /&gt;This alone reduced the dropped audio from 7 occassions in one minute's worth of recorded footage to 3.&lt;br /&gt;&lt;br /&gt;The former is done by adding: &lt;span style="font-weight: bold;"&gt;pasuspender --&lt;/span&gt; to the beginning of the command line.&lt;br /&gt;&lt;br /&gt;On my laptops, using &lt;span style="font-style: italic;"&gt;pasuspender&lt;/span&gt; made no real difference to the problem, which is why we're preferring the &lt;span style="font-weight: bold;"&gt;.asoundrc&lt;/span&gt; solution for the remainder of this discussion.&lt;br /&gt;&lt;br /&gt;Another thing that helps lower the frequency of audio dropouts is to increase the buffer size used by RecordMyDesktop -- the defaults are 4k, raising that to 16k helps dramatically, but any higher doesn't seem to offer that much of an improvement (I tried 32k (32769) and 64k (65538) when testing -- i'm only recording two channels on an internal microphone though, your milage may vary)&lt;br /&gt;&lt;br /&gt;You can do this by adding the &lt;span style="font-weight: bold;"&gt;--buffer-size 16384&lt;/span&gt; option to the command line.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;update (2009-05-17): At the highest quality audio and video settings, 16384 can still cause dropouts, so 65538 is now preferred.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Next, if you're using onboard audio (like Altec Lansing laptop audio) you may see:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;Playback frequency 22050Hz is not available...&lt;br /&gt;Using 44100Hz instead.&lt;br /&gt;Recording on device hw:0,0 is set to:&lt;br /&gt;2 channels at 44100Hz&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;The Altec Lansing Audio, as well as several other Intel based sound cards that use the &lt;span style="font-weight: bold;"&gt;hda-intel-audio&lt;/span&gt; driver, will resample 44100Hz input to 48000Hz, hence the error.&lt;br /&gt;&lt;br /&gt;To fix that, you pass &lt;span style="font-weight: bold;"&gt;--freq 48000&lt;/span&gt;, which allows recording of audio without any extra resampling.&lt;br /&gt;&lt;br /&gt;Now, if you've used the &lt;span style="font-style: italic;"&gt;pasuspender&lt;/span&gt; solution above, or your audio seems to be correctly synced, you can move on to the next section.&lt;br /&gt;&lt;br /&gt;If, on the other hand -- you still see Buffer Overrun errors, or your audio is out of sync, or you use my &lt;span style="font-weight: bold;"&gt;.asoundrc&lt;/span&gt; solution above, you'll need to pass an additional audio-related option on the command line:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;-device plughw:0,0&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Using &lt;span style="font-style: italic;"&gt;plughw&lt;/span&gt;, allows ALSA and PulseAudio's internals to handle all of the resampling work -- or endian-conversion work automatically, which reduces a painfully large ALSA configuration that will differ on every soundcard on the market, to a single configuration change for our purposes.&lt;br /&gt;&lt;br /&gt;The &lt;span style="font-weight: bold;"&gt;0,0&lt;/span&gt; (aka. use the first detected virtual sound device) &lt;span style="font-style: italic;"&gt;should&lt;/span&gt; be fine for almost everyone working on a standard configuration -- if you've got:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;More than one Soundcard.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Have used the &lt;a href="http://ubuntuforums.org/showthread.php?t=789578"&gt;Systemwide PulseAudio On Ubuntu HOWTO&lt;/a&gt; to add a software equalizer to your configuration.&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;You may have more than one plughw device to choose from -- choosing which one is beyond the scope of this article though.&lt;br /&gt;&lt;br /&gt;Now we can move onto improving the video quality.&lt;br /&gt;&lt;br /&gt;Next, it helps to set the framerate -- i've seen numerous articles on the web about this, everyone suggesting everything from 10fps to 90fps to get a clear picture.&lt;br /&gt;&lt;br /&gt;I tried 10, 12, 20, 25, 29, 50 and 60 (these seem to be the ones that are mentioned the most, in a four page Google search on the subject) -- 10 works if you want to keep the filesize low, but the playback video seems too jerky -- 60 doesn't increase the filesize, but does have an unwanted side-effect of the video finishing &lt;span style="font-style: italic;"&gt;well before&lt;/span&gt; the audio when you play it back.&lt;br /&gt;&lt;br /&gt;The optimum setting I found was &lt;span style="font-weight: bold;"&gt;--fps 20&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Finally, because I wanted to re-encode these for different purposes, I like to do the initial encoding with the highest quality possible.&lt;br /&gt;&lt;br /&gt;However, the difference between &lt;span style="font-weight: bold;"&gt;-v_quality 1&lt;/span&gt; and &lt;span style="font-weight: bold;"&gt;-v_quality 63&lt;/span&gt; was minimal at best on my 1280x800 resolution.&lt;br /&gt;&lt;br /&gt;Somewhat obviously though, the &lt;span style="font-weight: bold;"&gt;-v_bitrate&lt;/span&gt; option makes &lt;span style="font-weight: bold;"&gt;A LOT&lt;/span&gt; of difference, so I bumped that to the highest number available (&lt;span style="font-weight: bold;"&gt;2000000&lt;/span&gt;).&lt;br /&gt;&lt;br /&gt;&lt;h3&gt; The recommended command line(s) &lt;/h3&gt;&lt;br /&gt;&lt;br /&gt;I've provided both a high and low quality setting for those people who are interested&lt;br /&gt;&lt;br /&gt;The final command line, that works for me and provides the highest quality, lowest distortion with &lt;span style="font-style: italic; color: rgb(102, 255, 153);"&gt;no dropouts&lt;/span&gt; -- was:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;recordmydesktop --on-the-fly-encoding -v_quality 63 -v_bitrate 2000000 -s_quality 10 --full-shots --fps 20 --freq 48000 --buffer-size 65538 -device plughw:0,0&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;For a smaller filesize or for encoding on older or busier machines, with quality suitable for downloading or streaming, you can use:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;recordmydesktop --quick-subsampling --on-the-fly-encoding -v_quality 10 -v_bitrate 50000 -s_quality 1 --full-shots --fps 10 --freq 48000 --buffer-size 16384 -device plughw:0,0&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;This option does the encoding after the video capture has stopped, which results in a smaller filesize at the expense of taking longer to encode your original footage, you can offset this somewhat by adding the &lt;span style="font-weight: bold;"&gt;--quick-subsampling&lt;/span&gt; option to your command line, which saves CPU time by discarding extra pixels when calculating the &lt;a href="http://en.wikipedia.org/wiki/Chroma_subsampling"&gt;chroma values&lt;/a&gt; during the encoding process.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;note&lt;/span&gt;: If you are using a 2D Window Manager (such as Metacity), you may omit the &lt;span style="font-weight: bold;"&gt;--full-shots&lt;/span&gt; option, which halves the filesize on my Ubuntu Jaunty Jackalope install.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt; Why No Examples? &lt;/h3&gt;&lt;br /&gt;&lt;br /&gt;Google doesn't support Theora based videos to be uploaded to Blogger, I had two videos recorded of 10 seconds each, the low quality one (using the settings above) clocked in at 220 kilobytes, the high quality one was 1.3 megabytes.&lt;br /&gt;&lt;br /&gt;When El Goog does decide to allow Theora based videos on Blogger, i'll post them -- but converting them to .mp4's just to show you all what they looked like, seemed rather purpose defeating :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1322920654509886809-6945201011414535550?l=thefunkcorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thefunkcorner.blogspot.com/feeds/6945201011414535550/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1322920654509886809&amp;postID=6945201011414535550' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/6945201011414535550'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/6945201011414535550'/><link rel='alternate' type='text/html' href='http://thefunkcorner.blogspot.com/2009/05/trials-with-recordmydesktop.html' title='Trials with RecordMyDesktop'/><author><name>Paul</name><uri>http://www.blogger.com/profile/13666227889038099116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_WROglLz0RI4/Sg_TCje2zhI/AAAAAAAAARQ/aFdVguqs4bo/s72-c/ubuntu-appearance-preferences.jpg' height='72' width='72'/><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1322920654509886809.post-6150674602750261449</id><published>2009-05-12T13:45:00.004+10:00</published><updated>2009-05-12T14:05:17.434+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='multimedia'/><category scheme='http://www.blogger.com/atom/ns#' term='community service announcement'/><category scheme='http://www.blogger.com/atom/ns#' term='one line hacks'/><title type='text'>Converting Videos to be Nokia N9x Compatible using FFMPEG</title><content type='html'>This is being posted here so I have something easy to look up when I need to do it over again, but using FFMPEG 0.5.x, you can easily convert any playable movie to a Nokia N9x (N95, N96) compatible MP4 format file with the line:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;(ffmpeg | ffmpeg.exe) -y -i [input file].[extension] -f mp4 -vcodec libx264 -level 21 -s 320x240 -b 768k -bt 768k -bufsize 2M -maxrate 2M -g 250 -trellis 1 -refs 3 -keyint_min 25 -acodec libfaac -b 128k [output filename].mp4&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Which converts any playable video to a compatible (&lt;span style="font-style:italic;"&gt;-level 21&lt;/span&gt;), correctly sized (&lt;span style="font-style:italic;"&gt;-s 320x240&lt;/span&gt;) MP4 based video file with AAC audio (&lt;span style="font-style:italic;"&gt;-acodec libfaac -b 128k&lt;/span&gt;) that doesn't crash the RealPlayer version on phones in Australia/New Zealand because the buffers and bitrate are cool (&lt;span style="font-style:italic;"&gt;-b 768k -bt 768k -bufsize 2M -maxrate 2M&lt;/span&gt;).&lt;br /&gt;&lt;br /&gt;The other options are entirely optional, but the &lt;span style="font-weight:bold;"&gt;-g 250&lt;/span&gt; &amp; &lt;span style="font-weight:bold;"&gt;-keyint_min 25&lt;/span&gt; are recommended if you have a PAL based input stream and would like to be able to fast forward and rewind your video using the funkey buttons on the N96.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1322920654509886809-6150674602750261449?l=thefunkcorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thefunkcorner.blogspot.com/feeds/6150674602750261449/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1322920654509886809&amp;postID=6150674602750261449' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/6150674602750261449'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/6150674602750261449'/><link rel='alternate' type='text/html' href='http://thefunkcorner.blogspot.com/2009/05/converting-videos-to-be-nokia-n9x.html' title='Converting Videos to be Nokia N9x Compatible using FFMPEG'/><author><name>Paul</name><uri>http://www.blogger.com/profile/13666227889038099116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1322920654509886809.post-2720275327442756719</id><published>2009-05-07T01:00:00.001+10:00</published><updated>2009-05-12T01:55:22.964+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='community service announcement'/><category scheme='http://www.blogger.com/atom/ns#' term='microsoft windows'/><category scheme='http://www.blogger.com/atom/ns#' term='adventures with windows'/><title type='text'>Automatic Vista Speedup with a D-Link DIR-625</title><content type='html'>&lt;span style="font-weight: bold;"&gt;note:&lt;/span&gt; This article is intended for a technical audience -- you should &lt;span style="color: rgb(204, 0, 0);"&gt;use caution&lt;/span&gt; when modifying a production system -- caveat emptor.&lt;br /&gt;&lt;br /&gt;This probably works with the other DIR-6xx models that D-Link sells too, but recently oldfeeb had an issue where his girlfriend's computer (Vista Home Premium) stopped talking wirelessly to the new DIR-625 he'd bought.&lt;br /&gt;&lt;br /&gt;He uses Ubuntu, so he saw no difference, but the symptoms on Vista were related to Windows Mail and Internet Explorer refusing to browse, or overly long timeouts.&lt;br /&gt;&lt;br /&gt;First up, update Vista for all the recent fixes and reboot -- no luck.&lt;br /&gt;&lt;br /&gt;Noticing the cordless phone handset on the wall, I thought: change the wifi channel on the router to something that doesn't conflict with things like cordless 2.4Ghz phones, move channel 5 to channel 11, check.&lt;br /&gt;&lt;br /&gt;Reboot Vista, slightly better signal, but the network is still slow -- Google works now, but only after 30 odd seconds, but her mail times out and heavier webpages die a quiet death.&lt;br /&gt;&lt;br /&gt;So, using a tip that I found courtesy of Australian Personal Computer magazine some years ago and a bit of Googling, we switched off Vista's 'Autotuning of TCP parameters'.&lt;br /&gt;&lt;br /&gt;To do this, you'll first need to open a command prompt as the Administrative User -- which involves:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt; Go to &lt;span style="font-weight:bold;"&gt;Start / Run&lt;/span&gt; &lt;/li&gt;&lt;br /&gt;&lt;li&gt; Type "&lt;span style="font-style:italic;"&gt;cmd.exe&lt;/span&gt;" into the box provided.&lt;/li&gt;&lt;br /&gt;&lt;li&gt; Hold down the &lt;span style="font-weight:bold;"&gt;Control&lt;/span&gt; and &lt;span style="font-weight:bold;"&gt;Shift&lt;/span&gt; keys together -- then -- press &lt;span style="font-weight:bold;"&gt;[ENTER]&lt;/span&gt;.&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;&lt;br /&gt;Now, type the following at the prompt:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;netsh interface tcp set global autotuning=disabled &lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Restarted IE7, fired up Google, works flawlessly.&lt;br /&gt;&lt;br /&gt;"&lt;span style="font-style:italic;"&gt;OK, I thought -- put the Wireless Channel on the router back to 5 (the default).&lt;/span&gt;"&lt;br /&gt;&lt;br /&gt;We did, rebooted Vista -- Stone, Cold, Silence.&lt;br /&gt;&lt;br /&gt;Switched it back to 11, rebooted Vista -- everything's peachy again.&lt;br /&gt;&lt;br /&gt;So, sometimes it's not just Vista's fault -- I guess if you're going to buy a Wireless router, you should check what channel ranges are valid for the country you're trying to use the hardware in, before blaming the workstations directly.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1322920654509886809-2720275327442756719?l=thefunkcorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thefunkcorner.blogspot.com/feeds/2720275327442756719/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1322920654509886809&amp;postID=2720275327442756719' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/2720275327442756719'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/2720275327442756719'/><link rel='alternate' type='text/html' href='http://thefunkcorner.blogspot.com/2009/05/automatic-vista-speedup-with-d-link-dir.html' title='Automatic Vista Speedup with a D-Link DIR-625'/><author><name>Paul</name><uri>http://www.blogger.com/profile/13666227889038099116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1322920654509886809.post-2545507770619213091</id><published>2009-05-01T12:38:00.002+10:00</published><updated>2009-05-01T13:20:19.383+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='the interschnitzel'/><category scheme='http://www.blogger.com/atom/ns#' term='opinions of the funk'/><category scheme='http://www.blogger.com/atom/ns#' term='google'/><title type='text'>Youtube Costs Google.</title><content type='html'>Stumbled across &lt;a href="http://www.internetevolution.com/author.asp?section_id=715&amp;doc_id=175123&amp;"&gt;this article&lt;/a&gt; by David Silversmith this morning, which makes interesting reading in the year of the economic downturn.&lt;br /&gt;&lt;br /&gt;I looked at the list of leaks that David lists -- and wondered twofold:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;span style="font-style:italic;"&gt;How many of those 375 vistors actually look at the content?&lt;/span&gt;&lt;/span&gt; -- You see sites like Facebook and LiveJournal have the ability to embed Youtube content, so people find a video they like, embed it and every subsequent pageview sends a request to YT to begin streaming the content (in order to show the thumbnail image).&lt;br /&gt;&lt;br /&gt;Now, Facebook has the News Feed, as well as the Highlights, as well as Sponsored Clips -- more than once a day, these contain (for me, anyway -- with 100 or so friends) at least one YT link, 99% of which, i'll never actually play, but every one of them actually generate an HTTP request anyway.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;span style="font-style:italic;"&gt;Is Youtube simply Google's &lt;a href="http://en.wikipedia.org/wiki/Loss_leader" title="Wikipedia's Definition of the phrase 'Loss Leader'"&gt;Loss Leader&lt;/a&gt;?&lt;/span&gt;&lt;/span&gt; -- Google does many other things which are less bandwidth and resource intensive than Youtube, such as Blogger, GMail, Google Scholar, Google Checkout and to a lesser extent, Google Earth to name a few, all of which have the same advertising strategy (Adwords) that Youtube has, at similar pricing scales, it strikes me that Google may take a bath on Youtube in order to draw people in to making a &lt;span style="font-style:italic;"&gt;Google Account&lt;/span&gt;, thereby gaining access to their other resources and presenting Google with many, many more advertising opportunities they would not otherwise have had.&lt;br /&gt;&lt;br /&gt;A thought along similar lines, was "&lt;span style="font-weight:bold;"&gt;&lt;span style="font-style:italic;"&gt;Would Youtube have been this popular if Google hadn't acquired it?&lt;/span&gt;&lt;/span&gt; -- Reading David's piece further, he talks about Content Acquisition costing money, which is true -- but i'd suggest an ever growing amount of content that Google sends to viewers will be commercial over the course of the next 12-24 months, as the economic downturn bites over and over and causes people to cancel luxury items like subscription television, possibly turning to Youtube to pick up highlights of events as they happen instead.&lt;br /&gt;&lt;br /&gt;Google has also done a lot for Youtube that i doubt they could have done on their own -- everything from striking deals for the content, to providing the bandwidth and storage space to sustain the "1 second attention span" internet generation, to adding features like the "High Definition" button to the site itself.&lt;br /&gt;&lt;br /&gt;"&lt;span style="font-style:italic;"&gt;With Popularity Comes Expense&lt;/span&gt;" is a phrase I came up with nearly 15 years ago to define the ability of the "modern" internet to actually exist -- at the time I was working in the pioneering phase of Internet Advertising, back before web based video and when only the technically elite and businesses with vast IT budgets had pages at all.&lt;br /&gt;&lt;br /&gt;Nice to see it still rings true today.&lt;br /&gt;&lt;br /&gt;How does Google stop the bleeding?&lt;br /&gt;&lt;br /&gt;My guess is, it doesn't have to.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1322920654509886809-2545507770619213091?l=thefunkcorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/2545507770619213091'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/2545507770619213091'/><link rel='alternate' type='text/html' href='http://thefunkcorner.blogspot.com/2009/05/youtube-costs-google.html' title='Youtube Costs Google.'/><author><name>Paul</name><uri>http://www.blogger.com/profile/13666227889038099116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-1322920654509886809.post-595772141103226076</id><published>2009-04-14T17:24:00.004+10:00</published><updated>2009-05-18T17:38:53.836+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='community service announcement'/><category scheme='http://www.blogger.com/atom/ns#' term='vmware'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Installing VMWare Tools on Ubuntu Guest Servers</title><content type='html'>After hunting around on the web for a while, I couldn't find anyone who answered this in a way that people could run step-by-step, so I hope this helps other people in the future.&lt;br /&gt;&lt;br /&gt;I used Ubuntu 8.04.2 LTS for the purposes of this example, but a similar, if not identical set of commands should work for any version of Ubuntu Server.&lt;br /&gt;&lt;br /&gt;First, you'll need to have installed VMWare on Windows or a UNIX server and have your Ubuntu Guest running, then you can go to "VM / Install VMWare Tools".&lt;br /&gt;&lt;br /&gt;Your first problem, because you're not running a desktop system in your guest -- the CDROM is not automounted for you, so you'll need to do:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;mount /media/cdrom&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Next, you'll need to copy the .tar.gz file to a place on the installation that has write access, like /tmp:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;cp /media/cdrom/VMwareTools-*.tar.gz /tmp/&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Next, extract the file:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;tar zvxf VMwareTools-*.tar.gz&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Change to the directory:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;cd /tmp/vmware-tools-distrib/&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Now, before we actually run the installer, Ubuntu Server needs some packages installed so the new kernel modules can be built successfully.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;apt-get -f install build-essential linux-headers-server linux-server&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Once they've been successfully installed, you can run:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;sudo perl vmware-install.pl&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Most of the defaults are fine, when you are asked for "&lt;span style="font-style: italic;"&gt;the location of the C header files for your running kernel&lt;/span&gt;" you'll need to answer with the include directory from the kernel you are currently running -- from the looks of things, this trips people up sometimes.&lt;br /&gt;&lt;br /&gt;(Ubuntu doesn't ship with a &lt;span style="font-weight: bold;"&gt;/usr/src/linux&lt;/span&gt; directory, so if you press [ENTER] here, you'll get a "&lt;span style="font-style: italic;"&gt;Directory not found&lt;/span&gt;" message and asked to re-enter the location)&lt;br /&gt;&lt;br /&gt;As of the time of writing, the kernel is &lt;span style="font-style: italic;"&gt;2.6.24-23-server&lt;/span&gt;, so your location would be:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;/usr/src/linux-headers-2.6.24-23-server/include&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Once you've done that, the configuration routine will continue through to the end normally and you can reboot your guest OS in order for the changes to take effect.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1322920654509886809-595772141103226076?l=thefunkcorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thefunkcorner.blogspot.com/feeds/595772141103226076/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1322920654509886809&amp;postID=595772141103226076' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/595772141103226076'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/595772141103226076'/><link rel='alternate' type='text/html' href='http://thefunkcorner.blogspot.com/2009/04/installing-vmware-tools-on-ubuntu-guest.html' title='Installing VMWare Tools on Ubuntu Guest Servers'/><author><name>Paul</name><uri>http://www.blogger.com/profile/13666227889038099116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1322920654509886809.post-654784681637319934</id><published>2009-04-11T16:43:00.000+10:00</published><updated>2009-04-15T14:39:11.733+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='bind'/><category scheme='http://www.blogger.com/atom/ns#' term='domain names'/><title type='text'>"all zones must be in views", BIND 9 and You.</title><content type='html'>&lt;span style="font-weight: bold;"&gt;note:&lt;/span&gt; This article is intended for a technical audience -- you should &lt;span style="color: rgb(204, 0, 0);"&gt;use caution&lt;/span&gt; when modifying a production system -- caveat emptor.&lt;br /&gt;&lt;br /&gt;An interesting question raised by a client, who was experiencing this error in their daemon.log file and asked me to track it down.&lt;br /&gt;&lt;br /&gt;A bit of background:&lt;br /&gt;&lt;br /&gt;The client in question runs a "Split Zone" configuration, where a seperate set of DNS entries are published to public users (that are only queried by and cannot be altered in any way by external entities) than are published to their other master or slave servers (which are secured by DNSSEC and various other access controls and can be queried by internal LAN users.)&lt;br /&gt;&lt;br /&gt;So:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;Apr 10 05:41:17 vampire named[8933]: loading configuration from '/etc/bind/named.conf'&lt;br /&gt;Apr 10 05:41:18 vampire named[8933]: /etc/bind/named.conf:12: when using 'view' statements, all zones must be in views&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;has been in their logs for about six weeks since the server was commissioned and the new administrator wonders if that's the reason their zone information appears out of date?&lt;br /&gt;&lt;br /&gt;Well, no.&lt;br /&gt;&lt;br /&gt;First off, that message is not actually an error, it's a warning -- but it's still unsightly.&lt;br /&gt;&lt;br /&gt;Second, the file it is complaining about is not &lt;span style="font-weight: bold;"&gt;/etc/bind/zonefiles/m/[name_of_zone].zone&lt;/span&gt; but &lt;span style="font-weight: bold;"&gt;/etc/bind/named.conf&lt;/span&gt; which happens to be the default configuration file for most common Linux distributions.&lt;br /&gt;&lt;br /&gt;In fact, if you look at the Debian / Ubuntu configuration file you'll see:&lt;br /&gt;&lt;br /&gt;"&lt;span style="font-style: italic;"&gt;If you are just adding zones, please do that in /etc/bind/named.conf.local&lt;/span&gt;"&lt;br /&gt;&lt;br /&gt;Which, in this case -- we did, using internal and external views that look a bit like:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;&lt;br /&gt;view "internal-in" in {&lt;br /&gt;      // This view includes our trusted machines, we perform&lt;br /&gt;      // recursion in this view and can cache requests for&lt;br /&gt;      // our client machines&lt;br /&gt;      match-clients { trusted; xfer; };&lt;br /&gt;      notify yes;&lt;br /&gt;      recursion yes;&lt;br /&gt;      additional-from-auth yes;&lt;br /&gt;      additional-from-cache yes;&lt;br /&gt;&lt;br /&gt;  zone "." in {&lt;br /&gt;      // Link in the root server hint file.&lt;br /&gt;      type hint;&lt;br /&gt;      file "/etc/bind/db.root";&lt;br /&gt;  };&lt;br /&gt;&lt;br /&gt;  zone "ministry-of-the-interior.local" in {&lt;br /&gt;      type master;&lt;br /&gt;      file "/etc/bind/zonefiles/m/forward.zone";&lt;br /&gt;      allow-query { any; };&lt;br /&gt;      allow-transfer { any; };&lt;br /&gt;  };&lt;br /&gt;&lt;br /&gt;  zone "33.168.192.in-addr.arpa" in {&lt;br /&gt;      type master;&lt;br /&gt;      file "/etc/bind/zonefiles/m/reverse.zone";&lt;br /&gt;      allow-query { any; };&lt;br /&gt;      allow-transfer { any; };&lt;br /&gt;  };&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;and:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;&lt;br /&gt;view "external-in" in {&lt;br /&gt;      // This view includes our trusted machines, we perform&lt;br /&gt;      // recursion in this view and can cache requests for&lt;br /&gt;      // our client machines&lt;br /&gt;      match-clients { any; };&lt;br /&gt;      notify yes;&lt;br /&gt;      recursion no;&lt;br /&gt;      additional-from-auth no;&lt;br /&gt;      additional-from-cache no;&lt;br /&gt;&lt;br /&gt;  zone "." in {&lt;br /&gt;      // Link in the root server hint file.&lt;br /&gt;      type hint;&lt;br /&gt;      file "/etc/bind/db.root";&lt;br /&gt;  };&lt;br /&gt;&lt;br /&gt;  zone "ministry-of-the-interior.local" in {&lt;br /&gt;      type master;&lt;br /&gt;      file "/etc/bind/zonefiles/m/forward.zone";&lt;br /&gt;      allow-query { any; };&lt;br /&gt;      allow-transfer { none; };&lt;br /&gt;  };&lt;br /&gt;&lt;br /&gt;  zone "33.168.192.in-addr.arpa" in {&lt;br /&gt;      type master;&lt;br /&gt;      file "/etc/bind/zonefiles/m/reverse.zone";&lt;br /&gt;      allow-query { any; };&lt;br /&gt;      allow-transfer { none; };&lt;br /&gt;  };&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;As you can see, we defined the root server hint file for both views, BIND 9.x gets rather tetchy if you don't do that, but will happily continue as long as you do (and, of course -- all your zones verify correctly with &lt;span style="font-weight: bold;"&gt;named-checkzone&lt;/span&gt;)&lt;br /&gt;&lt;br /&gt;What, of course -- we failed to do was to define &lt;span style="font-style: italic;"&gt;localhost, 127.in-addr.arpa, 0.in-addr.arpa and 255.in-addr.arpa&lt;/span&gt; for the &lt;span style="font-weight: bold;"&gt;internal and external view&lt;/span&gt; too.&lt;br /&gt;&lt;br /&gt;The error goes away, as expected if you:&lt;br /&gt;&lt;br /&gt;Firstly, Comment out the lines for the required zones in the &lt;span style="font-weight: bold;"&gt;/etc/bind/named.conf&lt;/span&gt; file. (Use '//' for commenting in this file)&lt;br /&gt;&lt;br /&gt;Then, ammend your zone configuration to look similar to:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;&lt;br /&gt;view "internal-in" in {&lt;br /&gt;      // This view includes our trusted machines, we perform&lt;br /&gt;      // recursion in this view and can cache requests for&lt;br /&gt;      // our client machines&lt;br /&gt;      match-clients { trusted; xfer; };&lt;br /&gt;      notify yes;&lt;br /&gt;      recursion yes;&lt;br /&gt;      additional-from-auth yes;&lt;br /&gt;      additional-from-cache yes;&lt;br /&gt;&lt;br /&gt;  zone "." in {&lt;br /&gt;      // Link in the root server hint file.&lt;br /&gt;      type hint;&lt;br /&gt;      file "/etc/bind/db.root";&lt;br /&gt;  };&lt;br /&gt;&lt;br /&gt;  zone "localhost" {&lt;br /&gt;      type master;&lt;br /&gt;      file "/etc/bind/db.local";&lt;br /&gt;  };&lt;br /&gt;&lt;br /&gt;  zone "127.in-addr.arpa" {&lt;br /&gt;      type master;&lt;br /&gt;      file "/etc/bind/db.127";&lt;br /&gt;  };&lt;br /&gt;&lt;br /&gt;  zone "0.in-addr.arpa" {&lt;br /&gt;      type master;&lt;br /&gt;      file "/etc/bind/db.0";&lt;br /&gt;  };&lt;br /&gt;&lt;br /&gt;  zone "255.in-addr.arpa" {&lt;br /&gt;      type master;&lt;br /&gt;      file "/etc/bind/db.255";&lt;br /&gt;  };&lt;br /&gt;&lt;br /&gt;  zone "ministry-of-the-interior.local" in {&lt;br /&gt;      type master;&lt;br /&gt;      file "/etc/bind/zonefiles/m/forward.zone";&lt;br /&gt;      allow-query { any; };&lt;br /&gt;      allow-transfer { any; };&lt;br /&gt; };&lt;br /&gt;&lt;br /&gt; zone "33.168.192.in-addr.arpa" in {&lt;br /&gt;      type master;&lt;br /&gt;      file "/etc/bind/zonefiles/m/reverse.zone";&lt;br /&gt;      allow-query { any; };&lt;br /&gt;      allow-transfer { any; };&lt;br /&gt; };&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;and:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;&lt;br /&gt;view "external-in" in {&lt;br /&gt;      // This view includes our trusted machines, we perform&lt;br /&gt;      // recursion in this view and can cache requests for&lt;br /&gt;      // our client machines&lt;br /&gt;      match-clients { any; };&lt;br /&gt;      notify yes;&lt;br /&gt;      recursion no;&lt;br /&gt;      additional-from-auth no;&lt;br /&gt;      additional-from-cache no;&lt;br /&gt;&lt;br /&gt;  zone "." in {&lt;br /&gt;      // Link in the root server hint file.&lt;br /&gt;      type hint;&lt;br /&gt;      file "/etc/bind/db.root";&lt;br /&gt;  };&lt;br /&gt;&lt;br /&gt;  zone "localhost" {&lt;br /&gt;      type master;&lt;br /&gt;      file "/etc/bind/db.local";&lt;br /&gt;  };&lt;br /&gt;&lt;br /&gt;  zone "127.in-addr.arpa" {&lt;br /&gt;      type master;&lt;br /&gt;      file "/etc/bind/db.127";&lt;br /&gt;  };&lt;br /&gt;&lt;br /&gt;  zone "0.in-addr.arpa" {&lt;br /&gt;      type master;&lt;br /&gt;      file "/etc/bind/db.0";&lt;br /&gt;  };&lt;br /&gt;&lt;br /&gt;  zone "255.in-addr.arpa" {&lt;br /&gt;      type master;&lt;br /&gt;      file "/etc/bind/db.255";&lt;br /&gt;  };&lt;br /&gt;&lt;br /&gt;  zone "ministry-of-the-interior.local" in {&lt;br /&gt;      type master;&lt;br /&gt;      file "/etc/bind/zonefiles/m/forward.zone";&lt;br /&gt;      allow-query { any; };&lt;br /&gt;      allow-transfer { none; };&lt;br /&gt;  };&lt;br /&gt;&lt;br /&gt;  zone "33.168.192.in-addr.arpa" in {&lt;br /&gt;      type master;&lt;br /&gt;      file "/etc/bind/zonefiles/m/reverse.zone";&lt;br /&gt;      allow-query { any; };&lt;br /&gt;      allow-transfer { none; };&lt;br /&gt;  };&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Check your new configuration validates by running &lt;span style="font-weight: bold;"&gt;named-checkconf&lt;/span&gt;, then restart BIND the warning should vanish and your administrators should all go away satisfied.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1322920654509886809-654784681637319934?l=thefunkcorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thefunkcorner.blogspot.com/feeds/654784681637319934/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1322920654509886809&amp;postID=654784681637319934' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/654784681637319934'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/654784681637319934'/><link rel='alternate' type='text/html' href='http://thefunkcorner.blogspot.com/2009/04/all-zones-must-be-in-views-bind-9-and.html' title='&quot;all zones must be in views&quot;, BIND 9 and You.'/><author><name>Paul</name><uri>http://www.blogger.com/profile/13666227889038099116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1322920654509886809.post-7260587816598241290</id><published>2009-04-01T13:09:00.000+11:00</published><updated>2009-04-15T13:17:07.159+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='opinions of the funk'/><title type='text'>Web Design Meets Marketing = Fatality</title><content type='html'>&lt;a href="http://www.makemylogobiggercream.com/" title="Make My Logo Bigger Cream"&gt;Viral Marketing at it's best.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I laughed ... and I don't think it was even meant as an April Fools Joke.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1322920654509886809-7260587816598241290?l=thefunkcorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/7260587816598241290'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/7260587816598241290'/><link rel='alternate' type='text/html' href='http://thefunkcorner.blogspot.com/2009/04/web-design-meets-marketing-fatality.html' title='Web Design Meets Marketing = Fatality'/><author><name>Paul</name><uri>http://www.blogger.com/profile/13666227889038099116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-1322920654509886809.post-8569625518880958482</id><published>2009-03-30T14:40:00.007+11:00</published><updated>2009-04-15T14:44:48.176+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='wordpress'/><category scheme='http://www.blogger.com/atom/ns#' term='community service announcement'/><category scheme='http://www.blogger.com/atom/ns#' term='one line hacks'/><title type='text'>Could Not Modify Header Information - A Wordpress Experience.</title><content type='html'>I've been playing with Wordpress as a CMS project recently and came across an interesting "semi-bug(let)" that took ages to resolve, but was rather simple in the end.&lt;br /&gt;&lt;br /&gt;A white screen.&lt;br /&gt;&lt;br /&gt;Attempting to login to my admin screen after being logged out after a connection dropout gave me a blank screen, nothing on view-source: and no errors in the Apache logfile.&lt;br /&gt;&lt;br /&gt;Googling for the issue, I found several posts advising me to clean out my browser cache, clear cookies and check to see if my wp-config.php file &lt;a href="http://wordpress.org/support/topic/249385"&gt;ends with a blank line&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;None of those fixed it, so I went hunting further and saw people suggesting that one should remove any plugin code -- having a Wordpress installation with heaps of plugins, removing them one-by-one was annoying at best, but some more searching found &lt;a href="http://sivel.net/2009/03/wordpress-reset/"&gt;this neat plugin&lt;/a&gt; to resets Wordpress back to it's installation defaults with one click.&lt;br /&gt;&lt;br /&gt;(Obviously, if you care about the contents of your blog, or the settings you have crafted for the individual plugins, this isn't for you -- but it helped me out immensely. Kudos to Matt for inventing it.)&lt;br /&gt;&lt;br /&gt;Nope -- didn't fix it either.&lt;br /&gt;&lt;br /&gt;Removed my theme, restored the default Kubrick theme ...&lt;br /&gt;&lt;br /&gt;*shazam*&lt;br /&gt;&lt;br /&gt;Fixed.&lt;br /&gt;&lt;br /&gt;Put my theme back, logged out, logged back in:&lt;br /&gt;&lt;br /&gt;A White Page.&lt;br /&gt;&lt;br /&gt;OK, at least I have something to go on, it's a problem with the theme. So I started to poke around further.&lt;br /&gt;&lt;br /&gt;It turns out, the &lt;span style="font-weight:bold;"&gt;functions.php&lt;/span&gt; file cannot have spaces in between the functions you define, compare the following code:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;&amp;lt;?php&lt;br /&gt;if ( function_exists('register_sidebars') )&lt;br /&gt;register_sidebars(2, array(&lt;br /&gt;        'before_widget' =&amp;gt; '&amp;lt;li class="widget %2$s"&amp;gt;',&lt;br /&gt;        'after_widget' =&amp;gt; '&amp;lt;/li&amp;gt;',&lt;br /&gt;        'before_title' =&amp;gt; '&amp;lt;h2 class="widgettitle"&amp;gt;',&lt;br /&gt;        'after_title' =&amp;gt; '&amp;lt;/h2&amp;gt;',&lt;br /&gt;        ));&lt;br /&gt;&lt;br /&gt;function widget_search() { ?&amp;gt;&lt;br /&gt;        &amp;lt;li class="widget widget_search"&amp;gt;&lt;br /&gt;                &amp;lt;h2 class="widgettitle"&amp;gt;Search&amp;lt;/h2&amp;gt;&lt;br /&gt;                        &amp;lt;input type="text" id="searchfield" /&amp;gt;&lt;br /&gt;                        &amp;lt;img id="searchspinner" src="&amp;lt;?php bloginfo('template_url'); ?&amp;gt;/images/ajax-loader.gif" alt="&amp;lowast;" /&amp;gt;&lt;br /&gt;                        &amp;lt;script type="text/javascript"&amp;gt;&lt;br /&gt;                        var search = new Search('searchfield', 'searchspinner');&lt;br /&gt;                        &amp;lt;/script&amp;gt;&lt;br /&gt;        &amp;lt;/li&amp;gt;&lt;br /&gt;&amp;lt;?php }&lt;br /&gt;if ( function_exists('register_sidebar_widget') )&lt;br /&gt;        register_sidebar_widget(__('Search'), 'widget_search');&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;br /&gt;?&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;?php&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;function theme_comments($comment, $args, $depth) {&lt;br /&gt;        $GLOBALS['comment'] = $comment;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;(code edited)&lt;br /&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Fails, but:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;&amp;lt;?php&lt;br /&gt;if ( function_exists('register_sidebars') )&lt;br /&gt;register_sidebars(2, array(&lt;br /&gt;        'before_widget' =&amp;gt; '&amp;lt;li class="widget %2$s"&amp;gt;',&lt;br /&gt;        'after_widget' =&amp;gt; '&amp;lt;/li&amp;gt;',&lt;br /&gt;        'before_title' =&amp;gt; '&amp;lt;h2 class="widgettitle"&amp;gt;',&lt;br /&gt;        'after_title' =&amp;gt; '&amp;lt;/h2&amp;gt;',&lt;br /&gt;        ));&lt;br /&gt;&lt;br /&gt;function widget_search() { ?&amp;gt;&lt;br /&gt;        &amp;lt;li class="widget widget_search"&amp;gt;&lt;br /&gt;                &amp;lt;h2 class="widgettitle"&amp;gt;Search&amp;lt;/h2&amp;gt;&lt;br /&gt;                        &amp;lt;input type="text" id="searchfield" /&amp;gt;&lt;br /&gt;                        &amp;lt;img id="searchspinner" src="&amp;lt;?php bloginfo('template_url'); ?&amp;gt;/images/ajax-loader.gif" alt="&amp;lowast;" /&amp;gt;&lt;br /&gt;                        &amp;lt;script type="text/javascript"&amp;gt;&lt;br /&gt;                        var search = new Search('searchfield', 'searchspinner');&lt;br /&gt;                        &amp;lt;/script&amp;gt;&lt;br /&gt;        &amp;lt;/li&amp;gt;&lt;br /&gt;&amp;lt;?php }&lt;br /&gt;if ( function_exists('register_sidebar_widget') )&lt;br /&gt;        register_sidebar_widget(__('Search'), 'widget_search');&lt;br /&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;&lt;br /&gt;?&amp;gt;&lt;br /&gt;&amp;lt;?php&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;function theme_comments($comment, $args, $depth) {&lt;br /&gt;        $GLOBALS['comment'] = $comment;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;(code edited)&lt;br /&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Works perfectly.&lt;br /&gt;&lt;br /&gt;So where was the problem?&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;the blank line between the closing ?&amp;gt; in the register_sidebar_widget call and the opening &amp;lt;?php in the theme_comments function.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Undoubtably, your error will occur between a different set of functions, but if you are using a functions.php file in your theme and it begins to fail unexplainedly on you, check the file for blank lines between functions as part of your diagnostics plan.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1322920654509886809-8569625518880958482?l=thefunkcorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/8569625518880958482'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/8569625518880958482'/><link rel='alternate' type='text/html' href='http://thefunkcorner.blogspot.com/2009/03/could-not-modify-header-information.html' title='Could Not Modify Header Information - A Wordpress Experience.'/><author><name>Paul</name><uri>http://www.blogger.com/profile/13666227889038099116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-1322920654509886809.post-513267244918865502</id><published>2009-03-28T02:12:00.002+11:00</published><updated>2009-04-02T02:25:05.993+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='opinions of the funk'/><category scheme='http://www.blogger.com/atom/ns#' term='microsoft windows'/><title type='text'>Microsoft's Support for XP Ending?</title><content type='html'>Interesting read via &lt;a href="http://blogs.zdnet.com/microsoft/?p=2365"&gt;ZDNet&lt;/a&gt; this morning regarding Microsoft beginning the end-of-life cycle for Windows XP (and, to a similar extent Office 2003).&lt;br /&gt;&lt;br /&gt;I find it interesting -- still having people to this day asking if I can kindly remove Vista from their new machines and replace it with XP (and to a similar extent, Office 2007 for either 2003 or OpenOffice) that MS appears to have a longer support deadline for XP than either 2000 or Vista, which have a 5 year lifecycle compared with a 6.5 year one for XP.&lt;br /&gt;&lt;br /&gt;I wonder if it'll just cause people to a) switch to Linux or b) use a completely unsupported operating system because Windows 7 is too new and 'innovative' for them and Vista is ... well, Vista.&lt;br /&gt;&lt;br /&gt;One thing's for sure, it will have a ripple-down effect into finally removing Internet Explorer 6 woes from web developers minds.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1322920654509886809-513267244918865502?l=thefunkcorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/513267244918865502'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/513267244918865502'/><link rel='alternate' type='text/html' href='http://thefunkcorner.blogspot.com/2009/03/microsofts-support-for-xp-ending.html' title='Microsoft&apos;s Support for XP Ending?'/><author><name>Paul</name><uri>http://www.blogger.com/profile/13666227889038099116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-1322920654509886809.post-1417699149955308064</id><published>2009-03-06T16:40:00.003+11:00</published><updated>2009-03-06T17:07:13.558+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='one line hacks'/><category scheme='http://www.blogger.com/atom/ns#' term='zen-cart'/><title type='text'>Removing Dreamscape's SEO 3.0 Beta from Zen-Cart</title><content type='html'>&lt;span style="font-weight: bold;"&gt;note:&lt;/span&gt; This article is intended for a technical audience -- you should &lt;span style="color: rgb(204, 0, 0);"&gt;use extreme caution&lt;/span&gt; when modifying a production system, as your data will be nearly impossible to recover if you use this command incorrectly -- caveat emptor.&lt;br /&gt;&lt;br /&gt;One of the more painful things to do in Zen-Cart is removing references to broken module code from your database. You can remove all the PHP files you like, but you'll still see references in your Administration pages for the modules.&lt;br /&gt;&lt;br /&gt;In a recent request, I had to switch multiple shops from Dreamscape's &lt;a href="http://www.smarterwebdev.com/pub/zencart/seo_urls/seo_urls_3.0.0-beta1.zip"&gt;SEO 3.0.0beta1&lt;/a&gt; to "something better" due to a change by several shared hosting providers to use SUPHP to protect their client accounts.&lt;br /&gt;&lt;br /&gt;After choosing &lt;a href="http://www.zen-cart.com/index.php?main_page=product_contrib_info&amp;cPath=40_47&amp;products_id=1013"&gt;Simple SSU&lt;/a&gt; (which is, rather a well written module and is well supported by it's author) -- we were left with the problem of the Configuration Menu in Zen-Cart's admin having two SEO references, one to SSU, one to the older code.&lt;br /&gt;&lt;br /&gt;For anyone in the same boat, you can use the following SQL to remove the older module's SQL code from your database:&lt;br /&gt;&lt;br /&gt;From the Administration Panel, Go to "Tools -&gt; Install SQL Patches" and enter the following code:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;&lt;br /&gt;SET @configuration_group_id=0;&lt;br /&gt;SELECT (@configuration_group_id:=configuration_group_id) FROM configuration_group WHERE configuration_group_title = 'Seo Urls 3.0.0-beta1' LIMIT 1;&lt;br /&gt;DELETE FROM configuration WHERE configuration_group_id = @configuration_group_id AND configuration_group_id != 0;&lt;br /&gt;DELETE FROM configuration_group WHERE configuration_group_id = @configuration_group_id AND configuration_group_id != 0;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;note:&lt;/em&gt; That's four seperate lines with the ;'s ending each line.&lt;br /&gt;&lt;br /&gt;I've also posted this as a solution to the thread on the Zen-Cart forums, you can &lt;a href="http://www.zen-cart.com/forum/showthread.php?t=35034&amp;highlight=dreamscape+seo+uninstall&amp;page=144"&gt;follow the further discussion there&lt;/a&gt; -- if you'd like.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1322920654509886809-1417699149955308064?l=thefunkcorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thefunkcorner.blogspot.com/feeds/1417699149955308064/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1322920654509886809&amp;postID=1417699149955308064' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/1417699149955308064'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/1417699149955308064'/><link rel='alternate' type='text/html' href='http://thefunkcorner.blogspot.com/2009/03/removing-dreamscapes-seo-30-beta-from.html' title='Removing Dreamscape&apos;s SEO 3.0 Beta from Zen-Cart'/><author><name>Paul</name><uri>http://www.blogger.com/profile/13666227889038099116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1322920654509886809.post-4565293932671075280</id><published>2009-03-03T16:27:00.004+11:00</published><updated>2009-03-03T16:52:40.004+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='one line hacks'/><category scheme='http://www.blogger.com/atom/ns#' term='mysql'/><title type='text'>Useful 'mysqldump' one-liners.</title><content type='html'>&lt;span style="font-weight: bold;"&gt;note:&lt;/span&gt; This article is intended for a technical audience -- you should &lt;span style="color: rgb(204, 0, 0);"&gt;use extreme caution&lt;/span&gt; when modifying a production system, as your data will be nearly impossible to recover if you use this command incorrectly -- caveat emptor.&lt;br /&gt;&lt;br /&gt;I &lt;em&gt;always&lt;/em&gt; seem to use these when doing remote administration from the command line -- but when I forget if I should be using &lt;em&gt;-add-drop-&lt;strong&gt;table&lt;/strong&gt;&lt;/em&gt; or &lt;em&gt;-add-drop-&lt;strong&gt;databases&lt;/strong&gt;&lt;/em&gt;, the usual suspects from Google render terribly on my mobile phone -- so I thought i'd put them here, for later.&lt;br /&gt;&lt;br /&gt;To &lt;strong&gt;backup a single&lt;/strong&gt; database:&lt;br /&gt;&lt;br /&gt;&lt;em&gt;mysqldump -u [username] -p [database_name] --add-drop-database --lock-all-tables &gt; backupfile.sql&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;To &lt;strong&gt;backup multiple&lt;/strong&gt; databases:&lt;br /&gt;&lt;br /&gt;&lt;em&gt;mysqldump -u [username] -p --all-databases --add-drop-database --lock-all-tables &gt; backupfile.sql&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;To &lt;strong&gt;restore&lt;/strong&gt; your backup:&lt;br /&gt;&lt;br /&gt;&lt;em&gt;mysql -u [username] -p &lt; backupfile.sql&lt;/em&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1322920654509886809-4565293932671075280?l=thefunkcorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thefunkcorner.blogspot.com/feeds/4565293932671075280/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1322920654509886809&amp;postID=4565293932671075280' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/4565293932671075280'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/4565293932671075280'/><link rel='alternate' type='text/html' href='http://thefunkcorner.blogspot.com/2009/03/useful-mysqldump-one-liners.html' title='Useful &apos;mysqldump&apos; one-liners.'/><author><name>Paul</name><uri>http://www.blogger.com/profile/13666227889038099116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1322920654509886809.post-5959999415981508711</id><published>2009-02-21T12:56:00.002+11:00</published><updated>2009-03-03T17:03:13.977+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='zen-cart'/><title type='text'>Lightboxes, Zen-Cart, Oh My!</title><content type='html'>Recently, a customer asked if they could have image effects on their e-commerce store graphics -- having played around with Wordpress for a while, I knew about Lightbox, which uses either jQuery, Prototype or MooTools in order to show images in a seperate raised window with fancy effects (watermarking, shadowing, etc) while transparently showing the original page in the background.&lt;br /&gt;&lt;br /&gt;What I didn't know -- was exactly how many variations of the Lightbox there are.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://planetozh.com/projects/lightbox-clones/" title="The Lightbox Clones Matrix"&gt;This site&lt;/a&gt; has to be one of the best for deciding which one suits your needs and application best, a must bookmark for anyone interested in knowing the compatibility and abilities of the interschnitzels new 'buzz app'&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1322920654509886809-5959999415981508711?l=thefunkcorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thefunkcorner.blogspot.com/feeds/5959999415981508711/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1322920654509886809&amp;postID=5959999415981508711' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/5959999415981508711'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/5959999415981508711'/><link rel='alternate' type='text/html' href='http://thefunkcorner.blogspot.com/2009/02/lightboxes-zen-cart-oh-my.html' title='Lightboxes, Zen-Cart, Oh My!'/><author><name>Paul</name><uri>http://www.blogger.com/profile/13666227889038099116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1322920654509886809.post-895602878619288349</id><published>2009-02-08T17:14:00.002+11:00</published><updated>2009-03-06T17:24:12.692+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='one line hacks'/><category scheme='http://www.blogger.com/atom/ns#' term='zen-cart'/><category scheme='http://www.blogger.com/atom/ns#' term='graphics'/><title type='text'>Creating Transparent .GIFs from .PNG's</title><content type='html'>Easy one-liner using "convert" from the Imagemagick graphics suite to get decent .gif conversions of most&lt;em&gt;&lt;sup&gt;*&lt;/sup&gt;&lt;/em&gt; transparent .png's.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;em&gt;convert [imagename].png -channel Alpha -threshold 80% [imagename].gif&lt;/em&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;This converts the Alpha channel (the one IE6 has the most problem with) to either completely transparent or opaque based on the 80% threshold.&lt;br /&gt;&lt;br /&gt;I say most, because it doesn't work for things like backgrounds or overlays (which are often too dark -- greys are often black, for example.) -- you can change &lt;em&gt;80%&lt;/em&gt; to &lt;em&gt;60%&lt;/em&gt; if you have backgrounds of mostly one colour, but it's not foolproof and often leaves darker marks around the exterior of the image.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1322920654509886809-895602878619288349?l=thefunkcorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thefunkcorner.blogspot.com/feeds/895602878619288349/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1322920654509886809&amp;postID=895602878619288349' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/895602878619288349'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/895602878619288349'/><link rel='alternate' type='text/html' href='http://thefunkcorner.blogspot.com/2009/02/creating-transparent-gifs-from-pngs.html' title='Creating Transparent .GIFs from .PNG&apos;s'/><author><name>Paul</name><uri>http://www.blogger.com/profile/13666227889038099116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1322920654509886809.post-5735810595363175829</id><published>2009-01-04T00:36:00.002+11:00</published><updated>2009-04-02T16:53:29.456+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='pulseaudio'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Ubuntu, Pulseaudio, Small Addendum.</title><content type='html'>I've tended to use &lt;a href="http://ubuntuforums.org/showthread.php?t=789578"&gt;this howto&lt;/a&gt; to tweak audio configurations whenever I install a new Ubuntu box for someone -- it makes everything from laptop speakers to Skype work much better, shockwave flash videos work (Youtube, etc) and it makes audio a much better experience all-round.&lt;br /&gt;&lt;br /&gt;Today, a user who was having audio stuttering issues in Skype mentioned that when running it in verbose mode (with -vv), the following error occurred:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;I: main.c: Called SUID root and real-time/high-priority scheduling was requested in the configuration. However, we lack the necessary priviliges:&lt;br /&gt;I: main.c: We are not in group 'pulse-rt' and PolicyKit refuse to grant us priviliges. Dropping SUID again.&lt;br /&gt;I: main.c: For enabling real-time scheduling please acquire the appropriate PolicyKit priviliges, or become a member of 'pulse-rt', or increase the RLIMIT_NICE/RLIMIT_RTPRIO resource limits for this user.&lt;br /&gt;I: main.c: Note that real-time/high-priority scheduling is NOT normally required. If you experience crackling or other sound anomalies, consider one or more of the above solutions.&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;The easiest way to fix that, is to open a terminal window and run:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;sudo usermod -G pulse-rt -a &lt;span style="font-style:italic;"&gt;[username]&lt;/span&gt;&lt;/span&gt; (where of course, [username] is your desktop username.&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;(note: it needs to be a capital -G and a little -a to add your user to the pulse-rt group and leave your existing groups untouched, one of those check twice, then check again, then press enter moments)&lt;br /&gt;&lt;br /&gt;If you re-run Pulseaudio now, you'll get:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;I: main.c: PolicyKit refuses acquire-high-priority privilige.&lt;br /&gt;I: main.c: We're in the group 'pulse-rt', allowing real-time and high-priority scheduling.&lt;br /&gt;I: core-util.c: Successfully gained nice level -11.&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Which tends to make Skype and WINE (the two applications the user in question was having stuttering audio issues with) behave more normally.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1322920654509886809-5735810595363175829?l=thefunkcorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thefunkcorner.blogspot.com/feeds/5735810595363175829/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1322920654509886809&amp;postID=5735810595363175829' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/5735810595363175829'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/5735810595363175829'/><link rel='alternate' type='text/html' href='http://thefunkcorner.blogspot.com/2009/01/ubuntu-pulseaudio-small-addendum.html' title='Ubuntu, Pulseaudio, Small Addendum.'/><author><name>Paul</name><uri>http://www.blogger.com/profile/13666227889038099116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1322920654509886809.post-8382808436757272332</id><published>2008-12-31T13:02:00.003+11:00</published><updated>2009-01-29T16:45:14.358+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='musical tastes'/><category scheme='http://www.blogger.com/atom/ns#' term='opinions of the funk'/><title type='text'>Something Completely Different</title><content type='html'>A completely non-technical post to end the year on -- highlighting two albums i'm almost sure nobody reading this has ever heard, but are definately worth the listen.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-size:150;"&gt;Lazyboy TV - Lazyboy&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_WROglLz0RI4/SYEPyq300mI/AAAAAAAAARA/o62hdzm6INg/s1600-h/61G9G6BGANL._SL500_AA240_.jpg"&gt;&lt;img src="http://2.bp.blogspot.com/_WROglLz0RI4/SYEPyq300mI/AAAAAAAAARA/o62hdzm6INg/s200/61G9G6BGANL._SL500_AA240_.jpg" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 200px; height: 200px;" alt="" id="BLOGGER_PHOTO_ID_5296531999940727394" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;Personally, I wouldn't have thought i'd like an album that is more "spoken word" than Pop -- but this is a great album that deals with everything from homelessness to drug use to oddities you'll find in the news combined with an infectious beat that gets this played over and over again.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;Buy This Album from &lt;a title="LazyBoy TV at Amazon" href="http://www.amazon.com/gp/product/B0002YC67O?ie=UTF8&amp;amp;tag=pofothpe-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=B0002YC67O"&gt;Amazon&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-size:150;"&gt;Angles - Dan le Sac versus Scroobius Pip&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_WROglLz0RI4/SYEUVnxMlxI/AAAAAAAAARI/BMuJiGVJPWw/s1600-h/61NpmT0uM7L._SL500_AA240_.jpg"&gt;&lt;img src="http://2.bp.blogspot.com/_WROglLz0RI4/SYEUVnxMlxI/AAAAAAAAARI/BMuJiGVJPWw/s200/61NpmT0uM7L._SL500_AA240_.jpg" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 200px; height: 200px;" alt="" id="BLOGGER_PHOTO_ID_5296536998449551122" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;This one was completely out of left field, I overheard the track &lt;span style="font-style: italic;"&gt;Tommy C&lt;/span&gt; in a bar and then hung around to listen to the rest of the album -- it's kind of like the Lazyboy album, but with an sound that makes me think of what would happen if you threw electro and dubstep in a blender and put themes like youth suicide, fads and the evangelism of pop music over the top.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;Buy This Album from &lt;a title="Angles at Amazon" href="http://www.amazon.com/gp/product/B001DJ69A2?ie=UTF8&amp;amp;tag=pofothpe-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=B001DJ69A2"&gt;Amazon&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1322920654509886809-8382808436757272332?l=thefunkcorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thefunkcorner.blogspot.com/feeds/8382808436757272332/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1322920654509886809&amp;postID=8382808436757272332' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/8382808436757272332'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/8382808436757272332'/><link rel='alternate' type='text/html' href='http://thefunkcorner.blogspot.com/2008/12/something-completely-different.html' title='Something Completely Different'/><author><name>Paul</name><uri>http://www.blogger.com/profile/13666227889038099116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_WROglLz0RI4/SYEPyq300mI/AAAAAAAAARA/o62hdzm6INg/s72-c/61G9G6BGANL._SL500_AA240_.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1322920654509886809.post-5405553884872642036</id><published>2008-12-26T22:01:00.005+11:00</published><updated>2008-12-26T23:52:00.685+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='community service announcement'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='samba'/><title type='text'>Automounting SAMBA Shares</title><content type='html'>&lt;span style="font-weight: bold;"&gt;note:&lt;/span&gt; This article is intended for a technical audience -- you should &lt;span style="color: rgb(204, 0, 0);"&gt;use caution&lt;/span&gt; when modifying a production system -- caveat emptor.&lt;br /&gt;&lt;br /&gt;This is more of a collaboration of other people's posts, with some additions of my own for performance-related issues.&lt;br /&gt;&lt;br /&gt;Basically, I manage a bunch of WD MyBook Network Drive (World Edition) boxes for various people -- typically, these are hooked up via SMB shares to various types of Linux install for redundant network backups over the LAN.&lt;br /&gt;&lt;br /&gt;After various hacks, from mounting as part of a cronjob to modifying &lt;span style="font-weight:bold;"&gt;/etc/rc.local&lt;/span&gt; -- I decided to attempt automatic fstab mounting under the christmas break and figured i'd document my findings here.&lt;br /&gt;&lt;br /&gt;First off, to automatically mount the filesystems on the MyBook -- you need to add lines similar to the following to your &lt;span style="font-weight:bold;"&gt;/etc/fstab&lt;/span&gt; file.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;//&lt;span style="font-weight:bold;"&gt;[SMB SHARE]&lt;/span&gt;/&lt;span style="font-style:italic;"&gt;[sharename]&lt;/span&gt;  /media/&lt;span style="font-style:italic;"&gt;[mountpoint]&lt;/span&gt;  cifs  credentials=/root/.smbcredentials,rw,iocharset=utf8,uid=&lt;span style="font-style:italic;"&gt;[username],gid=groupname&lt;/span&gt;,file_mode=0664,dir_mode=0775 0 0&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;(&lt;span style="font-style:italic;"&gt;note:&lt;/span&gt; Blogger has wordwrapped this post, but this should be &lt;span style="font-style:italic;"&gt;one line&lt;/span&gt; when copied to your &lt;span style="font-weight:bold;"&gt;/etc/fstab&lt;/span&gt; file.)&lt;br /&gt;&lt;br /&gt;Where:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;&lt;span style="font-weight:bold;"&gt;SMB SHARE&lt;/span&gt; -- Is the NETBIOS name or IP address of the MyBook.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;span style="font-weight:bold;"&gt;sharename&lt;/span&gt; -- Is the name of the share you need to mount (personally, I like to make at least shares based on the usernames using the box).&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;&lt;span style="font-weight:bold;"&gt;credentials=/root/.smbcredentials&lt;/span&gt; -- Is a plaintext file containing the username and password of the user you have created on the MyBook.&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;&lt;span style="font-style:italic;"&gt;iocharset=utf8&lt;/span&gt; -- Specifies that all files written or read from the device should be in the UTF-8 character set.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;span style="font-style:italic;"&gt;rw&lt;/span&gt; -- Specifies that access to the share should be read-write.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;span style="font-style:italic;"&gt;uid=username,gid=groupname&lt;/span&gt; -- Specifies the username and groupname on the local Linux machine.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;file_mode=0664,dir_mode=0775 -- Specifies the octal permissions of the files written on the MyBook.&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;0 0&lt;/li&gt; -- Means fsck will not attempt to check the filesystem under any circumstances, this is always advisable when mounting SMB shares.&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;After you have edited your &lt;span style="font-weight:bold;"&gt;/etc/fstab&lt;/span&gt; file, you need to make your credentials file -- this file specifies the name and password of the user on the MyBook.&lt;br /&gt;&lt;br /&gt;This file needs two lines, with a trailing blank line -- and should usually be placed in the &lt;span style="font-weight:bold;"&gt;/root&lt;/span&gt; or &lt;span style="font-weight:bold;"&gt;/etc/samba&lt;/span&gt; directory and have 0600 permissions.&lt;br /&gt;&lt;br /&gt;An example of this file is:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;username=winuser&lt;br /&gt;password=winpassword&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Save this file and change it's permissions, then alter your &lt;span style="font-weight:bold;"&gt;/etc/fstab&lt;/span&gt; file to point to it's location.&lt;br /&gt;&lt;br /&gt;Once you've done this, you should be able to have your shares automatically mounted by your Linux box (after either rebooting or running &lt;span style="font-style:italic;"&gt;mount -a&lt;/span&gt; as root).&lt;br /&gt;&lt;br /&gt;One particular quirk you might find using this method -- is unmounting errors -- these occur because the shutdown routine (by default) shuts down the network devices (specifically, those machines running NetworkManager to control network resources) &lt;span style="font-style:italic;"&gt;before&lt;/span&gt; unmounting any mounted network shares (ie. what we're trying to achieve here).&lt;br /&gt;&lt;br /&gt;These errors usually halt the shutdown of your machine (usually meaning you have to power off using the power button, which can damage your filesystem).&lt;br /&gt;&lt;br /&gt;To fix this, you can run the following as root:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;ln -s /etc/init.d/umountnfs.sh /etc/rc0.d/K15umountnfs.sh&lt;br /&gt;ln -s /etc/init.d/umountnfs.sh /etc/rc6.d/K15umountnfs.sh&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Which will alter your system to unmount the network-attached shares before NetworkManager has a chance to shutdown the network devices.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1322920654509886809-5405553884872642036?l=thefunkcorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thefunkcorner.blogspot.com/feeds/5405553884872642036/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1322920654509886809&amp;postID=5405553884872642036' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/5405553884872642036'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/5405553884872642036'/><link rel='alternate' type='text/html' href='http://thefunkcorner.blogspot.com/2008/12/automounting-samba-shares.html' title='Automounting SAMBA Shares'/><author><name>Paul</name><uri>http://www.blogger.com/profile/13666227889038099116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1322920654509886809.post-2103007601316538935</id><published>2008-12-19T02:26:00.002+11:00</published><updated>2008-12-19T02:43:52.010+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='shell programming'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='openssl'/><title type='text'>Unattended Password Creation Failing?</title><content type='html'>Earlier, I was asked if I had any good solutions for scripting a user account generator in bash -- asking the user what they had already, I received:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-weight:bold;"&gt;useradd -n -g users -p [password] -s /bin/false &lt;span style="font-style:italic;"&gt;[username]&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;I asked what the problem seemed to be, and the response was the password didn't seem to work -- if they used 'passwd' interactively, it'd work -- but unattended, it failed.&lt;br /&gt;&lt;br /&gt;Having a look at the useradd manual, we see:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;-p&lt;/span&gt; -- The encrypted password, as returned  by crypt(3).&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;After trying various combinations - I thought about OpenSSL. What if I gave it the password and got it to do the crypt work first, then fed the encrypted string to useradd?&lt;br /&gt;&lt;br /&gt;Something like:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;&lt;br /&gt;#!/bin/bash&lt;br /&gt;clear="[password]"&lt;br /&gt;crypt="openssl passwd -crypt $clear"&lt;br /&gt;&lt;br /&gt;success="0"&lt;br /&gt;failure="1"&lt;br /&gt;&lt;br /&gt;useradd -n -g users &lt;span style="font-style:italic;"&gt;-p $crypt&lt;/span&gt; -s /bin/false &lt;span style="font-style:italic;"&gt;[username]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;exit $?&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Cut and Paste the above into a script and instantly you have a semi-autonomous way of adding generated (or defined) passwords to your machine, all with the help of OpenSSL.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1322920654509886809-2103007601316538935?l=thefunkcorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thefunkcorner.blogspot.com/feeds/2103007601316538935/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1322920654509886809&amp;postID=2103007601316538935' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/2103007601316538935'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/2103007601316538935'/><link rel='alternate' type='text/html' href='http://thefunkcorner.blogspot.com/2008/12/unattended-password-creation-failing.html' title='Unattended Password Creation Failing?'/><author><name>Paul</name><uri>http://www.blogger.com/profile/13666227889038099116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1322920654509886809.post-5417057993748951852</id><published>2008-12-12T01:37:00.000+11:00</published><updated>2008-12-12T01:38:12.569+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='censorship'/><category scheme='http://www.blogger.com/atom/ns#' term='the interschnitzel'/><title type='text'>Interesting Spin on Proposed Internet Filtering</title><content type='html'>Oh, December seems to be rant month.&lt;br /&gt;&lt;br /&gt;Some &lt;a href="http://www.swinburne.edu.au/"&gt;Swinburne University&lt;/a&gt; students asked me for a little more clarification on why the proposed Australian Labour Government's filtering idea is a bad one.&lt;br /&gt;&lt;br /&gt;I'll be writing my concerns up at length and back-posting them here as they are finished. However, because &lt;a href="http://nocensorship.info"&gt;tomorrow is protest day&lt;/a&gt;, i'll post an couple of interesting links you may wish to read:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;&lt;a href="http://www.acma.gov.au/webwr/_assets/main/lib310554/isp-level_internet_content_filtering_trial-report.pdf"&gt;The ACMA's Report on Closed-Environment Filtering for 2008&lt;/a&gt; : Basically suggests 'The Filters were better than the last time we tested them in 2005, because they filter SSL based traffic now, but they could still degrade network performance between &lt;span style="font-style:italic;"&gt;2 and 87 percent&lt;/span&gt; and still have a &lt;span style="font-style:italic;"&gt;23 to 40 percent&lt;/span&gt; chance of false-positive filtering.&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;&lt;a href="http://www.australianit.news.com.au/story/0,24897,24768254-15306,00.html"&gt;Telstra Says No To Filtering - The Australian&lt;/a&gt; : When Australia's &lt;span style="font-style:italic;"&gt;Largest&lt;/span&gt; Carrier decides they can't participate because of '&lt;span style="font-style:bold;"&gt;customer management issues&lt;/span&gt;' (possibly due to them moving a large chunk of their support staff, who'd receive the brunt of the complaints offshore earlier in the week) -- it says something about the ways this particular idea will effect everyone in the country, in one way or another.&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;&lt;a href="http://blogs.smh.com.au/gadgetsonthego/archives/2008/11/how_to_easily_bypass_australia.html"&gt;How To Easily Bypass Australia's Internet Filters (for free) - Sydney Morning Herald&lt;/a&gt; : Explains to the technical neophyte how to use VPN software and other proxy methods to bypass the filter, in a worst case scenerio.&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;&lt;a href="http://www.efa.org.au/censorship/mandatory-isp-blocking/"&gt;Labor’s Mandatory ISP Internet Blocking Plan - Electronic Frontiers Australia&lt;/a&gt; : Analysis of the ACMA proposal, discussions on why this proposal effects everything from online commerce to the civil liberties of Australian citizens and a well reasoned argument on why parents should filter their children's use, followed by a locally installed filter on the computers in the home -- If you haven't read this, you certainly should.&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1322920654509886809-5417057993748951852?l=thefunkcorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thefunkcorner.blogspot.com/feeds/5417057993748951852/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1322920654509886809&amp;postID=5417057993748951852' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/5417057993748951852'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/5417057993748951852'/><link rel='alternate' type='text/html' href='http://thefunkcorner.blogspot.com/2008/12/interesting-spin-on-proposed-internet.html' title='Interesting Spin on Proposed Internet Filtering'/><author><name>Paul</name><uri>http://www.blogger.com/profile/13666227889038099116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1322920654509886809.post-5499884302250272673</id><published>2008-12-10T23:54:00.004+11:00</published><updated>2008-12-12T01:40:41.185+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mobile telephony'/><category scheme='http://www.blogger.com/atom/ns#' term='the interschnitzel'/><category scheme='http://www.blogger.com/atom/ns#' term='opinions of the funk'/><title type='text'>Apple Sued Over iPhone Performance Issues</title><content type='html'>I stumbled across &lt;a href="http://blog.wired.com/gadgets/2008/12/apple-says-cust.html"&gt;this article&lt;/a&gt; on Wired a few days ago. US-centric as it is -- but the same drop-outs seem to happen here in Australia, whenever the phone switches from 3G to the older GSM network.&lt;br /&gt;&lt;br /&gt;Two bars on 3G on my Nokia E66 or N73 versus 4 bars on the iPhone, less than 3 inches away from each from each other when the phones are idle, yet the Nokia's complete the calls and the iPhones drop out.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.brisbanetimes.com.au/news/digital-life/smart-phone/slow-optus-credits-iphone-3g-users-for-woes/2008/08/15/1218307197759.html"&gt;Back in August&lt;/a&gt;, Optus (SingTel) offered '&lt;span style="font-style:italic;"&gt;Goodwill Credits&lt;/span&gt;' to users who suffered woeful network performance following the launch of the iPhone, which they're not doing now -- yet the latest firmware update doesn't seem to make a scrap of difference.&lt;br /&gt;&lt;br /&gt;Perhaps that's why I saw a paper-printed advert in my local Optus dealership that said 'iPhones available for pre-paid plans, $799 AUD for 8GB, $899 for 16GB - &lt;span style="font-weight:bold;"&gt;while stocks last&lt;/span&gt;.'&lt;br /&gt;&lt;br /&gt;Does anyone else have similar issues with providers here, or is this just another case of 'never buy G1 hardware' coupled with 'if it isn't broken, don't replace it?'&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1322920654509886809-5499884302250272673?l=thefunkcorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thefunkcorner.blogspot.com/feeds/5499884302250272673/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1322920654509886809&amp;postID=5499884302250272673' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/5499884302250272673'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/5499884302250272673'/><link rel='alternate' type='text/html' href='http://thefunkcorner.blogspot.com/2008/12/apple-sued-over-iphone-performance.html' title='Apple Sued Over iPhone Performance Issues'/><author><name>Paul</name><uri>http://www.blogger.com/profile/13666227889038099116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1322920654509886809.post-3607633335345861112</id><published>2008-12-04T15:15:00.002+11:00</published><updated>2008-12-12T01:06:42.684+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='censorship'/><category scheme='http://www.blogger.com/atom/ns#' term='the interschnitzel'/><category scheme='http://www.blogger.com/atom/ns#' term='opinions of the funk'/><category scheme='http://www.blogger.com/atom/ns#' term='politics'/><title type='text'>Regarding 'The Free World', 'The Internet' and You.</title><content type='html'>It's not often that politics gets my back up about something that I feel the need to post it here, but while watching Question Time in the Senate last night, the topic of the great firewall of Australia came up -- again.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;For International Readers:&lt;/span&gt; This isn't exactly new, compulsory ISP-level filtering was tried in closed-quarters in 1999 and 2001 -- however, these were &lt;span style="font-style:italic;"&gt;opt-out&lt;/span&gt; and focused on guarding against underaged illicit content.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;For Local Readers:&lt;/span&gt; There's a &lt;a href="http://nocensorship.info/"&gt;protest going on&lt;/a&gt; in the state capitals for the weekend of the 13th and 14th of December, if you care -- you should be there.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;For everyone:&lt;/span&gt; The EFA has a very &lt;a href="http://www.efa.org.au/censorship/mandatory-isp-blocking/"&gt;well researched document&lt;/a&gt; into why said filtering of this type is a flawed exercise, which you should read.&lt;br /&gt;&lt;br /&gt;This time around, there's at least two lists -- one banning underaged illicit content and the other banning '&lt;span style="font-weight:bold;"&gt;undesirable content&lt;/span&gt;'.&lt;br /&gt;&lt;br /&gt;Couple this with the fact both of these lists are privately built, without public consultation -- and the fact -- there's &lt;span style="font-style:italic;"&gt;no ability to opt-out&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;"Canberra, We may have a problem."&lt;br /&gt;&lt;br /&gt;(oh, and the rest of the world is laughing at you, just by the by.)&lt;br /&gt;&lt;br /&gt;Anyway...&lt;br /&gt;&lt;br /&gt;While Conroy was discussing porn and blocked keyword sites that the &lt;a href="http://www.acma.gov.au"&gt;ACMA&lt;/a&gt; list comprises of during the trial run (beginning on December 24th).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Senator Bernardi said:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;I note that the minister failed miserably to answer that question, which was specifically about the number of people needed for a trial to be credible. I also note that in the expression of interest documents the second stream of the trial includes a filtering of other unwanted content. I ask the minister:&lt;br /&gt;Has this unwanted content been identified, and by whom?&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Senator Conroy&lt;/span&gt; came up with an interesting number in regards to the number of blocked sites, that i'd not heard before:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;The list could contain 10,000 [potential sites].&lt;br /&gt;When you look around the world at Interpol, the FBI, Europol and other law enforcement agencies and you look at the size of the lists that they are actually using at the moment, 1,300 would not be sufficient to cover the URLs that &lt;span style="font-weight:bold;"&gt;we would have supplied to us with the purpose of blocking&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;(Quotes from Australian Government Senate Hansard - &lt;a href="http://www.aph.gov.au/hansard/senate/dailys/ds031208.pdf"&gt;03/12/2008&lt;/a&gt;) (any emphasis mine)&lt;br /&gt;&lt;br /&gt;I wonder, Supplied by whom?&lt;br /&gt;&lt;br /&gt;Given the ACMA already have a link for people to report prohibited content, one wonders if the government plans on listing these sites as well as the ones supplied by law enforcement verbatim, or at least vetting them to ensure rogue parties aren't submitting them for their own ends.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1322920654509886809-3607633335345861112?l=thefunkcorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thefunkcorner.blogspot.com/feeds/3607633335345861112/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1322920654509886809&amp;postID=3607633335345861112' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/3607633335345861112'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/3607633335345861112'/><link rel='alternate' type='text/html' href='http://thefunkcorner.blogspot.com/2008/12/regarding-free-world-internet-and-you.html' title='Regarding &apos;The Free World&apos;, &apos;The Internet&apos; and You.'/><author><name>Paul</name><uri>http://www.blogger.com/profile/13666227889038099116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1322920654509886809.post-8607847341557793611</id><published>2008-11-20T16:08:00.001+11:00</published><updated>2008-12-13T16:59:17.146+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='wordpress'/><category scheme='http://www.blogger.com/atom/ns#' term='community service announcement'/><category scheme='http://www.blogger.com/atom/ns#' term='apache2'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Repairing an Apache 2.2 Modules Installation.</title><content type='html'>&lt;span style="font-weight: bold;"&gt;note:&lt;/span&gt; This article is intended for a technical audience -- you should &lt;span style="color: rgb(204, 0, 0);"&gt;use caution&lt;/span&gt; when modifying a production system -- caveat emptor.&lt;br /&gt;&lt;br /&gt;Sometimes, Ubuntu (and before it, Debian) drives me up the wall.&lt;br /&gt;&lt;br /&gt;Recently, an &lt;span style="font-style:italic;"&gt;apache2.2-common&lt;/span&gt; upgrade saw fit to blow away my &lt;span style="font-weight:bold;"&gt;/etc/apache2/mods-enabled&lt;/span&gt; directory, but not recreate the defaults, so I was left with an empty directory and a server that wouldn't restart due to various errors that looked similar to:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;"Invalid command 'Order', perhaps misspelled or defined by a module not included in the server configuration"?"&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Looking around on the web, this doesn't appear to be a new issue, but it doesn't appear to be terribly well answered either -- all I knew, was that I had a box that needed SSL, PHP, Expiry Headers and well, that's it -- aside from the basic functionality.&lt;br /&gt;&lt;br /&gt;My first test was to purge the package and re-install it, which did give me back the functionality I wanted, together with a bunch of other modules I didn't need -- I proceeded to leave it and go to bed, only to be greeted with a message from the hosting provider telling me i'd overblown my shared-hosting's RAM quota for the day and that my account was temporarily suspended.&lt;br /&gt;&lt;br /&gt;So, I removed the directory and started working piece by piece to put things back together until both &lt;a href="http://www.wordpress.org"&gt;Wordpress&lt;/a&gt; and &lt;a href="http://www.oscommerce.com"&gt;OSCommerce&lt;/a&gt; booted up and ran correctly.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;note:&lt;/span&gt; You can also do this with Apache's handy &lt;span style="font-style:italic;"&gt;a2enmod&lt;/span&gt; program, but i'm a purist -- so i'm going to do it here via '&lt;span style="font-style:italic;"&gt;ln -s&lt;/span&gt;'.&lt;br /&gt;&lt;br /&gt;First, to obtain basic functionality, you'll need to log in as root (or &lt;span style="font-style:italic;"&gt;sudo&lt;/span&gt; to root) and issue the following commands, depending on which error your Apache 2.2 installation gives you.&lt;br /&gt;&lt;br /&gt;If you see: "Invalid command '&lt;span style="font-style:italic;"&gt;Order&lt;/span&gt;', perhaps misspelled or defined by a module not included in the server configuration?", run:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;ln -s /etc/apache2/mods-available/authz_default.load /etc/apache2/mods-enabled/authz_default.load&lt;br /&gt;ln -s /etc/apache2/mods-available/authz_host.load /etc/apache2/mods-enabled/authz_host.load&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;If you see: "Invalid command '&lt;span style="font-style:italic;"&gt;DirectoryIndex&lt;/span&gt;', perhaps misspelled or defined by a module not included in the server configuration?", run:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;ln -s /etc/apache2/mods-available/dir.load /etc/apache2/mods-enabled/dir.load&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;If you see: "Invalid command '&lt;span style="font-style:italic;"&gt;Alias&lt;/span&gt;', perhaps misspelled or defined by a module not included in the server configuration?", run:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;ln -s /etc/apache2/mods-available/alias.conf /etc/apache2/mods-enabled/alias.conf&lt;br /&gt;ln -s /etc/apache2/mods-available/alias.load /etc/apache2/mods-enabled/alias.load&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;If you see: "Invalid command '&lt;span style="font-style:italic;"&gt;AddType&lt;/span&gt;', perhaps misspelled or defined by a module not included in the server configuration?", run:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;ln -s /etc/apache2/mods-available/mime.conf /etc/apache2/mods-enabled/mime.conf&lt;br /&gt;ln -s /etc/apache2/mods-available/mime.load /etc/apache2/mods-enabled/mime.load&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;If you don't see any of those, but Wordpress 2.6.x (or 2.7.x) will not let you login (ie. you can install it, and you see the admin screen, but you get '&lt;span style="font-style:italic;"&gt;permission denied&lt;/span&gt;', '&lt;span style="font-style:italic;"&gt;forbidden&lt;/span&gt;' or a directory index -- rather than your admin dashboard) then try running:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;ln -s /etc/apache2/mods-available/asis.load /etc/apache2/mods-enabled/asis.load&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;and restart Apache.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;update [12-12-2008]:&lt;/span&gt; Wordpress 2.7 will fail to install unless you have the &lt;span style="font-style:italic;"&gt;'env'&lt;/span&gt; module installed, so you may also need to run:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;ln -s /etc/apache2/mods-available/env.load /etc/apache2/mods-enabled/env.load&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Once you've restarted, your Apache installation should basically work -- to add advanced functionality, you should visit the Apache 2.2 &lt;a href="http://httpd.apache.org/docs/2.2/mod/directives.html"&gt;Modules Documentation&lt;/a&gt; pages and adapt the lines above to suit the function you need.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1322920654509886809-8607847341557793611?l=thefunkcorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thefunkcorner.blogspot.com/feeds/8607847341557793611/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1322920654509886809&amp;postID=8607847341557793611' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/8607847341557793611'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/8607847341557793611'/><link rel='alternate' type='text/html' href='http://thefunkcorner.blogspot.com/2008/11/repairing-apache-22-modules.html' title='Repairing an Apache 2.2 Modules Installation.'/><author><name>Paul</name><uri>http://www.blogger.com/profile/13666227889038099116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1322920654509886809.post-6594720714078786812</id><published>2008-11-04T22:29:00.000+11:00</published><updated>2008-11-05T16:40:13.835+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='opinions of the funk'/><category scheme='http://www.blogger.com/atom/ns#' term='politics'/><title type='text'>Signs Of The Future.</title><content type='html'>Since &lt;a href="http://tieguy.org/blog"&gt;Luis Villa&lt;/a&gt; first mentioned it, i've been following the &lt;a href="http://election.princeton.edu/2008/11/04/final-predictions-for-2008/"&gt;election blog&lt;/a&gt; at Princeton -- I don't read many political blogs anymore, but it does have to be one of the better ones I keep on my list, the posts are impartial and the graphs and charts are clear and concise.&lt;br /&gt;&lt;br /&gt;I'm not an American, so I can't vote -- but having dealt with Americans on a near daily basis for the last eight years, i'd like to think there'll be enough people with enough power to enact some serious change in the political landscape, for the people, for the country and for the world.&lt;br /&gt;&lt;br /&gt;It'll be interesting to watch the live graphs on the Princeton site over the next few hours.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;update [05/11/2008 16:15 GMT+11]:&lt;/span&gt; Looks like Obama Wins -- the people have made their choice.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1322920654509886809-6594720714078786812?l=thefunkcorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/6594720714078786812'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/6594720714078786812'/><link rel='alternate' type='text/html' href='http://thefunkcorner.blogspot.com/2008/11/signs-of-future.html' title='Signs Of The Future.'/><author><name>Paul</name><uri>http://www.blogger.com/profile/13666227889038099116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-1322920654509886809.post-4538497802216971360</id><published>2008-10-13T00:17:00.002+11:00</published><updated>2008-10-13T00:29:08.245+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='community service announcement'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='postfix'/><title type='text'>Smart-ISP Configuration for Postfix.</title><content type='html'>&lt;span style="font-style:italic;"&gt;note:&lt;/span&gt; This is another 'no-brainer, don't forget this again' type post, but I thought i'd put it here incase anyone else can make use of it.&lt;br /&gt;&lt;br /&gt;Recently, I was told that a client needed to forward all their corporate mail via their local ISP and that I should set that up for them using their existing, internal-only mail handling Postfix server.&lt;br /&gt;&lt;br /&gt;The key additions to their &lt;span style="font-weight:bold;"&gt;/etc/postfix/main.cf&lt;/span&gt; file was (aside from configuring SASL, which you should do anyway and setting the &lt;span style="font-style:italic;"&gt;relayhost&lt;/span&gt; parameter correctly) was:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;&lt;br /&gt;+++ mydestination = &lt;br /&gt;+++ local_recipient_maps =&lt;br /&gt;+++ local_transport = error: no local delivery service&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;and:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;&lt;br /&gt;+++ myorigin = &lt;span style="font-weight:bold;"&gt;the outbound domain name you need.&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Then, you need to &lt;span style="font-weight:bold;"&gt;comment out&lt;/span&gt; (with a #) the &lt;span style="font-style:italic;"&gt;local&lt;/span&gt; transport method in your &lt;span style="font-weight:bold;"&gt;/etc/postfix/master.cf&lt;/span&gt; file.&lt;br /&gt;&lt;br /&gt;Remember that, brain!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1322920654509886809-4538497802216971360?l=thefunkcorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thefunkcorner.blogspot.com/feeds/4538497802216971360/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1322920654509886809&amp;postID=4538497802216971360' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/4538497802216971360'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/4538497802216971360'/><link rel='alternate' type='text/html' href='http://thefunkcorner.blogspot.com/2008/10/smart-isp-configuration-for-postfix.html' title='Smart-ISP Configuration for Postfix.'/><author><name>Paul</name><uri>http://www.blogger.com/profile/13666227889038099116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1322920654509886809.post-4446945865621595039</id><published>2008-10-10T21:59:00.000+11:00</published><updated>2008-11-05T22:13:34.896+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='the interschnitzel'/><category scheme='http://www.blogger.com/atom/ns#' term='browsers'/><category scheme='http://www.blogger.com/atom/ns#' term='security'/><title type='text'>Clickjacking, 1999 Called...</title><content type='html'>&lt;a href="http://www.betanews.com"&gt;Betanews&lt;/a&gt; isn't something I read often anymore, but &lt;a href="http://www.betanews.com/article/Adobe_works_to_preempt_a_clickjacking_security_nightmare/1223479096"&gt;this article&lt;/a&gt; intrigued me.&lt;br /&gt;&lt;br /&gt;It's amazing that after nearly 10 years of active development on the web, standards and the rest -- and the best idea people can come up with for preventing clickjacking is using &lt;span style="font-weight:bold;"&gt;security=restricted&lt;/span&gt; to break frames (aka. &lt;span style="font-style:italic;"&gt;frame busting&lt;/span&gt; code).&lt;br /&gt;&lt;br /&gt;Using &lt;a href="http://www.modsecurity.org/"&gt;mod_security&lt;/a&gt;, you can at least write filtering rules that eliminate iframes and other annoying content at the server level and for Firefox users, &lt;a href="http://noscript.net/"&gt;NoScript&lt;/a&gt; does an excellent job of handling it at the desktop level (after, of course enabling the "&lt;span style="font-style:italic;"&gt;&lt;a href="http://noscript.net/faq#clearclick"&gt;Forbid IFRAME&lt;/a&gt;&lt;/span&gt;" option.)&lt;br /&gt;&lt;br /&gt;For Internet Explorer users, I don't know what to tell you -- something tells me that's why the Internet remains as it is.&lt;br /&gt;&lt;br /&gt;I often wonder if the whole IFRAME tag will be removed from HTML 5.0 -- with all the forward-thinking ideas that CSS 2.1 and 3.0 bring to the table, the only people seeming to use frames on new pages now, seem to be those wishing to exploit it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1322920654509886809-4446945865621595039?l=thefunkcorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thefunkcorner.blogspot.com/feeds/4446945865621595039/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1322920654509886809&amp;postID=4446945865621595039' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/4446945865621595039'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/4446945865621595039'/><link rel='alternate' type='text/html' href='http://thefunkcorner.blogspot.com/2008/10/clickjacking-1999-called.html' title='Clickjacking, 1999 Called...'/><author><name>Paul</name><uri>http://www.blogger.com/profile/13666227889038099116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1322920654509886809.post-3086181650620871330</id><published>2008-10-04T11:21:00.003+10:00</published><updated>2008-12-15T12:07:31.205+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='one line hacks'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='vsftpd'/><title type='text'>VSFTPd Configuration for Non-Interactive Users</title><content type='html'>&lt;span style="font-weight: bold;"&gt;note:&lt;/span&gt; This article is intended for a technical audience -- you should &lt;span style="color: rgb(204, 0, 0);"&gt;use extreme caution&lt;/span&gt; when modifying a production system -- caveat emptor.&lt;br /&gt;&lt;br /&gt;This is one of those '&lt;span style="font-style:italic;"&gt;it's not broken until you trip over it&lt;/span&gt;' things that I wish i'd known about earlier, in posting it here -- i'm hoping other people can find it without wasting the amount of time I did.&lt;br /&gt;&lt;br /&gt;So, I had reason to set up a new VPS box with the LAMP stack, SSH/SCP and VSFTPd for FTP use -- my usual command says something like:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-weight:bold;"&gt;useradd -n --gid www-data -s /bin/false &lt;span style="font-style:italic;"&gt;[username]&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;In a nutshell, this:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;Does &lt;span style="font-style:italic;"&gt;not&lt;/span&gt; create a new group specific to the user.&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;Makes the user's primary group &lt;span style="font-weight:bold;"&gt;www-data&lt;/span&gt; (useful for users being able to access / upload / modify their own web code).&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;Sets the default shell to &lt;span style="font-weight:bold;"&gt;/bin/false&lt;/span&gt;, which does not allow the account to login interactively.&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;However, when you use an FTP client, it bails out with a 530 error, telling the user either their username or password are wrong.&lt;br /&gt;&lt;br /&gt;So, the next step is to reset their password and try again -- nope, no difference.&lt;br /&gt;&lt;br /&gt;Try changing the shell from &lt;span style="font-weight:bold;"&gt;/bin/false&lt;/span&gt; to &lt;span style="font-weight:bold;"&gt;/bin/bash&lt;/span&gt; with &lt;span style="font-style:italic;"&gt;chsh&lt;/span&gt; though:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;chsh -s /bin/bash &lt;span style="font-style:italic;"&gt;[username]&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;... and everything works correctly.&lt;br /&gt;&lt;br /&gt;We don't want to use &lt;span style="font-weight:bold;"&gt;/bin/bash&lt;/span&gt; though, because (amongst other things) it allows interactive logins via SSH or the console, which poses a security risk for the other users of the box.&lt;br /&gt;&lt;br /&gt;Ubuntu &amp; Red Hat (and probably a whole bunch of others) include the &lt;span style="font-style:italic;"&gt;nologin&lt;/span&gt; command, which does exactly what we want (provides a message that the user cannot login, and exits).&lt;br /&gt;&lt;br /&gt;OK:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;chsh -s /sbin/nologin &lt;span style="font-style:italic;"&gt;[username]&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Try FTP.&lt;br /&gt;&lt;br /&gt;It still errors.&lt;br /&gt;&lt;br /&gt;As it turns out, the reason it errors is due to it not being included in the &lt;span style="font-weight:bold;"&gt;/etc/shells&lt;/span&gt; file that VSFTPd and other system daemons use to determine if your shell is valid.&lt;br /&gt;&lt;br /&gt;Turns out, it's a very easy thing to fix -- simply:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-weight:bold;"&gt;echo /sbin/nologin &gt;&gt; /etc/shells&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;note:&lt;/span&gt; Some distributions ship this as /usr/sbin/nologin -- you may wish to run &lt;span style="font-weight:bold;"&gt;whereis nologin&lt;/span&gt; first to determine where your copy is.&lt;br /&gt;&lt;br /&gt;Try FTP again.&lt;br /&gt;&lt;br /&gt;:)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1322920654509886809-3086181650620871330?l=thefunkcorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thefunkcorner.blogspot.com/feeds/3086181650620871330/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1322920654509886809&amp;postID=3086181650620871330' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/3086181650620871330'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/3086181650620871330'/><link rel='alternate' type='text/html' href='http://thefunkcorner.blogspot.com/2008/10/vsftpd-configuration-for-non.html' title='VSFTPd Configuration for Non-Interactive Users'/><author><name>Paul</name><uri>http://www.blogger.com/profile/13666227889038099116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1322920654509886809.post-5400607714320670512</id><published>2008-10-02T17:23:00.002+10:00</published><updated>2008-11-02T20:18:24.023+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='one line hacks'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>Disabling Control-Alt-Delete on Linux Servers</title><content type='html'>A colleague rebooted a server unintentionally by having the keyboard plugged into the wrong machine (or, more correctly, typing on a keyboard not connected to the box he was looking at)&lt;br /&gt;&lt;br /&gt;After the users swore at him a little, he rang for advice -- luckily, in these days of event driven machines, on a recent Linux distribution (RHEL 5 / Ubuntu 8.04) disabling the C-A-D on critical machines is easy.&lt;br /&gt;&lt;br /&gt;First, open &lt;span style="font-style:italic;"&gt;/etc/event.d/control-alt-delete&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Now, change the line:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;br /&gt;--- exec /sbin/shutdown -r now “Control-Alt-Delete pressed”&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;To:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;&lt;br /&gt;+++ exec /bin/echo "Control-Alt-Disable has been disabled"&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Save the file and restart the machine, the next time you press Control-Alt-Delete, you'll get a nice message saying things were disabled, rather than a bunch of angry users.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1322920654509886809-5400607714320670512?l=thefunkcorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thefunkcorner.blogspot.com/feeds/5400607714320670512/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1322920654509886809&amp;postID=5400607714320670512' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/5400607714320670512'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/5400607714320670512'/><link rel='alternate' type='text/html' href='http://thefunkcorner.blogspot.com/2008/10/disabling-control-alt-delete-on-linux.html' title='Disabling Control-Alt-Delete on Linux Servers'/><author><name>Paul</name><uri>http://www.blogger.com/profile/13666227889038099116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1322920654509886809.post-7579729503528957372</id><published>2008-08-30T22:27:00.002+10:00</published><updated>2008-09-03T17:35:20.998+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='opinions of the funk'/><title type='text'>Bandwidth: Limits, Speeds, Standards?</title><content type='html'>Christopher Blizzard &lt;a href="http://www.0xdeadbeef.com/weblog/?p=658"&gt;recently wrote&lt;/a&gt; about Comcast (a major US ISP) imposing bandwidth limits on their customers -- unfortunately, something those of us in Australia know all too well.&lt;br /&gt;&lt;br /&gt;My initial thoughts, included a &lt;a href="http://www.0xdeadbeef.com/weblog/?p=658#comment-152997"&gt;comment&lt;/a&gt;:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;I don’t think it’s ‘that’s a huge pile of angry non-americans’ any more that it is ‘the rest of us, would like to welcome you, the americans — to needing to put up with what the rest of the world deals with on a daily basis’ or, &lt;span style="font-style:italic;"&gt;consumerism&lt;/span&gt;.&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;After pondering on it for a while longer, especially in relation to local users -- I have to wonder:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;If the average cost of bandwidth in Australia is $50 AUD for 5/GB of bandwidth, which at 1.5M p/sec equates to 3.75hrs of sustained download time -- what does an average household actually do with their internet the rest of the time?&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;Comparing the three ISPs I deal with on a daily basis:&lt;br /&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;&lt;a href="http://my.bigpond.com/internetplans/broadband/adsl/overview/default.jsp"&gt;Telstra&lt;/a&gt;, ran a TV commercial recently where they demonstrated a 'BigPond Connected Home' with 2 Adults, 1 Adult Child, 2 Children and a Dog using the internet at the same time, one for streaming TV, one for viewing Facebook, one for browsing eBay and one for booking travel.&lt;br /&gt;&lt;br /&gt;Presuming the family only paid the 'average' fee, $59.95 at 1.5M gives you 600M -- yes, that's &lt;span style="font-style:italic;"&gt;Megabytes&lt;/span&gt; (not a typo), which excess usage charged at $0.15 a megabyte.&lt;br /&gt;&lt;br /&gt;Looking at the list of Telstra &lt;a href="http://bigpond.com/unmetered/"&gt;unmetered sites&lt;/a&gt;, Facebook isn't in the list, YouTube isn't, neither is eBay, which begs the question -- how much is the average family's internet bill per month.&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;SingTel/&lt;a href="http://www.optus.com.au/home/index.html?action=nav_personal_internet"&gt;Optus&lt;/a&gt; come out marginally better, providing a 15GB plan for $59.95 AUD a month, with no excess data charges -- but a throttled speed of 128kbps once you've hit your limit, as well as not apparent unmetered content.&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;&lt;a href="http://www.internode.on.net/residential/internet/home_adsl/"&gt;Internode&lt;/a&gt; came out better still, providing a 25GB plan at ADSL2 speeds for $59.95 with no excess usage charge, albeit a slower throttled speed of 64kbps, but provided an extensive online games and free software unmetered mirror, as well as a variety of uncapped site access.&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;In the last week, i'd been using my Playstation 3 at home a fair amount -- and decided to do a bit of research into how much bandwidth the average game used by running a few demos, plugging my DSL model directly into the PS3, thus removing the rest of the traffic from my LAN from the equation.&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;Call Of Duty 4, 6-man multiplayer with a 15 minute time-limit used 23M of data the first time, and 24M of data the second time (the only difference was the map we used).&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;Grand Theft Auto 4, 12-man multiplayer with a 20 minute time limit used 40M of data each time.&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;The new demo for EA Sports NHL '09 came out on the Australian PS3 Network -- which I promptly grabbed, as a '&lt;span style="font-style:italic;"&gt;normal use case&lt;/span&gt;' test for the average household, at 1102M on it's own, that accounts for $169.33 AUD of excess usage charge at Telstra, or nearly a tenth of the available bandwidth at Optus using the above numbers on it's own.&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;&lt;br /&gt;After returning my LAN to the equation, I then stumbled over the &lt;a href="http://you.presscue.com/story/us-internet-speeds-wont-catch-japan-100-years"&gt;following article&lt;/a&gt;, that talked about the USA lagging Japan in terms of aggregate bandwidth for the medium-to-long term and thought, sure -- Japan can reach the Japanese at 63M, possibly the Japanese eBay or Amazon too, but what's the speed like from there to Europe, or the USA.&lt;br /&gt;&lt;br /&gt;I understand that is actually costs a lot of money for anything to get to Australia &amp; the cost of cable, backchannel links and maintenance is prohibitive.&lt;br /&gt;&lt;br /&gt;I also understand that Telstra is still in the position where they can play overlord to the communications network in this country and a mentality of 'we built the links, you paid for them, now we profit from them' is the standard, but that's the case with any 'Shareholder Concerned' business.&lt;br /&gt;&lt;br /&gt;Maybe things would have been different (better?) if the government had forced &lt;a href="http://en.wikipedia.org/wiki/Telstra"&gt;Telstra&lt;/a&gt; to hand over control of the physical line infrastructure to AUSTEL 15-20 years ago, rather than dissolving AUSTEL, forming the ACA (and &lt;a href="http://www.acma.gov.au/WEB/HOMEPAGE/pc=HOME"&gt;ACMA&lt;/a&gt;) instead and creating yet another mid-range government department while allowing the sole telecoms provider to become a complete juggernaut too.&lt;br /&gt;&lt;br /&gt;They didn't -- and now we the consumers are paying and will continue to pay until either:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:italic;"&gt;a)&lt;/span&gt; government regulates in consumers favour across the country (rather than concentrating on '&lt;span style="font-style:italic;"&gt;the bush&lt;/span&gt;') &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;or&lt;/span&gt; &lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;b)&lt;/span&gt; the cows come home. (especially with the &lt;a href="http://en.wikipedia.org/wiki/G9_(consortium)"&gt;G9&lt;/a&gt; facing resistance from the &lt;a href="http://www.accc.gov.au/"&gt;ACCC&lt;/a&gt; with their Fibre-To-The-Node proposal and Telstra pulling the telecoms version of an All-In-Over-The-Top-Raise, launching their own proposal for the rebuilding and revamping of Australia's telecommunications infrastructure.)&lt;br /&gt;&lt;br /&gt;According to Chris's other comments, at least the pricing situation here isn't as bad as the one in &lt;a href="http://www.0xdeadbeef.com/weblog/?p=658#comment-152926"&gt;South Africa were the equivalent of $140 AUD buys you 10GB&lt;/a&gt;, but that's for a userbase of around 10,000 users -- not 16.6 million.&lt;br /&gt;&lt;br /&gt;The next few years will be interesting.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1322920654509886809-7579729503528957372?l=thefunkcorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thefunkcorner.blogspot.com/feeds/7579729503528957372/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1322920654509886809&amp;postID=7579729503528957372' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/7579729503528957372'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/7579729503528957372'/><link rel='alternate' type='text/html' href='http://thefunkcorner.blogspot.com/2008/08/bandwidth-limits-speeds-standards.html' title='Bandwidth: Limits, Speeds, Standards?'/><author><name>Paul</name><uri>http://www.blogger.com/profile/13666227889038099116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1322920654509886809.post-6011698731855920681</id><published>2008-08-23T13:06:00.002+10:00</published><updated>2008-08-26T14:25:05.444+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='opinions of the funk'/><category scheme='http://www.blogger.com/atom/ns#' term='playstation 3'/><title type='text'>Playstation 3, Streaming, Formats ... Ick.</title><content type='html'>I've been working away at a media streaming project for the last week or two -- mainly because running between the machine that holds most of my web-content and the TV becomes tiresome, especially when you've got most of the content in .mkv or .mp4 formats that don't fit more than an episode or two on a DVD-R.&lt;br /&gt;&lt;br /&gt;I've tried TwonkyVision, which was widely recommended as the best solution for streaming with transcoding from external sources -- but is purchase-ware, as well as both &lt;a href="http://fuppes.ulrich-voelkel.de/"&gt;FUPPES&lt;/a&gt; and &lt;a href="http://mediatomb.cc/news"&gt;MediaTomb&lt;/a&gt; from the world of OSS.&lt;br /&gt;&lt;br /&gt;Quite frankly, I came away quite unimpressed.&lt;br /&gt;&lt;br /&gt;Not because any of the software is bad, or particularly difficult to setup (albeit that you need a newer version of FFMPEG to get any reasonable quality from the HDTV transcodes, and that creates debian pain.) ...&lt;br /&gt;&lt;br /&gt;More because the Playstation doesn't do half the things you'd expect of it.&lt;br /&gt;&lt;br /&gt;Granted, it's behind the XBox360 juggernaut in terms of market time -- but if you're going to do format compatibility, please -- SONY, make a decent job of it.&lt;br /&gt;&lt;br /&gt;First, I tried connecting the three media servers using the default instructions for each, enabled uPnP and a default multicast route for the boxes that held the data -- of course, while that meant my laptops could see the share -- the PS3 didn't.&lt;br /&gt;&lt;br /&gt;Further investigation concluded it's nigh on impossible to get the PS3 (40GB, running firmware 2.42) to talk to a media server via the wire&lt;span style="font-style:italic;"&gt;less&lt;/span&gt; interface.&lt;br /&gt;&lt;br /&gt;15M of CAT5 later and a re-configuration of the PS3 to use a wired interface -- we had liftoff, well -- nearly, the PS3 had dropouts whenever it tried to look up directories on the share, it'd start searching, get through the first 20 or 30 entries and stop.&lt;br /&gt;&lt;br /&gt;More poking ensued -- turns out the PS3 needed an explicit route to the box hosting the media, easily fixed -- but in no manual, it only triggered in my brain because the box doing the serving (running Red Hat Enterprise Linux 4.x) was triggering source route notifications in my logfiles.&lt;br /&gt;&lt;br /&gt;Now the PS3 saw the media, as a variety of MPEG-2's, and Unknown Data.&lt;br /&gt;&lt;br /&gt;Back to the interschnitzel, to find MediaTomb and FUPPES both have 'a workaround' to make the PS3 see DivX files, except they both don't actually work on PS3's with 2.4x firmware 'out of the box' (a phrase becoming my new favourite annoyance)&lt;br /&gt;&lt;br /&gt;For MediaTomb this means adding:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;        &amp;#60;map from="avi" to="video/x-divx"/&amp;#62;&lt;br /&gt;        &amp;#60;map from="divx" to="video/x-divx"/&amp;#62;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;For FUPPES this means:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;    &amp;#60;file ext="avi"&amp;#62;&lt;br /&gt;      &amp;#60;type&amp;#62;VIDEO_ITEM&amp;#60;/type&amp;#62;&lt;br /&gt;      &amp;#60;mime_type&amp;#62;video/x-divx&amp;#60;/mime_type&amp;#62;&lt;br /&gt;    &amp;#60;/file&amp;#62;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;... to your configurations.&lt;br /&gt;&lt;br /&gt;A 'Re-boot and Re-Import' later the PS3 saw a bunch of MPEG-2 and DivX files, Good.&lt;br /&gt;&lt;br /&gt;Except half of them wouldn't play, Bad.&lt;br /&gt;&lt;br /&gt;Infact, the PS3 seems more picky about which DivX/XviD files it'll play than the documentation suggests -- the exact same file with the exact same settings encoded in &lt;a href="http://www.xvid.org/"&gt;XviD&lt;/a&gt; 1.10 and 1.12 play differently on the PS3, the 1.10 file is called 'Corrupted Data' but the 1.12 copy plays normally, albeit with audio skew caused by lag.&lt;br /&gt;&lt;br /&gt;Then there's MPEG-2's that won't play if they are in a TS container, but will if the stream is copied to a PS container first.&lt;br /&gt;&lt;br /&gt;Matroska (MKV) based H.264 files won't play at all either, having a platform that says it supports 'new media' and not having a Matroska muxer/parser is ... er, strange.&lt;br /&gt;&lt;br /&gt;My personal favourite though, is that transcoding anything high-definition fails using 'chunked' encoding because the 'buffer' size (I set for 512k) is too large.&lt;br /&gt;&lt;br /&gt;Luckily, that's an easy fix for FUPPES. For MediaTomb it's not straightforward, you need to change the 'fill' size to workaround it ... but again, that's not documented anywhere either.&lt;br /&gt;&lt;br /&gt;The &lt;span style="font-weight:bold;"&gt;working&lt;/span&gt; settings I came up with (which need to be added to each transcoding section where you're converting H.264 (.mkv or .mp4 mostly, unless you watch High-Def Pornography, in which case i'll leave it as an exercise to the reader) were:&lt;br /&gt;&lt;br /&gt;MediaTomb:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;        &amp;#60;buffer size="20971520" chunk-size="524288" fill-size="10485760"/&amp;#62;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;FUPPES:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;    &amp;#60;http_encoding&amp;#62;stream&amp;#60;/http_encoding&amp;#62;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;In the end, after recompiling both platforms -- I settled on MediaTomb, although I now have both RHEL 4 and Ubuntu 8.04 packages for both platforms from their respective RCSes from 20080818, so I can switch easily if I want to change.&lt;br /&gt;&lt;br /&gt;There'll be a forthcoming post on how to configure the transcoder scripts and FFMPEG, sometime when i've got hours up my sleeve to document it with sane reasoning and screenshots, i've got it going now -- but if I wrote it up, it'd look ranty and like I was SONY-bashing.&lt;br /&gt;&lt;br /&gt;I agree with &lt;a href="http://www.ub3rgeek.net/wp/2008/08/17/why-the-psn-is-still-flawed/"&gt;this guy&lt;/a&gt;. The XMB is nice, the changing colour for the seasons is a nice touch too, but if the PS3 doesn't increase the titles available via the Playstation Network (In Australia, we don't have a Madden '09 demo yet, for example -- nor do we have Castlevania, but we do have a bunch of music videos and some streaming from various trade events .. for all the use they are.) then it'll be behind the X360 for a while to come.&lt;br /&gt;&lt;br /&gt;However, if they don't fix the format capabilities -- probably by this holiday season, then they'll be behind the X360 for a long, long, long time to come.&lt;br /&gt;&lt;br /&gt;Really, an Matroska muxer -- support for all three main H.264/AAC profiles, MPEG2-TS and -PS support and a differentiation between DivX (DX50/DX60) and XviD (XVID) would be nice, at least so I don't have to transcode the latter to view something you're natively capable of viewing in the first place.&lt;br /&gt;&lt;br /&gt;If we got that, plus maybe an Dirac and Vorbis implementation (I mean, does anyone use ATRAC) -- the Playstation 3, to quote a great movie reference ... "&lt;span style="font-style:italic;"&gt;would become more powerful than you could possibly imagine.&lt;/span&gt;"&lt;br /&gt;&lt;br /&gt;... but at the moment, it's a games platform, with a swanky front-end.&lt;br /&gt;&lt;br /&gt;If SONY think it's anything more than that, they owe me my weekend back.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1322920654509886809-6011698731855920681?l=thefunkcorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thefunkcorner.blogspot.com/feeds/6011698731855920681/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1322920654509886809&amp;postID=6011698731855920681' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/6011698731855920681'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/6011698731855920681'/><link rel='alternate' type='text/html' href='http://thefunkcorner.blogspot.com/2008/08/playstation-3-streaming-formats-ick.html' title='Playstation 3, Streaming, Formats ... Ick.'/><author><name>Paul</name><uri>http://www.blogger.com/profile/13666227889038099116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1322920654509886809.post-7188968177142724620</id><published>2008-08-19T14:44:00.001+10:00</published><updated>2008-08-20T14:56:57.418+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='multimedia'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu packages'/><category scheme='http://www.blogger.com/atom/ns#' term='totem'/><category scheme='http://www.blogger.com/atom/ns#' term='gstreamer'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Totem Packages Available (see: Totem, GStreamer &amp; nVidia Graphics Cards)</title><content type='html'>Playing with a possible fix for &lt;a href="https://bugs.launchpad.net/ubuntu/+source/linux-restricted-modules-2.6.20/+bug/34659"&gt;these&lt;/a&gt; &lt;a href="https://bugs.launchpad.net/ubuntu/+source/vlc/+bug/218736"&gt;bugs&lt;/a&gt; in Totem.&lt;br /&gt;&lt;br /&gt;There's packages for Ubuntu Hardy &lt;a href="ftp://64.22.103.45/packages/ubuntu/hardy/totem/"&gt;here&lt;/a&gt; -- that are the same as the release ones except one rather messy hack that shifts the Hue plus-or-minus 90 from whatever position Totem starts in.&lt;br /&gt;&lt;br /&gt;It's basically the code from &lt;a href="http://nvnews.net/vbulletin/showpost.php?p=1619045&amp;postcount=10"&gt;here&lt;/a&gt; cleaned up a tad and dropped in as a patch.&lt;br /&gt;&lt;br /&gt;They seem to work for me, using the GStreamer pipelines I presented in &lt;a href="http://thefunkcorner.blogspot.com/2008/08/totem-gstreamer-nvidia-graphics-cards.html"&gt;the last post&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Not a clean solution, but I can play a full playlist of videos without the colour skewing once -- which is better than upstream can do at present.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1322920654509886809-7188968177142724620?l=thefunkcorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thefunkcorner.blogspot.com/feeds/7188968177142724620/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1322920654509886809&amp;postID=7188968177142724620' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/7188968177142724620'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/7188968177142724620'/><link rel='alternate' type='text/html' href='http://thefunkcorner.blogspot.com/2008/08/totem-packages-available-see-totem.html' title='Totem Packages Available (see: Totem, GStreamer &amp; nVidia Graphics Cards)'/><author><name>Paul</name><uri>http://www.blogger.com/profile/13666227889038099116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1322920654509886809.post-1399970244569615720</id><published>2008-08-15T16:29:00.003+10:00</published><updated>2008-08-15T16:36:02.123+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='bluetooth'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Bluetooth's "Operation Not Supported By Backend" Message</title><content type='html'>This morning, while trying to move some files between my mobile phone and my Ubuntu 8.04.1 machine -- I was greeted with a "Operation Not Supported By Backend" message with the address of my phone and the drag between Nautilus windows was terminated.&lt;br /&gt;&lt;br /&gt;Turns out, it is because the GVFS backend for Bluetooth doesn't support the device -- and using the older, GNOME-VFS way isn't supported either.&lt;br /&gt;&lt;br /&gt;The 'Send-To Bluetooth' option (right-clicking the files you want to send and selecting your mobile) works as per normal and successfully transferred 25M of files to my phone in under a minute.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1322920654509886809-1399970244569615720?l=thefunkcorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/1399970244569615720'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/1399970244569615720'/><link rel='alternate' type='text/html' href='http://thefunkcorner.blogspot.com/2008/08/bluetooths-operation-not-supported-by.html' title='Bluetooth&apos;s &quot;Operation Not Supported By Backend&quot; Message'/><author><name>Paul</name><uri>http://www.blogger.com/profile/13666227889038099116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-1322920654509886809.post-1165675970742897032</id><published>2008-08-11T17:39:00.000+10:00</published><updated>2008-08-12T23:57:52.882+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='opinions of the funk'/><category scheme='http://www.blogger.com/atom/ns#' term='security'/><title type='text'>Mozilla, SSL &amp; the 'non-optimum' Security Warning</title><content type='html'>A &lt;a href="http://www.gnome.org/~federico/news-2008-08.html#05"&gt;number&lt;/a&gt; of &lt;a href="http://http://chrislord.net/blog/firefox-security-nonsense.enlighten"&gt;people&lt;/a&gt; have &lt;a href="http://blogs.gnome.org/bolsh/2008/08/06/ssl-security-firefox/"&gt;been&lt;/a&gt; &lt;a href="http://http://cgwalters.livejournal.com/20199.html"&gt;blogging&lt;/a&gt; &lt;a href="http://www.0xdeadbeef.com/weblog/?p=521"&gt;about&lt;/a&gt; the &lt;a href="http://www.vuntz.net/journal/2008/08/06/483-certificate-fun-and-how-mozilla-can-help"&gt;state&lt;/a&gt; of the SSL Certificate Security Warning since the release of Firefox 3.0.&lt;br /&gt;&lt;br /&gt;I must admit, personally I don't mind the dialog that pops up -- it scares the everyday user into thinking twice before sending their data to Nigeria by accident.&lt;br /&gt;&lt;br /&gt;It is actually far more awkward to import the various extra root certificates into the various operating environments, than it is to do certificate exemptions on a site by site basis.&lt;br /&gt;&lt;br /&gt;I found the report that Federico &lt;a href="http://www.cs.auckland.ac.nz/~pgut001/pubs/phishing.pdf"&gt;linked to&lt;/a&gt; slightly disturbing -- if &lt;span style="font-style:italic;"&gt;58%&lt;/span&gt; of certificates are indeed invalid, expired or otherwise bad, that's a hell of a lot of users that are experiencing an all-too-confusing dialog box far too often.&lt;br /&gt;&lt;br /&gt;(&lt;span style="font-style:italic;"&gt;On that note:&lt;/span&gt; If you have an expired certificate, you should really get it renewed -- especially with a commercial signer, after all -- you've built a reputation with that certificate, you shouldn't have customers turning away because that little yellow bar they've been used to becomes a scary looking error message.)&lt;br /&gt;&lt;br /&gt;I like &lt;a href="http://www.cacert.org"&gt;CACert&lt;/a&gt; myself, I use it for things regularly and i've configured several e-commerce installations to use certificates for it, after going through the somewhat painful verification process to get a two-year certificate instead of a three-month one.&lt;br /&gt;&lt;br /&gt;For commercial stuff though, CACert isn't really practical -- especially considering very few operating environments include their root certificates by default.&lt;br /&gt;&lt;br /&gt;For semi-commercial stuff, there's no middle-ground, there's either commerical CA's, Homebrew, or nothing.&lt;br /&gt;&lt;br /&gt;For personal use, there's GNU Privacy Guard -- a much better, but less Microsoft-supported way of confirming you really are who you say you are.&lt;br /&gt;&lt;br /&gt;I've often thought about the issue in my business, where I see all sorts of certificates on a week-to-week basis -- and often need to handle the case of '&lt;em&gt;a user complained my certificate was invalid, I bought it and gave it to you, so you must have broken it.&lt;/em&gt;'&lt;br /&gt;&lt;br /&gt;The thing I haven't been able to come up with yet, is the solution:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;For big corporates, there's Verisign or Thwate, which is prohibitively expensive for a single-user in the home.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;For &lt;acro title="Small To Medium Enterprise"&gt;SME's&lt;/acro&gt; there's second-tier signers, like Comodo, GoDaddy or Network Solutions.&lt;/li&gt; For ~$100USD p/year, you can get a certificate that works 'most of the time'.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;For Free Software Developers and other Personal Use there's basically CACert, or doing it yourself. Neither of which, are supported by anything remotely mainstream without doing a hell of a lot of legwork yourself.&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;Maybe Mozilla themselves, or Google could do something to help the situation by running a CA that works in parallel with the other services they provide -- but how would that be any less work that rubber-stamping CACert?&lt;br /&gt;&lt;br /&gt;Well, even though the &lt;em&gt;principle&lt;/em&gt; is the same, if Google did it -- it'd probably be supported everywhere -- but as of now, CACert are still running the gauntlet with Mozilla and will probably have a much more difficult task getting past Microsoft and Apple, accordingly.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1322920654509886809-1165675970742897032?l=thefunkcorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thefunkcorner.blogspot.com/feeds/1165675970742897032/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1322920654509886809&amp;postID=1165675970742897032' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/1165675970742897032'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/1165675970742897032'/><link rel='alternate' type='text/html' href='http://thefunkcorner.blogspot.com/2008/08/mozilla-ssl-non-optimum-security.html' title='Mozilla, SSL &amp; the &apos;non-optimum&apos; Security Warning'/><author><name>Paul</name><uri>http://www.blogger.com/profile/13666227889038099116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1322920654509886809.post-2719882931959493622</id><published>2008-08-06T17:29:00.003+10:00</published><updated>2008-08-06T17:40:47.552+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vmware'/><category scheme='http://www.blogger.com/atom/ns#' term='adventures with windows'/><title type='text'>Autodesk Backburner &amp; VMWare Clones</title><content type='html'>If you've installed Autodesk's Backburner product within VMWare (part of 3D Studio 7/8/9/2008) and have trouble getting the Backburner server to start because the "&lt;span style="font-style:italic;"&gt;UDP interface is not valid in this context&lt;/span&gt;", the solution is two-fold:&lt;br /&gt;&lt;br /&gt;First, Power off your VM&lt;br /&gt;Then, edit the &lt;span style="font-weight:bold;"&gt;.vmx&lt;/span&gt; file for the failing VM and change:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;br /&gt;ethernet0.generatedAddressOffset = "0"&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;To:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;br /&gt;ethernet0.generatedAddressOffset = "1"&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Power up the VM and log in to Windows -- using Windows Explorer, navigate to the &lt;span style="font-style:italic;"&gt;C:\Program Files\Autodesk\Backburner\Network&lt;/span&gt; directory.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Delete the &lt;span style="font-weight:bold;"&gt;backburner.xml&lt;/span&gt; file.&lt;br /&gt;&lt;br /&gt;Now when you restart the Backburner server application, a new configuration file will be created with the new GUID and SID of the VMWare instance and it should start up and run normally.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1322920654509886809-2719882931959493622?l=thefunkcorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/2719882931959493622'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/2719882931959493622'/><link rel='alternate' type='text/html' href='http://thefunkcorner.blogspot.com/2008/08/autodesk-backburner-vmware-clones.html' title='Autodesk Backburner &amp; VMWare Clones'/><author><name>Paul</name><uri>http://www.blogger.com/profile/13666227889038099116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-1322920654509886809.post-6430508557036858515</id><published>2008-08-05T16:44:00.002+10:00</published><updated>2008-08-05T17:03:49.143+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='multimedia'/><category scheme='http://www.blogger.com/atom/ns#' term='gstreamer'/><category scheme='http://www.blogger.com/atom/ns#' term='playstation 3'/><title type='text'>Encoding Videos for your PS3 using GStreamer</title><content type='html'>Following up my previous post, i've been playing more with HDTV content on my machines -- and spending more time re-coding content for my PS3 so I can watch it from the comfort of my lounge.&lt;br /&gt;&lt;br /&gt;Using Avidemux is nice, but occassionally -- it's nice to stick it in a terminal, with relatively low overheads and use the GStreamer framework to do the same job.&lt;br /&gt;&lt;br /&gt;So, here's two examples of how to use the &lt;abbr title="Command Line Interface"&gt;CLI&lt;/abbr&gt; to generate content playable on the PS3.&lt;br /&gt;&lt;br /&gt;For Standard Definition (SDTV) content -- you can use:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;br /&gt;gst-launch-0.10 filesrc location=&lt;em&gt;"input.avi"&lt;/em&gt; ! decodebin name="decode" decode. ! queue ! ffmpegcolorspace ! ffenc_mpeg4 bitrate=999999 gop-size=24 qmin=2 qmax=31 flags=0x00000010 ! avimux name=mux ! filesink location=&lt;em&gt;"output.avi"&lt;/em&gt; decode. ! queue ! audioconvert ! lame name=enc vbr=0 ! queue ! mux.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;As of the 2.42 firmware, the PS3 has issues playing &lt;abbr title="Variable BitRate"&gt;VBR&lt;/abbr&gt; audio -- so you have to explicitly turn it off (setting it to CBR audio) using the &lt;span style="font-style:italic;"&gt;vbr=0&lt;/span&gt; option to lame.&lt;br /&gt;&lt;br /&gt;For High Definition (HDTV) content in .MKV format -- the x264 encoder works better, with a higher quality re-encode at the expense of a larger output file (obviously, if you've downloaded a HDTV file that's already been encoded in the .avi format, you'd want to use the SDTV code above, because the .avi file would already have significant quality loss over the original source material)&lt;br /&gt;&lt;br /&gt;In HDTV, we can also use AAC audio to generate 4.1 channel audio -- as opposed to recoding to MP3.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;br /&gt;gst-launch-0.10 filesrc location=&lt;em&gt;"input.avi"&lt;/em&gt; ! decodebin name="decode" decode. ! queue ! ffmpegcolorspace ! x264enc ! ffmux_mp4 name=mux ! filesink location=&lt;em&gt;"output.avi"&lt;/em&gt; decode. ! queue ! audioconvert ! faac name=enc ! queue ! mux.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Where &lt;span style="font-style:italic;"&gt;input.avi&lt;/span&gt; is the path to your existing media source and&lt;span style="font-style:italic;"&gt;output.avi&lt;/span&gt; is the path and file that you'd like to save.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;important note:&lt;/span&gt; Yes, the full stop (after the mux.) in both cases is intentional -- if you take it out, GStreamer will complain about the pipeline.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1322920654509886809-6430508557036858515?l=thefunkcorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/6430508557036858515'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/6430508557036858515'/><link rel='alternate' type='text/html' href='http://thefunkcorner.blogspot.com/2008/08/encoding-videos-for-your-ps3-using.html' title='Encoding Videos for your PS3 using GStreamer'/><author><name>Paul</name><uri>http://www.blogger.com/profile/13666227889038099116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-1322920654509886809.post-8517485068833512113</id><published>2008-08-04T02:10:00.004+10:00</published><updated>2008-12-09T11:46:34.049+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='multimedia'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Totem, GStreamer &amp; nVidia Graphics Cards</title><content type='html'>I've been bitten by &lt;a href="https://bugs.launchpad.net/ubuntu/+source/linux-restricted-modules-2.6.20/+bug/34659"&gt;these&lt;/a&gt; &lt;a href="https://bugs.launchpad.net/ubuntu/+source/vlc/+bug/218736"&gt;bugs&lt;/a&gt; fairly often on my HP DV6000 laptop -- and with nVidia claiming it's &lt;a href="http://http://nvnews.net/vbulletin/showthread.php?t=107009"&gt;nothing to do&lt;/a&gt; with them, I decided to do a little investigation.&lt;br /&gt;&lt;br /&gt;Turns out, Totem seems to reset the video settings after each video has been played.&lt;br /&gt;&lt;br /&gt;If the quality sliders in Totem are dead center for all four settings (Saturation, Contrast, Hue and Brightness) ...&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_WROglLz0RI4/SJgG4jDuXvI/AAAAAAAAAOQ/oznVFVVJJng/s1600-h/totem-default-preferences.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_WROglLz0RI4/SJgG4jDuXvI/AAAAAAAAAOQ/oznVFVVJJng/s200/totem-default-preferences.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5230938535744134898" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;... the video displays with a bluish tinge unless you use the following GStreamer Video Output pipeline:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;ffmpegcolorspace ! video/x-raw-yuv,format=(fourcc)YV12 ! videobalance contrast=1 brightness=0 hue=-1 saturation=1 ! autovideosink&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;If the colour settings slider for Hue is at the far left (as has been suggested as a solution by several people), the following pipeline works:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;ffmpegcolorspace ! video/x-raw-yuv,format=(fourcc)YV12 ! videobalance contrast=1 brightness=0 hue=0 saturation=1 ! autovideosink&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_WROglLz0RI4/SJgG4TkehxI/AAAAAAAAAOI/uShS9sHhPlM/s1600-h/gstreamer-properties-fixes.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_WROglLz0RI4/SJgG4TkehxI/AAAAAAAAAOI/uShS9sHhPlM/s200/gstreamer-properties-fixes.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5230938531586541330" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;However, regardless of which pipeline one chooses, Totem seems to reset itself each time, seemingly &lt;span style="font-style:italic;"&gt;trying to adapt&lt;/span&gt; to the optimum setting, which means the first video you play will display correctly, but following videos will be blue.&lt;br /&gt;&lt;br /&gt;At this point, i'm not really sure how to fix it -- but nVidia &lt;a href="http://nvnews.net/vbulletin/showthread.php?t=107009"&gt;suggest that it isn't their problem&lt;/a&gt; and Totem should fix it.&lt;br /&gt;&lt;br /&gt;The interesting thing about that, is if I take a screenshot of a playing video -- the screenshot is the correct colour, &lt;span style="font-weight:bold;"&gt;all&lt;/span&gt; the time.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1322920654509886809-8517485068833512113?l=thefunkcorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/8517485068833512113'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/8517485068833512113'/><link rel='alternate' type='text/html' href='http://thefunkcorner.blogspot.com/2008/08/totem-gstreamer-nvidia-graphics-cards.html' title='Totem, GStreamer &amp; nVidia Graphics Cards'/><author><name>Paul</name><uri>http://www.blogger.com/profile/13666227889038099116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_WROglLz0RI4/SJgG4jDuXvI/AAAAAAAAAOQ/oznVFVVJJng/s72-c/totem-default-preferences.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-1322920654509886809.post-8088967951261674955</id><published>2008-07-19T13:49:00.000+10:00</published><updated>2008-07-23T14:08:27.273+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='one line hacks'/><category scheme='http://www.blogger.com/atom/ns#' term='usability tweaking'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Tweaking XDG Settings on Ubuntu</title><content type='html'>More of a remember this for later post, but the content took over an hour to figure out, even though it was remarkably simple.&lt;br /&gt;&lt;br /&gt;&lt;abbr title="The specification defining the default location of many user directories on a modern Linux/BSD distribution"&gt;XDG&lt;/abbr&gt; allows you to alter the default directories for a number of commonly used locations found on a users desktop.&lt;br /&gt;&lt;br /&gt;This file is stored in &lt;span style="font-weight:bold;"&gt;$HOME/.config/user-dirs.dirs&lt;/span&gt;, you can change -- for example, &lt;span style="font-style:italic;"&gt;Videos&lt;/span&gt; to be &lt;span style="font-style:italic;"&gt;My Videos&lt;/span&gt; (making it more like Windows), or hide the &lt;span style="font-style:italic;"&gt;Templates&lt;/span&gt; directory by changing it to &lt;span style="font-style:italic;"&gt;.config/nautilus/Templates&lt;/span&gt; (which, you'll need to create first)&lt;br /&gt;&lt;br /&gt;However, after editing this file and logging out/in, the GNOME panel and filechooser may show duplicates of these directories (once for the old directory, once for the new one).&lt;br /&gt;&lt;br /&gt;The solution, is to &lt;span style="font-weight:bold;"&gt;remove&lt;/span&gt; the &lt;span style="font-weight:bold;"&gt;$HOME/.gtk-bookmarks&lt;/span&gt; file, then log out and re-log in, the file gets generated at login if it doesn't exist and will read the contents of your &lt;span style="font-weight:bold;"&gt;$HOME/.config/user-dirs.dirs&lt;/span&gt; file in order to get the correct locations.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1322920654509886809-8088967951261674955?l=thefunkcorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/8088967951261674955'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/8088967951261674955'/><link rel='alternate' type='text/html' href='http://thefunkcorner.blogspot.com/2008/07/tweaking-xdg-settings-on-ubuntu.html' title='Tweaking XDG Settings on Ubuntu'/><author><name>Paul</name><uri>http://www.blogger.com/profile/13666227889038099116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-1322920654509886809.post-2027159424548663068</id><published>2008-07-10T11:23:00.002+10:00</published><updated>2008-12-09T11:46:34.472+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='multimedia'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='playstation 3'/><title type='text'>Encoding Videos for your PS3 with Avidemux</title><content type='html'>Sometimes, the interscnitzel is helpful -- sometimes, it leaves you without hair while you try every conceivable setting to make things work.&lt;br /&gt;&lt;br /&gt;My better half wanted to watch some IPTV we'd downloaded on the big TV (Standard Def), which is hooked up to my Playstation 3. IPTV comes down as .AVI in SDTV and .MKV for HDTV stuff, but the PS3 decided all of that was 'Unsupported Data'&lt;br /&gt;&lt;br /&gt;Checking the list of &lt;a href="http://manuals.playstation.net/document/en/ps3/current/video/filetypes.html"&gt;supported video&lt;/a&gt; files (please Sony, add .MKV to your list), we found that AVI files should be supported.&lt;br /&gt;&lt;br /&gt;For those interested, there's a more detailed examination of what AVI files (DivX or XviD) the PS3 will play, &lt;a href="http://www.avsforum.com/avs-vb/showpost.php?p=12532852&amp;postcount=1"&gt;over here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;After some searching, we fired up Avidemux (2.4.2, Linux -- but the Windows one would work too, if you didn't have anything else available) and played with Settings -- the best set the we came up with was:&lt;br /&gt;&lt;br /&gt;Video: MPEG-4 ASP (lavc) &lt;br /&gt;Audio: MP2 (lavc)&lt;br /&gt;Format: AVI&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_WROglLz0RI4/SIU8htr2qCI/AAAAAAAAAN4/3FI7la52dX8/s1600-h/avidemux_mainscreen.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_WROglLz0RI4/SIU8htr2qCI/AAAAAAAAAN4/3FI7la52dX8/s200/avidemux_mainscreen.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5225649492530210850" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;To make the whole process a little easier, I also went into Edit/Preferences/Automation and switched &lt;span style="font-style:bold;"&gt;on&lt;/span&gt; &lt;span style="font-style:italic;"&gt;Automatically build VBR map&lt;/span&gt;, &lt;span style="font-style:italic;"&gt;Automatically rebuild index&lt;/span&gt; and &lt;span style="font-style:italic;"&gt;Automatically remove packed bitstream&lt;/span&gt; (as all the AVI files come as "AVI, pack VOP", which needs to be unpacked first before you can change the output format type).&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_WROglLz0RI4/SIU8h0zeBcI/AAAAAAAAAOA/Xyo6jrHNd4Y/s1600-h/avidemux_preferences.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_WROglLz0RI4/SIU8h0zeBcI/AAAAAAAAAOA/Xyo6jrHNd4Y/s200/avidemux_preferences.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5225649494441199042" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Now, save your file -- put it on a USB stick or DVD and watch TV on your PS3 :)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;note:&lt;/span&gt; if you're using DVD-RW's to watch movies from (my personal preference), the Sony DVD-RW (Gold, in Green cases) work flawlessly and seem much more reliable than the TDK or Imation ones (My 40GB PS3 has yet to successfully read an Imation DVD, for example).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;important note about USB sticks:&lt;/span&gt; After some headscratching over why videos don't play from USB sticks, I discovered the USB device should be FAT32 formatted (default on SANDISK drives, if you've got access to a Linux box, &lt;span style="font-style:italic;"&gt;mkfs.vfat&lt;/span&gt; will do the job. Then, on the device, you need to create a directory called "VIDEO" (all caps, without the quotes) and put your videos in that directory, &lt;span style="font-style:italic;"&gt;then&lt;/span&gt; the PS3 will see them properly.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1322920654509886809-2027159424548663068?l=thefunkcorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/2027159424548663068'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/2027159424548663068'/><link rel='alternate' type='text/html' href='http://thefunkcorner.blogspot.com/2008/07/encoding-videos-for-your-ps3-with.html' title='Encoding Videos for your PS3 with Avidemux'/><author><name>Paul</name><uri>http://www.blogger.com/profile/13666227889038099116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_WROglLz0RI4/SIU8htr2qCI/AAAAAAAAAN4/3FI7la52dX8/s72-c/avidemux_mainscreen.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-1322920654509886809.post-5943545227859618433</id><published>2008-07-02T15:03:00.002+10:00</published><updated>2008-07-02T15:03:21.061+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='epiphany'/><title type='text'>Fixing Printer Scaling on Ubuntu 8.04 (bug: 217151)</title><content type='html'>During a recent rollout of "Ubuntu on the Desktop" I ran foul of &lt;a href="https://bugs.launchpad.net/ubuntu/+source/epiphany-browser/+bug/217151/" title="The Ubuntu Launchpad Bug"&gt;this bug&lt;/a&gt; in Epiphany.&lt;br /&gt;&lt;br /&gt;The symptoms, as the bug describes -- are the headers and footers of a document are printed, but no body text -- we tested this on various printers and came out with the same result.&lt;br /&gt;&lt;br /&gt;To fix it, we applied a hack at login-time to manually set people's preferences to Scale=100, by editing the &lt;span style="font-weight:bold;"&gt;~/.gnome2/epiphany/print-settings.ini&lt;/span&gt; file and changing:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;--- Scale=1&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;to&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;+++ Scale=99&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;(&lt;span style="font-style:italic;"&gt;note&lt;/span&gt;: I never use 100, because it makes badly-designed websites like Online Banking websites sometimes print outer-borders on a second page, 99 fixes that with no user-discernable difference to the print quality)&lt;br /&gt;&lt;br /&gt;It fixed the problem, but hacks are never elegant, break easily and are not good to apply over a 400-workstation installation, so this morning -- my task was to track it down and fix it.&lt;br /&gt;&lt;br /&gt;Turns out, it's an innoculous little bastard in the Epiphany gecko code that caused it.&lt;br /&gt;&lt;br /&gt;In the embed/mozilla/GeckoPrintService.cpp file, there's a line (around 737-739) that reads:&lt;br /&gt;&lt;br /&gt;" &lt;span style="font-weight:bold;"&gt;gtk_print_settings_set_scale (aGtkSettings, 1.0);&lt;/span&gt; "&lt;br /&gt;&lt;br /&gt;But &lt;a href="http://library.gnome.org/devel/gtk/unstable/GtkPrintSettings.html#gtk-print-settings-set-scale" title="GNOME Documentation Library"&gt;this states&lt;/a&gt;:&lt;br /&gt;&lt;br /&gt;" &lt;span style="font-style:italic;"&gt;scale : the scale in &lt;span style="font-weight:bold;"&gt;percent&lt;/span&gt;&lt;/span&gt; "&lt;br /&gt;&lt;br /&gt;So, the solution turned out to be changing:&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;br /&gt;  gtk_print_settings_set_scale (aGtkSettings, 1.0);&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;To:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;&lt;br /&gt;  gtk_print_settings_set_scale (aGtkSettings, 99.0);&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;The bug has now been noted, with a patch that fixes the issue &lt;a href="http://bugzilla.gnome.org/show_bug.cgi?id=541168" title="The GNOME Bugzilla Bug, with probable fix"&gt;here&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1322920654509886809-5943545227859618433?l=thefunkcorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/5943545227859618433'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/5943545227859618433'/><link rel='alternate' type='text/html' href='http://thefunkcorner.blogspot.com/2008/07/fixing-printer-scaling-on-ubuntu-804.html' title='Fixing Printer Scaling on Ubuntu 8.04 (bug: 217151)'/><author><name>Paul</name><uri>http://www.blogger.com/profile/13666227889038099116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-1322920654509886809.post-704774507262289048</id><published>2008-06-27T12:18:00.004+10:00</published><updated>2008-06-27T12:34:10.774+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='opinions of the funk'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><title type='text'>Interesting Viewpoint</title><content type='html'>I wandered across &lt;a href="http://www.itbusinessedge.com/blogs/osb/?p=386"&gt;this article&lt;/a&gt; this morning and thought it deserved posting, especially in the light of &lt;a href="http://www.itbusinessedge.com/blogs/osb/?p=197"&gt;similar&lt;/a&gt; Microsoft sentiments in recent months.&lt;br /&gt;&lt;br /&gt;While Microsoft can't possibly 'buy out' Open Source as a whole, it'll be interesting to see if it means Microsoft start interacting with Open Source in a better light to ensure more interoperability between systems (possibly the only way to achieve continued market share), or if they'll make better quality end-products, or systems to deploy those products on, or if they'll continue to do exactly what they've done in the past.&lt;br /&gt;&lt;br /&gt;One thing is nearly certain, within the next five years, Microsoft will need to do something a) special or b) underhanded to continue to operate in the market as they have done -- the amount of end-users that are coming to me and other ISV's since the advent of Microsoft's Vista product-line and asking about Linux on the desktop is increasing and that can only be a promising sign for the future.&lt;br /&gt;&lt;br /&gt;The time for lipservicing the &lt;acro title="Free and Open Source Software"&gt;FOSS market&lt;/acro&gt;, is over.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1322920654509886809-704774507262289048?l=thefunkcorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thefunkcorner.blogspot.com/feeds/704774507262289048/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1322920654509886809&amp;postID=704774507262289048' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/704774507262289048'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/704774507262289048'/><link rel='alternate' type='text/html' href='http://thefunkcorner.blogspot.com/2008/06/interesting-viewpoint.html' title='Interesting Viewpoint'/><author><name>Paul</name><uri>http://www.blogger.com/profile/13666227889038099116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1322920654509886809.post-2920499294779632010</id><published>2008-06-16T09:17:00.000+10:00</published><updated>2008-06-16T09:17:01.001+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='apache2'/><category scheme='http://www.blogger.com/atom/ns#' term='security'/><title type='text'>Using mod_security 2.5.x with Apache 2.x</title><content type='html'>&lt;span style="font-weight: bold;"&gt;note:&lt;/span&gt; This article is intended for a technical audience -- you should &lt;span style="color: rgb(204, 0, 0);"&gt;use extreme caution&lt;/span&gt; when modifying a production system, as your data will be nearly impossible to recover if you use this command incorrectly -- caveat emptor.&lt;br /&gt;&lt;br /&gt;There's a lot of &lt;a href="http://www.vinno.net/linux/server/how-to-install-mod-security-2"&gt;posts&lt;/a&gt; about how to &lt;a href="http://www.debuntu.org/2006/08/13/86-secure-your-apache2-with-mod-security"&gt;setup&lt;/a&gt; the mod_security module for Apache, but few on how to configure it -- hopefully people find this post useful in doing just that.&lt;br /&gt;&lt;br /&gt;Before we start, i'm assuming you've actually installed mod_security 2.1.3 or 2.5.x here already (Red Hat/CentOS packages are &lt;a href="http://www.jasonlitka.com/yum-repository/"&gt;here&lt;/a&gt;, Ubuntu / Debian ones are &lt;a href="http://etc.inittab.org/~agi/debian/libapache-mod-security2/"&gt;here&lt;/a&gt;, an OpenSuSE howto is &lt;a href="http://theriyanto.wordpress.com/2007/11/07/installing-modsecurity-2x-in-opensuse-10x/"&gt;here&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;I'm also assuming you've made a copy of the core rules that come supplied with the package and put them in the &lt;span style="font-weight:bold;"&gt;/etc/modsecurity&lt;/span&gt; directory.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;note:&lt;/span&gt; If your distribution of choice doesn't ship the core rules with the packages, you can download those from &lt;a href="http://www.modsecurity.org/download/"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Now, to make a decent configuration.&lt;br /&gt;&lt;br /&gt;First, move (don't copy, or the default configuration may override any environment-specific changes you make) the &lt;span style="font-weight:bold;"&gt;/etc/modsecurity/modsecurity_crs_10_config.conf&lt;/span&gt; file to &lt;span style="font-weight:bold;"&gt;/etc/apache2/conf.d/mod_security&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Open the newly copied &lt;span style="font-weight:bold;"&gt;/etc/apache/conf.d/mod_security&lt;/span&gt;file and edit the following parameters:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;SecResponseBodyLimit&lt;/li&gt; -- Because the default configuration doesn't check binary files, you may wish to reduce this to 256K, so change this value to &lt;span style="font-style:bold;"&gt;262144&lt;/span&gt;.&lt;br /&gt;&lt;li&gt;SecAuditLog&lt;/li&gt; -- The default configuration saves the logfiles relative to the configuration file directory, under most modern Linux/BSD distributions, the apache or www-user account already has rights to the &lt;span style="font-style:italic;"&gt;/var/log/apache2&lt;/span&gt; directory, so you can safely change this to &lt;span style="font-weight:bold;"&gt;/var/log/apache2/modsec_audit.log&lt;/span&gt;&lt;br /&gt;&lt;li&gt;SecDebugLog&lt;/li&gt; -- Using the same rationale, you can change this to &lt;span style="font-weight:bold;"&gt;/var/log/apache2/modsec_debug.log&lt;/span&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;At this point, you should save your file and restart your Apache 2.x server in order to ensure your configuration works. If you run:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;cat /var/log/apache2/error.log | grep “ModSecurity”&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;You should see the string:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;“[Fri Jun 13 23:23:23 2008] [notice] ModSecurity for Apache/2.5.5 (http://www.modsecurity.org/) configured.”&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Which means we can proceed to add our rules to the configuration. To do this, open your configuration file again and add the following line to the bottom:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;Include /etc/modsecurity/rules/*_crs_*.conf&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;This will add the core rules to your configuration. Once again, you can restart your server and the changes will take effect.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1322920654509886809-2920499294779632010?l=thefunkcorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thefunkcorner.blogspot.com/feeds/2920499294779632010/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1322920654509886809&amp;postID=2920499294779632010' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/2920499294779632010'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/2920499294779632010'/><link rel='alternate' type='text/html' href='http://thefunkcorner.blogspot.com/2008/06/using-modsecurity-25x-with-apache-2x.html' title='Using mod_security 2.5.x with Apache 2.x'/><author><name>Paul</name><uri>http://www.blogger.com/profile/13666227889038099116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1322920654509886809.post-7243038406052566485</id><published>2008-06-15T03:49:00.003+10:00</published><updated>2008-06-15T04:07:46.179+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='bittorrent'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Transmission, MIME-types, Java?</title><content type='html'>I'm posting this here for two reasons, a) the solution works but sounds like overkill and b) because I couldn't find any information on the interschnitzel directly -- it just happened to be a solution for another application that worked in this case too.&lt;br /&gt;&lt;br /&gt;After updating &lt;a href="http://www.transmissionbt.com/"&gt;Transmission&lt;/a&gt; (my favourite bittorrent client) on my Ubuntu 8.04 desktop machine, I found that torrent files I downloaded weren't appearing in my client, but they weren't appearing on my desktop either.&lt;br /&gt;&lt;br /&gt;Sometimes they worked if I downloaded the .torrent file more than once, but more often than not, they didn't.&lt;br /&gt;&lt;br /&gt;Looking through all the usual suspects (MIME-types in Nautilus, etc) proved unsatisfying, so I had a look in my .xsession-errors file (using: &lt;span style="font-style:italic;"&gt;tail -f ~/.xsession-errors&lt;/span&gt; from a terminal while downloading a file, and found:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;GCJ PLUGIN: thread 0x816c470: NP_GetMIMEDescription&lt;br /&gt;GCJ PLUGIN: thread 0x816c470: NP_GetMIMEDescription return&lt;br /&gt;GCJ PLUGIN: thread 0x816c470: NP_GetValue&lt;br /&gt;GCJ PLUGIN: thread 0x816c470: NP_GetValue: returning plugin name.&lt;br /&gt;GCJ PLUGIN: thread 0x816c470: NP_GetValue return&lt;br /&gt;GCJ PLUGIN: thread 0x816c470: NP_GetValue&lt;br /&gt;GCJ PLUGIN: thread 0x816c470: NP_GetValue: returning plugin description.&lt;br /&gt;GCJ PLUGIN: thread 0x816c470: NP_GetValue return&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;GCJ? &lt;br /&gt;&lt;br /&gt;Ah, the Open Java Variation of Sun's Java Runtime.&lt;br /&gt;&lt;br /&gt;Turns out, if you have the Ubuntu Multiverse &lt;span style="font-weight:bold;"&gt;and&lt;/span&gt; Universe repositories configured &amp; you install the &lt;a href="http://packages.ubuntu.com/hardy/ubuntu-restricted-extras"&gt;ubuntu-restricted-extras&lt;/a&gt; package (the one that gives you multimedia encoding and playback capabilities, Java, Flashplayer amongst other things) it installs the Open Java (openjdk-6-jre) variations and not the Sun one.&lt;br /&gt;&lt;br /&gt;To install the Sun Java Runtime from Multiverse, run the following from a terminal window:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;sudo apt-get install sun-java6-bin&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Then, to make Ubuntu use it, instead of the OpenJDK code, type:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;sudo update-java-alternatives -s java-6-sun&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Then restart Transmission &amp; your chosen Web Browser and try downloading your .torrent files again.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1322920654509886809-7243038406052566485?l=thefunkcorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thefunkcorner.blogspot.com/feeds/7243038406052566485/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1322920654509886809&amp;postID=7243038406052566485' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/7243038406052566485'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/7243038406052566485'/><link rel='alternate' type='text/html' href='http://thefunkcorner.blogspot.com/2008/06/transmission-mime-types-java.html' title='Transmission, MIME-types, Java?'/><author><name>Paul</name><uri>http://www.blogger.com/profile/13666227889038099116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1322920654509886809.post-6644094203118027377</id><published>2008-06-13T14:14:00.004+10:00</published><updated>2008-06-13T15:32:16.593+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='shell programming'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='privacy'/><title type='text'>Using GnuPG Agent on the Console</title><content type='html'>After hunting around on the internet to find a definitive answer on how to use GnuPG's Agent with a remote console (it's easy if you have X installed, even easier than that if you use the awesome &lt;a href="http://www.gnome.org/projects/seahorse/index.html"&gt;Seahorse&lt;/a&gt; application with GNOME -- but pretty awkward if you have neither of the above)&lt;br /&gt;&lt;br /&gt;I think i've come up with a usable solution, that uses gpg-agent's --write-env-file variable &amp; does some minimal extra checking to make sure it doesn't get killed accidently, as well as correctly exporting the GPG_TTY variable so applications like mutt and the package builder applications on the console get the key handling right.&lt;br /&gt;&lt;br /&gt;In your .bash_profile file, you need to add the following code near the end:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;# Invoke GnuPG-Agent the first time we login.&lt;br /&gt;# If it exists, use this:&lt;br /&gt;if test -f $HOME/.gpg-agent-info &amp;&amp; \&lt;br /&gt;    kill -0 `cut -d: -f 2 $HOME/.gpg-agent-info` 2&gt;/dev/null; then&lt;br /&gt;    GPG_AGENT_INFO=`cat $HOME/.gpg-agent-info | cut -c 16-`&lt;br /&gt;    GPG_TTY=`tty`&lt;br /&gt;    export GPG_TTY&lt;br /&gt;    export GPG_AGENT_INFO&lt;br /&gt;else&lt;br /&gt;# Otherwise, it either hasn't been started, or was killed:&lt;br /&gt;    eval `gpg-agent --daemon --no-grab --write-env-file $HOME/.gpg-agent-info`&lt;br /&gt;    GPG_TTY=`tty`&lt;br /&gt;    export GPG_TTY&lt;br /&gt;    export GPG_AGENT_INFO&lt;br /&gt;fi&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Save the file, then logout and re-login and you should find gpg-agent has been started correctly.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;note:&lt;/span&gt; We use the "&lt;span style="font-style:bold;"&gt;| cut -c 16-&lt;/span&gt;" in the first section in order to remove the duplicated GPG_AGENT_INFO= string from the output that causes errors like:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;gpg-agent: can't connect to `/home/paul/.gnupg/S.gpg-agent': No such file or directory&lt;br /&gt;gpg-agent: can't connect to the agent: invalid value&lt;br /&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1322920654509886809-6644094203118027377?l=thefunkcorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/6644094203118027377'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/6644094203118027377'/><link rel='alternate' type='text/html' href='http://thefunkcorner.blogspot.com/2008/06/using-gnupg-agent-on-console.html' title='Using GnuPG Agent on the Console'/><author><name>Paul</name><uri>http://www.blogger.com/profile/13666227889038099116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-1322920654509886809.post-5604009675429463715</id><published>2008-06-08T16:37:00.005+10:00</published><updated>2008-12-09T11:46:34.984+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='fonts'/><category scheme='http://www.blogger.com/atom/ns#' term='epiphany'/><title type='text'>Fixing Font Resolution In Epiphany</title><content type='html'>After recently scheduling a large client upgrade from Ubuntu 6.06 to Ubuntu 8.04, a number of people started complaining that fonts looked bad on the web browsers (Epiphany).&lt;br /&gt;&lt;br /&gt;Although they all had video cards (nVidia) and monitors (Samsung SyncMaster's) in common -- a bit of Googling &lt;a href="https://bugs.launchpad.net/ubuntu/+source/firefox-3.0/+bug/201487"&gt;indicated&lt;/a&gt; an underlying software issue.&lt;br /&gt;&lt;br /&gt;Fortunately, this is easy to fix.&lt;br /&gt;&lt;br /&gt;If you open a web browser and type &lt;span style="font-weight:bold;"&gt;about:config&lt;/span&gt; into the location bar, which should take you to the configuration screen -- consisting of a filter box and a larger portion containing all of the relevant tweakable parameters.&lt;br /&gt;&lt;br /&gt;In the filter textbox type: &lt;span style="font-style:bold;"&gt;layout.css.dpi&lt;/span&gt; it should be a Default, Integer value (that is &lt;span style="font-style:italic;"&gt;not&lt;/span&gt; bold) that looks like the screen below:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_WROglLz0RI4/SEt_EzFtDPI/AAAAAAAAANo/pMJSwOlb3CE/s1600-h/font-layout-fix-before.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_WROglLz0RI4/SEt_EzFtDPI/AAAAAAAAANo/pMJSwOlb3CE/s200/font-layout-fix-before.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5209397114394447090" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Now, if you right-click the bold text and select &lt;span style="font-style:italic;"&gt;modify&lt;/span&gt; you should get a textbox appear in the center of the screen, simply use the keyboard or mouse to select and remove the &lt;span style="font-weight:bold;"&gt;-1&lt;/span&gt; and enter either &lt;span style="font-weight:bold;"&gt;70&lt;/span&gt; (if you have a resolution lower than 1024x768) or &lt;span style="font-weight:bold;"&gt;92&lt;/span&gt; (resolutions of 1024x768 or higher) instead -- and press OK to return to the configuration menu.&lt;br /&gt;&lt;br /&gt;At this point, the screen should look like the one below:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_WROglLz0RI4/SEt_gcCEtPI/AAAAAAAAANw/DbTNyD4CHbY/s1600-h/font-layout-fix-after.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_WROglLz0RI4/SEt_gcCEtPI/AAAAAAAAANw/DbTNyD4CHbY/s200/font-layout-fix-after.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5209397589241541874" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Now you can close the browser, the next time you restart it -- your fonts should look smoother and more readable.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;edit:&lt;/span&gt; If you find that you can't edit the text-box on an OpenSUSE 11.0RC1 or Ubuntu Hardy 8.04 installation, try forcefully closing Epiphany by typing the following command in a terminal window:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;killall -9 epiphany-browser &amp;&amp; rm ~/.gnome2/epiphany/mozilla/epiphany/!lock&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;and then try to modify it again.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1322920654509886809-5604009675429463715?l=thefunkcorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thefunkcorner.blogspot.com/feeds/5604009675429463715/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1322920654509886809&amp;postID=5604009675429463715' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/5604009675429463715'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/5604009675429463715'/><link rel='alternate' type='text/html' href='http://thefunkcorner.blogspot.com/2008/06/fixing-font-resolution-in-epiphany.html' title='Fixing Font Resolution In Epiphany'/><author><name>Paul</name><uri>http://www.blogger.com/profile/13666227889038099116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_WROglLz0RI4/SEt_EzFtDPI/AAAAAAAAANo/pMJSwOlb3CE/s72-c/font-layout-fix-before.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1322920654509886809.post-5626030729457789114</id><published>2008-06-04T19:58:00.002+10:00</published><updated>2008-06-08T17:16:14.988+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='gstreamer'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Updated Unofficial GStreamer FFMPEG Plugin Packages for Ubuntu 8.04</title><content type='html'>As a follow-up to my recent post about the &lt;a href="http://thefunkcorner.blogspot.com/2008/05/gstreamer-codec-install-gone-bad-part.html"&gt;Fluendo Codecs&lt;/a&gt;, I decided to take a look at the GStreamer FFMPEG Plugin. -- and because a new release had just appeared with a lot of new fixes, built packages for it.&lt;br /&gt;&lt;br /&gt;The packages &lt;a href="ftp://64.22.103.45/packages/ubuntu/hardy/gstreamer0.10-ffmpeg/"&gt;are here&lt;/a&gt;, are based around the recently released 0.10.4 release and been built using the recommended upstream build of FFMPEG's libavcodec and libavformat code, rather than the (much) older code that ships by default in the Ubuntu 8.04 release.&lt;br /&gt;&lt;br /&gt;These should be drop-in replacements for anyone using the current packages in the &lt;a href="https://wiki.ubuntu.com/RestrictedFormats"&gt;Ubuntu Multiverse&lt;/a&gt; repository.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1322920654509886809-5626030729457789114?l=thefunkcorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/5626030729457789114'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/5626030729457789114'/><link rel='alternate' type='text/html' href='http://thefunkcorner.blogspot.com/2008/06/updated-unofficial-gstreamer-ffmpeg.html' title='Updated Unofficial GStreamer FFMPEG Plugin Packages for Ubuntu 8.04'/><author><name>Paul</name><uri>http://www.blogger.com/profile/13666227889038099116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-1322920654509886809.post-1560132638277763657</id><published>2008-06-02T12:49:00.002+10:00</published><updated>2008-06-02T13:06:43.160+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='rhythmbox'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Updated Unofficial Rhythmbox Packages for Ubuntu 8.04</title><content type='html'>I've been playing about over the last week integrating a bunch of useful patches into my preferred music player, Rhythmbox.&lt;br /&gt;&lt;br /&gt;The packages &lt;a href="ftp://64.22.103.45/packages/ubuntu/hardy/rhythmbox/"&gt;are here&lt;/a&gt;, are based around SVN revision 5710 and have a number of extra patches that haven't made it into the tree yet, including:&lt;br /&gt;&lt;br /&gt;Bug &lt;a href="http://bugzilla.gnome.org/show_bug.cgi?id=528814"&gt;528814&lt;/a&gt;: RB should use podcast date and time when transferring to iPod (useful if you put your podcasts in playlists)&lt;br /&gt;Bug &lt;a href="http://bugzilla.gnome.org/show_bug.cgi?id=529873"&gt;529873&lt;/a&gt;: The artdisplay plugin should be able to supply metadata (useful if you have coverart embedded in tracks and you'd like it transferred to the iPod)&lt;br /&gt;Bug &lt;a href="http://http://bugzilla.gnome.org/show_bug.cgi?id=345975"&gt;345975&lt;/a&gt;: Show album covers embedded in files e.g. mp3 ID3 tags (very, very useful if you have art embedded in music from iTunes or some other tagging program)&lt;br /&gt;Bug &lt;a href="http://bugzilla.gnome.org/show_bug.cgi?id=140020"&gt;140020&lt;/a&gt;: Song skips when position is moved maximum right (fixes a big bugbear i've had for some time, where clicking forward or back within the first second or two after fast-forwarding/rewinding with the slider causes Rhythmbox to skip the next track).&lt;br /&gt;&lt;br /&gt;If you have been looking to try a newer Rhythmbox on your Ubuntu 8.04 installation, or have an iPod that you'd like to get more use out of, you might want to give these a go.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1322920654509886809-1560132638277763657?l=thefunkcorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thefunkcorner.blogspot.com/feeds/1560132638277763657/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1322920654509886809&amp;postID=1560132638277763657' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/1560132638277763657'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/1560132638277763657'/><link rel='alternate' type='text/html' href='http://thefunkcorner.blogspot.com/2008/06/updated-unofficial-rhythmbox-packages.html' title='Updated Unofficial Rhythmbox Packages for Ubuntu 8.04'/><author><name>Paul</name><uri>http://www.blogger.com/profile/13666227889038099116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1322920654509886809.post-2186273639903266178</id><published>2008-05-26T01:25:00.004+10:00</published><updated>2008-12-09T11:46:35.725+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='multimedia'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='gstreamer'/><title type='text'>GStreamer Codec Install Gone Bad, Part Two?</title><content type='html'>Tonight, while tracking down an issue with another video file that wouldn't play in Ubuntu 8.04, but would in anything else -- I discovered yet-another-quirk about the Fluendo &lt;a href="https://shop.fluendo.com/product_info.php?products_id=42"&gt;codec megabundle&lt;/a&gt;, this time with the H.264 codec.&lt;br /&gt;&lt;br /&gt;Attempting to play a movie on a fresh installation of Ubuntu 8.04, in Totem with the fluendo codecs installed brought up a black screen with a properties dialog that looked like:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_WROglLz0RI4/SDmI4z1y6QI/AAAAAAAAANY/WlwlHQ046nY/s1600-h/fluendo-h264-quirk-before.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_WROglLz0RI4/SDmI4z1y6QI/AAAAAAAAANY/WlwlHQ046nY/s200/fluendo-h264-quirk-before.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5204341353973213442" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;By &lt;span style="font-style:italic;"&gt;fresh&lt;/span&gt; -- I mean fresh, this box was a demo to show a new user how easy multimedia was (after successfully demonstrating how easy the printer was to set up using CUPS), it has only got the standard installation of Ubuntu, no multiverse, no universe -- infact, the only thing we'd done (aside from installing the foomatic printer drivers and configuring ufw to do basic firewalling) was install the binary codecs in the &lt;span style="font-style:italic;"&gt;.gstreamer-0.10/plugins/&lt;/span&gt; directory, as directed by the instructions.&lt;br /&gt;&lt;br /&gt;By &lt;span style="font-style:italic;"&gt;new user&lt;/span&gt; -- I mean someone who is planning on updating from Windows 98 to something for the first time, has enough computing power to run a non-Microsoft based operating environment, but not enough to run Vista and has heard enough people rabbit on about how good it could be to finally bite the bullet.&lt;br /&gt;&lt;br /&gt;So, having hit the wall -- I fired up &lt;a href="http://www.gnome.org/projects/totem/"&gt;Totem&lt;/a&gt; from the command line using: &lt;span style="font-weight: bold;"&gt;totem --gst-debug-level=2&lt;/span&gt; (which outputs minimal debug spew to the console) and found:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;** Message: Error: File "/home/paul/.gstreamer-0.10/plugins/libmch264dec.so.7.4.0.20778" could not be used.&lt;br /&gt;fluh264dec.c(414): gst_fluh264dec_setup (): /play/decodebin1/fluh264dec0:&lt;br /&gt;Could not open module: libstdc++.so.5: cannot open shared object file: No such file or directory&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;After hunting around, the &lt;a href="http://packages.ubuntu.com/hardy/libstdc%2B%2B5"&gt;libstdc++5&lt;/a&gt; package from the universe repository was installed, Totem was restarted and now happily displays the file correctly, albeit with a major visual issue when you use the arrow-keys to rewind the movie, but that's a story for another day.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_WROglLz0RI4/SDmOYz1y6RI/AAAAAAAAANg/uugc2Fff4RM/s1600-h/fluendo-h264-quirk-after.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_WROglLz0RI4/SDmOYz1y6RI/AAAAAAAAANg/uugc2Fff4RM/s200/fluendo-h264-quirk-after.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5204347401287166226" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Unfortunately, there's no documentation on the website, or in the tarball that tells you about needing to install older, relatively unsupported libraries to get something to play, hence this post.&lt;br /&gt;&lt;br /&gt;I just hope the next version is compiled against something slightly more recent, so it works out of the box in future.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1322920654509886809-2186273639903266178?l=thefunkcorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/2186273639903266178'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/2186273639903266178'/><link rel='alternate' type='text/html' href='http://thefunkcorner.blogspot.com/2008/05/gstreamer-codec-install-gone-bad-part.html' title='GStreamer Codec Install Gone Bad, Part Two?'/><author><name>Paul</name><uri>http://www.blogger.com/profile/13666227889038099116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_WROglLz0RI4/SDmI4z1y6QI/AAAAAAAAANY/WlwlHQ046nY/s72-c/fluendo-h264-quirk-before.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-1322920654509886809.post-4106104665972147482</id><published>2008-05-23T16:49:00.003+10:00</published><updated>2008-12-09T11:46:35.921+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='screenshots'/><category scheme='http://www.blogger.com/atom/ns#' term='one line hacks'/><category scheme='http://www.blogger.com/atom/ns#' term='gnome'/><title type='text'>Customising the GNOME Screenshot Application</title><content type='html'>Circa GNOME 2.20, the screenshot application became simplified -- it now just takes the screenshot of your entire desktop, with borders and asks you to save it somewhere.&lt;br /&gt;&lt;br /&gt;What happens if you'd like to take a screenshot of a specific window, or remove the borders, or add a drop-shadow, or do any sort of resizing?&lt;br /&gt;&lt;br /&gt;You can make a &lt;span style="font-style: italic;"&gt;custom launcher&lt;/span&gt; for it. Luckily, none of the backend settings were removed, the user interface was just tided up.&lt;br /&gt;&lt;br /&gt;First, right-click on your desktop and select '&lt;span style="font-style: italic;"&gt;Create Launcher&lt;/span&gt;' from the menu, which should take you to the configuration screen -- consisting of four boxes you will need to fill in.&lt;br /&gt;&lt;br /&gt;In the &lt;span style="font-style: italic;"&gt;Application&lt;/span&gt; drop-down box, make sure: &lt;span style=""&gt;Application&lt;/span&gt; is selected.&lt;br /&gt;&lt;br /&gt;In the &lt;span style="font-style: italic;"&gt;Name&lt;/span&gt; text-box, you enter the name of the launcher, &lt;span style="font-weight: bold;"&gt;Take Screenshot&lt;/span&gt; is a good choice, but you can call this anything you want.&lt;br /&gt;&lt;br /&gt;In the &lt;span style="font-style: italic;"&gt;Application&lt;/span&gt; text-box, you need to add the program with the options you need, you can select from:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;--delay=X&lt;/span&gt; -- Delays the screenshot for X seconds after you double-click the link, very handy if you need to take shots of a menu bar or dialogue.&lt;br /&gt;&lt;span style="font-style: italic;"&gt;--window&lt;/span&gt; -- Takes a shot of the current window instead of the entire desktop.&lt;br /&gt;&lt;span style="font-style: italic;"&gt;--border-effect=X&lt;/span&gt; -- Takes a unmodified screenshot if you use '&lt;span style="font-weight: bold;"&gt;none&lt;/span&gt;', adds a 2 pixel drop-shadow if you use '&lt;span style="font-weight: bold;"&gt;shadow&lt;/span&gt;' or a 1 pixel black border if you use '&lt;span style="font-weight: bold;"&gt;border&lt;/span&gt;'.&lt;br /&gt;&lt;span style="font-style: italic;"&gt;--window&lt;/span&gt; -- Takes a shot of the current window instead of the entire desktop.&lt;br /&gt;&lt;br /&gt;The &lt;span style="font-style: italic;"&gt;Comment&lt;/span&gt; text-box is optional, it offers you the ability to make a longer description of the launcher if you highlight it on the desktop, because of the options we've used above, we'll call it: &lt;span style=""&gt;Takes Screenshot of the current window after 10 seconds&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;When you are finished, your launcher screen should look like the one below:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_WROglLz0RI4/SDZwlT1y6PI/AAAAAAAAANQ/KdIQeCw3s6U/s1600-h/screenshot-full-launcher.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_WROglLz0RI4/SDZwlT1y6PI/AAAAAAAAANQ/KdIQeCw3s6U/s200/screenshot-full-launcher.png" alt="" id="BLOGGER_PHOTO_ID_5203470205756565746" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Click on the OK button when you're happy with your settings -- and the launcher should appear somewhere on your desktop.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1322920654509886809-4106104665972147482?l=thefunkcorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/4106104665972147482'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/4106104665972147482'/><link rel='alternate' type='text/html' href='http://thefunkcorner.blogspot.com/2008/05/customising-gnome-screenshot.html' title='Customising the GNOME Screenshot Application'/><author><name>Paul</name><uri>http://www.blogger.com/profile/13666227889038099116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_WROglLz0RI4/SDZwlT1y6PI/AAAAAAAAANQ/KdIQeCw3s6U/s72-c/screenshot-full-launcher.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-1322920654509886809.post-3597220001947548468</id><published>2008-05-17T15:15:00.000+10:00</published><updated>2008-05-19T16:33:36.615+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='openssh'/><category scheme='http://www.blogger.com/atom/ns#' term='openssl'/><category scheme='http://www.blogger.com/atom/ns#' term='security'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>OpenSSL Vulnerability for Ubuntu 6.06 LTS</title><content type='html'>Had a phone-call earlier about this as well as a few e-mails since &lt;a href="http://lists.debian.org/debian-security-announce/2008/msg00152.html"&gt;DSA 1571-1&lt;/a&gt; appeared, so i thought i'd post this here in order to respond to multiple birds with one stone.&lt;br /&gt;&lt;br /&gt;Servers that run Ubuntu 6.06 LTS in it's default configuration (or it's LAMP configuration) are &lt;span style="font-weight: bold;"&gt;not&lt;/span&gt; vulnerable to the OpenSSL problem, because they are running OpenSSL 0.9.7, not 0.9.8c-1, which is the first version to exhibit the bug.&lt;br /&gt;&lt;br /&gt;Systems which are running any of the following releases &lt;span style="font-weight:bold;"&gt;are vulnerable&lt;/span&gt; to this bug: &lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Ubuntu 7.04 (Feisty)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Ubuntu 7.10 (Gutsy)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Ubuntu 8.04 LTS (Hardy)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Ubuntu “Intrepid Ibex” (development): libssl &lt;= 0.9.8g-8&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Debian 4.0 (etch) (see corresponding Debian security advisory)&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;This is not mean that you shouldn't check your users keys -- if you've got users who use affected versions of Debian or Ubuntu (above), you should use the dowkd.pl script available &lt;a href="http://security.debian.org/project/extra/dowkd/dowkd.pl.gz"&gt;here&lt;/a&gt; (&lt;a href="http://security.debian.org/project/extra/dowkd/dowkd.pl.gz.asc"&gt;GPG key&lt;/a&gt;) with the &lt;span style="font-style:italic;"&gt;user&lt;/span&gt; option to scan your servers for users who have potentially compromised keys.&lt;br /&gt;&lt;br /&gt;You can scan the local server using:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;perl dowkd.pl host localhost&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;... and local users with keys using:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;perl dowkd.pl user&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;If you see something like:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;/home/[username]/.ssh/id_dsa.pub:1: weak key&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;You should re-generate keys for that user, using:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;ssh-keygen -t [rsa/dsa] -b [1024/2048/4096]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;... depending on your individual security needs.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;note:&lt;/span&gt; If you see:&lt;br /&gt;&lt;br /&gt;/home/[username]/.ssh/id_dsa.pub:1: 2048 bits DSA key not recommended&lt;br /&gt;&lt;br /&gt;You are &lt;span style="font-weight:bold;"&gt;not necessarily&lt;/span&gt; vulnerable, there's nothing wrong with using 2048-bit DSA keys, as longer key lengths provide better security at the cost of decreased performance.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;note II:&lt;/span&gt; Using a &lt;span style="font-weight:bold;"&gt;blank&lt;/span&gt; passphrase for your public key is &lt;span style="font-weight:bold;"&gt;strongly discouraged&lt;/span&gt; -- if a would-be-intruder can just press the ENTER key to enter your machine, what security is a public key?&lt;br /&gt;&lt;br /&gt;(The most-used analogy I have for passphrase-less SSH keys is: 'A public key with a passphrase is like a door with a lock -- without one, it's just a door.)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1322920654509886809-3597220001947548468?l=thefunkcorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thefunkcorner.blogspot.com/feeds/3597220001947548468/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1322920654509886809&amp;postID=3597220001947548468' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/3597220001947548468'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/3597220001947548468'/><link rel='alternate' type='text/html' href='http://thefunkcorner.blogspot.com/2008/05/openssl-vulnerability-for-ubuntu-606.html' title='OpenSSL Vulnerability for Ubuntu 6.06 LTS'/><author><name>Paul</name><uri>http://www.blogger.com/profile/13666227889038099116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1322920654509886809.post-3621046807935599097</id><published>2008-05-03T14:12:00.002+10:00</published><updated>2008-07-03T14:48:59.424+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='zen-cart'/><category scheme='http://www.blogger.com/atom/ns#' term='php programming'/><title type='text'>Blank Text Area in Zen-Cart?</title><content type='html'>Have you ever been editing a product description, or a category title in Zen-Cart and had the field go blank?&lt;br /&gt;&lt;br /&gt;Since updating a bunch of older 1.2.x stores to 1.3.x, I have -- and customers don't like data entry at the best of times, let alone when you have to tell them to edit it down to less than 200 characters and try inputting all again, rather than just editing out the excess characters.&lt;br /&gt;&lt;br /&gt;So i've spent the day tracking down a solution, which happens to be via the javascript counters for the various products.&lt;br /&gt;&lt;br /&gt;If we look at &lt;span style="font-weight:bold;"&gt;/includes/modules/pages/product_info/jscript_textarea_counter.js&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Line 8-10 states:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;br /&gt;  if (excesschars &gt; 0) {&lt;br /&gt;        field.value = field.value.substring(0, excesschars);&lt;br /&gt;        alert("Error:\n\n- You are only allowed to enter up to"+maxchars+" characters.");&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;If you change that to read:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;&lt;br /&gt;  if (excesschars &gt; 0) {&lt;br /&gt;        field.value = field.value.substring(0, maxchars);&lt;br /&gt;        alert("Error:\n\n- You are only allowed to enter up to"+maxchars+" characters.");&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;You'll find you get the error, rather than the field going blank -- because it gives the user the ability to then edit what they've typed, it's a much better solution to the problem.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;note:&lt;/span&gt; If you use "Free Shipping" for any of your products, you should also apply this fix to the &lt;span style="font-weight:bold;"&gt;/includes/modules/pages/product_free_shipping_info/jscript_textarea_counter.js&lt;/span&gt; file (the files are identical).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1322920654509886809-3621046807935599097?l=thefunkcorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/3621046807935599097'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/3621046807935599097'/><link rel='alternate' type='text/html' href='http://thefunkcorner.blogspot.com/2008/05/blank-text-area-in-zen-cart.html' title='Blank Text Area in Zen-Cart?'/><author><name>Paul</name><uri>http://www.blogger.com/profile/13666227889038099116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-1322920654509886809.post-7341263579942612966</id><published>2008-04-14T14:57:00.006+10:00</published><updated>2008-09-01T12:24:07.494+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='security'/><category scheme='http://www.blogger.com/atom/ns#' term='squid'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Transparent Proxying with Shorewall, SQUID and Privoxy on Ubuntu</title><content type='html'>&lt;span style="font-weight: bold;"&gt;note:&lt;/span&gt; This article is intended for a technical audience -- and while it seems to works for the two systems i've tried it on since, you should &lt;span style="color: rgb(204, 0, 0);"&gt;use caution&lt;/span&gt; when modifying a production system -- caveat emptor.&lt;br /&gt;&lt;br /&gt;A '&lt;span style="font-style: italic;"&gt;remember these for later brain&lt;/span&gt;' post, mainly because I always forget the order when I haven't done it for a while.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;note:&lt;/span&gt;, you can do this with any distribution -- Ubuntu Server works and I use that, but you can substitute the names of your distributions packages instead and still get much the same result.&lt;br /&gt;&lt;br /&gt;First, having installed Ubuntu Server, you'll need the &lt;a href="https://help.ubuntu.com/community/Repositories/Ubuntu"&gt;universe repository&lt;/a&gt;, as privoxy isn't officially blessed by the Ubuntu maintainers.&lt;br /&gt;&lt;br /&gt;Next, you'll need to install the various packages you'll need to make this fly -- as root, run:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;apt-get install squid privoxy shorewall&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;After that's done, you'll want to make SQUID work first -- using Ubuntu 8.04, this entails opening the default SQUID configuration at &lt;span style="font-weight:bold;"&gt;/etc/squid/squid.conf&lt;/span&gt; and:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;Adding &lt;span style="font-style:italic;"&gt;transparent&lt;/span&gt; to the port configuration by changing:&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;--- http_port 3128&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;+++ http_port 8080 transparent&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;Adding your {W/L}AN block to the &lt;span style="font-style:italic;"&gt;ACL list&lt;/span&gt; by adding:&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;+++ ACL local_network src 192.168.0.0/24&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;... and enabling it in the &lt;span style="font-style:italic;"&gt;http_access list&lt;/span&gt; by adding:&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;+++ http_access allow local_network&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;&lt;br /&gt;Save the configuration and exit the editor.&lt;br /&gt;&lt;br /&gt;Now restart SQUID with: &lt;span style="font-weight:bold;"&gt;/etc/init.d/squid restart&lt;/span&gt; to have your changes take effect.&lt;br /&gt;&lt;br /&gt;At this point, configure a browser to use a manual proxy on the server's IP address on port 8080 and make sure it actually works, if you receive an error that talks about &lt;span style="font-weight:bold;"&gt;Access Control Lists&lt;/span&gt;, check that you added the right network mask to the SQUID &lt;span style="font-style:italic;"&gt;local_network&lt;/span&gt; line you added above.&lt;br /&gt;&lt;br /&gt;If that works, we can move on to the Privoxy part of things. &lt;a href="http://www.privoxy.org/"&gt;Privoxy&lt;/a&gt;, for those who are unaware is one of the best '&lt;span style="font-style:italic;"&gt;web-crud(tm)&lt;/span&gt;' filters i've ever had the pleasure of using, it was originally built from the Internet Junkbuster (IJB) but has now got many more features, is stable on pretty much any platform for a wide-variety of users and protects your privacy too.&lt;br /&gt;&lt;br /&gt;By far, the easiest way to configure Privoxy is via the web-interface, but the Ubuntu package disables that by default, so before we hook it up to SQUID, we should enable that.&lt;br /&gt;&lt;br /&gt;Open the &lt;span style="font-weight:bold;"&gt;/etc/privoxy/config&lt;/span&gt; file and make the following changes:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;Enable &lt;span style="font-style:italic;"&gt;editing of actions&lt;/span&gt; via the web interface by changing:&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;--- enable-edit-actions 0&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;+++ enable-edit-actions 1&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;&lt;br /&gt;Save the configuration and exit the editor.&lt;br /&gt;&lt;br /&gt;Now restart Privoxy with: &lt;span style="font-weight:bold;"&gt;/etc/init.d/privoxy restart&lt;/span&gt; to have your changes take effect.&lt;br /&gt;&lt;br /&gt;Now, we need to hook Privoxy up to our proxy as the &lt;span style="font-style:italic;"&gt;default parent cache&lt;/span&gt; -- you'll need to open the SQUID configuration file again and make the following adjustments: &lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;note:&lt;/span&gt; If you haven't done so already, it's a good idea at this point to make a backup copy of your &lt;span style="font-weight:bold;"&gt;/etc/squid/squid.conf&lt;/span&gt; file before making these changes.&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;Adding Privoxy as a &lt;span style="font-style:italic;"&gt;cache peer&lt;/span&gt; by changing:&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;+++ cache_peer 127.0.0.1 parent 8118 0 no-query no-delay no-digest no-netdb-exchange&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;note:&lt;/span&gt; because Privoxy cannot influence any of SQUID's cache settings, setting &lt;span style="font-style:italic;"&gt;no-query no-delay no-digest no-netdb-exchange&lt;/span&gt; as options for the peer cache lessens the delay between Privoxy filtering the transaction and SQUID caching it of up to a second on slower hardware (for example, a Pentium 4 1.2Ghz machine with 1GB of memory).&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;Telling SQUID to &lt;span style="font-style:italic;"&gt;always&lt;/span&gt; send traffic from the firewall &lt;span style="font-style:italic;"&gt;directly&lt;/span&gt; to the internet by changing:&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;+++ always_direct allow localhost&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;Telling SQUID to &lt;span style="font-style:italic;"&gt;never&lt;/span&gt; send traffic from the local LAN (thereby forcing users to use the Privoxy/SQUID cache) &lt;span style="font-style:italic;"&gt;directly&lt;/span&gt; to the internet by changing:&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;+++ never_direct allow local_network&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;&lt;br /&gt;Save the configuration and exit the editor.&lt;br /&gt;&lt;br /&gt;Now restart SQUID with: &lt;span style="font-weight:bold;"&gt;/etc/init.d/squid restart&lt;/span&gt; to have your changes take effect.&lt;br /&gt;&lt;br /&gt;Finally we need to add the rules for &lt;span style="font-style:italic;"&gt;transparently using our proxy&lt;/span&gt; to our Shorewall Firewall Configuration -- you'll need to open the Shorewall rules configuration file and make the following alteration: &lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;note:&lt;/span&gt; For the purposes of simplicity, i'm assuming that your WAN interface is &lt;span style="font-style:italic;"&gt;eth0&lt;/span&gt;, your LAN interface is &lt;span style="font-style:italic;"&gt;eth1&lt;/span&gt;, your LAN IP range is &lt;span style="font-style:italic;"&gt;192.168.0.0/24&lt;/span&gt; and your Shorewall configuration is &lt;span style="font-weight:bold;"&gt;already complete&lt;/span&gt; (for some reason I still don't fully understand, the Debian and Ubuntu packages don't ship with a default configuration file, so if you don't see a &lt;span style="font-weight:bold;"&gt;/etc/shorewall/rules&lt;/span&gt; file, you'll need to download one, or grab a prefabricated copy from the &lt;span style="font-weight:bold;"&gt;/usr/share/doc/shorewall&lt;/span&gt; directory and set it up first.&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;Adding &lt;span style="font-style:italic;"&gt;a redirection to our transparent proxy&lt;/span&gt; by changing:&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;+++ REDIRECT &amp;nbsp;&amp;nbsp;&amp;nbsp; loc &amp;nbsp;&amp;nbsp;&amp;nbsp; 8080 &amp;nbsp;&amp;nbsp;&amp;nbsp; tcp &amp;nbsp;&amp;nbsp;&amp;nbsp; www &amp;nbsp;&amp;nbsp;&amp;nbsp; - &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;+++ ACCEPT &amp;nbsp;&amp;nbsp;&amp;nbsp; $FW &amp;nbsp;&amp;nbsp;&amp;nbsp; net &amp;nbsp;&amp;nbsp;&amp;nbsp; tcp &amp;nbsp;&amp;nbsp;&amp;nbsp; www &lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;note:&lt;/span&gt; the minus (-) with the trailing space at the end of the redirect line is important, it means it will ignore the source port when working out the request and force any already established request to continue to use the proxy.&lt;br /&gt;&lt;br /&gt;Save the configuration and exit the editor.&lt;br /&gt;&lt;br /&gt;Now restart the Shorewall Firewall with: &lt;span style="font-weight:bold;"&gt;/etc/init.d/shorewall restart&lt;/span&gt; -- fire up a browser, make sure it is &lt;span style="font-weight:bold;"&gt;not&lt;/span&gt; configured to use a proxy (ie. it uses a direct connection to the internet) and browse to your hearts content.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1322920654509886809-7341263579942612966?l=thefunkcorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/7341263579942612966'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/7341263579942612966'/><link rel='alternate' type='text/html' href='http://thefunkcorner.blogspot.com/2008/04/transparent-proxying-with-shorewall.html' title='Transparent Proxying with Shorewall, SQUID and Privoxy on Ubuntu'/><author><name>Paul</name><uri>http://www.blogger.com/profile/13666227889038099116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-1322920654509886809.post-4206287764343313636</id><published>2008-04-10T01:08:00.006+10:00</published><updated>2008-12-09T11:46:36.841+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='one line hacks'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='epiphany'/><title type='text'>Australian'ising Epiphany's Keyword Search</title><content type='html'>As part of the upgrading process to the new Ubuntu LTS release -- I found my default search engine had been reset to &lt;span style="font-style:italic;"&gt;http://www.google.co.uk&lt;/span&gt; rather than &lt;span style="font-style:italic;"&gt;http://www.google.com.au&lt;/span&gt; in &lt;a href="http://www.gnome.org/projects/epiphany/"&gt;Epiphany&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Everything else about Epiphany's default setup is Australian, the language defaults are &lt;span style="font-style:italic;"&gt;en-au&lt;/span&gt; and the languages are set correctly, but the keyword search isn't.&lt;br /&gt;&lt;br /&gt;Fortunately, this is easy to change.&lt;br /&gt;&lt;br /&gt;First, fire up your browser and type &lt;span style="font-weight:bold;"&gt;about:config&lt;/span&gt; into the location bar, which should take you to the configuration screen -- consisting of a filter box and a larger portion containing all of the relevant tweakable parameters.&lt;br /&gt;&lt;br /&gt;In the filter textbox type: &lt;span style="font-style:bold;"&gt;keyword.URL&lt;/span&gt; it should be a User Set, String value (in bold) that looks like the screen below:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_WROglLz0RI4/R_zfyaHbsrI/AAAAAAAAALg/w7cuKB3RChg/s1600-h/epiphany-keywordfind.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_WROglLz0RI4/R_zfyaHbsrI/AAAAAAAAALg/w7cuKB3RChg/s200/epiphany-keywordfind.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5187266927920919218" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Now, if you right-click the bold text and select &lt;span style="font-style:italic;"&gt;modify&lt;/span&gt; you should get a textbox appear in the center of the screen, simply use the keyboard or mouse to select and remove the &lt;span style="font-weight:bold;"&gt;.co.uk&lt;/span&gt; section of the highlighted URL and enter &lt;span style="font-weight:bold;"&gt;.com.au&lt;/span&gt; instead -- and press OK to return to the configuration menu.&lt;br /&gt;&lt;br /&gt;At this point, the screen should look like the one below:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_WROglLz0RI4/R_zgCaHbssI/AAAAAAAAALo/RYEsxVBLhUA/s1600-h/epiphany-keywordchange.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_WROglLz0RI4/R_zgCaHbssI/AAAAAAAAALo/RYEsxVBLhUA/s200/epiphany-keywordchange.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5187267202798826178" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Now just restart Epiphany and do a search, the browser should now (correctly) take you to Google Australia's search.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1322920654509886809-4206287764343313636?l=thefunkcorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/4206287764343313636'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/4206287764343313636'/><link rel='alternate' type='text/html' href='http://thefunkcorner.blogspot.com/2008/04/australianising-epiphanys-keyword.html' title='Australian&apos;ising Epiphany&apos;s Keyword Search'/><author><name>Paul</name><uri>http://www.blogger.com/profile/13666227889038099116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_WROglLz0RI4/R_zfyaHbsrI/AAAAAAAAALg/w7cuKB3RChg/s72-c/epiphany-keywordfind.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-1322920654509886809.post-8606344331819774184</id><published>2008-04-08T21:15:00.016+10:00</published><updated>2008-12-09T11:46:41.554+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='community service announcement'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='openoffice'/><title type='text'>OpenOffice 2.4's Compatibility with Microsoft Word 2000-2007</title><content type='html'>After yet-another virus outbreak at my better half's university -- I set about installing Linux on her machine, overwriting the old Windows 2000 with Word 2003 setup that i've re-installed, patched and registered no less than four times in the last six months.&lt;br /&gt;&lt;br /&gt;Two weeks in, she's mostly satisfied -- but there's sticking points with OpenOffice and the compatibility with Microsoft Word.&lt;br /&gt;&lt;br /&gt;Thankfully, there's some cute things you can do to to improve the look and feel of OO.o under Linux.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;note:&lt;/span&gt; This has been tested with Novell's version of OpenOffice (currently 2.3) and Ubuntu's Hardy version (currently 2.4.0) -- milage shouldn't, but may vary on other platforms.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;Overall Document Compatibility&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;First of all, open OpenOffice Writer and find the &lt;span style="font-weight: bold;"&gt;Tools / Options&lt;/span&gt; menu.&lt;br /&gt;&lt;br /&gt;Then select OpenOffice.org Writer from the left-hand menu -- your screen should look something like the screenshot below:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_WROglLz0RI4/R_tzsaHbsmI/AAAAAAAAAK4/fsS_vB5B-nc/s1600-h/ooo-wheretofind.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_WROglLz0RI4/R_tzsaHbsmI/AAAAAAAAAK4/fsS_vB5B-nc/s200/ooo-wheretofind.png" alt="" id="BLOGGER_PHOTO_ID_5186866602609193570" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Next, choose Compatibility, your screen should look like:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_WROglLz0RI4/R_tzYqHbslI/AAAAAAAAAKw/y2sqidgiIuU/s1600-h/ooo-before.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_WROglLz0RI4/R_tzYqHbslI/AAAAAAAAAKw/y2sqidgiIuU/s200/ooo-before.png" alt="" id="BLOGGER_PHOTO_ID_5186866263306777170" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Now, to obtain decent compatibility with Word 2000/2003/2007 make sure these options are checked:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Use printer metrics for document formatting&lt;/li&gt;&lt;li&gt;Add spacing between paragraphs and tables (in current document)&lt;/li&gt;&lt;li&gt;Add paragraph and table spacing at tops of pages (in current document)&lt;/li&gt;&lt;li&gt;Do not add leading (extra space) between lines of text&lt;/li&gt;&lt;li&gt;Add paragraph and table spacing at bottom of table cells&lt;/li&gt;&lt;li&gt;Consider wrapping style when positioning objects&lt;/li&gt;&lt;li&gt;Expand word space on lines with manual line breaks in justified paragraphs&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;When you've finished, your screen should look like:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_WROglLz0RI4/R_tzFaHbskI/AAAAAAAAAKo/Qloh4nr6qNc/s1600-h/ooo-after.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_WROglLz0RI4/R_tzFaHbskI/AAAAAAAAAKo/Qloh4nr6qNc/s200/ooo-after.png" alt="" id="BLOGGER_PHOTO_ID_5186865932594295362" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Finally, to set these options as default -- simply click on the &lt;span style="font-style: italic;"&gt;Use as Default&lt;/span&gt; button, then the &lt;span style="font-style: italic;"&gt;OK&lt;/span&gt; button to return to the program.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;Microsoft-Sized Margins&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The next query had to do with the margin size in OpenOffice, which I personally like -- but university lecturers take umbrage with, so we'll alter those to be more compatible with their Microsoft brethren, which has the added side-effect of being &lt;dfn title="What You See Is What You Get"&gt;WYSISYG&lt;/dfn&gt; to most extents when the document is printed via Word.&lt;br /&gt;&lt;br /&gt;To do this, we need to make alterations to the default template. I'm presuming you're starting with a blank document on the screen, just by the way.&lt;br /&gt;&lt;br /&gt;First of all, find the &lt;span style="font-weight: bold;"&gt;Format / Page&lt;/span&gt; menu -- your screen should look something like the screenshot below:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_WROglLz0RI4/R_uQlqHbsnI/AAAAAAAAALA/7lV7el0sZIc/s1600-h/ooo-margin-before.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_WROglLz0RI4/R_uQlqHbsnI/AAAAAAAAALA/7lV7el0sZIc/s200/ooo-margin-before.png" alt="" id="BLOGGER_PHOTO_ID_5186898372482282098" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The default margin sizes in OpenOffice are 2cm (two centimetres -- or around 0.78 inches for US readers)&lt;br /&gt;&lt;br /&gt;Whereas, the default margin sizes in Microsoft Word 2003 are 3.81cm (1.5 inches) for the top and bottom margin and 2.54 cm (1.0 inches) for the left and right ones, so you need to alter the Left, Right, Top and Bottom margins on this page to match the screenshot below:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_WROglLz0RI4/R_uQ4aHbsoI/AAAAAAAAALI/G0Lh_IlF0Qw/s1600-h/ooo-margin-after.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_WROglLz0RI4/R_uQ4aHbsoI/AAAAAAAAALI/G0Lh_IlF0Qw/s200/ooo-margin-after.png" alt="" id="BLOGGER_PHOTO_ID_5186898694604829314" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Now that we've modified our blank page to be more Word Compatible at the expense of being less &lt;span style="color: rgb(0, 153, 0);"&gt;tree&lt;/span&gt; friendly, we can now save it for use as a template.&lt;br /&gt;&lt;br /&gt;Find the &lt;span style="font-weight: bold;"&gt;File / Templates / Save...&lt;/span&gt; menu, your screen should look something like the one shown below:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_WROglLz0RI4/R_uXw6HbspI/AAAAAAAAALQ/-ZTS3R9YjDU/s1600-h/ooo-template-blank.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_WROglLz0RI4/R_uXw6HbspI/AAAAAAAAALQ/-ZTS3R9YjDU/s200/ooo-template-blank.png" alt="" id="BLOGGER_PHOTO_ID_5186906262337204882" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;There will be a text field you can edit called "&lt;span style="font-style: italic;"&gt;New template&lt;/span&gt;". Enter "&lt;span style="font-style: italic;"&gt;Microsoft Word Compatible&lt;/span&gt;" or a similar defining name here.&lt;br /&gt;&lt;br /&gt;Below the edit box is a section titled &lt;span style="font-style: italic;"&gt;Templates&lt;/span&gt; for organizing a lot of templates if you had many that you used. Given we are only modifying a single template, leaving it under the &lt;span style="font-style: italic;"&gt;My Templates&lt;/span&gt; category is fine.&lt;br /&gt;&lt;br /&gt;Finally, press OK to save it.&lt;br /&gt;&lt;br /&gt;At this point, OpenOffice will continue to use the default margins, If you would prefer to set these margins as your default template for whenever you make a new document there are a few extra steps to follow:&lt;br /&gt;&lt;br /&gt;First, go to the &lt;span style="font-weight: bold;"&gt;File / Templates / Organize&lt;/span&gt; menu and double click on the &lt;span style="font-style:italic;"&gt;"My Templates"&lt;/span&gt; folder.&lt;br /&gt;&lt;br /&gt;Under the directory, your &lt;span style="font-style:italic;"&gt;"Microsoft Word Compatible"&lt;/span&gt; template that you created should appear. Right click on it and select &lt;span style="font-weight:bold;"&gt;"Set as Default Template"&lt;/span&gt; -- your screen should look similar to:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_WROglLz0RI4/R_uX96HbsqI/AAAAAAAAALY/tr8c9zOuHBM/s1600-h/ooo-template-saved.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_WROglLz0RI4/R_uX96HbsqI/AAAAAAAAALY/tr8c9zOuHBM/s200/ooo-template-saved.png" alt="" id="BLOGGER_PHOTO_ID_5186906485675504290" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Now press "Close" to exit the dialogue and return to OpenOffice, from this point on -- all new documents will use Microsoft Word compatible margins and page-widths by default.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;Speedier Startup&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Not that it's really anything to do with compatibility, but if you don't use the Java components in OpenOffice on Linux (ie. you have no &lt;dfn title="Java Development Kit"&gt;JDK&lt;/dfn&gt; installed) you can save a few seconds start-up time and have a snappier interface by turning the java components off, to do this, go into the &lt;span style="font-weight: bold;"&gt;Tools / Options&lt;/span&gt; menu.&lt;br /&gt;&lt;br /&gt;Then select Java from the left-hand menu and uncheck the &lt;span style="font-style: italic;"&gt;Use a Java Runtime Environment&lt;/span&gt; box.&lt;br /&gt;&lt;br /&gt;Close OpenOffice and re-open it for a much speedier environment.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1322920654509886809-8606344331819774184?l=thefunkcorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/8606344331819774184'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/8606344331819774184'/><link rel='alternate' type='text/html' href='http://thefunkcorner.blogspot.com/2008/04/openoffice-24s-compatibility-with.html' title='OpenOffice 2.4&apos;s Compatibility with Microsoft Word 2000-2007'/><author><name>Paul</name><uri>http://www.blogger.com/profile/13666227889038099116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_WROglLz0RI4/R_tzsaHbsmI/AAAAAAAAAK4/fsS_vB5B-nc/s72-c/ooo-wheretofind.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-1322920654509886809.post-2242210867859090667</id><published>2008-04-02T20:52:00.000+11:00</published><updated>2008-04-08T21:02:39.367+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='performance tweaking'/><category scheme='http://www.blogger.com/atom/ns#' term='community service announcement'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Streamlining the Ubuntu Boot Process</title><content type='html'>&lt;span style="font-weight: bold;"&gt;note:&lt;/span&gt; This article is intended for a technical audience -- and while it seems to works for the two systems i've tried it on since, you should &lt;span style="color: rgb(204, 0, 0);"&gt;use caution&lt;/span&gt; when modifying a production system -- caveat emptor.&lt;br /&gt;&lt;br /&gt;Not-so-simple one line fix that shaves a good 5-10 seconds off the boot up time of a 1.8ghz HP Notebook machine.&lt;br /&gt;&lt;br /&gt;Open a terminal and use sudo with your favourite text editor to edit the &lt;span style="font-weight:bold;"&gt;/etc/init.d/rc&lt;/span&gt; file, eg.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;sudo vim /etc/init.d/rc&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Then, around line 24, change:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;--- CONCURRENCY=none&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;+++ CONCURRENCY=shell&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Save the file, then the next time you reboot -- Ubuntu's base bootup speed will be even more similar to a Microsoft operating environment than ever before.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1322920654509886809-2242210867859090667?l=thefunkcorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/2242210867859090667'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/2242210867859090667'/><link rel='alternate' type='text/html' href='http://thefunkcorner.blogspot.com/2008/04/streamlining-ubuntu-boot-process.html' title='Streamlining the Ubuntu Boot Process'/><author><name>Paul</name><uri>http://www.blogger.com/profile/13666227889038099116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-1322920654509886809.post-5081999130597015276</id><published>2008-03-25T21:31:00.004+11:00</published><updated>2008-03-25T22:02:45.206+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='community service announcement'/><category scheme='http://www.blogger.com/atom/ns#' term='security'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Recovering your Password Database in Epiphany 2.20.x on Ubuntu</title><content type='html'>Having just upgraded my laptop to the recently released &lt;a href="https://wiki.ubuntu.com/HardyHeron/Beta"&gt;beta version&lt;/a&gt; of Ubuntu's next Long Term Service release (Hardy Heron -- aka. 8.04), I started up my preferred browser (Epiphany) and discovered that my saved web password database was empty.&lt;br /&gt;&lt;br /&gt;After a bit of web hunting, I discovered that the new Firefox 3.0 betas have a new version of the signons.txt file that Mozilla/Firefox/Epiphany use to store the actual password.&lt;br /&gt;&lt;br /&gt;Looking in my &lt;span style="font-weight:bold;"&gt;.gnome2/epiphany/mozilla/epiphany&lt;/span&gt; directory, I noticed a &lt;span style="font-style:italic;"&gt;signons2.txt&lt;/span&gt; file and a new, blank &lt;span style="font-style:italic;"&gt;signons3.txt&lt;/span&gt; file.&lt;br /&gt;&lt;br /&gt;I also noticed that the datestamp on the &lt;span style="font-style:italic;"&gt;key3.db&lt;/span&gt; file had been updated to today's date.&lt;br /&gt;&lt;br /&gt;First, I tried renaming the &lt;span style="font-style:italic;"&gt;signons2.txt&lt;/span&gt; file to &lt;span style="font-style:italic;"&gt;signons3.txt&lt;/span&gt; and restarting Epiphany -- as expected -- the datestamp of &lt;span style="font-style:italic;"&gt;signon3.txt&lt;/span&gt; was now the same as &lt;span style="font-style:italic;"&gt;key3.db&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Going into the &lt;span style="font-weight:bold;"&gt;Personal Data / Passwords&lt;/span&gt; menu in Epiphany now gave me access to some passwords, but not all -- plus there was some duplication between passwords.&lt;br /&gt;&lt;br /&gt;So, I tried deleting both the &lt;span style="font-style:italic;"&gt;key3.db&lt;/span&gt; and the &lt;span style="font-style:italic;"&gt;signons3.txt&lt;/span&gt; file -- and copying a backup version of both files (with an older datestamp) to my epiphany profile directory and then renaming &lt;span style="font-style:italic;"&gt;signons2.txt&lt;/span&gt; to &lt;span style="font-style:italic;"&gt;signons3.txt&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Restarted Epiphany and from a terminal window, noticed both files had been updated to the current time.&lt;br /&gt;&lt;br /&gt;This time, going back to the &lt;span style="font-weight:bold;"&gt;Personal Data / Passwords&lt;/span&gt; menu in Epiphany now gave me access to all my old password information.&lt;br /&gt;&lt;br /&gt;So, in a nutshell -- to upgrade from Ubuntu Gutsy to Ubuntu Hardy's Epiphany seamlessly, you should use a three step process:&lt;br /&gt;&lt;br /&gt;* Backup your &lt;span style="font-weight:bold;"&gt;.gnome2/epiphany&lt;/span&gt; directory &lt;span style="font-weight:bold;"&gt;before&lt;/span&gt; doing your upgrade.&lt;br /&gt;&lt;br /&gt;* After doing your upgrade, copy the &lt;span style="font-style:italic;"&gt;key3.db&lt;/span&gt; and &lt;span style="font-style:italic;"&gt;signons2.txt&lt;/span&gt; files from your backup into your updated &lt;span style="font-weight:bold;"&gt;.gnome2/epiphany/mozilla/epiphany&lt;/span&gt; directory.&lt;br /&gt;&lt;br /&gt;* Before using Epiphany for the first time, copy your &lt;span style="font-style:italic;"&gt;signons2.txt&lt;/span&gt; file to a new file called &lt;span style="font-style:italic;"&gt;signons3.txt&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;note:&lt;/span&gt; this issue has also been reported to the Ubuntu Bug Tracker as &lt;a href="https://bugs.launchpad.net/ubuntu/+source/xulrunner-1.9/+bug/180205"&gt;#180205&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1322920654509886809-5081999130597015276?l=thefunkcorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thefunkcorner.blogspot.com/feeds/5081999130597015276/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1322920654509886809&amp;postID=5081999130597015276' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/5081999130597015276'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/5081999130597015276'/><link rel='alternate' type='text/html' href='http://thefunkcorner.blogspot.com/2008/03/recovering-your-password-database-in.html' title='Recovering your Password Database in Epiphany 2.20.x on Ubuntu'/><author><name>Paul</name><uri>http://www.blogger.com/profile/13666227889038099116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1322920654509886809.post-8667083160614651891</id><published>2008-03-23T03:11:00.002+11:00</published><updated>2008-03-23T16:09:22.581+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='one line hacks'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>WD's 'My Book' Product &amp; Linux</title><content type='html'>&lt;span style="font-weight: bold;"&gt;note:&lt;/span&gt; This article is intended for a technical audience -- you should &lt;span style="color: rgb(204, 0, 0);"&gt;use extreme caution&lt;/span&gt; when modifying a production system, as your data will be nearly impossible to recover if you use this command incorrectly -- caveat emptor.&lt;br /&gt;&lt;br /&gt;Today I picked up one of the new &lt;span style="font-style:italic;"&gt;'essential edition'&lt;/span&gt; 750 GiB USB External Hard Drives -- very nice piece of kit, it looks like the volume of a book and fits on the bookshelf (albeit if one runs the power supply and related cords down the back of said bookshelf first) as advertised on the box.&lt;br /&gt;&lt;br /&gt;To make it work under Linux wasn't hard either.&lt;br /&gt;&lt;br /&gt;It comes with a FAT32 (vfat) filesystem by default and includes Windows and MacOSX versions of Google Desktop, Skype and a few other things.&lt;br /&gt;&lt;br /&gt;The procedure here was run on OpenSuSE 10.3, but any semi-recent Linux distribution will do -- it uses one command, mke2fs -- which is present on all Linux distributions back to the dark ages:&lt;br /&gt;&lt;br /&gt;First, unmount the drive (either from the right-click desktop option, or from the command line)&lt;br /&gt;&lt;br /&gt;Second, open a terminal and sudo to root.&lt;br /&gt;&lt;br /&gt;Third, format the drive -- I use ext3 filesystems, so my command line was:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt; mke2fs -j -L "My Book" -m 1 -O dir_index,sparse_super -T largefile &lt;span style="font-style:italic;"&gt;/dev/sdX1&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Where &lt;span style="font-style:italic;"&gt;sdX&lt;/span&gt; is the WD device, I bought two of them and they were &lt;span style="font-style:italic;"&gt;sdd&lt;/span&gt; and &lt;span style="font-style:italic;"&gt;sde&lt;/span&gt; respectively. (note: this is &lt;span style="font-weight:bold;"&gt;never&lt;/span&gt; usually &lt;span style="font-style:italic;"&gt;/dev/hda&lt;/span&gt; or &lt;span style="font-style:italic;"&gt;/dev/sda&lt;/span&gt; -- please make sure you're writing to the correct device before pressing ENTER, type once, look twice!).&lt;br /&gt;&lt;br /&gt;As for options, I used those to get the most storage and speed from my new drives:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;-j&lt;/span&gt; -- Adds an ext3 journal to the filesystem.&lt;br /&gt;&lt;span style="font-style:italic;"&gt;-L "My Book"&lt;/span&gt; -- Adds a Label to the new drive (by default, the drive mounts out of the box with a label of 'My Book', so I use that, but you could call yours anything as long as it is less than 16 characters long, just remember to put it in double quotes on the command line.&lt;br /&gt;&lt;span style="font-style:italic;"&gt;-m 1&lt;/span&gt; -- Uses &lt;span style="font-weight:bold;"&gt;1%&lt;/span&gt; of the total drive space (750MiB) as reserved blocks for the root user, which is handy to have when the drive dies and one needs to run recovery tools to get back their data.&lt;br /&gt;&lt;span style="font-style:italic;"&gt;-O dir_index,sparse_super&lt;/span&gt; -- Two options, seperated by commas -- one (&lt;span style="font-weight:bold;"&gt;dir_index&lt;/span&gt;) to speed up lookups in large directories (say, one with the contents of your digital camera or music collection) and the other (&lt;span style="font-weight:bold;"&gt;sparse_super&lt;/span&gt;)to gain a few extra megabytes of usable space by not creating as many superblock backups (on a 750GiB drive, this option creates 24, rather than 80-odd due to the sheer size)&lt;br /&gt;&lt;span style="font-style:italic;"&gt;-T largefile&lt;/span&gt; -- Creates a filesystem suitable for medium to large files (a few megabytes or more per file) rather than one suited to a standard home directory (lots of files worth a few kilobytes, intermixed with some larger ones).&lt;br /&gt;&lt;br /&gt;Once you have pressed ENTER, the mke2fs will format your drive using the parameters specified on the command line, then return you to the prompt.&lt;br /&gt;&lt;br /&gt;Fourth, you will need to give your user account permission to write to the drive (at the moment, only root can do this) -- as root, type:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;chown -R username:users&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Where &lt;span style="font-style:italic;"&gt;username&lt;/span&gt; is your username, mine's &lt;span style="font-weight:bold;"&gt;paul&lt;/span&gt;, yours probably isn't.&lt;br /&gt;&lt;br /&gt;Finally, remove the USB cable and plug it back in -- if you're running a recent Linux distribution (2006 onwards) it should re-appear on your desktop as 'My Book' with an unreadable directory called &lt;span style="font-weight:bold;"&gt;lost+found&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Now you can use your drive as normal, with a native filesystem, access rights and all the rest.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1322920654509886809-8667083160614651891?l=thefunkcorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/8667083160614651891'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/8667083160614651891'/><link rel='alternate' type='text/html' href='http://thefunkcorner.blogspot.com/2008/03/wds-my-book-product-linux.html' title='WD&apos;s &apos;My Book&apos; Product &amp; Linux'/><author><name>Paul</name><uri>http://www.blogger.com/profile/13666227889038099116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-1322920654509886809.post-4924579520042767954</id><published>2008-03-20T12:01:00.001+11:00</published><updated>2008-04-08T13:37:08.762+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='zen-cart'/><category scheme='http://www.blogger.com/atom/ns#' term='php programming'/><title type='text'>Repairing Zen-Cart's use of HTML Characters (umlauts, cyrillic, etc)</title><content type='html'>One of the bigger alterations i've made to the Zen-Cart code recently has been a large update of it's country and state zone files (so instead of users typing their state and city into text fields, they can select them from a drop-down box that only shows references for their particular country).&lt;br /&gt;&lt;br /&gt;Unfortunately, in 1.3.7 and 1.3.8 -- the code for handling HTML entities is slightly broken, so users from Nordic or Germanic countries see:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Baden-W&amp;amp;uuml;rttemberg&lt;/span&gt; rather than &lt;span style="font-weight:bold;"&gt;Baden-Württemberg&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;In places like the Shipping Information or the Account Creation code.&lt;br /&gt;&lt;br /&gt;The solution i've been using, is to edit the files that reference the &lt;span style="font-style:italic;"&gt;zen_js_zone_list&lt;/span&gt; code and correctly sanitise the output-- this is done in two places (one for admin, one for userland).&lt;br /&gt;&lt;br /&gt;Firstly, edit the &lt;span style="font-weight: bold;"&gt;admin/includes/functions/html_output.php&lt;/span&gt; file and around line 188 change:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;--- return $output_string;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;+++ return html_entity_decode($output_string);&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Secondly, edit the &lt;span style="font-weight: bold;"&gt;includes/functions/functions_general.php&lt;/span&gt; file and around line 1448 change:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;--- return $output_string;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;+++ return html_entity_decode($output_string);&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;You should now have accented characters in places they should be.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1322920654509886809-4924579520042767954?l=thefunkcorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/4924579520042767954'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/4924579520042767954'/><link rel='alternate' type='text/html' href='http://thefunkcorner.blogspot.com/2008/03/repairing-zen-carts-use-of-html.html' title='Repairing Zen-Cart&apos;s use of HTML Characters (umlauts, cyrillic, etc)'/><author><name>Paul</name><uri>http://www.blogger.com/profile/13666227889038099116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-1322920654509886809.post-1336821633700144716</id><published>2008-03-19T17:04:00.017+11:00</published><updated>2008-12-09T11:46:44.254+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='performance tweaking'/><category scheme='http://www.blogger.com/atom/ns#' term='community service announcement'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='epiphany'/><title type='text'>Improving Browser Speeds in Epiphany</title><content type='html'>Mainly a '&lt;span style="font-style: italic;"&gt;remember these for later brain&lt;/span&gt;' post -- but people might still get a fairly good speed improvement out of them with Xulrunner or Gecko.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;updated (10-04-2008): added screenshots -- so it matches the other HOWTO's here :)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;Remove the initial rendering delay&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Firstly, Open Epiphany (&lt;span style="font-style: italic;"&gt;all of these work for Firefox as well, mind you.&lt;/span&gt;) and type &lt;span style="font-weight: bold;"&gt;about:config&lt;/span&gt; into your location bar.&lt;br /&gt;&lt;br /&gt;You should see a screen that looks like the one below:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_WROglLz0RI4/R_2qPj50sFI/AAAAAAAAALw/YdByLcm-CXE/s1600-h/epiphany-wheretofind.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_WROglLz0RI4/R_2qPj50sFI/AAAAAAAAALw/YdByLcm-CXE/s200/epiphany-wheretofind.png" alt="" id="BLOGGER_PHOTO_ID_5187489530113208402" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;First, Gecko (the Mozilla Backend) uses a delay when rendering any new page on-screen -- you can remove this delay by right-clicking anywhere in the main window and creating a &lt;span style="font-weight: bold;"&gt;New&lt;/span&gt; &lt;span style="font-style: italic;"&gt;Integer&lt;/span&gt; key.&lt;br /&gt;&lt;br /&gt;In the textbox that appears, name the new key “&lt;span style="font-style: italic;"&gt;nglayout.initialpaint.delay&lt;/span&gt;” and set its value to “&lt;span style="font-style: italic;"&gt;0&lt;/span&gt;″.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;Disabling IPv6&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Next, if you don't use it -- &lt;a href="http://en.wikipedia.org/wiki/IPv6"&gt;IPv6&lt;/a&gt; can add delays to any page you view -- you can turn it off in Epiphany by toggling the "&lt;span style="font-style: italic;"&gt;network.dns.disableIPv6&lt;/span&gt;" key to true.&lt;br /&gt;&lt;br /&gt;First, find the "&lt;span style="font-style: italic;"&gt;network.dns.disableIPv6&lt;/span&gt;" key in the filter, your screen should look similar to:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_WROglLz0RI4/R_2qfz50sGI/AAAAAAAAAL4/VDdzH7mVkas/s1600-h/epiphany-ipv6-before.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_WROglLz0RI4/R_2qfz50sGI/AAAAAAAAAL4/VDdzH7mVkas/s200/epiphany-ipv6-before.png" alt="" id="BLOGGER_PHOTO_ID_5187489809286082658" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Right click the key and press the &lt;span style="font-weight: bold;"&gt;Toggle&lt;/span&gt; button -- your screen should now look like:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_WROglLz0RI4/R_2q2z50sHI/AAAAAAAAAMA/XnGpXzdoJUY/s1600-h/epiphany-ipv6-after.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_WROglLz0RI4/R_2q2z50sHI/AAAAAAAAAMA/XnGpXzdoJUY/s200/epiphany-ipv6-after.png" alt="" id="BLOGGER_PHOTO_ID_5187490204423073906" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;Disabling Prefetching&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/Prefetching"&gt;Prefetching&lt;/a&gt;, otherwise known as the ability to cache the next page you might want to read can actually slow your browsing down if you're on a larger network, behind a proxy or just browsing a site on a slow server -- also, SSL pages (such as those on online banking sites) are much snappier if you turn this off, although i've yet to prove why this is true, or if it's just a side-effect something else.&lt;br /&gt;&lt;br /&gt;Anyway, to turn prefetching off -- find the "&lt;span style="font-style: italic;"&gt;network.prefetch-next&lt;/span&gt;" key in the filter, your screen should look similar to:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_WROglLz0RI4/R_2rFD50sII/AAAAAAAAAMI/spPNtKBQ_l8/s1600-h/epiphany-prefetching-before.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_WROglLz0RI4/R_2rFD50sII/AAAAAAAAAMI/spPNtKBQ_l8/s200/epiphany-prefetching-before.png" alt="" id="BLOGGER_PHOTO_ID_5187490449236209794" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Right click the key and press the &lt;span style="font-weight: bold;"&gt;Toggle&lt;/span&gt; button -- your screen should now look like:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_WROglLz0RI4/R_2rRD50sJI/AAAAAAAAAMQ/UJR8qiujuOw/s1600-h/epiphany-prefetching-after.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_WROglLz0RI4/R_2rRD50sJI/AAAAAAAAAMQ/UJR8qiujuOw/s200/epiphany-prefetching-after.png" alt="" id="BLOGGER_PHOTO_ID_5187490655394640018" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;Tuning Pipelining&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/HTTP_pipelining"&gt;Pipelining&lt;/a&gt; refers to the ability to use one HTTP connection to obtain multiple pieces of data -- reducing the load on the servers you are browsing and maximising the amount of data your connection can receive.&lt;br /&gt;&lt;br /&gt;There's a LOT of discussion about pipelines and their use -- i've seen pages that tell people to increase their pipeline count from 4 to 30, 60 or even 100 -- of course, telling the server you can fit more data into one connection than you can possibly receive is annoying for server administrators ...&lt;br /&gt;&lt;br /&gt;Why?&lt;br /&gt;&lt;br /&gt;Imagine you've got a server that hosts something reasonably popular and you've got a client that doesn't support pipelining, one that does using the default and and one that's tuned their client to receive 100 requests at once ...&lt;br /&gt;&lt;br /&gt;The server, that basically knows nothing about what an end-user can support when it is asked to build a new connection, so in this case it would allocate enough resources to send 105 requests at once.&lt;br /&gt;&lt;br /&gt;Even though the average broadband (512k ADSL) connection would use 5 in about the same fashion at the receivers end.&lt;br /&gt;&lt;br /&gt;Considering the maximum number of actual connections to a particular server is in the range of 4 and 16 and that HTTP requests remain open between your client and the server for 300 seconds (both of which we'll tune later in this article) -- requesting an excessive amount of data per request is just poor considered poor etiquette.&lt;br /&gt;&lt;br /&gt;So, let's tune our pipelining to a value that makes sense from both an available bandwidth point of view and doesn't annoy every network administrator on the planet.&lt;br /&gt;&lt;br /&gt;To do this, we need to make sure pipelining is turned on, then we need to set two values -- one for connections created normally and one for those created by a proxy.&lt;br /&gt;&lt;br /&gt;First, find the "&lt;span style="font-style: italic;"&gt;network.http.pipelining&lt;/span&gt;" key in the filter, your screen should look similar to:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_WROglLz0RI4/R_2sqz50sKI/AAAAAAAAAMY/GLYbbXbQ6Cg/s1600-h/epiphany-pipelining-before.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_WROglLz0RI4/R_2sqz50sKI/AAAAAAAAAMY/GLYbbXbQ6Cg/s200/epiphany-pipelining-before.png" alt="" id="BLOGGER_PHOTO_ID_5187492197287899298" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Right click the key and press the &lt;span style="font-weight: bold;"&gt;Toggle&lt;/span&gt; button.&lt;br /&gt;&lt;br /&gt;Next, repeat the process for the &lt;span style="font-style: italic;"&gt;network.http.proxy.pipelining&lt;/span&gt; key.&lt;br /&gt;&lt;br /&gt;Finally, we need to define a value -- this basically depends on the type of site you're browsing, but it is considered to be poor form to make this value more than a double digit number -- I'm using &lt;span style="font-weight: bold;"&gt;8&lt;/span&gt; on all my boxes, &lt;span style="font-weight: bold;"&gt;12&lt;/span&gt; works quite well too on my 3 megabit connection, but I personally wouldn't recommend anything higher than that -- when you're done, your screen should now look like:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_WROglLz0RI4/R_2s4D50sLI/AAAAAAAAAMg/Yh6BEr2R4es/s1600-h/epiphany-pipelining-after.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_WROglLz0RI4/R_2s4D50sLI/AAAAAAAAAMg/Yh6BEr2R4es/s200/epiphany-pipelining-after.png" alt="" id="BLOGGER_PHOTO_ID_5187492424921166002" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;Tuning Per-Server Connection Limits&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Now that we've tuned the pipelined connections, we need to increase the number of connections that your browser can open to a server before needing to queue new ones -- this speeds up sites that host their static content on other servers to the dynamic content, as well as making more efficent use of prefetching too.&lt;br /&gt;&lt;br /&gt;To do this, find the "&lt;span style="font-style: italic;"&gt;network.http.max-persistent-connections-per-server&lt;/span&gt;" key in the filter, your screen should look similar to:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_WROglLz0RI4/R_3EdD50sPI/AAAAAAAAANA/2ju7Zt1lf-o/s1600-h/epiphany-perconnect-before.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_WROglLz0RI4/R_3EdD50sPI/AAAAAAAAANA/2ju7Zt1lf-o/s200/epiphany-perconnect-before.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5187518349343764722" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The defaults in Firefox 2.x (xulrunner 1.8) are &lt;span style="font-weight: bold;"&gt;2&lt;/span&gt;, they have been recently increased for Firefox 3.x (xulrunner 1.9) to &lt;span style="font-weight: bold;"&gt;6&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Personally, i've found &lt;span style="font-weight: bold;"&gt;4&lt;/span&gt; to be a reasonable number on my lower-end machines (those less than a P4 1.5ghz), I use &lt;span style="font-weight: bold;"&gt;8&lt;/span&gt; everywhere else, because it matches my &lt;span style="font-style: italic;"&gt;pipelining&lt;/span&gt; use.&lt;br /&gt;&lt;br /&gt;Increasing this number to more than 10 makes the performance of Epiphany actually reduce considerably, it makes significant delays after the fourth or so page I access at once, possibly due to the fact the maximum &lt;span style="font-style: italic;"&gt;total&lt;/span&gt; number of connections that Gecko opens at once is 24 (or 32, if you're using a newer Firefox 3.x build).&lt;br /&gt;&lt;br /&gt;Right click the key and press the &lt;span style="font-weight: bold;"&gt;Modify&lt;/span&gt; button. Now enter the value in seconds that you'd like to change it to -- remembering the guidelines listed above.&lt;br /&gt;&lt;br /&gt;Your screen should now look like:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_WROglLz0RI4/R_34CD50sQI/AAAAAAAAANI/Jpfx5QIT5VQ/s1600-h/epiphany-perconnect-after.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_WROglLz0RI4/R_34CD50sQI/AAAAAAAAANI/Jpfx5QIT5VQ/s200/epiphany-perconnect-after.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5187575060091941122" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;Tuning Keepalive Timeouts&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;HTTP &lt;a href="http://en.wikipedia.org/wiki/Keepalive"&gt;Keepalives&lt;/a&gt; play an important role in how long upstream servers keep connections open to the one client. It's incredibly useful being able to hold a connection open for a client, but having your client tell the server to hold it for 300 seconds (5 minutes) uses valuable resources on internet servers, as well as holds valuable RAM within your browser -- Basically, on the off chance you might go back to that site within the 5 minute window.&lt;br /&gt;&lt;br /&gt;In my experience, 60 seconds (1 minute) works just as well, as is far friendler to the internet at large.&lt;br /&gt;&lt;br /&gt;Before anyone asks (someone over my shoulder just did) -- this is &lt;span style="font-style: italic;"&gt;not&lt;/span&gt; the same thing as a website timing your session out due to inactivity (like an &lt;a href="http://www.shop-of-shops.net"&gt;online shop&lt;/a&gt; or a bank) -- this is the lower-level server infrastructure of the interschnitzel, not the website itself.&lt;br /&gt;&lt;br /&gt;To change the keepalives to something more friendly:&lt;br /&gt;&lt;br /&gt;Find the "&lt;span style="font-style: italic;"&gt;network.http.keep-alive.timeout&lt;/span&gt;" key in the filter, your screen should look similar to:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_WROglLz0RI4/R_2tEz50sMI/AAAAAAAAAMo/_MjYyWF22uc/s1600-h/epiphany-keepalives-before.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_WROglLz0RI4/R_2tEz50sMI/AAAAAAAAAMo/_MjYyWF22uc/s200/epiphany-keepalives-before.png" alt="" id="BLOGGER_PHOTO_ID_5187492643964498114" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Right click the key and press the &lt;span style="font-weight: bold;"&gt;Modify&lt;/span&gt; button. Now enter the value in seconds that you'd like to change it to -- personally, I wouldn't recommend going below 30 seconds (or the pipelining improvements we made above become mooted), but 30, 60, 90 and 120 are all reasonably acceptable values.&lt;br /&gt;&lt;br /&gt;When you're done, your screen should now look like:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_WROglLz0RI4/R_2tQj50sNI/AAAAAAAAAMw/RKn3_C_hLYs/s1600-h/epiphany-keepalives-after.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_WROglLz0RI4/R_2tQj50sNI/AAAAAAAAAMw/RKn3_C_hLYs/s200/epiphany-keepalives-after.png" alt="" id="BLOGGER_PHOTO_ID_5187492845827961042" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;At this point, you might be inclined to say -- that's fast enough -- but there's one other rendering tweak which makes Epiphany much snappier ...&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;Tuning Page Re-rendering Delay&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;These tweaks control the number of times that Gecko/Xulrunner will refresh the page as data is being retrieved. The default is off, which will make the backend re-render the page periodically as each piece of data is being retrived.&lt;br /&gt;&lt;br /&gt;If you're not behind a &lt;a href="http://en.wikipedia.org/wiki/Proxy_server"&gt;caching proxy&lt;/a&gt;, these particular tweaks will improve the amount of time it takes to render a page that contains content coming from a number of different sources (for example, &lt;a href="http://www.youtube.com/"&gt;Youtube&lt;/a&gt; or the &lt;a href="http://www.asx.com.au/"&gt;Australian Stock Exchange&lt;/a&gt;) as well as remove the hideous delay that the non-free Flash Player has when it is being embedded into a page that contains .swf content.&lt;br /&gt;&lt;br /&gt;In order to make this work, we have to add two new entries to our configuration -- right-click anywhere in the main window and creating a &lt;span style="font-weight: bold;"&gt;New&lt;/span&gt; &lt;span style="font-style: italic;"&gt;String&lt;/span&gt; key.&lt;br /&gt;&lt;br /&gt;In the textbox that appears, name the new key “&lt;span style="font-style: italic;"&gt;content.notify.ontimer&lt;/span&gt;” and set its value to “&lt;span style="font-style: italic;"&gt;true&lt;/span&gt;″.&lt;br /&gt;&lt;br /&gt;Repeat the process, except this time -- make a &lt;span style="font-weight: bold;"&gt;New&lt;/span&gt; &lt;span style="font-style: italic;"&gt;Integer&lt;/span&gt; key.&lt;br /&gt;&lt;br /&gt;In the textbox that appears, name the new key “&lt;span style="font-style: italic;"&gt;content.notify.backoffcount&lt;/span&gt;” and set its value to “&lt;span style="font-style: italic;"&gt;5&lt;/span&gt;″.&lt;br /&gt;&lt;br /&gt;After pressing OK, your screen should look similar to the one below:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_WROglLz0RI4/R_3BGj50sOI/AAAAAAAAAM4/-eSgaV9LFjE/s1600-h/epiphany-contentnotify.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_WROglLz0RI4/R_3BGj50sOI/AAAAAAAAAM4/-eSgaV9LFjE/s200/epiphany-contentnotify.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5187514664261824738" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;Skip To The End...&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Don't want to hear the explainations? Just want to cut-and-paste some recommendations? If so, make sure Epiphany is completely shutdown (or the preferences file will be overwritten with the defaults after you eventually close it). &lt;br /&gt;&lt;br /&gt;Open the &lt;span style="font-weight: bold;"&gt;.gnome2/epiphany/mozilla/epiphany/prefs.js&lt;/span&gt; file with your favourite text editor and add:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;&lt;br /&gt;user_pref("content.notify.backoffcount", 5);&lt;br /&gt;user_pref("content.notify.ontimer", true);&lt;br /&gt;user_pref("nglayout.initialpaint.delay", 0);&lt;br /&gt;user_pref("network.dns.disableIPv6", true);&lt;br /&gt;user_pref("network.http.keep-alive.timeout", 60);&lt;br /&gt;user_pref("network.http.max-persistent-connections-per-server", 8);&lt;br /&gt;user_pref("network.http.pipelining", true);&lt;br /&gt;user_pref("network.http.proxy.pipelining", true);&lt;br /&gt;user_pref("network.http.pipelining.maxrequests", 8);&lt;br /&gt;user_pref("network.prefetch-next", false);&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Save your file and re-open your browser for a much, much speedier experience.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;Other Advanced Tweaks&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;note:&lt;/span&gt; These particular tweaks should be used by a technical audience only -- they may adversely affect your browsing speed on low-end machines, Epiphany's memory usage, or cause some machines to crash, you should &lt;span style="color: rgb(204, 0, 0);"&gt;use caution&lt;/span&gt; when modifying a production system -- caveat emptor.&lt;br /&gt;&lt;br /&gt;These two tweaks control the amount of time (in milliseconds) that it takes the backend to return control to the rendering engine after the user has moved the mouse, used the keyboard or done some other "&lt;span style="font-style:italic;"&gt;high-latency&lt;/span&gt;" task that pauses the rendering engine in favour of user interaction.&lt;br /&gt;&lt;br /&gt;They both depend on the key “&lt;span style="font-style: italic;"&gt;content.notify.ontimer&lt;/span&gt;” being available and enabled, which you should already have if you have followed the rest of this guide.&lt;br /&gt;&lt;br /&gt;user_pref("content.notify.interval", 750000);&lt;br /&gt;user_pref("content.switch.threshold", 750000);&lt;br /&gt;&lt;br /&gt;This means the browser will wait less than 1 second (0.75 seconds) to return processing to the renderer, rather than the default 1 second.&lt;br /&gt;&lt;br /&gt;On much slower machines, you may want to move them to slightly higher than 1 second values -- which makes the backend give more processing to the user interface at the expense of rendering time. A friend with an older Pentium III on a 256k ADSL connection has better performance from:&lt;br /&gt;&lt;br /&gt;user_pref("content.notify.interval", 1250000);&lt;br /&gt;user_pref("content.switch.threshold", 1250000);&lt;br /&gt;&lt;br /&gt;Which causes the browser to wait an extra quarter of a second for the user to stop doing anything before giving everything back to the rendering engine -- it also means they can view an extra few pages before Epiphany starts becoming sluggish.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;The End...&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1322920654509886809-1336821633700144716?l=thefunkcorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/1336821633700144716'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/1336821633700144716'/><link rel='alternate' type='text/html' href='http://thefunkcorner.blogspot.com/2008/03/improving-browser-speeds-in-epiphany.html' title='Improving Browser Speeds in Epiphany'/><author><name>Paul</name><uri>http://www.blogger.com/profile/13666227889038099116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_WROglLz0RI4/R_2qPj50sFI/AAAAAAAAALw/YdByLcm-CXE/s72-c/epiphany-wheretofind.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-1322920654509886809.post-6686167428455784424</id><published>2008-03-18T01:55:00.003+11:00</published><updated>2008-03-18T02:13:34.289+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='opinions of the funk'/><category scheme='http://www.blogger.com/atom/ns#' term='gnome'/><title type='text'>Context-Sensitive Menus in GNOME ...</title><content type='html'>While wandering the interschnitzel today, I wandered pass planet.gnome and noticed an entry that i've given a bit of thought to over the years ...&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blogs.gnome.org/lucasr/2008/03/16/context-sensitive-menus/"&gt;Lucas wonders&lt;/a&gt; why GNOME uses context sensitive menus for all devices / locations?&lt;br /&gt;&lt;br /&gt;While I agree, in theory -- if Nautilus (and other GNOME components) start removing these context-sensitive actions, consider the use-case for USB sticks (CF cards, etc) that are mounted read-only, been mounted by the system (thus you don't have rights) or have run out of room?&lt;br /&gt;&lt;br /&gt;Personally, I find the greyed out icons for Cut/Copy/Paste actions a big timesaver -- if I do a copy and paste, I can instantly tell right now if I can 'do' that, because the icons are there, but context-disabled if I cannot.&lt;br /&gt;&lt;br /&gt;If GNOME chooses to remove those because of 'clutter' -- the next notification one gets is a 'cannot write to XXX' *after* they've attempted once, twice, three times to do such an action.&lt;br /&gt;&lt;br /&gt;Care should be taken not to be too overzealous with this sort of thing, in my opinion.&lt;br /&gt;&lt;br /&gt;Anyone else agree, disagree, other -- voice your comment &lt;a href="http://bugzilla.gnome.org/show_bug.cgi?id=522739"&gt;on the bug&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1322920654509886809-6686167428455784424?l=thefunkcorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/6686167428455784424'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/6686167428455784424'/><link rel='alternate' type='text/html' href='http://thefunkcorner.blogspot.com/2008/03/context-sensitive-menus-in-gnome.html' title='Context-Sensitive Menus in GNOME ...'/><author><name>Paul</name><uri>http://www.blogger.com/profile/13666227889038099116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-1322920654509886809.post-5797217192371194853</id><published>2008-03-12T00:29:00.001+11:00</published><updated>2008-03-18T01:55:30.407+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='gnome'/><title type='text'>Adventures with GARNOME 2.22.0</title><content type='html'>Just to see if it would work, i've just attempted to compile the &lt;span style="font-style:italic;"&gt;platform&lt;/span&gt; and &lt;span style="font-style:italic;"&gt;desktop&lt;/span&gt; directories from the upcoming &lt;a href="http://www.gnome.org/projects/garnome/"&gt;GARNOME 2.22.0&lt;/a&gt; release of GNOME on both OpenSuSE 10.3 and Slackware 12.&lt;br /&gt;&lt;br /&gt;Needless to say, the experience was better than previous releases -- a few minor caveats to be aware of for those who are stuck:&lt;br /&gt;&lt;br /&gt;OpenSuSE will not build the &lt;span style="font-style:italic;"&gt;platform/gnome-vfs&lt;/span&gt; directory without the &lt;span style="font-weight:bold;"&gt;libtasn1-dev&lt;/span&gt; libraries from Factory being installed first, libtasn is a spinoff of the gnupg libraries -- but it doesn't seem to be included in the official repositories, you can use the OpenSuSE &lt;a href="http://software.opensuse.org/search?q=tasn"&gt;package search&lt;/a&gt; to find a version suitable for your machine.&lt;br /&gt;&lt;br /&gt;Slackware gets much further (Slackware 10, in contrast -- never got really far) -- a common build mistake that the uninitiated may trip on is that some required includes (like &lt;span style="font-style:italic;"&gt;limits.h&lt;/span&gt;) are included in the &lt;span style="font-weight:bold;"&gt;kernel-headers&lt;/span&gt; package.&lt;br /&gt;&lt;br /&gt;A full Slackware 12 build toolchain -- as required to build GARNOME is:&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;br /&gt;binutils, gcc, gcc-c++, gcc-g++, diffutils, patch, flex, bison, gawk, m4, make &amp; kernel-headers&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;edit i:&lt;/span&gt; A new dependency list (DEPS-LIST) detailing all the packages required, has been sent to the current GARNOME maintainers -- hopefully it'll arrive for GARNOME 2.20 (fingers are crossed)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1322920654509886809-5797217192371194853?l=thefunkcorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/5797217192371194853'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/5797217192371194853'/><link rel='alternate' type='text/html' href='http://thefunkcorner.blogspot.com/2008/03/adventures-with-garnome-2220.html' title='Adventures with GARNOME 2.22.0'/><author><name>Paul</name><uri>http://www.blogger.com/profile/13666227889038099116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-1322920654509886809.post-5475275961714148839</id><published>2008-03-07T13:28:00.004+11:00</published><updated>2008-03-07T14:13:56.943+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='one line hacks'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='security'/><title type='text'>Securely deleting the contents of a USB stick</title><content type='html'>&lt;span style="font-weight: bold;"&gt;note:&lt;/span&gt; This article is intended for a technical audience -- you should &lt;span style="color: rgb(204, 0, 0);"&gt;use extreme caution&lt;/span&gt; when modifying a production system, as your data will be nearly impossible to recover if you use this command incorrectly -- caveat emptor.&lt;br /&gt;&lt;br /&gt;When discarding, selling or lending a USB memory stick to someone -- you probably want to ensure there's no critical or sensitive data on it, so here's another handy one-liner to purge data from a USB memory stick when you don't have access to specific wiping programs such as &lt;a href="https://computing.llnl.gov/linux/scrub.html"&gt;shred&lt;/a&gt; or &lt;a href="http://wipe.sourceforge.net/"&gt;wipe&lt;/a&gt; on your platform.&lt;br /&gt;&lt;br /&gt;This uses the 'dd' command, so it can be used on most systems with a random entropy generator and the coreutils/fileutils/base-utils package installed:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;br /&gt;dd if=/dev/urandom of=/dev/[X] bs=512 count=1 conv=fsync oflag=direct&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Where [X] is the device you wish to wipe (note: this is &lt;span style="font-weight:bold;"&gt;never&lt;/span&gt; usually &lt;span style="font-style:italic;"&gt;/dev/hda&lt;/span&gt; or &lt;span style="font-style:italic;"&gt;/dev/sda&lt;/span&gt; -- please make sure you're writing to the correct device before pressing ENTER, type once, look twice!).&lt;br /&gt;&lt;br /&gt;This will write blocks using direct I/O, 512 bytes at a time to your USB stick from the entropy buffer -- additionally, the &lt;span style="font-style:italic;"&gt;conv=fsync&lt;/span&gt; option makes sure that each block is completely written to disk before proceeding on to the next one.&lt;br /&gt;&lt;br /&gt;When it is finished, you should see something along the lines of:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;dd: writing to `/dev/sdd1': No space left on device &lt;br /&gt;10490446+0 records in &lt;br /&gt;10490445+0 records out &lt;br /&gt;1971107432 bytes (1.9 GB) copied, 2097.36 seconds, 1.0 MB/s&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Now you can go off and put a filesystem on your drive, as normal.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1322920654509886809-5475275961714148839?l=thefunkcorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thefunkcorner.blogspot.com/feeds/5475275961714148839/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1322920654509886809&amp;postID=5475275961714148839' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/5475275961714148839'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/5475275961714148839'/><link rel='alternate' type='text/html' href='http://thefunkcorner.blogspot.com/2008/03/securely-deleting-contents-of-usb-stick.html' title='Securely deleting the contents of a USB stick'/><author><name>Paul</name><uri>http://www.blogger.com/profile/13666227889038099116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1322920654509886809.post-2403728332183668017</id><published>2008-03-06T00:48:00.004+11:00</published><updated>2008-03-06T00:58:33.591+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='one line hacks'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='gstreamer'/><title type='text'>Converting FLAC to MP3 with GStreamer</title><content type='html'>Handy one-line command to convert a FLAC file into an MP3 suitable for use with iTunes when you've only got access to the command-line:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;gst-launch filesrc location = "song_name.flac" ! flacdec ! lame ! filesink location = "song_name.mp3"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I personally like CBR 320 bitrate MP3's, so my particular command-line looks like:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;gst-launch filesrc location = "song_name.flac" ! flacdec ! lame vbr=0 bitrate=320 ! filesink location = "song_name.mp3"&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;You'll need gst-launch (or &lt;span style="font-style:italic;"&gt;gst-launch-0.8&lt;/span&gt; | &lt;span style="font-style:italic;"&gt;gst-launch-0.10&lt;/span&gt; if you're using Debian or Ubuntu) and the relevant codecs. (in this case, &lt;span style="font-style:italic;"&gt;flac&lt;/span&gt; and &lt;span style="font-style:italic;"&gt;lame&lt;/span&gt;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1322920654509886809-2403728332183668017?l=thefunkcorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/2403728332183668017'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/2403728332183668017'/><link rel='alternate' type='text/html' href='http://thefunkcorner.blogspot.com/2008/03/converting-flac-to-mp3-with-gstreamer.html' title='Converting FLAC to MP3 with GStreamer'/><author><name>Paul</name><uri>http://www.blogger.com/profile/13666227889038099116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-1322920654509886809.post-1219291453530242755</id><published>2008-03-04T13:28:00.004+11:00</published><updated>2008-03-04T15:38:46.483+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='wireless'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Adventures with a D-Link DWL-G123</title><content type='html'>I've spent the last few hours attempting to get a newly purchased D-Link USB Wireless Adapter working on one of my older desktop boxes that had a dead ISA NIC.&lt;br /&gt;&lt;br /&gt;(Yep, not a PCI NIC, but an ISA one)&lt;br /&gt;&lt;br /&gt;So, after purchasing a USB daughterboard with 4 ports on it and plugging in the USB adapter -- there's no lights.&lt;br /&gt;&lt;br /&gt;A quick search on the web indicated that the card might be atheros based, but the Madwifi site didn't gleam any good answers.&lt;br /&gt;&lt;br /&gt;Next, the box in question had a half-complete Ubuntu 7.04 install (upgraded from 6.10) on it and no working NIC.&lt;br /&gt;&lt;br /&gt;Easier solution to that, having found the CDRW in the box doesn't like DVDRW discs -- putting the Ubuntu 7.10 installation on a USB key and mounting the ISO via loopback using:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;mount -t iso9660 -o loop /media/disk/ubuntu-7.10-alternate-i386.iso /media/cdrom&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Then adding:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;deb file:///media/cdrom gutsy main restricted universe&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;To the &lt;span style="font-weight:bold;"&gt;/etc/apt/sources.list&lt;/span&gt; file, then doing a standard &lt;span style="font-style:italic;"&gt;apt-get update &amp;&amp; apt-get -f dist-upgrade&lt;/span&gt; command line got things underway.&lt;br /&gt;&lt;br /&gt;After an hour or so, the upgrade had completed and prompted me to reboot -- after I did, it bombed to the command line and told me that /dev/sda1 had been used by another device or driver -- while the kernel spewed device-mapper lines across the screen talking about devices it couldn't locate.&lt;br /&gt;&lt;br /&gt;Returning to the internet on another machine, I found &lt;a href="http://www.mail-archive.com/ubuntu-bugs@lists.ubuntu.com/msg519255.html"&gt;this&lt;/a&gt; bug post that looked similar -- sure enough, removing EVMS with &lt;span style="font-style:italic;"&gt;apt-get remove evms&lt;/span&gt; and rebooting did the trick.&lt;br /&gt;&lt;br /&gt;At this point, I had a desktop -- but no Internet.&lt;br /&gt;&lt;br /&gt;So I put the driver CD into the machine and run:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;ndiswrapper -i /media/cdrom/Drivers/2KXP/NetA5AGU.inf&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Which returns:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;installing neta5agu ...&lt;br /&gt;forcing parameter MapRegisters from 256 to 64&lt;br /&gt;forcing parameter MapRegisters from 256 to 64&lt;br /&gt;forcing parameter MapRegisters from 256 to 64&lt;br /&gt;forcing parameter MapRegisters from 256 to 64&lt;br /&gt;forcing parameter MapRegisters from 256 to 64&lt;br /&gt;forcing parameter MapRegisters from 256 to 64&lt;br /&gt;forcing parameter MapRegisters from 256 to 64&lt;br /&gt;forcing parameter MapRegisters from 256 to 64&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Then &lt;span style="font-style:italic;"&gt;ndiswrapper -l&lt;/span&gt; to make sure the driver is correctly loaded, which returns:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;neta5agu : driver installed&lt;br /&gt;device (2001:3A03) present&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Finally, I modprobe the ndiswrapper module with &lt;span style="font-style:italic;"&gt;modprobe ndiswrapper&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;... and the lights come on -- and clicking on the network-manager icon finds my network and prompts me for my password.&lt;br /&gt;&lt;br /&gt;But that's as far as it gets, the lower green dot stays on for a good 90 seconds, then goes back to showing disconnected.&lt;br /&gt;&lt;br /&gt;OK, off to get the newest drivers -- which are located &lt;a href="http://support.dlink.com/products/view.asp?productid=DWL%2DG132"&gt;here&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Extract the drivers (use the 2KXP drivers and &lt;span style="font-weight:bold;"&gt;not&lt;/span&gt; the Vista ones, which are incompatible with ndiswrapper) and remove and replace the drivers.&lt;br /&gt;&lt;br /&gt;Use &lt;span style="font-style:italic;"&gt;modprobe -r ndiswrapper &amp;&amp; ndiswrapper -r neta5agu&lt;/span&gt; to remove the drivers.&lt;br /&gt;&lt;br /&gt;Then use the instructions above to install the new drivers, replacing /media/cdrom with the patch you extracted your downloaded drivers to.&lt;br /&gt;&lt;br /&gt;But ...&lt;br /&gt;&lt;br /&gt;Network Manager still didn't want to connect, I selected my network, entered my password and waited -- but Network Manager still didn't connect to my WLAN.&lt;br /&gt;&lt;br /&gt;In a fit of desperation, I decided to backport the version of ndiswrapper that is in the upcoming version of Ubuntu to 7.10.&lt;br /&gt;&lt;br /&gt;You can get those &lt;a href="ftp://64.22.103.45/packages/ubuntu/gutsy/ndiswrapper"&gt;from here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Then I installed those using &lt;span style="font-style:italic;"&gt;dpkg -i ndiswrapper*.deb&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Rebooted.&lt;br /&gt;&lt;br /&gt;Then re-inserted the ndiswrapper module using modprobe.&lt;br /&gt;&lt;br /&gt;... both lights came on ...&lt;br /&gt;&lt;br /&gt;Logged into my machine.&lt;br /&gt;&lt;br /&gt;... crossed my fingers while the green dot sat with the grey one ...&lt;br /&gt;&lt;br /&gt;... then the green one ...&lt;br /&gt;&lt;br /&gt;... then the strength bar! ...&lt;br /&gt;&lt;br /&gt;At this point, I had networking, could use Epiphany and all.&lt;br /&gt;&lt;br /&gt;So to finish up, I built the configuration for ndiswrapper using &lt;span style="font-style:italic;"&gt;ndiswrapper -m&lt;/span&gt; then added ndiswrapper to the &lt;span style="font-weight:bold;"&gt;/etc/modules&lt;/span&gt; file so that the ndiswrapper module would be automatically loaded on startup.&lt;br /&gt;&lt;br /&gt;I rebooted again, just to make sure everything remained in a working fashion -- everything came up normally, complete with the strength bar in the NetworkManager applet.&lt;br /&gt;&lt;br /&gt;It's all good.&lt;br /&gt;&lt;br /&gt;In summary, if you use the latest driver from D-Link and Ubuntu Hardy (8.0x) it might "just work" -- but if you use any of the earlier Ubuntu's and are having trouble getting your card working, I hope the instructions above work for you too.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1322920654509886809-1219291453530242755?l=thefunkcorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thefunkcorner.blogspot.com/feeds/1219291453530242755/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1322920654509886809&amp;postID=1219291453530242755' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/1219291453530242755'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/1219291453530242755'/><link rel='alternate' type='text/html' href='http://thefunkcorner.blogspot.com/2008/03/adventures-with-d-link-dwl-g123.html' title='Adventures with a D-Link DWL-G123'/><author><name>Paul</name><uri>http://www.blogger.com/profile/13666227889038099116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1322920654509886809.post-5063251864870396593</id><published>2008-02-13T16:27:00.005+11:00</published><updated>2008-03-07T14:04:57.363+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='shell programming'/><category scheme='http://www.blogger.com/atom/ns#' term='one line hacks'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>grepping for periods and at's</title><content type='html'>A handy one-line hack:&lt;br /&gt;&lt;br /&gt;I needed a way of detecting if a user had entered a domain name correctly within a shell script (or had entered an FQDN, rather than just the domain name) -- thankfully, the power of grep came to my rescue:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:bold;"&gt;&lt;br /&gt;if [ ! -z "$(echo $dname | grep -oE '[[:alnum:]+\.\_\-]*\.[[:alnum:]+\.\_\-]*\.[[:alnum:]+\.\_\-]*\.')" ] ; then&lt;br /&gt;  echo "Please enter the *domain name* only" &gt;&amp;2&lt;br /&gt;exit 0&lt;br /&gt;fi&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1322920654509886809-5063251864870396593?l=thefunkcorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/5063251864870396593'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/5063251864870396593'/><link rel='alternate' type='text/html' href='http://thefunkcorner.blogspot.com/2008/02/grepping-for-periods-and-ats.html' title='grepping for periods and at&apos;s'/><author><name>Paul</name><uri>http://www.blogger.com/profile/13666227889038099116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-1322920654509886809.post-1647769076130505533</id><published>2008-02-08T00:51:00.000+11:00</published><updated>2008-02-08T01:35:11.386+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='multimedia'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='gstreamer'/><title type='text'>GStreamer Codec Install Gone Bad?</title><content type='html'>Sometime before &lt;a href="http://www.linux.conf.au/"&gt;linux.conf.au&lt;/a&gt; I purchased the &lt;a href="https://shop.fluendo.com/"&gt;Fluendo binary codecs&lt;/a&gt; for GStreamer so I could transcode a bunch of WMA music I acquired into something more useful.&lt;br /&gt;&lt;br /&gt;I've had the chance tonight to sit down and play with them -- I followed the instructions for a &lt;span style="font-style: italic;"&gt;user&lt;/span&gt; based installation, namely, create a directory called &lt;span style="font-weight: bold;"&gt;.gstreamer-0.10/plugins&lt;/span&gt; in my home directory, untar the bundle into this directory and run &lt;span style="font-style: italic;"&gt;/usr/bin/gst-inspect&lt;/span&gt; in order to update the registry to recognise them.&lt;br /&gt;&lt;br /&gt;This part went smoothly enough, running &lt;span style="font-weight: bold;"&gt;gst-inspect-0.10 | grep flu &lt;/span&gt;I get:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;flump3dec:  flump3dec: Fluendo MP3 Decoder (C build)&lt;br /&gt;flumpeg2vdec:  flumpeg2vdec: Fluendo MPEG-2 Video Decoder&lt;br /&gt;fluisodemux:  fluisodemux: ISODemux Demuxer&lt;br /&gt;flumms:  flummssrc: Fluendo MMS source&lt;br /&gt;fluasf:  fluasfdemux: Fluendo ASF Demuxer&lt;br /&gt;fluasf:  fluasfcmdparse: Fluendo ASF Command Parser&lt;br /&gt;fluh264dec:  fluh264dec: Fluendo H264 Decoder&lt;br /&gt;fluac3dec:  fluac3dec: AC3 decoder&lt;br /&gt;fluwmvdec:  fluwmvdec: Fluendo WMV Decoder&lt;br /&gt;flumpegdemux:  flupsdemux: MPEG Program Demuxer&lt;br /&gt;flumpegdemux:  flutsdemux: MPEG Transport stream demuxer&lt;br /&gt;flumcaacdec:  flumcaacdec: Fluendo AAC Decoder&lt;br /&gt;flumpeg4vdec:  flumpeg4vdec: Fluendo MPEG-4 ASP Video Decoder&lt;br /&gt;fluwma:  fluwmadec: Fluendo WMA Decoder&lt;br /&gt;fluwma:  fluwmsdec: Fluendo WMS Decoder&lt;br /&gt;&lt;/blockquote&gt;However, the WMA codec doesn't load -- instead, the Ubuntu 'easy codec installer' tells me that I should go off and install the &lt;span style="font-style: italic;"&gt;gstreamer0.10-ffmpeg&lt;/span&gt; package, which, while being nice in theory ...  is not what I just paid 40-odd euros for.&lt;br /&gt;&lt;br /&gt;Then I fired up &lt;a href="http://www.gnome.org/projects/totem/"&gt;Totem&lt;/a&gt; from the command line using: &lt;span style="font-weight: bold;"&gt;totem --gst-debug-level=2&lt;/span&gt; (which outputs minimal debug spew to the console) and found:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;0:00:04.868806000 19249 0x809b470 WARN    GST_PLUGIN_LOADING gstplugin.c:459:gst_plugin_load_file: module_open failed: /home/paul/.gstreamer-0.10/plugins/libgstflumpegdemux.so: failed to map segment from shared object: Operation not permitted&lt;br /&gt;&lt;br /&gt;(totem:19249): GStreamer-WARNING **: Failed to load plugin '/home/paul/.gstreamer-0.10/plugins/libgstflumpegdemux.so': /home/paul/.gstreamer-0.10/plugins/libgstflumpegdemux.so: failed to map segment from shared object: Operation not permitted&lt;br /&gt;0:00:04.868982000 19249 0x809b470 WARN    GST_PLUGIN_LOADING gstplugin.c:928:gst_plugin_load_by_name: load_plugin error: Opening module failed: /home/paul/.gstreamer-0.10/plugins/libgstflumpegdemux.so: failed to map segment from shared object: Operation not permitted&lt;br /&gt;0:00:04.869028000 19249 0x809b470 WARN    GST_PLUGIN_LOADING gstpluginfeature.c:132:gst_plugin_feature_load: Failed to load plugin containing feature 'flupsdemux'.&lt;br /&gt;0:00:04.869073000 19249 0x809b470 WARN   GST_ELEMENT_FACTORY gstelementfactory.c:406:gst_element_factory_create:&lt;elementfactory206&gt; loading plugin returned NULL!&lt;br /&gt;0:00:04.869115000 19249 0x809b470 WARN             decodebin gstdecodebin.c:909:try_to_link_1:&lt;decodebin0&gt; could not create an element from flupsdemux&lt;br /&gt;0:00:04.871628000 19249 0x80d5748 WARN    GST_PLUGIN_LOADING gstplugin.c:459:gst_plugin_load_file: module_open failed: /home/paul/.gstreamer-0.10/plugins/libgstflumpeg2vdec.so: failed to map segment from shared object: Operation not permitted&lt;br /&gt;&lt;br /&gt;(totem:19249): GStreamer-WARNING **: Failed to load plugin '/home/paul/.gstreamer-0.10/plugins/libgstflumpeg2vdec.so': /home/paul/.gstreamer-0.10/plugins/libgstflumpeg2vdec.so: failed to map segment from shared object: Operation not permitted&lt;br /&gt;0:00:04.871677000 19249 0x80d5748 WARN    GST_PLUGIN_LOADING gstplugin.c:928:gst_plugin_load_by_name: load_plugin error: Opening module failed: /home/paul/.gstreamer-0.10/plugins/libgstflumpeg2vdec.so: failed to map segment from shared object: Operation not permitted&lt;br /&gt;0:00:04.871697000 19249 0x80d5748 WARN    GST_PLUGIN_LOADING gstpluginfeature.c:132:gst_plugin_feature_load: Failed to load plugin containing feature 'flumpeg2vdec'.&lt;br /&gt;0:00:04.871713000 19249 0x80d5748 WARN   GST_ELEMENT_FACTORY gstelementfactory.c:406:gst_element_factory_create:&lt;elementfactory214&gt; loading plugin returned NULL!&lt;br /&gt;0:00:04.871727000 19249 0x80d5748 WARN             decodebin gstdecodebin.c:909:try_to_link_1:&lt;decodebin0&gt; could not create an element from flumpeg2vdec&lt;br /&gt;0:00:04.873951000 19249 0x80d5748 WARN             mpegdemux gstmpegdemux.c:767:gst_mpeg_demux_parse_packet:&lt;mpegdemux0&gt; unknown stream id 0xbe&lt;br /&gt;0:00:04.874523000 19249 0x80d5748 WARN    GST_PLUGIN_LOADING gstplugin.c:459:gst_plugin_load_file: module_open failed: /home/paul/.gstreamer-0.10/plugins/libgstflump3dec.so: failed to map segment from shared object: Operation not permitted&lt;br /&gt;&lt;br /&gt;(totem:19249): GStreamer-WARNING **: Failed to load plugin '/home/paul/.gstreamer-0.10/plugins/libgstflump3dec.so': /home/paul/.gstreamer-0.10/plugins/libgstflump3dec.so: failed to map segment from shared object: Operation not permitted&lt;br /&gt;0:00:04.874568000 19249 0x80d5748 WARN    GST_PLUGIN_LOADING gstplugin.c:928:gst_plugin_load_by_name: load_plugin error: Opening module failed: /home/paul/.gstreamer-0.10/plugins/libgstflump3dec.so: failed to map segment from shared object: Operation not permitted&lt;br /&gt;0:00:04.874586000 19249 0x80d5748 WARN    GST_PLUGIN_LOADING gstpluginfeature.c:132:gst_plugin_feature_load: Failed to load plugin containing feature 'flump3dec'.&lt;br /&gt;0:00:04.874609000 19249 0x80d5748 WARN   GST_ELEMENT_FACTORY gstelementfactory.c:406:gst_element_factory_create:&lt;elementfactory215&gt; loading plugin returned NULL!&lt;br /&gt;&lt;/elementfactory215&gt;&lt;/mpegdemux0&gt;&lt;/decodebin0&gt;&lt;/elementfactory214&gt;&lt;/decodebin0&gt;&lt;/elementfactory206&gt;&lt;/blockquote&gt;&lt;br /&gt;Operation not permitted?&lt;br /&gt;&lt;br /&gt;Removing the &lt;span style="font-weight: bold;"&gt;.gstreamer-0.10/plugins&lt;/span&gt; directory fired up the MAD mp3 decoder, which was what it should have done, but that still didn't use the binary codecs.&lt;br /&gt;&lt;br /&gt;Looking at &lt;span style="font-style: italic;"&gt;/etc/fstab&lt;/span&gt; gave me the answer:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;UUID=d85165d4-57a0-4f75-b5b1-a07fb8a5c444 /home           ext3    nodev,noexec,nosuid   0       2&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Needed to be:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;UUID=d85165d4-57a0-4f75-b5b1-a07fb8a5c444 /home           ext3    nodev,nosuid   0       2&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;In other words, you need to explicitly allow &lt;span style="font-weight:bold;"&gt;executables&lt;/span&gt; within your home directory by removing the &lt;span style="font-style:italic;"&gt;noexec&lt;/span&gt; option.&lt;br /&gt;&lt;br /&gt;(Of course, if you're not as paranoid about launching binaries from your home directory as I am, making &lt;span style="font-weight: bold;"&gt;nodev,nosuid&lt;/span&gt; just say &lt;span style="font-weight: bold;"&gt;defaults&lt;/span&gt; again will work for you too.)&lt;br /&gt;&lt;br /&gt;Rebooted the machine &amp;amp; instantly files using the new codecs started playing correctly.&lt;br /&gt;&lt;br /&gt;Probably something that won't happen to everyone, but it was a nice gotcha that kept me amused for an hour or two before :)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;note:&lt;/span&gt; Your &lt;span style="font-weight: bold;"&gt;UUID&lt;/span&gt; will differ from mine too, just by the by -- there's no need to edit that part, just the mount options.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;note ii:&lt;/span&gt; Fluendo seem to use OSCommerce for their shop, I wonder if they've after heard of &lt;a href="http://www.shop-of-shops.net"&gt;Shop Of Shops&lt;/a&gt;?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1322920654509886809-1647769076130505533?l=thefunkcorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/1647769076130505533'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/1647769076130505533'/><link rel='alternate' type='text/html' href='http://thefunkcorner.blogspot.com/2008/02/gstreamer-codec-install-gone-bad.html' title='GStreamer Codec Install Gone Bad?'/><author><name>Paul</name><uri>http://www.blogger.com/profile/13666227889038099116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-1322920654509886809.post-1394876413415264709</id><published>2008-01-27T12:39:00.002+11:00</published><updated>2008-06-27T12:52:47.315+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='community service announcement'/><title type='text'>Posting Quotes In Blogger</title><content type='html'>If you use the Blogger website to post your items and you want to post backticks "&lt;span style="font-style:italic;"&gt;&amp;#39;&lt;/span&gt;" or greater/less-than &lt;span style="font-style:italic;"&gt;&amp;lt; or &amp;gt;&lt;/span&gt; symbols in the body of your text (for example, if you post code or HTML fragments) you may find you don't get the desired result when pulishing your post.&lt;br /&gt;&lt;br /&gt;If you'd like to fix this, you can use the following HTML entities to get the same result, but Blogger won't consider these as HTML codes and will display them literally, meaning your posts will display as normal:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;"&amp;#39;"&lt;/span&gt; (Backtick) = &lt;span style="font-weight:bold;"&gt;&amp; # 39 ;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;"&amp;lt;"&lt;/span&gt; (Left Bracket, Less Than) = &lt;span style="font-weight:bold;"&gt;&amp; # 60 ;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;"&amp;gt;"&lt;/span&gt; (Right Bracket, Greater Than = &lt;span style="font-weight:bold;"&gt;&amp; # 62 ;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1322920654509886809-1394876413415264709?l=thefunkcorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thefunkcorner.blogspot.com/feeds/1394876413415264709/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1322920654509886809&amp;postID=1394876413415264709' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/1394876413415264709'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/1394876413415264709'/><link rel='alternate' type='text/html' href='http://thefunkcorner.blogspot.com/2008/01/posting-quotes-in-blogger.html' title='Posting Quotes In Blogger'/><author><name>Paul</name><uri>http://www.blogger.com/profile/13666227889038099116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1322920654509886809.post-8961992164440285704</id><published>2008-01-23T23:23:00.002+11:00</published><updated>2008-06-18T16:25:45.635+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='zen-cart'/><category scheme='http://www.blogger.com/atom/ns#' term='security'/><title type='text'>Using mod_security 1.9.x with Zen-Cart (for users)</title><content type='html'>Since my &lt;a href="http://thefunkcorner.blogspot.com/2008/01/using-modsecurity-19x-with-zen-cart.html"&gt;last post&lt;/a&gt;, i've had a few people ask me what happens if they're with a hosting service that doesn't want to adopt the changes I mentioned to get Zen-Cart to work properly.&lt;br /&gt;&lt;br /&gt;The answer, yes -- if you're stuck with a site that doesn't (or can't) use the changes above, you can filter them yourself, using the &lt;span style="font-weight:bold;"&gt;.htaccess&lt;/span&gt; files method that Zen-Cart uses.&lt;br /&gt;&lt;br /&gt;Of course, this method has a few prerequisites:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;Your hosting provider uses the standard GotRoot Rules for mod_security (ie. they haven't modified any of the ID's).&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Your hosting provider allows the use of .htaccess files (if you can install Zen-Cart on your host at all, this is probably true).&lt;/li&gt;&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;&lt;br /&gt;To make this work, you need to edit two files, the main &lt;span style="font-style:bold;"&gt;.htaccess&lt;/span&gt; file and the &lt;span style="font-style:bold;"&gt;admin/.htaccess&lt;/span&gt; file.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;important note:&lt;/span&gt; These changes are Case Sensitive, make sure you copy them exactly as written (or better than that, Copy-and-Paste them directly into your editor software).&lt;br /&gt;&lt;br /&gt;Firstly, edit the main &lt;span style="font-style:bold;"&gt;.htaccess&lt;/span&gt; file and add the following lines to the bottom:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&amp;lt;IfModule mod_security.c&amp;gt;&lt;br /&gt;&amp;lt;LocationMatch "/ipn_main_handler.php"&amp;gt;&lt;br /&gt;  SecFilterRemove 300015&lt;br /&gt;  SecFilterRemove 300016&lt;br /&gt;&amp;lt;/LocationMatch&amp;gt;&lt;br /&gt;&amp;lt;/IfModule&amp;gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Save this file and upload it to your webhost, this should disable the required rules to make the PayPal IPN processor work correctly.&lt;br /&gt;&lt;br /&gt;Next, edit your &lt;span style="font-style:bold;"&gt;admin/.htaccess&lt;/span&gt; (if you have renamed your &lt;span style="font-style:italic;"&gt;admin/&lt;/span&gt; directory as suggested by the Zen-Cart instructions, put that directory name in instead) file and add the following lines to the bottom:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&amp;lt;IfModule mod_security.c&amp;gt;&lt;br /&gt;&amp;lt;LocationMatch "/admin/attributes_controller.php"&amp;gt;&lt;br /&gt;  SecFilterRemove 300015&lt;br /&gt;&amp;lt;/LocationMatch&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;LocationMatch "/admin/newsletters.php"&amp;gt;&lt;br /&gt;  SecFilterRemove 300015&lt;br /&gt;  SecFilterRemove 300016&lt;br /&gt;&amp;lt;/LocationMatch&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;LocationMatch "/admin/product.php"&amp;gt;&lt;br /&gt;  SecFilterRemove 300015&lt;br /&gt;  SecFilterRemove 300016&lt;br /&gt;&amp;lt;/LocationMatch&amp;gt;&lt;br /&gt;&amp;lt;/IfModule&amp;gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Save this file and upload it to your webhost, this should disable the required rules to make the Administration Pages work correctly.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1322920654509886809-8961992164440285704?l=thefunkcorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thefunkcorner.blogspot.com/feeds/8961992164440285704/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1322920654509886809&amp;postID=8961992164440285704' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/8961992164440285704'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/8961992164440285704'/><link rel='alternate' type='text/html' href='http://thefunkcorner.blogspot.com/2008/01/using-modsecurity-19x-with-zen-cart-for.html' title='Using mod_security 1.9.x with Zen-Cart (for users)'/><author><name>Paul</name><uri>http://www.blogger.com/profile/13666227889038099116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1322920654509886809.post-3784005805454033210</id><published>2008-01-23T18:33:00.000+11:00</published><updated>2008-01-30T00:42:02.676+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='kernel tweaking'/><category scheme='http://www.blogger.com/atom/ns#' term='vmware'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Virtual Memory Tuning for Low-Memory (&lt; 512M) Systems</title><content type='html'>&lt;span style="font-weight: bold;"&gt;note:&lt;/span&gt; This article is intended for a technical audience -- and while it seems to works for the two systems i've tried it on since, you should &lt;span style="color: rgb(204, 0, 0);"&gt;use caution&lt;/span&gt; when modifying a production system -- caveat emptor.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;for anyone who doesn't care for the details: &lt;/span&gt;scroll down to the bottom for the 'ideal' defaults I came up with for our test rig.&lt;br /&gt;&lt;br /&gt;Over the last few months, i've been playing with VMWare more and more on lower-end workstations -- primarily, these systems aren't mine, they're systems of friends or relatives who have not wanted to update to Microsoft Windows Vista because of the abhorrent memory requirements.&lt;br /&gt;&lt;br /&gt;Australian PC World recently ran an article on how to use Virtualisation (via VMWare) to run Ubuntu Linux under Windows XP -- However, getting Windows to use VMWare while doing something else that it considers as being resource intensive (like Printing) turned a number of people off.&lt;br /&gt;&lt;br /&gt;Switching things around, running Windows XP under Linux worked better, but occassionally the swap started grinding and top reported huge jumps in it's usage.&lt;br /&gt;&lt;br /&gt;The test installation was Ubuntu 7.10 (Gutsy Gibbon), with VMWare Workstation 6.0.1 (build 55017) and Windows XP Home (having 160M RAM allocated to the VMWare image) and Word 2003.&lt;br /&gt;&lt;br /&gt;First off, we tried turning off things that were superfluous to the 'average' home users desktop -- Tracker -- was the primary saver, freeing up around 30M of real RAM we could use for other things.&lt;br /&gt;&lt;br /&gt;This made Windows start in a reasonable time, but resource intensive apps tended to grind the swap a second time, the 1G swap partition was pushing it's limits at 972M and there was only 4M of conventional RAM left.&lt;br /&gt;&lt;br /&gt;Looking through the wonderfully helpful &lt;span style="font-weight: bold;"&gt;/usr/src/linux/Documentation/sysctl/vm.txt&lt;/span&gt; file, I figured the following might give some improvement:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;overcommit_memory:&lt;br /&gt; &lt;br /&gt; This value contains a flag that enables memory overcommitment.&lt;br /&gt; &lt;br /&gt; When this flag is 0, the kernel attempts to estimate the amount&lt;br /&gt; of free memory left when userspace requests more memory.&lt;br /&gt; &lt;br /&gt; When this flag is 1, the kernel pretends there is always enough&lt;br /&gt; memory until it actually runs out.&lt;br /&gt; &lt;br /&gt; When this flag is 2, the kernel uses a "never overcommit"&lt;br /&gt; policy that attempts to prevent any overcommit of memory. &lt;br /&gt; &lt;br /&gt; This feature can be very useful because there are a lot of&lt;br /&gt; programs that malloc() huge amounts of memory "just-in-case"&lt;br /&gt; and don't use much of it.&lt;br /&gt; &lt;br /&gt; The default value is 0.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Sure enough, if I echo this -- I get:&lt;br /&gt;&lt;br /&gt;windows@bites:~$ &lt;span style="font-weight: bold;"&gt;cat /proc/sys/vm/overcommit_memory&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;0&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;So:&lt;br /&gt;&lt;br /&gt;windows@bites:~$ &lt;span style="font-weight: bold;"&gt;echo 2 &gt; /proc/sys/vm/overcommit_memory&lt;/span&gt;&lt;br /&gt;windows@bites:~$ &lt;span style="font-weight: bold;"&gt;cat /proc/sys/vm/overcommit_memory&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;2&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Restart VMWare, there's less grinding -- but there's also a little more usability, the CAPT-based Canon printer dialogue talked with the LBP-1120 that was hooked up to the machine in Word, but I figured I could get one better, as the 1G swap partition was still way-too-high at 920M and there was only now ~40M of conventional RAM left.&lt;br /&gt;&lt;br /&gt;Then, I found the '&lt;span style="font-style: italic;"&gt;new&lt;/span&gt;' defaults for &lt;span style="font-style: italic;"&gt;vm_dirty_ratio&lt;/span&gt; (10) and &lt;span style="font-style: italic;"&gt;vm_dirty_background_ratio&lt;/span&gt; (5)&lt;br /&gt;&lt;br /&gt;Which, as it turns out is one of the bigger bottlenecks for VMWare use on smaller systems -- after some googling, we tried 20 and 10 respectively, which caused us to have more free memory when windows was 'idle', but still grinding.&lt;br /&gt;&lt;br /&gt;OK, what about swappiness -- i'd played with the idea of autotuning/auto-regulating this when Con Kolivas was doing kernel patches in the early days and I tend to need to tweak it on servers I look after anyway -- So, I wondered if the same 60/40 versus 40/60 principle I use on my servers would work on an overly loaded workstation?&lt;br /&gt;&lt;br /&gt;First, what does Ubuntu do by default:&lt;br /&gt;&lt;br /&gt;windows@bites:~$ &lt;span style="font-weight: bold;"&gt;cat /proc/sys/vm/swappiness&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;60&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;So, using the 60/40 principle I mentioned earlier:&lt;br /&gt;&lt;br /&gt;windows@bites:~$ &lt;span style="font-weight: bold;"&gt;echo 40 &gt; /proc/sys/vm/swappiness&lt;/span&gt;&lt;br /&gt;windows@bites:~$ &lt;span style="font-weight: bold;"&gt;cat /proc/sys/vm/swappiness&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;40&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Restart VMWare -- no grinding during the bootup process for XP, slight grinding when the Anti-Virus process ran -- but we were closer, now it was a case of finding the sweet spot for the dirty page ratio.&lt;br /&gt;&lt;br /&gt;Shutdown VMWare and opened a terminal, luckily, there's a handy file in /proc we can look at to see where these pages are going, called &lt;span style="font-style: italic;"&gt;vmstat&lt;/span&gt;, if we look for the word &lt;span style="font-weight: bold;"&gt;dirty&lt;/span&gt;, we see:&lt;br /&gt;&lt;br /&gt;windows@bites:~$ &lt;span style="font-weight: bold;"&gt;grep -A 1 dirty /proc/vmstat&lt;/span&gt;&lt;br /&gt;nr_dirty 9988&lt;br /&gt;nr_writeback 0&lt;br /&gt;&lt;br /&gt;That's at 20, if we return the vm_dirty_ratio to the default (10), it was even worse:&lt;br /&gt;&lt;br /&gt;windows@bites:~$ &lt;span style="font-weight: bold;"&gt;grep -A 1 dirty /proc/vmstat&lt;/span&gt;&lt;br /&gt;nr_dirty 11996&lt;br /&gt;nr_writeback 322&lt;br /&gt;&lt;br /&gt;After doing a bit of Googling on why nr_writeback would be higher than say 4-5, we found references to the Red Hat Linux Tuning Guide, which said if &lt;span style="font-style: italic;"&gt;vm_dirty_ratio&lt;/span&gt; was set too low, the number of pages to be written-back would grow erratically because the ratio was constantly being hit.&lt;br /&gt;&lt;br /&gt;OK, so 20 fixes that, but the amount of pages still looks too big, what if we made it 40?&lt;br /&gt;&lt;br /&gt;windows@bites:~$ &lt;span style="font-weight: bold;"&gt;echo 40 &gt; /proc/sys/vm/dirty_ratio&lt;/span&gt;&lt;br /&gt;windows@bites:~$ &lt;span style="font-weight: bold;"&gt;cat /proc/sys/vm/dirty_ratio&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;40&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;windows@bites:~$ &lt;span style="font-weight: bold;"&gt;grep -A 1 dirty /proc/vmstat&lt;/span&gt;&lt;br /&gt;nr_dirty 7844&lt;br /&gt;nr_writeback 0&lt;br /&gt;&lt;br /&gt;Start up VMWare, load our image, fire up Word and print -- and this becomes:&lt;br /&gt;&lt;br /&gt;windows@bites:~$ &lt;span style="font-weight: bold;"&gt;grep -A 1 dirty /proc/vmstat&lt;/span&gt;&lt;br /&gt;nr_dirty 8195&lt;br /&gt;nr_writeback 1&lt;br /&gt;&lt;br /&gt;... and (as I looked) a document came out of the printer and iTunes fired up.&lt;br /&gt;&lt;br /&gt;A happy user, who could use Word in VMWare and Linux on the desktop -- on a Celeron 1.6G machine with 512M of RAM, without noise from the disc, the 1G swap partition evened out at about 800M and there was still 30M of conventional RAM left.&lt;br /&gt;&lt;br /&gt;I was thanked, Evolution was set up, as was Epiphany and I put the settings we'd tweaked into &lt;span style="font-style: italic;"&gt;/etc/rc.local&lt;/span&gt; file so they'd be used when the machine was next rebooted.&lt;br /&gt;&lt;br /&gt;The sweetest spot I found, for those just looking to skip to the end -- was:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(51, 204, 0);"&gt;echo 10 &gt; /proc/sys/vm/dirty_background_ratio&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(51, 204, 0);"&gt;echo 40 &gt; /proc/sys/vm/dirty_ratio&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(51, 204, 0);"&gt;echo 40 &gt; /proc/sys/vm/swappiness&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(51, 204, 0);"&gt;echo 2 &gt; /proc/sys/vm/overcommit_memory&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Happy virtualisation country.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1322920654509886809-3784005805454033210?l=thefunkcorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thefunkcorner.blogspot.com/feeds/3784005805454033210/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1322920654509886809&amp;postID=3784005805454033210' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/3784005805454033210'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/3784005805454033210'/><link rel='alternate' type='text/html' href='http://thefunkcorner.blogspot.com/2008/01/virtual-memory-tuning-for-low-memory.html' title='Virtual Memory Tuning for Low-Memory (&lt; 512M) Systems'/><author><name>Paul</name><uri>http://www.blogger.com/profile/13666227889038099116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1322920654509886809.post-6926299363072410303</id><published>2008-01-18T14:59:00.006+11:00</published><updated>2008-06-18T16:20:57.133+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='zen-cart'/><category scheme='http://www.blogger.com/atom/ns#' term='security'/><title type='text'>Using mod_security 1.9.x with Zen-Cart (for administrators)</title><content type='html'>&lt;span style="font-weight: bold;"&gt;note:&lt;/span&gt; This article is intended for a technical audience -- and while it seems to works for the systems i've tried it on since, you should &lt;span style="color: rgb(204, 0, 0);"&gt;use caution&lt;/span&gt; when modifying a production system -- caveat emptor.&lt;br /&gt;&lt;br /&gt;I use a combination of the GotRoot mod_security rules, as well as some finer-grained custom rules on a number of Zen-Cart installations I look after, occassionally though -- there are problems with false positives that need to be worked around to allow the shop owners a seamless experience.&lt;br /&gt;&lt;br /&gt;The GotRoot rules, for those unaware -- is a collection of rules that protect against over 6000 different web vulnerabilities, covering generic PHP attacks, PHPBB, e-Commerce software and more. It is fairly all-encompassing and I recommend it highly to everyone who asks.&lt;br /&gt;&lt;br /&gt;Some of these generic attack signatures cause false positives when applied to Zen-Cart's &lt;span style="font-style:italic;"&gt;admin/&lt;/span&gt; directory, as well as the older-style IPN payment processor for PayPal.&lt;br /&gt;&lt;br /&gt;To counter these, create a file called &lt;span style="font-weight:bold;"&gt;zencart-exclusions.conf&lt;/span&gt; in your rules directory (most installations use &lt;span style="font-style:italic;"&gt;/etc/modsecurity/rules&lt;/span&gt;), open that file in a text editor and add:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&amp;lt;LocationMatch "/admin/attributes_controller.php"&amp;gt;&lt;br /&gt;  SecFilterRemove 300015&lt;br /&gt;&amp;lt;/LocationMatch&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;LocationMatch "/admin/newsletters.php"&amp;gt;&lt;br /&gt;  SecFilterRemove 300015&lt;br /&gt;  SecFilterRemove 300016&lt;br /&gt;&amp;lt;/LocationMatch&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;LocationMatch "/admin/product.php"&amp;gt;&lt;br /&gt;  SecFilterRemove 300015&lt;br /&gt;  SecFilterRemove 300016&lt;br /&gt;&amp;lt;/LocationMatch&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;LocationMatch "/ipn_main_handler.php"&amp;gt;&lt;br /&gt;  SecFilterRemove 300015&lt;br /&gt;  SecFilterRemove 300016&lt;br /&gt;&amp;lt;/LocationMatch&amp;gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;The &lt;span style="font-style:italic;"&gt;SecFilterRemove&lt;/span&gt; tells mod_security to selectively remove the rules from the specific locations listed in &lt;span style="font-style:italic;"&gt;LocationMatch&lt;/span&gt;, while the six digit numbers are the GotRoot ID's that will not be parsed.&lt;br /&gt;&lt;br /&gt;Save the file and reload your webserver configuration for the changes to take affect.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1322920654509886809-6926299363072410303?l=thefunkcorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thefunkcorner.blogspot.com/feeds/6926299363072410303/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1322920654509886809&amp;postID=6926299363072410303' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/6926299363072410303'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/6926299363072410303'/><link rel='alternate' type='text/html' href='http://thefunkcorner.blogspot.com/2008/01/using-modsecurity-19x-with-zen-cart.html' title='Using mod_security 1.9.x with Zen-Cart (for administrators)'/><author><name>Paul</name><uri>http://www.blogger.com/profile/13666227889038099116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1322920654509886809.post-8005674269278172514</id><published>2008-01-08T11:39:00.003+11:00</published><updated>2008-04-08T11:58:26.752+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='community service announcement'/><category scheme='http://www.blogger.com/atom/ns#' term='opinions of the funk'/><title type='text'>SMTP Unblocking with Optus (Cable or DSL)</title><content type='html'>In the process of setting up a mail server for a collegue the other night (in order to deliver mail from 6+ domains to one IMAP account) I found an interesting quirk.&lt;br /&gt;&lt;br /&gt;After you've set up and configured a working e-mail server, with all the UBL checks and correct delivery methods in place -- if you find other SMTP transactions work OK, but the local client can't connect and you're with Optus (In Australia), &lt;a href="https://memberservices.optusnet.com.au/mailfilter/"&gt;go here&lt;/a&gt; to turn off the automated port 25 block.&lt;br /&gt;&lt;br /&gt;Thinking on though, this procedure unblocks port 25 globally, leaving one open to the prospects of exploit code spamming people by using port 25 on the local machine -- after all, the mail server wasn't on the persons local machine or even their LAN, but halfway across the world -- the Optus site makes reference to the unblocking process being for advanced users -- wouldn't advanced users be better off leaving the block in place for all sites not in a list?&lt;br /&gt;&lt;br /&gt;(Yes, the server could use SSL, or even be on a different port -- both would be viable alternatives to opening SMTP from a customer premises to the world)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1322920654509886809-8005674269278172514?l=thefunkcorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/8005674269278172514'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/8005674269278172514'/><link rel='alternate' type='text/html' href='http://thefunkcorner.blogspot.com/2008/01/smtp-unblocking-with-optus-cable-or-dsl.html' title='SMTP Unblocking with Optus (Cable or DSL)'/><author><name>Paul</name><uri>http://www.blogger.com/profile/13666227889038099116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-1322920654509886809.post-8649790189513495539</id><published>2008-01-07T13:18:00.000+11:00</published><updated>2008-01-07T13:36:08.000+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='community service announcement'/><category scheme='http://www.blogger.com/atom/ns#' term='ipod'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>New Rhythmbox packages for Ubuntu 7.10</title><content type='html'>Playing with Rhythmbox over the weekend (the 'save art to ipod' patch was committed to SVN and several people I know feel this is a neat feature) -- so i've built a set of updated packages from GNOME SVN (based on revision 5535) for Gutsy Gibbon.&lt;br /&gt;&lt;br /&gt;These packages have the code for using the new Totem Playlist Parser &lt;a href="http://bugzilla.gnome.org/show_bug.cgi?id=484768"&gt;backed out&lt;/a&gt; (due to it not being available on Ubuntu 7.10, but does include &lt;a href="http://bugzilla.gnome.org/show_bug.cgi?id=411634"&gt;#411634&lt;/a&gt; -- which should stop duplicated tracks appearing on your device) as well as &lt;a href="http://bugzilla.gnome.org/show_bug.cgi?id=345975"&gt;#345975&lt;/a&gt; -- so MP3's with embedded cover art will be shown, just like iTunes)&lt;br /&gt;&lt;br /&gt;Packages are in the &lt;a href="ftp://64.22.103.45/packages/ubuntu/gutsy/rhythmbox/"&gt;usual location&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1322920654509886809-8649790189513495539?l=thefunkcorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/8649790189513495539'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/8649790189513495539'/><link rel='alternate' type='text/html' href='http://thefunkcorner.blogspot.com/2008/01/new-rhythmbox-packages-for-ubuntu-710.html' title='New Rhythmbox packages for Ubuntu 7.10'/><author><name>Paul</name><uri>http://www.blogger.com/profile/13666227889038099116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-1322920654509886809.post-553675051871168488</id><published>2007-12-21T15:03:00.000+11:00</published><updated>2007-12-22T01:54:01.777+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='bluetooth'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Bluetooth &amp; Ubuntu 7.10</title><content type='html'>Quick-and-dirty HOWTO for people looking to get a bluetooth compatible phone to talk to Ubuntu 7.10 (Gutsy) -- any phone should work, i've used a Nokia N80 successfully.&lt;br /&gt;&lt;br /&gt;First, make sure you've got the Bluetooth Icon in the taskbar, if you don't -- there's a possibility your bluetooth adapter doesn't work with (or wasn't detected by) Ubuntu.&lt;br /&gt;&lt;br /&gt;Second. go to a terminal and type:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;sudo apt-get -f install gnome-vfs-obexftp&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Which should pull in a bunch of dependancies for libopenobex1 and company.&lt;br /&gt;&lt;br /&gt;Thirdly, if you'd like to use GNOME's "Send To" function to push files to your Phone (like to can to Evolution currently) you can type:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;sudo apt-get -f install gnome-bluetooth&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;note:&lt;/span&gt; currently, the &lt;span style="font-style: italic;"&gt;gnome-bluetooth &lt;/span&gt;package doesn't authomatically start the transfer daemon, you'll need to go through &lt;span style="font-weight: bold;"&gt;System -&gt; Preferences -&gt; Sessions &lt;/span&gt;and add a new program to the startup list, my settings for this were as follows&lt;br /&gt;&lt;br /&gt;Name: &lt;span style="font-style: italic;"&gt;Bluetooth File Transfer&lt;/span&gt;&lt;br /&gt;Command:&lt;span style="font-style: italic;"&gt; gnome-obex-server&lt;/span&gt;&lt;br /&gt;Comment (optional): &lt;span style="font-style: italic;"&gt;Transfer files via Bluetooth from "Send To"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;Now, rather than seeing something similar to:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;The Browse action reports:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt; "obex://[nn:uu:mm:bb:ee:rr]" is not a valid location.&lt;/span&gt;&lt;br /&gt; &lt;span style="font-style: italic;"&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;You should be able to transfer files between your phone and your Gutsy machine :)&lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1322920654509886809-553675051871168488?l=thefunkcorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/553675051871168488'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/553675051871168488'/><link rel='alternate' type='text/html' href='http://thefunkcorner.blogspot.com/2007/12/bluetooth-ubuntu-710.html' title='Bluetooth &amp; Ubuntu 7.10'/><author><name>Paul</name><uri>http://www.blogger.com/profile/13666227889038099116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-1322920654509886809.post-6316923476958375541</id><published>2007-12-15T11:30:00.000+11:00</published><updated>2008-12-09T11:46:44.629+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='fonts'/><title type='text'>Better TTF fonts for LCD devices</title><content type='html'>A small follow-up to my last post -- because after you've installed your fonts, you'd probably like them to look good.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;note:&lt;/span&gt; In some countries, the use of hinting is covered by &lt;a href="http://freetype.sourceforge.net/patents.html"&gt;patents&lt;/a&gt; -- which is why some distributions don't ship this functionality by default (prefering instead to use an auto-hinter  included within the Freetype 2.x code specifically designed to completely ignore the TrueType bytecode instructions) -- still, you should &lt;span style="color: rgb(204, 0, 0);"&gt;use caution&lt;/span&gt; when modifying a production system -- caveat emptor.&lt;br /&gt;&lt;br /&gt;First, you need to make sure you are actually using the &lt;span style="font-style: italic;"&gt;native&lt;/span&gt; renderer, rather than the auto-hinter for your fonts -- in Ubuntu you can do this by opening a Terminal and typing:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;sudo dpkg-reconfigure fontconfig-config&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;On the first screen, you need to select '&lt;span style="font-style: italic;"&gt;native&lt;/span&gt;' rather than '&lt;span style="font-style: italic;"&gt;autohinter&lt;/span&gt;' -- you can safely leave the other screens as their default values.&lt;br /&gt;&lt;br /&gt;Second, you'll need to change your theme to use the better hinting -- you can do this on Ubuntu in the Font preferences from: &lt;strong&gt;System &gt; Preferences &gt; Appearance&lt;/strong&gt; and select &lt;strong&gt;Fonts&lt;/strong&gt; tab.&lt;br /&gt;&lt;br /&gt;On the first screen, select the '&lt;span style="font-style: italic;"&gt;Details&lt;/span&gt;' button in the bottom right-hand-corner -- which will take you to a more detailed menu where you can customise your font and rendering preferences -- the key options to set here are:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;Smoothing &lt;/span&gt; to &lt;span style="font-style: italic;"&gt;Subpixel (LCDs)&lt;/span&gt;,&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Hinting&lt;/span&gt; to &lt;span style="font-style: italic;"&gt;Slight&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Subpixel Order&lt;/span&gt; to &lt;span style="font-style: italic;"&gt;RGB&lt;/span&gt;. (Should be the default already)&lt;br /&gt;&lt;br /&gt;At this point, instead of having something like:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_WROglLz0RI4/R7JD3v-TIQI/AAAAAAAAAKY/wS8e-zSoOtk/s1600-h/default-full-fonts.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_WROglLz0RI4/R7JD3v-TIQI/AAAAAAAAAKY/wS8e-zSoOtk/s200/default-full-fonts.jpg" alt="" id="BLOGGER_PHOTO_ID_5166266347597013250" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;You'll have:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_WROglLz0RI4/R7JEEv-TIRI/AAAAAAAAAKg/z56zD3ZspHo/s1600-h/good-slighted-fonts.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_WROglLz0RI4/R7JEEv-TIRI/AAAAAAAAAKg/z56zD3ZspHo/s200/good-slighted-fonts.jpg" alt="" id="BLOGGER_PHOTO_ID_5166266570935312658" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Which, I think you'll agree -- looks much better (and is much easier to read, too)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1322920654509886809-6316923476958375541?l=thefunkcorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/6316923476958375541'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/6316923476958375541'/><link rel='alternate' type='text/html' href='http://thefunkcorner.blogspot.com/2007/12/better-ttf-fonts-for-lcd-devices.html' title='Better TTF fonts for LCD devices'/><author><name>Paul</name><uri>http://www.blogger.com/profile/13666227889038099116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_WROglLz0RI4/R7JD3v-TIQI/AAAAAAAAAKY/wS8e-zSoOtk/s72-c/default-full-fonts.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-1322920654509886809.post-5182809257878678475</id><published>2007-12-13T11:50:00.000+11:00</published><updated>2008-01-14T14:18:11.658+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='community service announcement'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='fonts'/><title type='text'>Installing TTF fonts in Linux</title><content type='html'>Recently, I was asked how to get downloaded fonts onto an Ubuntu workstation in order to make prettier documents in OpenOffice -- there's two methods to doing this, which I thought i'd document for anyone having difficulties doing it themselves.&lt;br /&gt;&lt;br /&gt;This article works on a Fedora 8, an Ubuntu 7.10 and an Ubuntu 6.06 machine -- but mainly relies on an XFree86 4.2 (or later) install with the &lt;span style="font-style: italic;"&gt;fontconfig&lt;/span&gt; package installed (most current distributions have this installed already).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Method One: Single-user Fonts&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Individual Users can install fonts by opening a terminal (&lt;span style="font-weight: bold;"&gt;Accessories -&gt; Terminal&lt;/span&gt;) and making a &lt;span style="font-style: italic;"&gt;.fonts&lt;/span&gt; directory in their home directory, like:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;mkdir -p .fonts&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Then, find a TTF font you like (Google thinks &lt;a href="http://www.1001fonts.com/"&gt;here&lt;/a&gt; is a good place to start looking) -- download it, extract it (fonts are usually distributed in .zip archives, so you'll need to extract the .ttf font file from it first) and copy it to the &lt;span style="font-style: italic;"&gt;.fonts&lt;/span&gt; directory you just made.&lt;br /&gt;&lt;br /&gt;Then you can either logout and login again, or restart the application you want the fonts to appear in and they should appear for use.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Method Two: System-wide Fonts&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Administrators can install fonts by opening a terminal (&lt;span style="font-weight: bold;"&gt;Accessories -&gt; Terminal&lt;/span&gt;), becoming the root user using either:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;su -&lt;/span&gt; (Fedora)&lt;br /&gt;&lt;br /&gt;or:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;sudo -s&lt;/span&gt; (Ubuntu)&lt;br /&gt;&lt;br /&gt;Then making a specific directory in the font location on their machine for TTF fonts (usually &lt;span style="font-style: italic;"&gt;/usr/share/fonts/truetype&lt;/span&gt;), like:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;mkdir -p /usr/share/fonts/truetype/winfonts&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Download and extract the fonts to the new winfonts directory you made above, then update the font cache information for the machine by typing:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;fc-cache -f -v&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;note:&lt;/span&gt; Some older Linux distributions (Fedora Core 3 and KUbuntu 5.04 both need this) may need to run:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;mkfontscale &amp;amp;&amp;amp; mkfontdir&lt;/span&gt; as the root user &lt;span style="font-style: italic;"&gt;before&lt;/span&gt; running the fc-cache command above, so that your machine correctly creates a &lt;span style="font-style: italic;"&gt;fonts.dir&lt;/span&gt; file that can be found by fc-cache.&lt;br /&gt;&lt;br /&gt;If you're interested in Free and Open Sourced fonts, you should look at &lt;a href="http://unifont.org/fontguide/"&gt;Ed Trager's site&lt;/a&gt; on the subject.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1322920654509886809-5182809257878678475?l=thefunkcorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/5182809257878678475'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/5182809257878678475'/><link rel='alternate' type='text/html' href='http://thefunkcorner.blogspot.com/2007/12/installing-ttf-fonts-in-linux.html' title='Installing TTF fonts in Linux'/><author><name>Paul</name><uri>http://www.blogger.com/profile/13666227889038099116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-1322920654509886809.post-4031589982751006012</id><published>2007-12-09T22:52:00.000+11:00</published><updated>2008-02-07T13:52:40.142+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='openssh'/><category scheme='http://www.blogger.com/atom/ns#' term='fuse'/><category scheme='http://www.blogger.com/atom/ns#' term='community service announcement'/><category scheme='http://www.blogger.com/atom/ns#' term='security'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>SSHFS (the alternative to fish://) on Ubuntu 7.10</title><content type='html'>Working on a file located elsewhere in the world, or in the workplace can sometimes become very tedious -- especially when using the SSH option in the GNOME file manager Nautilus, which relies on gnome-vfs module, which has some &lt;a href="http://bugzilla.gnome.org/show_bug.cgi?id=155872"&gt;notable performance issues&lt;/a&gt; that still have to be addressed.&lt;br /&gt;&lt;br /&gt;On the console, we have the fish:// transport in programs such as Midnight Commander and the excellent FTP/SCP program lftp, but fish:// still tends to be much slower than SSH itself.&lt;br /&gt;&lt;br /&gt;Luckily, there's now FUSE &amp;amp; an equally useful drop-in module, SSHFS which allows a user to mount a remote SSH/SCP session as a virtual filesystem, having any modified data copied over the secure tunnel with little to no extra overhead than a straight SSH session instelf.&lt;br /&gt;&lt;br /&gt;FUSE is a kernel module for mounting different filesystems by an unprivileged user, which was adopted into the mainline linux kernel a while back. SSHFS is an add-on created by the author of FUSE enabling users to mount remote folders/filesystems using SSH.&lt;br /&gt;&lt;br /&gt;The idea is very simple - a remote SSH folder is mounted as a local folder in the filesystem. After that, almost all operations on this folder work exactly as if this was a normal local folder. The difference is that the files are silently transferred though SSH in the background.&lt;br /&gt;&lt;br /&gt;Installing FUSE with sshfs in Ubuntu can be done via the Synaptic Package Manager (&lt;span style="font-weight: bold;"&gt;System-&gt;Administration-&gt;Synaptic Package Manager&lt;/span&gt; or by typing (as root):&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;apt-get install sshfs&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Next, you need to give permission to use FUSE to the relevant users by adding the FUSE group to their account -- again, you can either use the Users and Groups GUI (&lt;span style="font-weight: bold;"&gt;System-&gt;Administration-&gt;Synaptic Package Manager&lt;/span&gt;) or via the command line using:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;usermod -G -a fuse [username]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;In Ubuntu Gutsy, the fuse module is already loaded at boot-time via the &lt;span style="font-style: italic;"&gt;/etc/modules&lt;/span&gt; file -- If you are using Ubuntu Dapper, or another distribution -- you may need to load the module manually, you can do this via the command line by typing:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;modprobe fuse&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Now we can try to mount a remote folder using the sshfs transport. First, make a directory to use as the mount point for your remote folder (in this example, it's ssh_mount, but you could call it anything you liked):&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;mkdir ~/ssh_mount&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Which would create the &lt;span style="font-weight: bold;"&gt;/home/username/ssh_mount&lt;/span&gt; folder.&lt;br /&gt;&lt;br /&gt;Then, run the SSHFS command as you would a standard SCP command:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;sshfs remote_username@remote_server:~/files ~/ssh_mount&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The command above will cause the folder &lt;span style="font-weight: bold;"&gt;/home/remote_username/files&lt;/span&gt; on the remote server to be mounted as &lt;span style="font-weight: bold;"&gt;/home/username/ssh_mount&lt;/span&gt; on the local machine.&lt;br /&gt;&lt;br /&gt;For now on, any file action (copying, editing, removing) to this folder will result in transparent copying over the network via SCP directly, which provides a massive performance improvement over the &lt;span style="font-style: italic;"&gt;fish://&lt;/span&gt; transport or the GNOME-VFS implementation.&lt;br /&gt;&lt;br /&gt;Once you've finished working with the remote filesystem, unmount the remote folder by running:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;fusermount -u ~/ssh_mount&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1322920654509886809-4031589982751006012?l=thefunkcorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thefunkcorner.blogspot.com/feeds/4031589982751006012/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1322920654509886809&amp;postID=4031589982751006012' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/4031589982751006012'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/4031589982751006012'/><link rel='alternate' type='text/html' href='http://thefunkcorner.blogspot.com/2007/12/sshfs-alternative-to-fish-on-ubuntu-710.html' title='SSHFS (the alternative to fish://) on Ubuntu 7.10'/><author><name>Paul</name><uri>http://www.blogger.com/profile/13666227889038099116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1322920654509886809.post-3500266060554530976</id><published>2007-11-23T13:25:00.000+11:00</published><updated>2008-02-07T13:51:14.151+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='openssh'/><category scheme='http://www.blogger.com/atom/ns#' term='security'/><title type='text'>OpenSSH and 'Matching' Rules</title><content type='html'>Most of the time on the servers I maintain, there's a strict set of options in the &lt;span style="font-style: italic;"&gt;/etc/ssh/sshd_config&lt;/span&gt; file -- after all, things like &lt;span style="font-weight: bold;"&gt;X11Forwarding yes&lt;/span&gt; or any of the Plain-text challenge options should really be tightly controlled on operational servers.&lt;br /&gt;&lt;br /&gt;Occassionally though, there's a reason to relax these permissions, but rather than doing this globally, OpenSSH has the ability to do this on a &lt;a href="https://bugzilla.mindrot.org/show_bug.cgi?id=match"&gt;per user, group or connecting IP address&lt;/a&gt; basis.&lt;br /&gt;&lt;br /&gt;A box that I look after has &lt;span style="font-weight: bold;"&gt;MaxAuthTries&lt;/span&gt; set to &lt;span style="font-weight: bold;"&gt;1&lt;/span&gt; and &lt;span style="font-weight: bold;"&gt;LoginGraceTime&lt;/span&gt; set to &lt;span style="font-weight: bold;"&gt;30 &lt;/span&gt;in order to slow down brute-force password guessing attacks (something I highly recommend for boxes in the field, by the way) -- but the owner of the box is a little heavy on the keys sometimes and ends up having to try two or three times to get their password right.&lt;br /&gt;&lt;br /&gt;Let's say our users name is Tom and he connects from 100.50.0.1&lt;br /&gt;&lt;br /&gt;Simple solution -- First, open your &lt;span style="font-style: italic;"&gt;/etc/ssh/sshd_config&lt;/span&gt; (or possibly &lt;span style="font-style: italic;"&gt;/etc/sshd/sshd_config&lt;/span&gt; if you're using a Fedora/RHEL/SuSE box) file and add:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Match User tom Address 100.50.0.1&lt;br /&gt;MaxAuthTries 5&lt;br /&gt;LoginGraceTime 120&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;So, while normal users get 30 seconds and 1 try to enter their password -- the owner of the box gets 5 tries and 2 minutes before he's disconnected.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;note:&lt;/span&gt; When using &lt;span style="font-style: italic;"&gt;Match&lt;/span&gt; rules, the &lt;span style="font-style: italic;"&gt;User&lt;/span&gt; (and/or &lt;span style="font-style: italic;"&gt;Address&lt;/span&gt;) keywords are case-sensitive, at least on Ubuntu 6.06 and RHEL 4.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;note ii:&lt;/span&gt; When specifying multiple &lt;span style="font-style: italic;"&gt;Match&lt;/span&gt; rules on the line above (such as &lt;span style="font-style: italic;"&gt;User&lt;/span&gt; and &lt;span style="font-style: italic;"&gt;Address&lt;/span&gt;) the expression is treated as a &lt;span style="font-weight: bold;"&gt;logical AND&lt;/span&gt; -- so all the parts must match before the block is invoked.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1322920654509886809-3500266060554530976?l=thefunkcorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/3500266060554530976'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/3500266060554530976'/><link rel='alternate' type='text/html' href='http://thefunkcorner.blogspot.com/2007/11/openssh-and-matching-rules.html' title='OpenSSH and &apos;Matching&apos; Rules'/><author><name>Paul</name><uri>http://www.blogger.com/profile/13666227889038099116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-1322920654509886809.post-537124731240995033</id><published>2007-11-20T19:02:00.000+11:00</published><updated>2007-11-20T19:17:05.094+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='community service announcement'/><category scheme='http://www.blogger.com/atom/ns#' term='bittorrent'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>.torrent files from the command line</title><content type='html'>Over the past few weeks, i've been playing with BitTorrent more for moving files around, but found no good way of being able to make .torrent files from the command line.&lt;br /&gt;&lt;br /&gt;About a week ago, I found &lt;a href="http://www.createtorrent.com/"&gt;CreateTorrent&lt;/a&gt; and attempted to build packages for it, there were two major issues -- 1) there was no ability to make torrents &lt;span style="font-style:italic;"&gt;private&lt;/span&gt; and 2) the program kept segfaulting whenever there was a &lt;span style="font-weight:bold;"&gt;'('&lt;/span&gt; or &lt;span style="font-weight:bold;"&gt;')'&lt;/span&gt; in the directory the files were stored in.&lt;br /&gt;&lt;br /&gt;Today, when searching for &lt;span style="font-style:italic;"&gt;createtorrent patches&lt;/span&gt; on Google, I found:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.blurty.com/users/claudiusmaximus/day/2007/09/19#417"&gt;buildtorrent&lt;/a&gt;, which looked to do exactly what I wanted.&lt;br /&gt;&lt;br /&gt;The code wasn't GNU Autotools ready, so I spent an hour or so fixing that (patches have gone upstream to the author) -- then I was able to build packages for it. &lt;br /&gt;&lt;br /&gt;Ubuntu Gutsy users can grab them from &lt;a href="ftp://64.22.103.45/packages/ubuntu/gutsy/buildtorrent/"&gt;here&lt;/a&gt;, packages for other distributions will be available as I have time to build them.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1322920654509886809-537124731240995033?l=thefunkcorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/537124731240995033'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/537124731240995033'/><link rel='alternate' type='text/html' href='http://thefunkcorner.blogspot.com/2007/11/torrent-files-from-command-line.html' title='.torrent files from the command line'/><author><name>Paul</name><uri>http://www.blogger.com/profile/13666227889038099116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-1322920654509886809.post-1905392651108792225</id><published>2007-11-09T01:42:00.000+11:00</published><updated>2007-11-10T00:58:01.574+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='community service announcement'/><category scheme='http://www.blogger.com/atom/ns#' term='fedora'/><category scheme='http://www.blogger.com/atom/ns#' term='ipod'/><title type='text'>Fedora and The iPod Nano</title><content type='html'>In semi-celebration of &lt;a href="http://fedoraproject.org/"&gt;Fedora 8&lt;/a&gt; being released today, I have spent the day wrestling with &lt;a href="http://fedoraproject.org/wiki/Projects/Mock"&gt;mock&lt;/a&gt; and rpmbuild to bring you up-to-date libgpod packages (built from SVN 1759), allowing Fedora users to try out the new iPod handling code just like Ubuntu users can.&lt;br /&gt;&lt;br /&gt;Completely unofficial, just like their Ubuntu cousins -- but they build cleanly and correctly write the Firewire ID to a brand new 3rd Gen Nano (and thus, gtkpod actually syncs music and rhythmbox reads the music).&lt;br /&gt;&lt;br /&gt;Packages available from &lt;a href="ftp://64.22.103.45/packages/fedora/"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Enjoy.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-size:78%;"&gt;edit i: &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;It appears the packages weren't actually mentioned in the original post, thanks to James for pointing this out.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;edit ii: &lt;/span&gt;Yes, these include the snazzy HAL callout method that means you can plug your iPod in and everything is done automatically, no manual firewire hacking required :)&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1322920654509886809-1905392651108792225?l=thefunkcorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thefunkcorner.blogspot.com/feeds/1905392651108792225/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1322920654509886809&amp;postID=1905392651108792225' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/1905392651108792225'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/1905392651108792225'/><link rel='alternate' type='text/html' href='http://thefunkcorner.blogspot.com/2007/11/fedora-and-ipod-nano.html' title='Fedora and The iPod Nano'/><author><name>Paul</name><uri>http://www.blogger.com/profile/13666227889038099116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1322920654509886809.post-1147385886951569739</id><published>2007-11-06T00:23:00.000+11:00</published><updated>2007-11-09T01:07:11.771+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='community service announcement'/><category scheme='http://www.blogger.com/atom/ns#' term='zen-cart'/><category scheme='http://www.blogger.com/atom/ns#' term='php programming'/><title type='text'>Changing the Zen-Cart 'Sales Pitch'</title><content type='html'>If you use Zen-Cart or OSCommerce, you may have found the need to change the '&lt;span style="font-style: italic;"&gt;Tagline Here&lt;/span&gt;' text on the main page at one point or another.&lt;br /&gt;&lt;br /&gt;The usual solution is to copy&lt;span style="font-weight: bold;"&gt; includes/languages/english.php &lt;/span&gt;to your template directory and then change the tagline text there -- an adequate solution, if you only work with one template, but what if you run multiple stores, or you are dealing with a user who has no access to the filesystem, or an FTP program, or is simply uncomfortable editing something across a network.&lt;br /&gt;&lt;br /&gt;The solultion I came up with, allows you to edit this field directly from the Administration Panel -- first edit the &lt;span style="font-weight: bold;"&gt;includes/languages/english/header.php &lt;/span&gt;file and change:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;--- define('HEADER_SALES_TEXT', 'TagLine Here');&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;+++ define('HEADER_SALES_TEXT', STORE_TAGLINE);&lt;br /&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Next, open your Administration Panel and navigate to &lt;span style="font-weight: bold;"&gt;Tools&lt;/span&gt; -&gt; &lt;span style="font-weight: bold;"&gt;Install SQL Patches&lt;/span&gt; and in the cut-and-paste box, add the following:&lt;br /&gt;&lt;br /&gt;--- cut here ---&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;INSERT INTO configuration (configuration_title, configuration_key,&lt;br /&gt;configuration_value, configuration_description,&lt;br /&gt;configuration_group_id, sort_order, date_added) VALUES ('Store&lt;br /&gt;Advertising - Tagline', 'STORE_TAGLINE', 'Tagline Here', 'Set Shop Tagline /&lt;br /&gt;Slogan&lt;br /&gt;Default = Tagline Here', '1', '4', now());&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;--- cut here ---&lt;br /&gt;&lt;br /&gt;Now you can go to &lt;span style="font-weight: bold;"&gt;Configuration -&gt; My Store&lt;/span&gt; and configure the tagline&lt;br /&gt;that is used for your shop, much easier than adding it by hand and much easier than editing your languages file to it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1322920654509886809-1147385886951569739?l=thefunkcorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thefunkcorner.blogspot.com/feeds/1147385886951569739/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1322920654509886809&amp;postID=1147385886951569739' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/1147385886951569739'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/1147385886951569739'/><link rel='alternate' type='text/html' href='http://thefunkcorner.blogspot.com/2007/11/changing-zen-cart-sales-pitch.html' title='Changing the Zen-Cart &apos;Sales Pitch&apos;'/><author><name>Paul</name><uri>http://www.blogger.com/profile/13666227889038099116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1322920654509886809.post-2564551817941791271</id><published>2007-11-03T12:05:00.000+11:00</published><updated>2007-11-03T12:16:47.781+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='shell programming'/><category scheme='http://www.blogger.com/atom/ns#' term='community service announcement'/><category scheme='http://www.blogger.com/atom/ns#' term='one line hacks'/><title type='text'>dos2unix and recursion using bash</title><content type='html'>More a 'don't ever forget this line again' command for me, but a handy one-liner for a box that has find and dos2unix -- but &lt;span style="font-weight: bold;"&gt;not &lt;/span&gt;a perl interpreter.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;find . -type f \( -iname '*.css' -o -iname '*.html' \) \! -path "*images*" -exec dos2unix {} \;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Finds all files with a &lt;span style="font-style: italic;"&gt;.css &lt;/span&gt;or &lt;span style="font-style: italic;"&gt;.html&lt;/span&gt; extension, starting from the current working directory.&lt;/li&gt;&lt;li&gt;Ignores anything in a directory including the word &lt;span style="font-style: italic;"&gt;images&lt;/span&gt;.&lt;/li&gt;&lt;li&gt;Then executes dos2unix on anything that matches.&lt;/li&gt;&lt;/ul&gt;Of course, you could execute anything (just change dos2unix to whatever you need to run).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1322920654509886809-2564551817941791271?l=thefunkcorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/2564551817941791271'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/2564551817941791271'/><link rel='alternate' type='text/html' href='http://thefunkcorner.blogspot.com/2007/11/dos2unix-and-recursion-using-bash.html' title='dos2unix and recursion using bash'/><author><name>Paul</name><uri>http://www.blogger.com/profile/13666227889038099116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-1322920654509886809.post-8830321334734651859</id><published>2007-10-30T01:16:00.000+11:00</published><updated>2007-11-09T00:22:36.994+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='social networking'/><category scheme='http://www.blogger.com/atom/ns#' term='this site'/><title type='text'>Social Networking</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://ekstreme.com/socializer/Socializer16.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 200px;" src="http://ekstreme.com/socializer/Socializer16.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Some of you may have noticed the icon above appearing next to posts -- this is the 'socialiser' icon, which is like a meta-index of all the social networking sites that you could submit articles to.&lt;br /&gt;&lt;br /&gt;It seems easier than trying to add icons for each site (furl, digg, stumbleupon, slashdot, etc) -- just click the one link to submit the particular post you are interested in to whatever sites you have accounts on.&lt;br /&gt;&lt;br /&gt;So, if you're into that sort of thing, click away :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1322920654509886809-8830321334734651859?l=thefunkcorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/8830321334734651859'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/8830321334734651859'/><link rel='alternate' type='text/html' href='http://thefunkcorner.blogspot.com/2007/10/social-networking.html' title='Social Networking'/><author><name>Paul</name><uri>http://www.blogger.com/profile/13666227889038099116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-1322920654509886809.post-8567645851792101901</id><published>2007-10-21T02:59:00.000+10:00</published><updated>2008-12-09T11:46:45.230+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vmware'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>VMWare 6.x with Ubuntu 7.10</title><content type='html'>I've just spent a good hour wrestling with VMWare 6.0 in my new Ubuntu 7.10 installation -- there would seem to be an issue with the &lt;span style="font-style: italic;"&gt;vmware-any-any-update113&lt;/span&gt;, that thinks it's building the vmmon module for VMWare 2.x, not 6.x.&lt;br /&gt;&lt;br /&gt;After installing the update (see: &lt;a href="http://platan.vc.cvut.cz/ftp/pub/vmware/vmware-any-any-update113.tar.gz"&gt;http://platan.vc.cvut.cz/ftp/pub/vmware/vmware-any-any-update113.tar.gz&lt;/a&gt;) and running the script, everything seems to build successfully -- but attempting to run VMWare gives you:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_WROglLz0RI4/Rxo1R_KPBOI/AAAAAAAAAAM/Ib3wQNKjONk/s1600-h/Screenshot-1.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_WROglLz0RI4/Rxo1R_KPBOI/AAAAAAAAAAM/Ib3wQNKjONk/s200/Screenshot-1.png" alt="" id="BLOGGER_PHOTO_ID_5123466109215769826" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;and:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_WROglLz0RI4/Rxo2XvKPBPI/AAAAAAAAAAU/xlg6gNZcP8g/s1600-h/Screenshot-2.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_WROglLz0RI4/Rxo2XvKPBPI/AAAAAAAAAAU/xlg6gNZcP8g/s200/Screenshot-2.png" alt="" id="BLOGGER_PHOTO_ID_5123467307511645426" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Eventually, I was able to work around this issue by:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Extracting the vmmon.tar file from the update.&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Editing the &lt;span style="font-style: italic;"&gt;getversion.pl &lt;/span&gt;script with a text editor and changing line 66:&lt;/li&gt;&lt;/ul&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;--- print 'VME_V4';&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;+++ print 'VME_V6';&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;Save the file and tar up the directory.&lt;/li&gt;&lt;li&gt;Re-run the &lt;span style="font-style: italic;"&gt;runme.pl&lt;/span&gt; file -- which should rebuild the kernel modules correctly and allow you to start VMWare correctly.&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1322920654509886809-8567645851792101901?l=thefunkcorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thefunkcorner.blogspot.com/feeds/8567645851792101901/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1322920654509886809&amp;postID=8567645851792101901' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/8567645851792101901'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/8567645851792101901'/><link rel='alternate' type='text/html' href='http://thefunkcorner.blogspot.com/2007/10/vmware-6x-with-ubuntu-710.html' title='VMWare 6.x with Ubuntu 7.10'/><author><name>Paul</name><uri>http://www.blogger.com/profile/13666227889038099116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_WROglLz0RI4/Rxo1R_KPBOI/AAAAAAAAAAM/Ib3wQNKjONk/s72-c/Screenshot-1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1322920654509886809.post-827375792286278607</id><published>2007-10-08T12:42:00.000+10:00</published><updated>2007-10-08T12:46:01.776+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='community service announcement'/><category scheme='http://www.blogger.com/atom/ns#' term='server setup'/><category scheme='http://www.blogger.com/atom/ns#' term='apache2'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Apache2, SSL and Ubuntu 6.06</title><content type='html'>Recently, I had to configure a dedicated SSL certificate with Apache2 on a Virtual Host -- and proceeded to use a combination of information from Verisign &amp;amp; the &lt;a href="https://help.ubuntu.com/community/forum/server/apache2/SSL"&gt;Ubuntu Documentation Project&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;After tweaking the install, I ran foul of the &lt;a href="http://www.google.co.uk/search?q=%2212263%22%20apache%20ssl&amp;amp;ie=UTF-8&amp;amp;oe=UTF-8"&gt;infamous "error -12263"&lt;/a&gt; in my browser.&lt;br /&gt;&lt;br /&gt;My configuration consisted of:&lt;br /&gt;&lt;br /&gt;* cp'ing the original vhost configuration to 'secure' in /etc/apache2/sites-available/ and symlinking them to /etc/apache2/sites-enabled/&lt;br /&gt;&lt;br /&gt;* adding "Listen 443" followed by a newline to /etc/apache2/ports.conf&lt;br /&gt;&lt;br /&gt;* Changing /etc/apache2/sites-available/secure to read:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;--- &amp;#60;virtualhost&amp;#62;*:80&amp;#60;/virtualhost&amp;#62;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;+++ &amp;#60;virtualhost&amp;#62;*:443&amp;#60;/virtualhost&amp;#62;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;* and beneath the 'ServerAdmin' line -- Adding:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;+++ SSLCertificateFile /etc/ssl/certs/server.crt&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;+++ SSLCertificateKeyFile /etc/ssl/private/server.key&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;+++ SSLCACertificateFile /etc/ssl/certs/Verisign_Class_3_Public_Primary_Certification_Authority.pem &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;At this point, Apache starts normally &amp;amp; listens on both the HTTP and HTTPS ports, as referenced by the change in /var/log/apache2/error_log&lt;br /&gt;&lt;br /&gt;from:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;[notice] Apache/2.0.55 (Ubuntu) PHP/5.1.2 configured -- resuming normal operations&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;to:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;[notice] Apache/2.0.55 (Ubuntu) PHP/5.1.2 mod_ssl/2.0.55 OpenSSL/0.9.8a configured -- resuming normal operations&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;However, when you try and https:// address, browsers error out.&lt;br /&gt;&lt;br /&gt;Worse still, Apache doesn't actually log anything about this request by default -- but we know the site works because using a standard http:// request works fine.&lt;br /&gt;&lt;br /&gt;Actually, that's not quite true -- it does log a cryptic error message that looks similar to:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;127.0.0.1 - - [04/Aug/2007:23:38:58 +1000] "\x80\x8c\x01\x03\x01" 200 16564 "-" "-"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Some googling later, this seems to indicate that port 443 is serving non-SSL requests to clients.&lt;br /&gt;&lt;br /&gt;Luckily, you can use OpenSSL to confirm this behaviour:&lt;br /&gt;&lt;br /&gt;Running:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;openssl s_client -connect localhost:443&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Returns:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;CONNECTED(00000003)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;7431:error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol:s23_clnt.c:567:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Instead of your key.&lt;br /&gt;&lt;br /&gt;The trick, of course -- turns out to be remarkably simple, open /etc/apache2/sites-available/secure -- and add:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;+++ SSLEngine on&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;So your configuration becomes:&lt;br /&gt;&lt;br /&gt;---&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;SSLEngine on&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;SSLCertificateFile /etc/ssl/certs/server.crt&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;SSLCertificateKeyFile /etc/ssl/private/server.key&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;SSLCACertificateFile /etc/ssl/certs/Verisign_Class_3_Public_Primary_Certification_Authority.pem&lt;/span&gt;&lt;br /&gt;---&lt;br /&gt;&lt;br /&gt;Save the file and restart Apache, then run the OpenSSL command line again:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;openssl s_client -connect localhost:443&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;It should now return your key information properly -- now fire up your browser and use https:// to your hearts content.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1322920654509886809-827375792286278607?l=thefunkcorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thefunkcorner.blogspot.com/feeds/827375792286278607/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1322920654509886809&amp;postID=827375792286278607' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/827375792286278607'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/827375792286278607'/><link rel='alternate' type='text/html' href='http://thefunkcorner.blogspot.com/2007/10/apache2-ssl-and-ubuntu-606.html' title='Apache2, SSL and Ubuntu 6.06'/><author><name>Paul</name><uri>http://www.blogger.com/profile/13666227889038099116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1322920654509886809.post-2578440500697641235</id><published>2007-10-02T02:28:00.000+10:00</published><updated>2007-11-10T00:59:46.147+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='community service announcement'/><category scheme='http://www.blogger.com/atom/ns#' term='ipod'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Ubuntu and The iPod Nano</title><content type='html'>My iPod (Mini, 3rd-Generation, 4G Green) died last week -- used it every day for the four years i've owned it, so it's had a fairly good run.&lt;br /&gt;&lt;br /&gt;So, I upgraded to a new, shiny iPod Nano.&lt;br /&gt;&lt;br /&gt;Or so went the plan.&lt;br /&gt;&lt;br /&gt;Long &amp;amp; Short -- I bought, under some sufferance (ie. in AUD -- it worked out cheaper to buy a full iPod than getting replacement parts for the old one) a 8G Nano.&lt;br /&gt;&lt;br /&gt;After looking at Will's &lt;a href="http://www.backdot.com/"&gt;Backdot Page&lt;/a&gt; &amp;amp; GTKPod's &lt;a href="http://http//gtkpod.svn.sourceforge.net/svnroot/gtkpod/libgpod/trunk/"&gt;subversion repository&lt;/a&gt; -- I set about putting packages together for anyone that's using Ubuntu's latest beta (Gutsy Gibbon) -- that should be nice drop-in replacements for your old ones.&lt;br /&gt;&lt;br /&gt;Currently, these are hosted: &lt;a href="ftp://64.22.103.45/packages/ubuntu/"&gt;here&lt;/a&gt; (and are based around revision 1710, for those keeping score at home) and they'll be updated for any new revisions that appear in the near future.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;edit: &lt;/span&gt;There's also updated &lt;a href="http://www.gnome.org/projects/rhythmbox/"&gt;Rhythmbox&lt;/a&gt; packages from GNOME SVN now -- which fix a number of irks (cross-fading crashers, slow database read times on +1000 song libraries and they also include the patch for &lt;a href="http://bugzilla.gnome.org/show_bug.cgi?id=411634"&gt;#411634&lt;/a&gt; -- which should stop duplicated tracks appearing on your device)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;edit ii: &lt;/span&gt;Updated to include the first pass coverart support as well as adding the ipod-read-sysinfo-extended code to automate the discovery of your iPod -- thanks teuf.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;edit iii: &lt;/span&gt;As teuf points out in the comments, the libgpod2 package contains a small binary that allows the iPod to find and write the Extended Information file that one needs to make their iPod work -- getting this to work is a three step process:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;You first need to enable (if you haven't already) the '&lt;span style="font-style: italic;"&gt;universe&lt;/span&gt;' repository via &lt;span style="font-weight: bold;"&gt;'System -&gt; Administration -&gt; Software Sources'&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;.&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Plug in your iPod.&lt;/li&gt;&lt;li&gt;Open a terminal window.&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;sudo&lt;/span&gt;&lt;span style="font-style: italic;"&gt; &lt;/span&gt;to root.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Run &lt;span style="font-weight: bold;"&gt;/usr/bin/ipod-read-sysinfo-extended&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;/dev/sd[abcde] /media/IPOD &lt;/span&gt;(where &lt;span style="font-style: italic;"&gt;sd[abcde] &lt;/span&gt;is the device name of your iPod -- use the &lt;span style="font-weight: bold;"&gt;df&lt;/span&gt; command if you're unsure)&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;Packages for other distributions might be considered too -- comment if you're interested.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1322920654509886809-2578440500697641235?l=thefunkcorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thefunkcorner.blogspot.com/feeds/2578440500697641235/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1322920654509886809&amp;postID=2578440500697641235' title='30 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/2578440500697641235'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/2578440500697641235'/><link rel='alternate' type='text/html' href='http://thefunkcorner.blogspot.com/2007/10/ubuntu-ipod-nano.html' title='Ubuntu and The iPod Nano'/><author><name>Paul</name><uri>http://www.blogger.com/profile/13666227889038099116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>30</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1322920654509886809.post-5495119072431934645</id><published>2007-10-01T01:16:00.000+10:00</published><updated>2007-10-02T03:16:38.725+10:00</updated><title type='text'>As the technical world turns ...</title><content type='html'>First came the incident. (1996-1999)&lt;br /&gt;Then came cipherfunk. (2000-2006)&lt;br /&gt;&lt;br /&gt;Now comes blogger.&lt;br /&gt;&lt;br /&gt;A place for random technical bits, pointers to workarounds &amp;amp; general notifications of stuff i'm working on, for anyone that cares.&lt;br /&gt;&lt;br /&gt;Any questions, that's what the comment function is for.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1322920654509886809-5495119072431934645?l=thefunkcorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/5495119072431934645'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1322920654509886809/posts/default/5495119072431934645'/><link rel='alternate' type='text/html' href='http://thefunkcorner.blogspot.com/2007/10/first-came-incident.html' title='As the technical world turns ...'/><author><name>Paul</name><uri>http://www.blogger.com/profile/13666227889038099116</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry></feed>
