Skype works at last

Ever since I installed Skype on my 64-bit Debian laptop, skype has behaved erratically, crashing like hell. I finally found the solution in the Linux Mint Community:

1) Install the 32-bit pulseaudio libraries

sudo apt-get install libasound2-plugins:i386

2) Edit the skype.desktop file to set the latency:

sudo sed -i 's/^Exec=.*/Exec=env PULSE_LATENCY_MSEC=30 skype %U/' /usr/share/applications/skype.desktop

Tada! No more crashes or distorted sound.

Posted in Uncategorized | Leave a comment

I won a chromebook

Yay!

I managed to win the competition in the last Embedded hacking event organized by foss-sthlm and Enea. I won a nice little Samsung ARM Chromebook.

Read all about it here:
http://daniel.haxx.se/blog/2013/06/03/embedded-hacking-contest-2/ (The rules and questions)

http://daniel.haxx.se/blog/2013/06/03/embedded-hacking-contest-2-decoded/ (The correct answers)


Posted in Uncategorized | Leave a comment

Mouse button mapping in Xorg.conf

I purchased a Logitech G400 mouse to temporarily replace my Logitech MX Anywhere mouse, which I forgot at home. I wanted to use the top button for pasting instead of the scroll wheel button, which I feel is too hard to press.

This command solves the problem, by swapping the functions of button 2 (the scrollwheel button) and 10 (the top button):

$ xmodmap -e "pointer = 1 10 3 4 5 6 7 8 9 2"

The trick is that I want it done automatically when I use the G400.

My Debian Wheezy installation didn’t have a xorg.conf file, but there is nowadays an option to put specific conf snippets in /etc/X11/xorg.conf.d/*.conf:

$ mkdir /etc/X11/xorg.conf.d
$ vi /etc/X11/xorg.conf.d/LogitechG400.conf

There are a few directives in the InputClass section that can match device attributes. I used MatchProduct and MatchIsPointer (to be safe). You can just as well use MatchUSBID, I guess. These are the contents of my /etc/X11/xorg.conf-d/LogitechG400.conf file:

Section "InputClass"
Identifier "evdev mouse"
MatchProduct "Logitech Gaming Mouse G400"
MatchIsPointer "true"
Option "ButtonMapping" "1 10 3 4 5 6 7 8 9 2"
EndSection

The ButtonMapping option swaps the function of button 2 (the scrollwheel button) and 10 (the top button).

Now I can paste using the top button with the G400 mouse.

 

Posted in Linux | Leave a comment

What is your privacy worth to you?

The Instagram service recently announced their changed Terms Of Service, causing a minor outrage among their users, since the new terms seem to allow for Instagram to use the user-supplied photos for advertising outside the Instagram site. Since they also added the right to not mark the advertising as such, they would basically be allowed to sell your photos without your explicit consent, or even knowledge. And without compensation, of course.

Since you are using Instagram, you are surely aware that the service is free of charge, and that it’s the advertisers that pay for the party. As the famous quote says, “If you are not paying for something, you are not the customer, you are the product being sold.” That should not come as a surprise for anyone.

This raises an interesting question. What is it worth to you? You like being able to share photos with your friends, and the Instagram service fits your bill exactly. Do you care if your pictures are being used by other companies in order to make money? Do you care if your pictures are being used in a totally different context, like advertising for online dating services? I can imagine most people don’t care that much, but I can also imagine that it hasn’t really occurred to them that it can happen.

I find it kind of amusing sometimes, that people can post all kinds of private information to a web service like Facebook and then say they care about privacy. However, it is still a matter of trust. They trust Facebook and Instagram that their information will not be used in other contexts than the service itself. I can imagine that most people take this for granted, not even reading the Terms Of Service before signing up.

So it all boils down to this: What is it worth to you? If you don’t mind your photos being used without your consent (and control), go ahead and use the service. But at least give it a thought.

Edit: Here [The Verge] is a less pessimistic analysis of the Instagram TOS. Still creepy, but not as doomsday panicky as others.

Posted in Uncategorized | Leave a comment

Reverse engineering and Rockbox

Here is my talk from the FOSS Stockholm event we held on October 20 2012.

It’s about reverse engineering in general, but specifically the iRiver H100 series of MP3 players. It’s in swedish, by the way.

Posted in Uncategorized | Tagged , | Leave a comment

DVD::rip not ripping your subtitles?

There is a longstanding bug in the DVD::rip package that prevents it from ripping the subtitles if you are ripping from a directory instead of a mounted DVD.

This patch works for me:

+++ Project.pm 2012-02-01 11:59:58.359790393 +0100
@@ -376,6 +376,11 @@
         = $self->get_mount_dir_from_mtab( $dvd_device, "/etc/mtab" )
         || $self->get_mount_dir_from_mtab( $dvd_device, "/etc/fstab" );

+    # If no mount point was found, assume that it is an image dir
+    if(!$dvd_mount_point) {
+        $dvd_mount_point = $dvd_device;
+    }
+
    return $dvd_mount_point;
 }

 

 

Posted in Linux | Leave a comment

Look like a true Haxx:er

Our new jacket looks good!

Posted in Uncategorized | Tagged | 2 Comments

Data partition shrinking on your HTC Desire?

It turns out that HTC logs application crash info in a file called /data/data/com.android.htcprofile/anr_history.txt. This file can get very big with time. You can safely delete it, reboot and enjoy the reclaimed data space.

Posted in Android | Leave a comment

Hacker shoes

ESD protection shoes for real hackers. At least according to the model number.

Posted in Fun | Leave a comment

convmvfs to the rescue

I had a hard drive with a huge amount of files that was previously connected to my old Linksys NSLU2. For some reason, all the filenames were encoded in the cp437 codepage, and when I mounted the ext3 volume on my Debian Linux box, the filenames were all messed up. I wanted to mirror the drive without changing anything on it, so I mounted it read-only.

How to solve the file name issue? Enter convmvfs. It is a nice filesystem-in-userspace hack that mirrors an entire file system while converting the file names from one system to another.

$ apt-get install fuse-convmvfs
$ mount /dev/sdb1 /mnt/hugedrive -o ro
$ mkdir /home/linus/myfsys
$ convmvfs /home/linus/myfsys -o srcdir=/mnt/hugedrive,icharset=cp437,ocharset=utf8

Tada! Now I could browse the entire converted filesystem in /home/linus/myfsys, and backup all the files with correct file names.

Posted in Linux | Leave a comment