Archive for June, 2009

Best Linux Notetaking Application

keepnote-logo

I know a lot of people out there like to take notes with Linux, and probably didn’t come across this program yet, as it look me a bit googling to find it again. The program is called KeepNote, and is a fantastic program for taking notes. I use it with Dropbox, and store all of my notes there and that way it is synchronized to all of my systems. The program itself is open source and free, and you can support it by making a donation on the homepage.

keepnote1-small

I really like KeepNote, and the ease at which I can drag and drop media to it. One thing I did set in preferences was to only autosave every few minutes, otherwise Dropbox is constantly being updated:

keepnote2

The top toolbar is well thought out and very intuitive for formatting. It also supports all of the standard keyboard shortcuts, such as CTRL-B for bold etc. If you are looking to try it out, the author has a .deb package on the homepage that installs no problem (Ubuntu Jaunty AMD64 here).

Tags: ,

Network Manager vs. ConnMan

You know, there are many different programs in Linux that do the same thing. Gnome vs. KDE. Gnote vs Tomboy etc. ConnMan is no different, and people saying they just need to work on Network Manager have absolutely no grasp of how things work.

Python threads

Frequently I need to launch sub processes from Python. Sometimes these processes don’t work as expected, and end up blocking the program. If you want to launch a command from python, and cut it off after a certain amount of time, I recommend the threading module.

Here is how to limit the command to running for roughly 5 seconds:

#!/usr/bin/env python
import commands
import datetime
import time
import threading

class runCommand(threading.Thread):
    def run(self):
        status, output = commands.getstatusoutput('sleep 8')

if __name__ == "__main__":
    startTime = datetime.datetime.now()
    maximumRunTime = datetime.timedelta(seconds = 5)
    mythread = runCommand()
    mythread.start()

    while 1:
        if mythread.isAlive():
            print "Thread has not returned yet..."
        else:
            print "Thread is all done."
            break

        if (datetime.datetime.now() - startTime) > maximumRunTime:
            print "Thread has ran too long, giving up."
            break

        time.sleep(1)

    print "Program done"

So when we enter main, I assign the current time to startTime. Then I define maximumRunTime as a difference of 5 seconds. The thread is started, and every second we check to see if it is still running. If it is, we go ahead and check how much real time has elapsed.

Tags: , ,

NCPFS

NCPFS each release generally is sent out completely not working until I fix it. If you have C experience, you can help me fix up this source. I have started a github.com project called ‘ncpfs-ng’. Here I will be committing my bug fixes. There are about 2 trillion compiler warnings that need to be addressed, so any help is welcome. If you are interested or have a patch, you can reach me at sharms at ubuntu dot com.

Immediate goal is fixing the package on 32-bit systems Jaunty and up, as GCC changed a lot since the Intrepid release, causing issues:
https://bugs.launchpad.net/ubuntu/+source/ncpfs/+bug/328020

My debdiff there does make it work for amd64, but i386 users still have no luck. Github page is at: http://github.com/sharms/ncpfs-ng/tree/master

Tags: , ,

Interesting Blogs

With respect to my last blog post, apparently everyone cares about boot speed :)

Blogs
My Google Reader has a ton of feeds, figure I would highlight some of the more interesting ones I have found:

Tags: , ,

Boot times: Does anyone actually care?

There is focus on Karmic to boot fast, 10 seconds or so. My question is, does anyone out there actually care about boot times?

My big LCD Vizio TV takes 10 seconds or so to turn on. I don’t complain. My Directv receiver box takes over a minute to configure it’s satellite access. My stove takes 5 minutes to preheat.

The point being, nobody sits there and just watches their computers boot. I don’t watch my dell mini 9 boot exclusively, I turn it on, and focus on something else like TV or whatever else I am doing at the time.

More to the point, who is rebooting and why? I think at this point in computers, people suspend, not shutdown. That’s what all of the Mac people do atleast.

I just hate to see people focusing on issues which don’t solve any fundamental problems that critics point out about Linux in general, and instead focus on the mundane.

Dell support etc

I recently purchased a Dell Mini, and at some point the battery stopped working. Dell Support was friendly, helpful and I got great services. If you want some Dell Mini pics:

dell1
dell2
dell3

I have had it for a month or two now, and I definitely like it. I am very excited to see the direction that the Moblin project is going in, as that is very cool technology.

Tags: , ,

Installing Groupwise 8 Client in Ubuntu Jaunty AMD64

  1. Download the Groupwise 8 Linux Client Tarball from Novell: http://download.novell.com/index.jsp
  2. Download Java 6 SE JRE: http://java.sun.com/javase/downloads/index.jsp
  3. Install prerequisite libraries: sudo apt-get install alien libstdc++5
  4. Extract archive downloaded from Novell: tar xvfz gw800_client_linux_en.tar.gz
  5. cd groupwise_8.0.0-84910_lnx_client_en
  6. sudo alien -i novell-groupwise-gwclient-8.0.0-84910.i586.rpm
  7. Extract Java 6 SE JRE: ./jre-6u14-linux-i586.bin
  8. sudo mv jre1.6.0_14 /opt/novell/groupwise/client/jre

Tags: , ,