Posts for Tuesday, July 28, 2009
Iain Buchanan
Australia
Artec DVB USB in Linux
So I unboxed my Artec TV tuner card, now I have to get it working!You need firmware and kernel modules. You can download the firmware for it here:
http://www.wi-bw.tfh-wildau.de/~pboettch/home/files/dvb-usb-dib0700-1.20.fw
Use wget or some way of getting it. Then move the file to /lib/firmware.
You also need the v4l-dvb kernel drivers (compatible with kernel 2.6.16 and up). In Gentoo, emerge media-tv/v4l-dvb-hg. Other distributions have instructions here.
Now insert the card. udev will handle loading the correct modules. My syslog output looks like this:
usb 1-3: Product: ART7070Look for a line similar to dib0700: firmware started successfully. If you see Cannot find firmware file then make sure you downloaded the firmware properly, and check your system's firmware directory. Also check the firmware file name, as it might want a slightly different firmware file.
usb 1-3: Manufacturer: Ultima
usb 1-3: SerialNumber: 001
usb 1-3: configuration #1 chosen from 1 choice
dvb-usb: found a 'Artec T14BR DVB-T' in cold state, will try to load a firmware
usb 1-3: firmware: requesting dvb-usb-dib0700-1.20.fw
dvb-usb: downloading firmware from file 'dvb-usb-dib0700-1.20.fw'
dib0700: firmware started successfully.
dvb-usb: found a 'Artec T14BR DVB-T' in warm state.
dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
DVB: registering new adapter (Artec T14BR DVB-T)
DVB: registering adapter 0 frontend 0 (DiBcom 7000PC)...
DiB0070: successfully identified
input: IR-receiver inside an USB DVB receiver as /class/input/input7
dvb-usb: schedule remote query interval to 50 msecs.
dvb-usb: Artec T14BR DVB-T successfully initialized and connected.
That's it! From there I plugged in an antenna, loaded MythTV, and watched some HD TV!
Iain Buchanan
Australia
SynCE 0.14 in Gentoo
I just tested app-pda/synce-gvfs-0.3 in Gentoo with gnome-base/gvfs-1.2.3. This is the first ebuild for the SynCE 0.14 release (announcement here), and it's available in the SynCE overlay.synce-gvfs works without upgrading other SynCE components to 0.14. For me, it fixes a gvfs crash when trying to copy files off your device.
Comments welcome :) The rest of SynCE 0.14 will happen eventually :)
Dion Moult
Malaysia
Mass-amateurisation of the Internet
I cannot pretend it isn’t a commonly known fact that the Internet (and technology in general) has led to the mass-amateurisation of many professions – journalism has become blogging, we see photography websites, animation portals due to the advent of Flash, writers, graphic and sound artists, and of course 10 year old programmers.
I recently arrived in Jakarta to visit my relatives. In Jakarta and most Asian countries it’s quite normal to have a maid in the house. They are treated much as part of the family and are normally full-time. The maid in my aunt’s house has a boy around my age and a baby girl who loves to play hide and seek with me – or maybe she’s too scared to come out all the time. The maid’s name is “L”, mainly because I feel it disrespectful to call her “the maid” in this post – she is a very pleasant person.
Anyway, I had some free time and so I opened up my laptop. Unable to get online just yet I decided to start up my local server and began coding a new feature into Eadrax. P, who is L’s son wandered into the room and peeked at my screen. I had just switched to a new tab in Firefox and was testing out some MySQL queries in PHPMyAdmin. Without a moments hesitation he said:
“Dion, itu SQL iya?”
Translated into English, this means:
“Dion, that’s SQL, yes?”
You have to understand that he has never owned his own computer (until very recently I was informed). He is unfortunately not privileged to have high-end education, and only pops into the Cybercafe once in a while to “learn how to use the computer” for his university course – unrelated to computing. And of course, he’s 17.
Further probing found he had two blogs (here and here), knew some Windows command prompt commands, knew about SQL injection (uhhh – well…), knew about Linux and Ubuntu, and was quite familiar with the concept of ripping off HTML codes (or any client-side visible code really) to implement in his own fashion.
I’m sorry, but 99% of the people in my school don’t know about SQL injection. I would say 95% don’t know any command prompt commands of any sort (well, knowing `ping` or `ipconfig` doesn’t count), 80% don’t know how to rip and implement source code, 60% won’t know about Linux, let alone Ubuntu, and well – I guess only 50% don’t have a blog of some sort.
Talk to the average government school student and you would find those percentages skyrocket – except for the blog one maybe.
There is of course the chance that I have stumbled upon an irregularity but I do believe that this is a trend we are all underestimating.
Similar experiences, anyone?
Related posts:
Iain Buchanan
Australia
Artec USB DVB-T tuner card
I just purchased the Artec T14BR HD DVB-T TV tuner dongle for turning my old laptop into a MythTV box. It cost $46.90 including GST and postage from Deals Direct.I now have a High Def set top box, with 80Gb hard drive for (essentially) $46.90. And if I want to make it a twin tuner HD STB, it's just another $46.90.
Here is the picture of the box:

And here are all the contents (note, no aerial, but I knew that):

And finally a close up of the interesting stuff:

The dongle has a window on either side, presumable for the IR reciever in the middle somewhere.
Support for Linux is supposedly good (stay tuned, haha!). lsusb identifies it as "Bus 001 Device 025: ID 05d8:810f Ultima Electronics Corp." The syslog output when I plug it in looks like this:
usb 1-3: new high speed USB device using ehci_hcd and address 25This isn't "the" laptop, so I don't have any drivers installed for it, hence that's all for now.
usb 1-3: New USB device found, idVendor=05d8, idProduct=810f
usb 1-3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 1-3: Product: ART7070
usb 1-3: Manufacturer: Ultima
usb 1-3: SerialNumber: 001
usb 1-3: configuration #1 chosen from 1 choice
I'll let you know how it works.
Posts for Monday, July 27, 2009

Steve Dibb
USA
new planet larry design
Many thanks to David Molanphy, my brother-in-law, who designed a new theme for Planet Larry. I just pushed it live, and it's running on the new server. Personally, I think it's awesome.
I've taken the old theme, which was in a competition by itself to see how ugly things could get, and unceremoniously shot it behind a barn.
Installing an avr cross compiler in gentoo
One could think that this is as easy as
crossdev avr
but it is not, so i write here how I did it for future reference, and hopefully this will also be useful to other people.
The first problem is that it does not check compatibility between toolchain members (binutils, gcc, …). Understandably, this is somehow difficult, and i don’t blame crossdev. The second problem is that by default crossdev install headers, which are needed for libc, which is needed for gcc… and headers requires gcc… so you have a loop and if fails.
Finally, i needed the c++ part, and by default crossdev only go as far as stage 3 (plain C), so i’m asking him to go farther with ‘-s4′
Finally i did:
sudo crossdev --b 2.19.51.0.8 --g 4.4.1 --without-headers --target avr -s4
Posts for Sunday, July 26, 2009
Paludis 0.38.2 Released
Paludis 0.38.2 has been released:
- Failures installing qt-core on Gentoo have been fixed.


Brian Carper
USA
KDE 4.3 Looking Good
I just installed KDE 4.3 and it's looking good. Some features returned that I was missing. You can now once again display applications by name rather than description in the K-menu. You can now enable a nice kcontrol-like tree-view in the System Settings.
Some things are still missing though... like different wallpapers on different desktops. There are "Activities" which can have different wallpapers, but I can't for the life of me figure out how I'm supposed to be using them. I also lag and/or crash every time I Zoom Out in the cashew, possibly thanks to 3840x1200 screen resolution. I'm going to assume Activities are still a work-in-progress.
I was horrified to open Kopete and see that configuring the contact list window now uses the same completely broken configuration dialog that Amarok 2 uses for their playlist. Oh how I hope someone rethinks this.
There's a new Qt and Plasma theme in KDE 4.3 that looks pretty nice. Overall every release of KDE4 seems to become more stable, more polished, more eye-candy (if you want it).
Dion Moult
Malaysia
The Road to KDE Devland (Moult Edition) #0
Well then. I’ve been motivated by Hans Chen who originally decided to walk the path to a KDE developer and to do my own. For the technophobes, KDE is an actively developed desktop interface (for want of a better description) which is pushing ahead what the desktop is capable. It is also a community for everybody – the programmers, the artists, the PR folks and most importantly, the users.
Somebody once said that open-source will truly succeed when anybody and everybody will have the capability to create the environment around them completely as they see fit. I’m not denying that this’ll result in a lot of crappy environments (or not to my liking) but it basically says contribution shouldn’t be limited to those who mutter binary in their sleep.
I’m going to see if I am able to make this contribution. Let’s start by giving you the case study:
I do know PHP and do web-development. I have coded a black jack CLI game in C++ (well it was a start). I do graphics design and am proficient in The GIMP. I once touched Python but probably have forgotten a lot. I am a student and have no intention of going into programming as a career and have been self-taught. I have no deadlines, no clear goals nor any roadmap for this project, and am always juggling a variety of other projects on the side.
That, sounding quite like the commitment level proffered by most individuals seems like a vague and – well, truly realistic to be honest. I shall post my progress here with no fixed schedule and see how things go along
I’m thinking of starting by reading “Accelerated C++” – mainly because whoever thought up that title got the 100% keyword efficiency award for word estate. 2 buzzwords in 2 words. Eeeexceeelent.
No related posts.
Posts for Saturday, July 25, 2009
Best Skins Ever
Best Skins Ever is a great company that provides thin “skins” for all kinds of electronic devices. From cameras to portable gaming devices to cell phones to laptops, Best Skins Ever covers them all.
After my old iPhone case broke and I purchased a brand new iPhone 3GS, I decided that I needed to replace the broken case. I paid $30 for that case at the Apple store and it lasted about 6 months. I was extremely disappointed with its quality. The rubber around the headphone jack was what finally broke, but the rubber around the bottom bezel of the phone was also wearing thin. Overall, it was a bad experience.
And then I ran into Best Skins Ever. I read reviews for their skins and saw not even one negative review of their skins. I read that their skins were reasonably priced, their durability was great, and their customer service was exceptional. I even heard that people who botched their install received free replacements.
These skins are unlike ordinary skins. They contain an adhesive that sticks to your phone permanently, but does not damage the phone when removed. Any attempt to move the skin once it has dried will stretch the skin. Aside from the application process, these skins are perfect.
So I decided to obtain two of them. They had many different options on their iPhone page (which I don’t describe here); and I chose the hardest one to apply (but also the best one once applied). The skins are $7.99 a piece. Much cheaper than $30 for that bulky case that I bought at the Apple store! So I bought two just in case I messed up the first one.
The install process requires that you soak the skin with soapy water, so that you can adjust it as you place it on your device and so that you do not get fingerprints on the sticky side of the skin. Once the skin dries onto the phone, it sticks firmly; all dust and bubbles are permanently trapped in there. I went through the install, not really knowing what to do. Amazingly, I was able to install it about 90% perfectly on my first try. It took me about 5 minutes to put the front screen protector on (it even covers the home button!) and about an hour to situate the back skin. The reason it takes so long is that it wraps around the bezel, around the top SIM slot, and around the bottom charge port.
I ended up with some small bubbles and a bit of blue fuzz stuck behind the back of the phone, but that is no big deal; especially when compared to having no protection at all and ending up with tons of scratches. The screen protector is not as smooth as the plastic screen protectors and it causes a little extra glare at some angles. But the protection that the back receives is amazing. My phone is now thinner than it ever was with a case and it is much more comfortable to hold. It’s great that I can now see the phone in an almost case-less state.
I highly recommend purchasing a BSE for any device that you want minimal protection!
Pictures (although not the best) are located below. As you can see, my install is not perfect. I have some small bubbles (those are not scratches) on the bottom bezel. Also, some of the outer wrappings overlap.

Dan Ballard
Canada
More work on the Git tutorial
Ok, hopefully this will be the last mention of this for a bit. I've gone back and completely rewritten and expanded greatly on my old Git tutorial. It's still at the same place, Mindstab's Git Guide, just with a new name. It still needs lots more work and expanding, which will eventually happen, but probably not right now. As it is it's now good enough to let stand on its own while I get back to cl-pack. It has everything you need to set up a repository and get it on a server in one of many configurations. It just doesn't have a lot on longer term development and multi team management of multiple repositories and branches. Haha, I also recast it as an Alice and Bob story.
Importing a Git tree into a Subversion repository
Recently I worked on some new project, and as always I created a local Git repository as a start. After working on it several days, creating lots of commits, I had to publish it into the central Subversion repository (which is one of the VCSs we got). I could have done this by creating a new folder in SVN and add the latest version of all files of the project to it, but that way all history would be gone, which I didn’t like.
Git has a feature to work with SVN repositories, git-svn, but that’s intended to check out existing code from SVN and work on it, not publishing an existing Git tree into a Subversion repository.
A first rather naive approach didn’t work out (as somewhat expected), but then I figured out how to achieve this anyway.
As a test, let’s first create an empty SVN repository and a Git repository with some commits:
$ svnadmin create repo $ svn co file:///Users/nicolas/Temp/git_to_svn/repo svn_repo Checked out revision 0. $ cd svn_repo $ svn mkdir trunk tags branches A trunk A tags A branches $ svn commit -m "Create repository structure" Adding branches Adding tags Adding trunk Committed revision 1. $ cd .. $ mkdir project; cd project $ git init Initialized empty Git repository in /Users/nicolas/Temp/git_to_svn/project/.git/ $ echo "foo" > test.txt; git add test.txt; git commit -m "Initial version" master (root-commit) 88464cf] Initial version 1 files changed, 1 insertions(+), 0 deletions(-) create mode 100644 test.txt $ echo "bar" > test.txt; git commit test.txt -m "Second version" master cb62866] Second version 1 files changed, 1 insertions(+), 1 deletions(-)
We now can set up git-svn:
$ git svn init -s file:///Users/nicolas/Temp/git_to_svn/repo/ $ git svn fetch r1 = 741ab63aea786882eafd38dc74369e651f554c9c (trunk)
Depending on the layout of your SVN project, you might need to drop the -s parameter and add -t, -T or -b flags, see the git-svn manpage.
A little naive we could try to push everything to the SVN repository now:
$ git svn dcommit Unable to determine upstream SVN information from HEAD history. Perhaps the repository is empty. at /opt/local/libexec/git-core/git-svn line 439.
This fails since the git svn command can’t figure out which commits to push: there’s no link between our original Git repository and the Subversion heads.
To fix this, we can use a Git graft to link them. We’ll tell Git the commit which created the SVN folder in which we want to store the project is the parent commit of the first commit in our Git repository:
$ git show-ref trunk 741ab63aea786882eafd38dc74369e651f554c9c refs/remotes/trunk $ git log --pretty=oneline master | tail -n1 88464cfdf549a82b30ee7c52e53e2b310f0d9ec4 Initial version $ echo "88464cfdf549a82b30ee7c52e53e2b310f0d9ec4 741ab63aea786882eafd38dc74369e651f554c9c" >> .git/info/grafts
If now you execute git log, you’ll see the “Create repository structure” SVN commit is displayed after our “Initial version” commit.
Pushing to SVN now works fine:
$ git svn dcommit Committing to file:///Users/nicolas/Temp/git_to_svn/repo/trunk ... A test.txt Committed r2 A test.txt r2 = 8c72757dd3a7d550ed8ef393bb74c0350d22dbac (trunk) No changes between current HEAD and refs/remotes/trunk Resetting to the latest refs/remotes/trunk test.txt: locally modified M test.txt Committed r3 M test.txt r3 = ca0fc06d477bcd4dd5c6f6d2ae6d94356b510280 (trunk) No changes between current HEAD and refs/remotes/trunk Resetting to the latest refs/remotes/trunk
All set
Posts for Friday, July 24, 2009
Dion Moult
Malaysia
Tech tip #3: Rip audio from an .FLV file.
Well folks, here’s another quick tech tip that I use once in a while. How do you rip only the audio from an .FLV file? .FLV files, or Flash Video files are the format used in browser-embedded videos, common on video-sharing sites such as YouTube or Vimeo (and Eadrax!) For whatever reason if you have an .FLV file of your favourite music video, now you can get the music rocking solo.
mencoder a.flv -o a.mp3 -of rawaudio -oac mp3lame -lameopts cbr:br=192 -ovc copy
I’ll stay off tech tips for a while as the weekend is coming up.
Related posts:
- Tech tip #2: MPlayer play music recursively in a directory.
- Tech Tip: Speed up Firefox to use less CPU.

Daniel Robbins
USA
Ruby 1.9.1 and Diakonos
Tonight, I've gone ahead and done some work on dev-lang/ruby, and I've gotten ruby 1.9.1 into funtoo unstable. Along with the new ruby comes an updated eselect-ruby, and a transition from the "/usr/bin/ruby18" suffix to the "/usr/bin/ruby1.9" suffix (notice the dot.) It seems the dot is popular these days. And I also figured that python uses the dot, so why not ruby too? Seems worthwhile to be consistent.Posts for Wednesday, July 22, 2009
What’s Happened to EAPI 3?
EAPI 3 was effectively finished three months ago; some of you are no doubt wondering what happened to it and why there hasn’t been any news.
EAPI 3’s approval was conditional upon Portage support. This isn’t unreasonable, at least for main tree usage, although it’s arguably less relevant for overlays. Unfortunately, Portage is suffering from a severe lack of maintainers.
You can track Portage’s EAPI 3 implementation progress via Gentoo’s bugzilla. As you can see, some progress has been made, but it’s slow going, and hasn’t met the “we’ll be ready within a month” goal given at the Council meeting a month ago.
In the mean time, Paludis 0.38.0 has EAPI 3 support present but not enabled at install time (unlike Portage, we don’t hardcode EAPI numbers into the source, so supporting a feature doesn’t involve any kind of treatment for the EAPI that provides it). Anyone wishing to play with EAPI 3 support for personal use can just copy the EAPI 3 definition file from the source tree.
It’s a shame that Gentoo has to hold back on delivering a better user experience and making good ebuilds easier to write because of Portage. I’d like to encourage anyone who can handle Portage’s codebase to give Gentoo the help it so badly needs.
As for future EAPIs… The current Council has expressed an interest in handing off the EAPI approval process to a separate group. This is either good news if that group is going to put in the work necessary to get things done and deliver practical results, or terrible news if that group is going to perpetuate the worst habits of the previous Council.
Posted in eapi 3 Tagged: eapi 3, gentoo, pms
Dirk R. Gently
USA
Portage Management and the propensity to being lazay – plus updates
Got an oppurtunity to build Gentoo again on my server and this led to me building a new portage management script. Since I was at it I decided to update my Gentoo Quick Install and Clamshell iBook guides. The portage management script can be found on the Gentoo Linux Tidbits page.
Enjoy!

Dion Moult
Malaysia
Tech tip #2: MPlayer play music recursively in a directory.
I have always wondered how to do this. It’s quite often I have directories full of media files (specifically music) and subdirectories within them also with music files, and though the manual for MPlayer is thicker than the Chinese phonebook I have not been able to find any option for it.
I did however find a method which isn’t exactly the guru one-liner, but here it is anyway. It’s broken into two steps, the first to create a playlist:
find -maxdepth 1 -type f -name \*.\* > playlist
Then finally play the playlist:
mplayer -playlist playlist
Just add a -loop 0 suffix if you want to loop
Related posts:
- Tech tip #3: Rip audio from an .FLV file.
- Music Composition: Surprises
- Music Composition: The Spice of Life
Posts for Tuesday, July 21, 2009
Planet.exgentoo.org is gone
or is it? Turns out the answer is "sort of". [1]We originally (we being me and Alexander Færøy aka ahf) set up Planet Exgentoo when all former Gentoo developers was forcibly removed from Planet Larry despite most of them clearly being Gentoo users. As we thought many people would be interested in hearing the opinions of former developers as well as current developers and other users (those that had never been developers) we set up our own planet to cover the missing piece of the puzzle.
I had several good discussions with the owner of Planet Larry and we agreed on most things. Still it took quite a while before the former developers was added back to Planet Larry due to Steve being busy with other things. But when it finally happened we considered the case solved and let the planetexgentoo.org domain expire as there was no more use for it by then.
Everybody seemed happy at this point but it turns out that at least one person seemingly wasn't quite happy yet and he decided to register the exgentoo.org domain as soon as it became available. I don't think he wants to use it for anything other than prevent us from having it which is fine by me. As I've already said there's currently no need for Planet Exgentoo and if such a need should arise again (I don't think it will) we'll just register planetexgentoo.org instead. No harm done in other words except maybe for a little money wasted by a Gentoo developer.
[1] The exgentoo.org domain currently redirects to gentoo.org or some webmail system.
Posts for Monday, July 20, 2009
Andreas Aronsson
Sweden
Pop goes the drive...
For about a year now I have had a very annoying problem with my file server. One of the two Seagate drives simply disappeared from time to time. It was never the same one and I couldn't tell what pattern the disappearances followed. The system log looked something like:
Jul 11 18:55:02 hostname ata5.00: exception Emask 0x10 SAct 0x1 SErr 0x190002 action 0xe frozen
Jul 11 18:55:02 hostname ata5.00: edma_err_cause=00000020 pp_flags=00000003, SError=00180000
Jul 11 18:55:02 hostname ata5: SError: { RecovComm PHYRdyChg 10B8B Dispar }
Jul 11 18:55:02 hostname ata5.00: cmd 61/80:00:a9:47:55/00:00:1b:00:00/40 tag 0 ncq 65536 out
Jul 11 18:55:02 hostname res 40/00:00:a9:47:55/00:00:1b:00:00/40 Emask 0x10 (ATA bus error
At first I assumed that it was due to a faulty SATA controller on my motherboard. I found a PCI-e card that I could fit into my motherboard. It seemed to work just fine for a while, apart from the hassle with motherboard not being able to boot directly from it and being forced to use a noisy old IDE drive for storing grub and kernel to boot from.
After a month or so, one of the hard drives popped out again. Dang. This time I started trying to diagnose my Seagate discs. They have excellent diagnostic tools that runs under linux on their website. I even sent two of them back to seagate and got them refurbished.
After a couple of months or so again it was time to resync the RAID due to discs popping out. Man, I was frustrated with this by now. Since the only things left was cabling and PSU by now and I found this. I decided to go for a new PSU, I ripped out the old FSP and put in a new Corsair. Corsair really has become my favourite ones over time.
According to the info I found this problem should reappear during load. Since I've done a resync of the raid, have a couple of full backup jobs run and a bunch of my pictures uploaded to it, it really seems rock stable now =).
Microsoft to release Linux HyperV drivers as GPLv2
Looks like Microsoft releases the Linux drivers to enable a Linux kernel running as a guest in a Hyper-V hypervisor to run in ‘enlightened mode’, which sounds pretty much like Xen’s PV drivers for Windows, providing better IO performance, under the GPLv2 (which is the same open-source license as the Linux kernel itself). Quoting the Hyper-V Architecture and Feature Overview:
Enlightened I/O is a specialized virtualization-aware implementation of high level communication protocols (such as SCSI) that utilize the VMBus directly, bypassing any device emulation layer. This makes the communication more efficient but requires an enlightened guest that is hypervisor and VMBus aware.
The drivers seem to be developed by Novell, so I guess the Boycott Novell guys will have some more coverage^Wrants soon (Update: can’t find the reference on this anymore, so this might be a false statement, sorry. Thanks for pointing out RubenV)
Interesting times on the virtualization front… Although I for one do not plan to replace Xen, xVM or VirtualBox anytime soon.
Sources:
On a side note: Red Hat entered the Standard & Poor’s 500 index, which might show Linux is gaining more interest from enterprises and investors.
Kyle Brantley
USA
Google Chrome, and Things We Probably Should Not Do In A Browser
While I am no huge fan of Google Chrome, at least one aspect of it has seriously impressed me - the JavaScript engine.Over the summer, to help with the prevention of boredom, a friend and I sat down and decided to make a game. This game lives in the browser. He's writing the client (browser) side code, I'm writing the server side code.
And, like geeky college students, we are doing things that Probably Should Not Be Done In A Browser - 1024-bit RSA encryption (to the server) and signature verification (from the server). Used sparingly, this isn't a real issue... until you send status update requests to the server every second and a half, at which point it proves to be problematic. I'd imagine that this is at least partially because JavaScript has no native BigInteger implementation, which means that for a browser, you have to make one yourself... in JavaScript.
I've compared a few browsers side by side on my own machine with SunSpider, the javascript benchmarking suite. Firefox 3.5 with the JIT compiler enabled matches the Chrome engine in a lot of tests, beats it in others. Chrome, the same. It is generally a pretty equal test, with Chrome in general being a fair bit faster, but never to the point of me seeing it as a massive generational speed increase.
A bit of information:
- We're using the pure JavaScript RSA and BigInteger library from ohdave.com/rsa. I make no claims to the speed of efficiency, and I have no real benchmarks of just this library, either. We searched "rsa javascript" and went with the first link we found on Google. We have not investigated optimizing this, though we probably should.
- The actual requests and responses are pretty small - no more than 300 bytes after the initial data loading.
- These requests occur every 1.5 seconds, but we'll likely increase that down the road.
- The testing was done in a VM running a 64-bit copy Windows Vista. The VM host is an Intel i7 920 running qemu-kvm (or, it is a really fast VM, thanks to CPU virtualization extensions.).
- Browsers: Firefox 3.5.1 with the JIT compiler enabled; Google Chrome 2.0.172.37; Safari 4.0.2; all under Windows Vista - all being the latest version available. (I wish I could have tested Opera too, but it has a very very strange bug involving the RSA.)
- I'm going to say "99% CPU," "10% CPU," and so on. Task Manager splits the load percentage over every core on the machine, and the i7 has 8 that it detects. However, as stated, this was done in a VM, which I allocated a single CPU to. "99% CPU" is going to mean "hey this app just froze on me and took most of the OS with it."
As I said, we noticed... responsiveness issues. I went to investigate, when I realized that my copy of Firefox that wasn't within the VM was doing the same thing...
- Firefox jumps from 99% CPU 'down' to 65% CPU as reported by Vista's task manager. On occasion it hit 0, but only for very brief periods of time. The RAM usage was also fun to watch: over a period of many requests, it would mostly remain stable - only to jump by 80MB or more for several seconds, and then back down. This resulted in every three out of four keystrokes being lost, on average, never mind the huge memory churn.
- Safari sat there and looked at us funny.
- Chrome shocked my friend and I. Sure, we had heard that it was fast, and I had done a bit of reading on it. However, I was quite surprised when I saw that it was using a maximum of 10% CPU and roughly 18MB of RAM without any spikes in either. Wow.
Talk about optimization.
While Chrome may not have another user (I quite enjoy Firefox, and having tabs on top of the URL bar really bugs me), at a bare minimum it has seriously impressed me.
Posts for Sunday, July 19, 2009
Spring Cleaning (No, really)
I've got a bunch of stuff that I need to get rid of, both because it's taking up precious space, and because I'd rather have the cash right now. I've got the stuff listed on a few forums, but it's a tough crowd. I figured some friends or Linux folk might be interested in some of the hardware.
- Palit Radeon� HD 4870 Sonic Dual Edition (512MB) - Product Page
- Highpoint ROCKETRAID 2640X4 - Product Page
- HIGHPOINT ROCKETRAID 3510 - Product Page
Everything's Linux compatible, and I'm not looking for much for any these items ($100-200 a pop). If you have any interest, leave a comment below with a valid e-mail address. And don't worry, I'm the only one who can see the addresses.
Posts for Saturday, July 18, 2009
Plasma's CPU Usage
Honestly, KDE 4 is the best desktop I've used to date. It's still rough around a few edges, but perfectly usable. I've said all this before. Not much bothers me about the roughness except a few issues in Plasma that make it a pain at times.
After KDE has been running for a few days, Plasma will randomly go up to 100% CPU usage on one of my cores. Well, I have three other CPU cores to use, but while at 100% Plasma is unusable. Slightly annoying, no? I'm not sure what the issue is. A Google search reveals that other people are having similar issues, but there aren't many fixes if any.
I'm currently using 4.2.2, which isn't the newest in Gentoo's repository, but I don't see the necessity to upgrade to 4.2.4 when the 4.3 release is just around the corner by the end of this month. I'm hoping that fixes this issue.
Although I'm no KDE developer, I wonder whether Plasma is threaded or not? Might make a difference in this case...
Dirk R. Gently
USA
Backup Configurations with tar Helpers
When I want to do a reinstall, I backup my configurations and home folder and install from scratch. I do a bit of tinkering on my system but I know what I’m doing so I could do a full backup but have discovered that doing a clean reinstall is sometimes necesary. Here’s how I backup my configurations with a couple tar-helpers.
Basic tar Command
I’ve tried a good number of GUI programs to do this (you can read about them here), but really didn’t find one to my liking. There is Kbackup which I like alot but Kbackup doesn’t compress the full archive so I went back to tar and created a couple helper scripts. The basic tar command to backup is:
But this is kind of a pain to add files to. For me it involves su’ing to root and adding the file manually everytime I think of a file that needs added.
Exclude File
Backing up a large ‘/aplain/folder’ is easy enough to add but what if there are a few files/folders you don’t want in it? This is where adding an exclude file to tar becomes handy. An exclude file just contains the names of the files/folders seperated by a line. For example:
/home/*/.local/share/Trash/files
/home/*/.Trash
And yes it can be commented and use wildcards. To add this to the tar line it will be:
<backup-name>tgz /folder/file /aplain/folder
Adding File/Folders the Easy Way
Like I said you can manually add files/folders or you can use these couple helper scripts I created that make this alot easier. You can put the tar command in a script and put in command newline breaks (backslash key [\]):
tar –exclude-from=/<location-of>/exclude.txt -cvpzf \
<backup-name>.tgz \
/folder/file \
/aplain/folder \
Then with this script add a file/folder to it quickly from the command line:
# bca (backup-cfg-add) – add file/folders to the backup-cfg tar script
LASTLINE=`tail -n 1 /root/.bin/Backup/backup-cfg`
# Delete last line if empty
if [ "$LASTLINE" == "" ]; then
sed -i ‘/^*$/d’ /root/.bin/Backup/backup-cfg
fi
echo “`readlink -f $@` \\” >> /root/.bin/Backup/backup-cfg
Then type:
cd /etc
bca fstab
And they will be added to the backup-cfg script.
This can also be done for excludes:
# bea (backup-exclude-add) – add files to be exclude in backup
# Links will resolve full path
# Last line with space(s) in it will not be deleted
LASTLINE=`tail -n 1 /root/.bin/Backup/backup-cfg`
echo "`readlink -f $@`" >> /root/.bin/Backup/exclude.txt
Notes are a good idea to keep too:
# bcn (backup-cfg-notes) add notes to file in backup directory
# Author: Gen2ly
# Label computer, distro, type and date
PC=$HOSTNAME
DISTRO=gentoo
TYPE=configs
DATE=`date "+%F"`
# Where to backup
TARGET="/root/Backup"
NOTENAME="backup-notes.txt"
# Append note
echo "$PC-$DISTRO-$TYPE-$DATE - "$@"" >> $TARGET/$NOTENAME
The Backup Script
This is the complete (!files) backup script I use to backup my configs:
# backup-cfg – backup configurations with tar
# Author: Gen2ly
# Label computer, distro, type and date
PC=$HOSTNAME
DISTRO=gentoo
TYPE=configs
DATE=`date "+%F"`
# Where to backup
TARGET="/root/Backup"
# Do not include these (put in an exclude file)
EXCLUDE_FILE="/root/.bin/Backup/exclude.txt"
# Verify that the target directory exists.
if [ ! -d $TARGET ]; then
echo " Check: Backup directory does not exist, exiting."
exit 2; else
echo " Check: Backup directory exists."
fi
# Backup
tar –exclude-from=$EXCLUDE_FILE \
–exclude=$TARGET/$PC-* -cvpzf $TARGET/$PC-$DISTRO-$TYPE-$DATE.tar.gz \
o/

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

