Oct 022012
 

Recently I had the following issue with my Gmail app in my Android smartphone. Very suddenly  the Gmail app stopped synchronizing emails and instead presented only a black background screen with title “Waiting for sync” and message “Your email will appear shortly”.  At that point you realize that if your phone cannot sync emails and notify you then your data connection might not be as useful. After speaking with my  phone company and my phone manufacturer (four different people), and 3 factory resets nothing changed. The diagnosis was that my problem was caused by my gmail account and only  appeared in my Android. I could login to gmail through my web browser  in the phone or in my laptop without any problems whatsoever. The solution came from locating myself a post in the gmail forums. The next time the Gmail app crashed I  pressed “Report a bug” and added in the description my gmail address and the code “AGforum0905″. A few hours later the problem  was gone.

 Posted by at 2:13 pm
Oct 202009
 

I just released TopGen, a topology generator for users that want to evaluate internet modeling algorithms which include variants of Barabasi-Albert and FKP. The package also includes TopAnalysis, a graph analysis tool for a few common metrics.

Both tools were initially written in 2005 for my undergraduate thesis. TopGen was later extended to include more models. The release contains the latest versions.

 Posted by at 7:38 am
Oct 162009
 

Two weeks ago I had my screen at work upgraded to a  23″ Dell. I figured that I had to find a way to take advantage of the “screen real estate”.  After a bit of google searching I ended up choosing xmonad, a tiling window manager. I can see the difference a couple of days later: I have no more tens of windows opened in one taskbar. I’m using workspaces and all open windows are visible in each workspace. I’m using the mouse less than before since windows automatically place themselves on the screen and I can manipulate them with the keyboard
It wasn’t easy getting used to xmonad’s setup configuration. But once you understand what’s happening you realize the possibilities. Here is my configuration.

http://pastebin.com/f6cdbd667

Will explain a bit more when I find the time.

 Posted by at 1:45 am
Nov 162007
 

As I was looking for guitar related applications in Linux I found a game called “Frets on Fire” which seems to be the same as the Guitar Hero game (as seen from the recent Southpark episode). Pretty addictive even with the four initial songs available only. As easy to install as typing:
apt-get install fretsonfire fretsonfire-game fretsonfire-songs-sectoid

In the meantime, while trying to play .mid files I discovered that my soundcard lacks a hardware synthesizer and in Linux you have to install timidity, a virtual synthesizer:

apt-get install timidity freepats

After running the timidity service the command “aplaymidi -l” will show a list of available synthesizer ports. I’m still unable to have kguitar play though (a message about possible experimental importers shows up when I open .mid files).

 Posted by at 5:09 pm
Jul 092007
 

Captchas are widely used in the Internet to differentiate between humans and computer. The basic idea is to detect automated programs by using a simple challenge that supposedly any human would be able to respond and subsequentially deny service.

Recent research on this area is focusing on exploiting these “human cycles” for meaningful human computation. For example, Luis Von Ahn from CMU has developed games that, when played by humans, label images and objects inside (ESP and Peekaboom).

Recaptcha is another interesting project whose purpose is to help the process of digitizing old books. Every scanned image of a word not recognizable by OCR is used as a Captcha. To confirm the correctness of the human input every time a scanned image of a word is fed into the system it is combined with a known word. If the answer for the known word is correct then a correct answer is assumed for the unknown word too. The main website contains more detailed information. I downloaded their plugin for WordPress and I’m currently using Recaptcha to avoid receiving spam comments. I may have very few posts from third party but I receive hundreds of spam comments every month.

 Posted by at 7:16 am
Jul 052007
 

Citeseer contains a list with the estimated impact of publication venues in Computer Science up to 2003. The parameter that determines impact is the average citation rate over all articles in a given year. Self-citations do not count.

Microsoft Libra seems to be more up to date (at this moment until 2006) and with many more interactive features. It supports ranking papers/authors/conferences/journals. The fact that it does not normalize citations over all papers seems to give better rankings.

 Posted by at 8:51 pm
Jun 132007
 

The last 3-4 weeks I’ve been running Windows XP through Vmware using the free Vmplayer 2.0 package provided by Vmware itself. The exciting thing about this is that Windows are running directly from the physical partition on top of Linux. This may prove useful sometimes for applications/scenarios that definitely need Windows i.e. I still find some MS Office programs such as Visio, again given free from the University , extremely useful.

I followed the excellent guide at http://www.motin.eu/www/mirror/physvmware/ and everything went ok. The re-activation of Windows XP is necessary since the Vmware profile is significantly different from the standard hardware. Fortunately the network was operational so activation was completed online in a matter of seconds. Even though I have 2 processors and 1 GB of RAM, initially processes were running barely ok (mainly I/O and memory thrashing responsible for this). After configuring a couple of options in .vmx file I found myself running Windows within Linux without understanding the difference. Throughout the process it is implied that Vmware tools are already installed.

1st problem fixed – Jerky mouse. For some reason once I logged in and the Vmware service started running the mouse became jerky and sometimes it was jumping. I increased the sample rate up to 200 Hz without seeing a difference. In Vmplayer 1.0.3 stopping the service helped a little but it still did not feel comfortable. In Vmplayer 2.0 that did not help at all. These options fixed the problem.
vmmouse.present = “TRUE”
vmmouse.fileName = “auto detect”

2nd problem fixed – Heavy I/O -As I said before heavy I/O were taking lots of time i.e when an application was executed. Initially I set ide0:0.writeThrough = “TRUE” since writethrough is known to perform better than writeback under heavy load which was constantly observed in my case. That did not help as much (I can’t tell if there was a difference or not). The solution was to disable the creation of a named file (.vmem file).
mainMem.useNamedFile=”FALSE”
That turned out to boost my performance a lot since Vmplayer stored the memory in /tmp which I had set as a dynamic “tmpfs” partition
tmpfs /tmp tmpfs size=1000m,mode=1777 0 0
Therefore depending on my available memory parts of the data were stored directly in RAM. Eventually I set ide0:0.writeThrough = “FALSE” again.

3rd problem – Shared folders – I could see a “Shared Folders” item in the menu but the list of shared folders was disabled. After searching around I found I had to insert the following options in the .vmx file:
sharedFolder.option = “alwaysEnabled”
sharedFolder.maxNum = “1″
sharedFolder0.present = “TRUE”
sharedFolder0.enabled = “TRUE”
sharedFolder0.readAccess = “TRUE”
sharedFolder0.writeAccess = “TRUE”
sharedFolder0.hostPath = “/directorytoshare”
sharedFolder0.guestName = “public”
sharedFolder0.expiration = “never”

isolation.tools.hgfs.disable = “FALSE” is also needed although it can be configured from Vmware icon in the Windows taskbar.

I also find useful to enable copy/paste.
isolation.tools.copy.enable = “TRUE”
isolation.tools.paste.enabled = “TRUE”

Another optimization trick is to unload everything unnecessary i.e I don’t run antivirus neither firewall, I disabled more than 20 services and auto startup applications (msconfig is useful for that). Right now I’ve assigned around 300MB of RAM and when Windows start there are around 150MB free.

Finally even though Vmware runs fine in a Linux window it may be necessary sometimes to run Windows in fullscreen. That may be as easy as changing the resolution in Display or (for my case with a widescreen) inserting a new resolution for the Vmware display driver in the registry.

Vmware has done a fantastic job….I haven’t tried any of the other virtualization tools but what more than this can somebody ask…maybe 3D since I still have problems enabling the mks.enable3d option.

 Posted by at 3:21 am
Feb 032007
 

I bought a Dell laptop last month and as it happens with every new purchase I had to customize it to fit my needs. What else as I first step then installing Linux ? The laptop is a Dell E1405 fully packed with everything including Bluetooth. The first thing one has to determine is the distribution to be installed and in my case I also had to choose between 32 bits and 64 bits since the new laptop carries a Core 2 Duo. My previous laptop had 64-bit Gentoo installed and even though I was satisfied in hindsight I think that it was too much for a laptop to build everything from source (especially if you want to run Gentoo unstable to get the benefits of new packets as I wanted). I was also sick and tired running all these 32 bit libraries to accommodate for stuff not supported in 64 bit in Gentoo (a couple of months ago that included basic stuff like Openoffice). So I decided two changes: install Ubuntu in 32-bit mode. I basically wanted a Debian-based distribution and Ubuntu has become quite popular for its user friendliness. I liked the fact that it has a quick release cycle and knowing that Ubuntu’s community is large enough to find answers for any problems that may occur I decided to go for it. I download and burn the ISO image for Edgey Eft (6.10) reboot and run the installer. What a suprise..the graphics card (an Intel 945GM) is not recognized. As if that is not enough there was no text installer for Ubuntu on the same 700MB CD. In other words I should have downloaded another iso image for a text installer which was unacceptable if you ask me. I was wondering why doesn’t Ubuntu have something similar to Debian’s net installer 100MB iso image with a text installer. I reboot again to Windows (preinstalled by Dell) and burn Debian’s net installer (Etch/Testing). Ubuntu will have to wait for next time.

The installation finished smoothly except for the boot loader part and the partitioning part which needed some thinking. Dell had created all these partitions some of which I had to Google-search to learn what purpose they serve. 5GB were allocated for the windows recovery partition and 2GB for Mediadirect. I had never noticed until then that there is this button titled Mediadirect in the front of the laptop that allows you to turn on the laptop for video/audio playing only. A third partition hosted Windows Media Center 2005 and another partition some basic Dell utilities. I also read that I would better not erase the bootloader from this first partition (maybe inaccurate but I followed in any case). I got rid of the recovery partition. Why would Windows break down when you seldomly use them? I decided to keep the Mediadirect partition. But the bad think was that I couldn’t “move” this partition from the partitioner. Therefore I was left with a large hole of 5GB in the end of the partitionable space that I had to somehow make use of. I decided to make it a FAT32 transfer facilitating partition. To keep the existing Windows’ bootloader I do the usual trick which consists of copying the first 512 bytes from the partition I install grub and adding an entry inside boot.ini in Windows.

Everything seems to work now with some minor annoyances. I’m running the Debian stock kernel 2.6.18-3-686. Comments for each component/part follow.

Video Card – Intel 945GM
————————–
I use these options inside xorg.conf:

Section “Device”
Identifier “Intel Corporation Mobile 945GM”
Driver “i810″
Option “NoAccel” “false”
Option “DRI” “True”
Option “XVideo” “True”
Option “XvMCSurfaces” “7″
Option “PageFlip” “True”
Option “XAANoOffscreenPixmaps” “true”
EndSection

Section “Extensions”
Option “Composite” “Enable”
EndSection

I get by default AIGLX support which allows for Beryl to run without a hitch. I also had to install “915resolution” to get the 1440×900 resolution that my WXGA+ monitor supports. Beryl is incredible but unfortunately I’m not used to all these effects. I prefer simple stuff. KWin is more than enough for me for now.

Network Card and Modem
————————–
No problem for the Broadcom Ethernet card. I haven’t tried the modem yet (never needed up to now).

Wireless – Intel PRO/Wireless 3945a/g
————————–
I preferred this card over the default choice in Dell’s website (a Broadcomm Wireless Card) to stop using the ndiswrapper (since the bcm43xx driver is not stable yet). It has native Linux drivers but they are not as functional as other wireless cards. I needed to install “firmware-ipw3945″ and “ipw3945d”, a binary regulatory userspace daemon. Most of the times everything went ok but after hibernations (or suspensions) it sometimes became impossible to reactivate the wireless even when the kernel module was removed and reinserted (and the daemon restarted). The device refused to cooperate with some error message spit out in the kernel logs. Eventually I had to download the new microcode v1.14.2 (http://bughost.org/ipw3945/ucode/) which had just come out but not released through Debian’s package management. I first had to find out the version Debian provided which was not obvious at all (I found a bug report for that). Eventually I just compared file sizes of the microcode provided by Debian with another package which contained v1.13 and they matched. Therefore what I found was an update and it resolved my problems.

Sound – Integrated Audio Intel 82801GBM/GHM (ICH7 Family)
————————–
The kernel module needed is snd_hda_intel. This sound device behaves very strangely. By default I could hear sound from the external speakers but inserting headphones did not seem to mute the speakers.
The file /usr/share/doc/alsa-base/driver/ALSA-Configuration.txt.gz contains some useful information for the card. Right now it’s working well since I ‘ve added this line inside file /etc/modprobe.d/alsa-base :

options snd-hda-intel model=ref position_fix=0 single_cmd=1 index=0

The single_cmd=1 was added because the kernel was spitting out a message about that. I’m not sure about the position_fix variable which is set to auto. The important parameter here is model=ref taken from the file referenced above. I’m not sure whether it’s the right model but I tried other models suggested for Dell laptops without getting better results. The state of the sound card is the following : if I have headphones inserted in the jack when the alsa kernel modules are loaded then the sound is heard only from the headphones (removing them produces no sound from the external speakers). If there are no headphones inserted then the sound is heard from the external speakers only. The only solution I have for that : “/etc/init.d/alsa force-reload”. A problem, probably caused by the sound card, sometimes comes up when suspension or hibernation is attempted. If something is being played then any suspension attempts fail and the computer hangs. The mouse is working but no hard disk activity and no interaction possible. I have enabled the option PauseAudio in the hibernation package but still sometimes it may still hang (even though audio players are paused).

Keys in the front
————————–
Similar to here (http://gentoo-wiki.com/HARDWARE_Dell_Inspiron_E1405) I use xbindkeys:

file .xmodmap
*********
keycode 160 = XF86AudioMute
keycode 174 = XF86AudioLowerVolume
keycode 176 = XF86AudioRaiseVolume
keycode 162 = XF86AudioPause
keycode 144 = XF86AudioPrev
keycode 153 = XF86AudioNext
keycode 164 = XF86AudioStop

file .xbindkeysrc
*********
“amixer set Master 1-”
XF86AudioLowerVolume

“amixer set Master 1+”
XF86AudioRaiseVolume

“amixer set Master toggle”
XF86AudioMute

“amarok –play-pause”
XF86AudioPause

“amarok –previous”
XF86AudioPrev

“amarok –next”
XF86AudioNext

“amarok –stop”
XF86AudioStop

These commands need to be included in a script which autostars in every session:
xmodmap ~/.Xmodmap
ps -C xbindkeys > /dev/null && killall -9 xbindkeys
xbindkeys
xset r

Fan control
————————–
The kernel module i8k is needed. Modprobing it was not successful so I had to force its insertion “modprobe i8k force=1″. The package i8kutils contains userspace programs which are able to control the fan and some other stuff too.

Cpu
————————–
The kernel module “speedstep_centrino” needs to be inserted for daemons like “cpufrequtils” to autoregulate the cpufrequencies.

Bluetooth
————————–
Works fine. I haven’t tested it more than trying a connection to my mobile phone. I’d like to turn my mobile phone into a remote control whenever I find some time.

Hibernation/Suspension
————————–
As mentioned earlier I use the “hibernation” package which is configurabe enough to suit my needs. Both hibernation and suspend-to-ram are working (the latter is priceless). The file common.conf contains the following only :

*******
Verbosity 2
LogFile /var/log/hibernate.log
LogVerbosity 2
Distribution debian
Runi915resolution yes
LockKDE yes
PauseAudio yes
SwitchToTextMode yes
*******

Vbetool is not enabled but I remember falling into problems when I was trying out thing in the beginning. Also hibernation didn’t seem to work in the beginning until I set the line
“TryMethod sysfs-disk.conf” first inside file /etc/hibernate/disk.conf . In other words suspend2 seemed to cause problems and I replaced it with suspend from the vanilla kernel.

You might want to edit files /etc/acpi/events/sleepbtn and /etc/acpi/events/lm_lid to append the command “hibernate-ram” so that the machines does a suspend-to-ram when the “Stand by” button is pressed or when the lid is closed.

The majority of the times hibernations/suspensions don’t fail. But in some rare cases I am able to suspend the machine but when I get back in the KDE screensaver login screen the keyboard is not working. I can use the mouse and I can even click on the button which is supposed to create a new VT session but it then hangs. It feels like whatever is in memory can be executed but whatever has to be fetched just doesn’t work. I don’t know why that happens and I hope a newer kernel will fix it.

Debian
————————–
I currently have a Debian Testing/Unstable mixed system with packed coming from the testing distribution by default. This is done by adding the line
APT::Default-Release “testing”;
inside file /etc/apt/apt.conf and adding the appropriate unstable repositories (in addition to the testing repositories) inside file /etc/apt/sources.list :

deb http://linux.csua.berkeley.edu/debian/ testing main non-free contrib
deb-src http://linux.csua.berkeley.edu/debian/ testing main non-free contrib

deb http://linux.csua.berkeley.edu/debian/ unstable main non-free contrib
deb-src http://linux.csua.berkeley.edu/debian/ unstable main non-free contrib

deb http://security.debian.org/ testing/updates main non-free contrib
deb-src http://security.debian.org/ testing/updates main non-free contrib

I may also use these repositories for other stuff:

#Multimedia stuff
deb http://www.debian-multimedia.org testing main
deb http://www.debian-multimedia.org unstable main

#Beryl
deb http://download.tuxfamily.org/3v1deb debian-unstable beryl-svn

A very useful application I discovered was “knetworkmanager” which simplifies network connection establishments for mobile users. At first I used “Wireless Assistant Lan Manager” (for wireless connections) which was pretty quick but did not keep state of information and did not support a universal way of keeping connectivity (wired or wireless). Once I changed a file (I don’t remember right now which) related with wpa_supplicant then knetworkmanager became as fast too.

Some other application I tend to use a lot are:
krusader, klipper, mail-notification, gaim, yakuake, iceweasel (firefox), icedove (thunderbird), konqueror, kile, openoffice, akregator, gftp, amarok, k3b, kplayer, kpdf, anjuta, eclipse, kpowersave(version 7.1)

mail-notification is another incredibly useful application that I’d like to note if somebody is interested in getting updated instantly for incoming emails. I had to build a special version from source which has SSL enabled since the default binary package does not support (on purpose) that functionality.