Will's blog

purpose: Will Kahn-Greene's blog of Python, Linux, random content, PyBlosxom, Miro, and other projects mixed in there ad hoc, half-baked, and with a twist of lemon

[ home | blog home | recent activity | guestbook | plugins i'm using (19) ]

Fri, 05 Feb 2010

Thoughts on crowdsourcing development

Today I read You can't crowdsource software. The title sums up what it's about.

I've had this experience with Miro. We occassionally get patches from non-PCF people but most of the work is done by PCF developers. We've spent a lot of time and effort over the last few years on getting more code contributors and reducing the barriers to entry. We haven't had much success.

However, there's a lot of other "stuff" that goes into developing an application and the article only focuses on code. Some of this "stuff" can be successfully crowdsourced without a lot of effort. For example, Miro crowdsources all of our strings translation work through Launchpad.

I work on another project called PyBlosxom. We have a core group of developers (right now this is me) who do the bulk of the core code work. I do some plugin work, but the bulk of the plugin work is done by users of PyBlosxom many of whom have never touched the core code. For PyBlosxom, plugin development is crowdsourced.

The article suggests that it's a waste of time to help bring new contributors come up to speed and contribute because they often don't contribute much. That conclusion really concerns me. How can we get more people helping out if we're not working on getting people to help out?

Jono Bacon wrote an article titled Project Awesome Opportunity which talks about a few projects that are reducing the barriers to contributing and making it a lot easier. It's very Launchpad-centric, though.

OpenHatch is a startup working on building the next generation of contributors and connecting contributors to projects that need help. They're wrestling with how to effectively fix these problems, but without tying the fix to a project development silo (e.g. Launchpad, GitHub, ...). I think that's really important.

I think systems like these will reduce the effort in getting contributors and make it easier to crowdsource code contribution.

And if you, dear reader, are looking for a project to help out on that's written in Python and need someone to mentor you, let me know.

February 5th, 2010: I should clarify I think the article is fine. I don't think the conclusion that code contribution doesn't crowdsource well is poorly formed or anything like that. Just that the implications suck.

Fri, 02 Jan 2009

How to resize a virtual disk

I use VirtualBox OSE for virtualizing test environments for Miro development. I built a Windows XP vm a year ago and when I did it, I put it on a virtual disk that was 8 GB which turned out to be waaaay too small for my needs. It's non-trivial to build a Windows build environment for Miro so I really wanted to clone the partition to a new virtual disk that was a lot bigger, then resize the partition rather than create a new virtual disk and reinstall and set everything back up.

I pretty much did that this morning in a couple of hours.

First thing I did was download the LiveCD of Clonezilla (version 1.2.1-23) and the LiveCD of GParted (version 0.4.1-2).

Second thing I did was create a 25 GB virtual disk in VirtualBox.

Then I attached the new virtual disk to the winxp vm that I had. Thus it should show up as hdb.

I booted into the Clonezilla LiveCD, cloned the old virtual disk to the new one keeping the partition sizes the same and making sure to copy over the MBR, too.

I switched around the virtual disks attached to my winxp vm and booted into the new virtual disk--worked great!

I booted into the GParted LiveCD, launched qtparted and grew the NTFS partition so that it used the whole virtual disk.

Then I booted into the new virtual disk. It did an NTFS disk check on startup which I thought might indicate the process didn't work right. Disk check passed, Windows XP booted and everything worked as well as I expected it to.

Sat, 26 Apr 2008

Upgrading to MoinMoin 1.6

A couple of days ago, I did a dist-upgrade on my server which runs Debian. I'm not sure what version I had prior to the upgrade, but after the upgrade I'm at 1.6.2. The problem is that the wiki syntax is different, so my wiki data was mildly hosed. I ended up spending 45 minutes to an hour trying to figure out how to migrate the data.

The magic script is /usr/share/python-support/python-moinmoin/MoinMoin/script/moin.py . You need to run it like this:

$ ./moin.py --config-dir=/path/to/wikiconfig.py/dir/ migration data

The other problem I had is that I had no meta file in my data directory and so the moin.py script would die with a stack trace like this:

Traceback (most recent call last):
  File "./moin.py", line 24, in ?
    run()
  File "./moin.py", line 15, in run
    MoinScript().run(showtime=0)
  File "./../../MoinMoin/script/__init__.py", line 138, in run
    self.mainloop()
  File "./../../MoinMoin/script/__init__.py", line 251, in mainloop
    plugin_class(args[2:], self.options).run() # all starts again there
  File "./../../MoinMoin/script/__init__.py", line 138, in run
    self.mainloop()
  File "./../../MoinMoin/script/migration/data.py", line 44, in mainloop
    curr_rev = meta['data_format_revision']
  File "./../../MoinMoin/wikiutil.py", line 472, in __getitem__
    return dict.__getitem__(self, key)
KeyError: 'data_format_revision'

I assumed that I had some version of 1.5 previously and so I created a meta file with this in it:

data_format_revision: 01050800

After doing that, the moin.py script worked nicely and all my wiki data is in the correct syntax now.

Updated: 4/26/2008 - Fixed some grammar to make the meta file creation step clearer.

Sat, 19 Apr 2008

Hardy tips for resolution fixing when using it in a VirtualBox vm

I'm trying to get Ubuntu Hardy support for Miro. I installed Hardy Beta 1 in a virtual machine with VirtualBox. The install went fine. I had problems fixing the resolution, though.

Hardy starts off with an 800x600 resolution which is too small to run Miro. To fix it, you have to:

  1. run sudo displayconfig-gtk from a terminal
  2. click on the dropdown for models and choose LCD Panel 1024x768
  3. click on the Test button to make sure it works
  4. click on the OK button to apply that one change
  5. log off
  6. log on again

DON'T change the monitor AND the resolution of the screen at the same time. If you do that, you see no errors, no changes get made, and you'll spend a while scratching your head wondering what happened.

If all went well, you should see the resolution you were looking for.

Note that since Ubuntu Hardy is beta software, this could all change tomorrow.

Updated: 4/19/2008 - It looks like they took displayconfig-gtk out of the menus in the Hardy release candidate so I updated the instructions above.

Thu, 13 Dec 2007

Pretending to add new files with cvs

I was throwing together a patch for Firefox 3 and needed to add some files to CVS but I don't have add privs. If I don't add the files, then they don't show up in the diff. After a Google search, I bumped into fakeadd which tweaks the Entries file so that the new files show up in the diff. No clue if that's a good thing, but it certainly fixes the problem I was having.

Sat, 03 Nov 2007

Galcon in Gutsy

I had to install the following on a fresh Gutsy install to get Galcon working:

sudo apt-get install python2.4 libsdl-ttf2.0-0 libsdl-mixer1.2 \
    libsdl-image1.2

Figured I'd mention it here. I don't have a Galcon Forums account and don't really feel like creating one. If someone else has a Forums account, post the above in case other Gutsy-users are having problems.

Sun, 30 Sep 2007

MozRepl

I've been doing Firefox extension development and it's been going pretty slowly because it's hard for me to figure out what's going on when things are running (and I'm not wildly familiar with the things I'm working with).

After whining about how I wish there was a REPL for JavaScript, I did a Google search and came across MozRepl. It's helping a lot so far. I'm not spending hours hunting for object documentation anymore.

On an interesting note, you connect to MozRepl with telnet and it has a line-mode interface. Turns out that Lyntin (a mud client I worked on years ago) works fantastically for this. I would assume most mud clients would because at heart they're line-mode telnet clients with a bunch of features designed to remove repetition in common tasks and make it easier to skim large amounts of output quickly without having to read through all of it.

For example, say I was interested in skimming changes for the title attribute. I could do this:

#highlight {reverse,green} {title=*}

That will highlight lines with "title" in them from "title" onwards.

Wed, 29 Aug 2007

Better Gmail plugin

I read on Voidspace about Better Gmail and figured I'd give it a try. It fixes one of the things I dislike about Gmail: lack of fixed width font on messages. I've gotten used to or around the other things I'm not wildly excited about, but lack of fixed width font when viewing messages is such a pain in the ass. Bugzilla emails come in and they're all screwy, emails from my stock broker come in and they're all screwy, emails from other people that involve text-based tables... they're all screwy, too.

Anyhow, Better Gmail has a Fixed Font option and it's awesome. I don't understand why the Gmail folks haven't added a fixed width font option to Gmail yet.

Home improvement projects

Since I got married and since we decided to stay in the current apartment for another year, I've been involved in a bunch of home improvement projects to neaten things up, clean some stuff out, re-organize, and build some furniture to make better use of space. I've finished a set of shelves to replace one of the desks I had. I'm in the process of building a small set of shelves to go above the counter to use some vertical space in the kitchen for storage. I'm thinking about building another set of shelves.

My brother-in-law uses Google Sketchup to do his drafting. I had a look at it a couple of days ago and what he's done with it and it's pretty wild. My problem, however, is that I'm running on Linux and I have a preference towards Free Software and Open Source. Partially because I'd like to share my plans with other people in non-proprietary formats and partially because I stand a better chance of fixing things when they go wrong.

Does anyone know of 3-d modeling/drafting/basic CAD software similar to Sketchup that works in Linux?

As a side note, it turns out I have the same estimation problems with home improvement projects that I have with programming projects. Irritating.

Fri, 24 Aug 2007

Migrating tickets in Trac to bugs in Bugzilla

I spent a large portion of the last few weeks at PCF building a migration script to migrate tickets from our Trac instance to bugs in our Bugzilla instance.

I started writing SQL scripts, but then it got too hairy because there are a bunch of Trac ticket fields that have no constraints and translating them to Bugzilla equivalents required mappings and temp tables ... I abandoned that approach pretty quickly and wrote the migration script in Python.

The outcome of the migration is pretty decent. We've spent time fixing the data in Bugzilla after the migration, but I don't think there's a way to do a perfect migration because of the nature of the two bug systems.

I thought the project was interesting and mentioned it to a few people. The most common thing people respond with when hearing I was working on migrating our bug data from Trac to Bugzilla is, "What??? WHY?!?!" and their eyes would open wide with shock. I think Bugzilla has an undeserved bad rap.

The scripts are here (participatoryculture.org) if anyone else with similar plans is looking for them.

As a side note, the Python Database API specification PEP is fantastic--anyone who contributed to it should get a gold star.

Wed, 20 Jun 2007

Using exiftool and Python to fix photos (edit: to order them)

S and I decided to get a wedding photographer in addition to allowing our guests to take as many photos as they wanted of all aspects of our wedding (except when we were getting dressed [and ... undressed]). There were a few reasons for this one of which being the several horror stories we've heard about people's digital media dying causing them to lose all pictures of their wedding. Ick.

The problem is that there are a fajillion pictures and it's really hard to order them into a single consistent timeline. The wedding photographer we had1 had four cameras and took some 800 pictures. My dad took another 100 or so. Other people took a bunch, too. Right now I'm working with 1200+ pictures all of which are pretty big (between 5 MB and 10 MB each). It's not feasible to tweak them all by hand to order them. I didn't want to leave them unordered--my soul shudders at that thought. I needed a way to do batch processing to reorder pictures from a bunch of cameras into a nice timeline.

More after the break...

Read more...

Wed, 04 Apr 2007

Mugshot: disabling notifications of my events

I decided that it's silly for Mugshot to notify me with notification balloon things of what I'm doing given that I already know what I'm doing because I'm the one doing it[1]. I thought about this for a bit and I can understand why other people might want to be notified of the things they're doing if only because it allows you to quip and other social-connection things. However, when I'm flipping through tracks in Rhythmbox to find something that fits my mood, I get a bunch of notifications and it's kind of silly.

I signed up for a Mugshot bugzilla account and was all ready to submit a bug detailing how while it's nice for Mugshot to tell me what I'm doing, I'd rather it didn't. As I'm writing up the bug report, it occurs to me that I might be able to disable it. I clicked on the Mugshot face, clicked on the filter button, and discovered I can filter out notifications of my events.

That's what I did instead of working on the LaTeX markup for a table mapping XML Schema terms/ideas to Demeter class dictionary terms/ideas.

[1] - If I don't know what I'm doing, then I probably have other more pressing problems to deal with.

Fri, 08 Dec 2006

Deleting tickets in Trac

I'm having problems with spam in my Trac instance which keeps track of my PyBlosxom plugins. It's ... irritating. Anyhow, now that classes are almost over, I decided to poke around and figure out how to delete them rather than mark them as "invalid". Turns out it's really easy:

trac-admin [project-dir] ticket remove [ticket-number]

Thu, 16 Nov 2006

Apache not serving static files correctly?

I innocently did an apt-get dist-upgrade today and suddenly Apache wouldn't serve any static files, but anything generated by CGI scripts worked super! Apache would send the headers for static files complete with a Content-Length correctly but wouldn't send any data in the HTTP response (even for an HTTP 200).

I spent hours trying to figure out what was going on under the assumption that I did a bad upgrade. I skimmed documentation, made sure my conf files were ok, did dozens of Google searches and then finally gave up and walked away for a couple of hours.

Long story short I finally hit gold with the right mantra of search terms and bumped into the EnableSendFile directive. I added:

EnableSendFile Off

to my Apache conf file and it works fine now.

I mention it in case someone else does a dist-upgrade with Debian testing on or around November 15th, 2006 and discovers themselves in the same boat.

Thu, 24 Aug 2006

Photo managing

I moved a bunch of photos from my laptop (running Windows XP) to my desktop (running Ubuntu 06.06) and then slurped a bunch of photos from Shutterfly (using a painfully monotonous and guified method) only to discover that the photos I slurped from Shutterfly don't have timestamps of when the photo was taken in the EXIF headers. That's what I get for slurping.

I've never really used F-Spot much but I know the version number is at 0.1.11 or something like that so I figured it'd be pretty bereft of helpful features. Much to my surprise, I discovered that I can adjust the timestamp on each photo. Not only that, but I can select a bunch of photos and adjust the timestamp on all of them at the same time.

I spend the next few hours fiddling with photos and getting them into a decent state with descriptions and all that and then export them to a folder.

There isn't much of a thesis statement to this blog entry. For the most part this entry is a long-winded explanation for how happy I was to discover I can fix the timestamps on a bunch of photos at the same time using a piece of software that says it's version 0.1.11.

Thu, 13 Jul 2006

SPF and Exim in Debian

Turns out the Debian packager doesn't enable SPF in the exim4-daemon-heavy package. But it took me a couple of hours to figure that out. I ended up implementing SPF using the libmail-spf-query-perl package by adding the following rule to my rcpt acl just before greylist stuff:

  accept
    message     = [SPF] $sender_host_address is not allowed to send mail \
                  from $sender_address_domain.
    log_message = SPF check failed.
    set acl_m9  = -ipv4=$sender_host_address \
                  -sender=$sender_address \
                  -helo=$sender_helo_name
    set acl_m9  = ${run{/usr/bin/spfquery $acl_m9}}
    condition   = ${if eq {$runrc}{0}{true}{false}}

The exit codes for spfquery are in the spfquery file (it's a Perl script) and the code for "pass" is 0. So (in theory) this will accept any email that passes the SPF check. Any email that fails the SPF check will go through greylistd. I think that does what I want it to do.

Incidentally, I found the above code (though I inverted the check) here at The Linux Documentation Project.

Tue, 02 May 2006

PuTTYcyg

Mark Edgar's PuTTYcyg patch is awesome. I've always had difficulties with the Cygwin console and using PuTTYcyg makes me a happy man. Definitely worth looking at if the Cygwin console issues (resize issues, fonts, copy/paste issues, ...) make life irritating.

Sat, 08 Apr 2006

New Google Talk

There's a new Google Talk version; they added pictures and some other stuff. But in doing that they changed it so that it whacks all indentation. So copy and pasting code snippets to people doesn't work as well becase all the preceeding white space in each line is removed. That makes it infinitely less useful for me and pretty irksome.

Fri, 17 Mar 2006

Gobby - collaborative editing and group projects

I have two classes this semester both of which involve group projects. Since the members of my groups are spread out across the MassBay area and we all have very different schedules, it's been hard to come together in one central place to do group work and have meetings and such. No one else in the group has done any open source or decentralized development, so that's adding to the complexities. On top of that, we've got a couple of different operating systems involved.

We started doing meetings and document-editing together using Gobby. It has some minor syntax highlighting that helps, but more importantly, it allows us to talk using an irc-like pane on the bottom while editing a series of documents together in real time.

One of the problems I'm having with it is that I want to add Scheme syntax highlighting (not that there's much in the way of "syntax" in Scheme). I can't figure out where it would go, though. It's either handled by one of the libraries that Gobby uses or it's somewhere in the code and I just haven't found it yet.

The other problem I'm having is that it only allows you to edit text-based documents. I do realize that anything else would be wildly difficult. Still, it'd be nice to be able to "share" other artifacts other than text-based documents even if we couldn't all edit them. Right now we're iterating over other files by checking them into CVS and doing CVS update and also just sending things around by email.

Anyhow, it's definitely been really useful.

Tue, 14 Mar 2006

Greylisting and whitehosts-list

Gah... For some reason, I've got two whitehosts-list files on my system. One in /etc/greylist/ and the other in /var/lib/greylist/ .

It's also interesting to note that the greylistd doesn't look at either file, the files are used by rules in the Exim configuration. So when I added the gmail items (64.233) to whitehosts-list and then tried to check it with greylist check --grey ... I was using the wrong checking tool. Whoops! 30 minutes down the drain!

Anyhow, once I discovered that whitehosts-list is in the Exim configuration files (and I should have realized that because I put it there) and not checked by greylistd, I discovered that the Exim configuration files check both copies of whitehosts-list. There's likely a good reason for that. Probably even my fault to begin with. Something to look into when I have some spare cycles and feel like pouring through Exim configuration, Debian policy for directories and configuration files, and all the other pieces in between.

Sat, 11 Mar 2006

greylisting and gmail

I have greylistd installed (on Debian with exim) and noticed last monday (March 6th) that Google has something like 26 outgoing SMTP servers for gmail. That doesn't work well with greylistd, though. So I added "64.233" to the whitehosts list. Not sure if that's the right thing to do or not, though. I'm not wildly excited about adding items to the whitehosts list.

Thu, 12 Jan 2006

ReleaseForge

I've already done a blog entry on ReleaseForge, but I just used it again and it's really fantastic. I sure makes releasing things on SourceForge _so_ much easier to do--I highly recommend it.

ReleaseForge project web-site

Sat, 17 Dec 2005

Bee Careful, Marvin!

S and I wrote a children's book a year or so ago and only recently finished making needed revisions and self-publishing it on Lulu.com. We ordered a few copies to make sure it looked good in print and they showed up today and they're fantastic!

The book was created using Open Source tools The Gimp and Scribus. The book is released under a Creative Commons license (by-nc-sa 2.0). We decided not to collect royalties, so the price of the book is solely Lulu's publishing costs.

The book isn't perfect--there are some color issues I'm puzzled about. It's our first book, though, and we're really excited--this is a wonderful moment for both of us.

Our Lulu storefront.

Sun, 13 Nov 2005

movies from Canon Powershot S230 to CD for my DVD player

This is more for my notes. I figured if I post it here, then I've got it written down in a place I can find again some day.

I have a Canon Powershot S230 and it records video in some format that has a .AVI extension and I think it's Motion JPEG or something like that (I have no idea what I'm talking about in terms of video formats/codecs/whatever).

Kino doesn't like the format, though. So I need to use ffmpeg to convert the files to a format that Kino does like:

ffmpeg -i _file_name_ -target ntsc-dv file_name_.dv

Kino seems totally kosher with that. No clue why or how--I figured it out by trial and error.

Then I insert all the .dv files I want in a given "movie" into Kino. After doing some fiddling around, I Export, click on the DV Pipe tab, make sure the frame of: dropdown thingy is set to All, write the file name in, make sure the tool is set to FFMPEG VCD Export and then click on the Export button. That creates a file that's in a format that I can record to a cd as a data file and it plays magically on my Philips DVD player.

Fri, 19 Aug 2005

backups et al

I finally got around to re-doing the backup system on bluesock.org. I'm using arnie this time around. Previously, I was just rolling tarballs of things. arnie allows for incremental backups and it handles some more of the minor inconveniences that I had with my did-it-myself system.

Anyhow, so I decide that my backup script with arnie is working nicely and that I should remove all the test backups I've done so far. Inadvertently, I remove one of the directories that I'm backing up. DOH!

So I got to experience first-hand how difficult it would be to restore from backup. It went pretty smoothly and did what I expected it to do.

This reminds me of a similar situation from a couple of days ago. I had this 8x12 foot carpet in my car and I'm driving up to Chelmsford to deliver it to S's church. I decide it's hot so I roll down the driver-side and passenger-side front windows. After a few minutes, I decide I can't hear the radio, so I'd do AC instead. I roll up the driver-side front window without any problems, but the passenger-side front window just makes clicking noises--it doesn't go up. Ah well, I think to myself--I'll look at it when I'm not driving.

I get off the highway in Chelmsford and pull into a Dunkin Donuts parking lot. I have ... I think you'd call it automatic windows--they're electrically powered--so I leave the key in the ignition so I can power the window up and down. I wander over to the passenger-side front window, open the door, try the button, hear the clicky noises, and then stick my fingers into the door and pull the window up manually. That works out well and the window has enough friction to stay up as long as I don't touch the up/down button.

Smiling, I shut the door. Then I wander over to the driver-side to get my key out of the ignition and discover... that my car has locked itself!

So there I am in Chelmsford with my keys in the ignition and my car locked. I feel really stupid now--a radical contrast to the incredibly smart feeling I was just feeling after doing something incredibly smart. Then it occurs to me that my window is broken so I wander back to the passenger-side, manually pull down the window, grab my keys from the inside, stick my fingers in the door and pull the window back up again.

Then I decided to try a local mechanic rather than the VW dealership in Brighton who, while they have free coffee and they seem very professional about things, tends to be expensive and far away and irritating to schedule appointments with. I looked at the CarTalk web-site and found a well-rated mechanic a mile and a half from me, called them up, and had the window fixed the next day. I thought they added the total up wrong because it was impossibly low--but it turns out they're just cheaper.

Right. So backups are good and we have backups again.

Fri, 03 Jun 2005

"Why I Hate Advocacy"

I discovered "Why I hate Advocacy" from jgoerzen.

I encounter this regularly when talking about operating systems, programming languages, text editors, and even non-technical things like car manufacturers, methods for making coffee, types of beer, music, politics, .... I never connected it with a "want to be part of the tribe" behavior. I wonder if this behavior is something that's relatively recent or dates back to primitive man. Regardless, it makes it difficult to discuss things in a rational, objective manner to understand what's really going on and the nuances involved.

Also on jgoerzen's blog entry is a link to "Why smart people defend bad ideas". Reading the two essays back to back was really funky.

Sun, 29 May 2005

Choppy video

I have a Canon PowerShot S230 Digital Elph camera which has the almighty power to record video in some encoding with AVI format. Playing these videos works fine under Windows XP with Windows Media Player. However, I had a heck of a time trying to get it to work with either MPlayer (as it's distributed by Ubuntu Hoary) or Totem (as it's distributed by Ubuntu Hoary). With MPlayer, I'd get some incomprehensible error, then MPlayer would tell me to re-compile with the debugging information and try it again, then die. Totem (the one with the gstreamer backend) would play it, but it'd be really weird and choppy.

As a side note, in case this is useful to anyone, I have a system with an AMD64-3200+, 1 GB of RAM, and various other exciting quantities of exciting things running a mostly stock Ubuntu 05.04 though I am pulling packages out of the universe. This wouldn't be much of an issue given that I've got a machine running Windows XP with Windows Media Player except that I'm switching my world over to run exclusively on GNU/Linux and Open Source applications.

So armed with my observations, I did some poking around to at least get a handle on what the pieces involved were. After 15 minutes of googling, I found nothing that seemed to help. However, I did discover that there's a version of Totem with a xine backend in the Ubuntu repositories. So on a whim, I switched from the gstreamer Totem to the xine one.

Now the video works fine. I figured I'd post this even though the details I've written down couldn't be any less defined.

Sat, 07 May 2005

Release Forge

I've been doing SourceForge releases for years and it's kind of a pain in the ass and I've always dreaded the two or three hours it takes to get all the pieces in line and do a release.

Steven Armstrong mentioned using ReleaseForge which makes half of that process _so_ much easier to deal with. I highly recommend it to anyone in the same boat I'm in.

Wed, 23 Mar 2005

mod_rewrite

I decided to learn a lot more about mod_rewrite last night and I implemented a few rules that will surprise folks who source images from my site.

If you want to source images from my site, ask me first. My email address is on my site. There are various other ways to contact me that aren't hard to figure out.

I hadn't up until this point set the policy in stone, but now I have and that's the way it is.

Wed, 08 Dec 2004

Screen

screen is trippy. My friend says this is what you need to know about screen:

  1. $ screen
  2. $ (launch something)
  3. ctrl-a ctrl-d
  4. $ (do something else)
  5. $ screen -x

Wed, 17 Nov 2004

Netbeans

At work my dev environment consists of bash, vim, ant, jdk 1.3, vss, and a couple dozen bash aliases, bash scripts and python scripts. I spend most of the day in and out of vim sessions debugging various things.

Every 6 months or so I try to switch to Emacs full-time, but I need all the pieces to be there in order to switch and I don't have a lot of time at work to figure it out, practice and get used to a new dev environment. Thus for the last 3-4 years, I've been hanging onto vim, bash, ant, jdk 1.3, vss and tweaking my scripts to make the process as smooth as possible. There are parts that work really well and parts that suck. Debugging sucks.

I figured I'd check out Eclipse and Netbeans. I spent 30 minutes trying to figure out how to download Eclipse and set it up on Windows XP and got no where. I'm not really sure how so many people can use it--it's really difficult to get started. I spent an hour trying to get Netbeans to work with jdk 1.4.2 while compiling our stuff with jdk 1.3 and without stomping on the version of Java that runs applets in Internet Explorer. That sucked and could have been a _lot_ easier.

After that, Netbeans seems to work pretty well. I'm running 4.0 beta 2. I bump into NullPointerExceptions regularly, but Netbeans seems to recover from them pretty well without me having to restart. It's decent. I fixed my first bug today with the "new dev environment". It's already faster to iterate between the steps of the analyze, fix, test cycle than it was before. I've also caught a few bugs I didn't know about which have been there for a long time all quiet and hidden away.

I still want to switch to Emacs, but it'll have to wait until I have more free time to make it work.

Wed, 10 Nov 2004

Konfabulator

I knew folks who had Konfabulator installed on their OSX-based machines and enjoyed it thoroughly. I'm not going to wax philosophical on how pretty it is and all that total hooey, but it is pretty useful and does give me the ability to build information-yielding widgets that Windows otherwise doesn't have.

Right now I'm using the weather widget and the todo item widget (both ship with Konfabulator) and I stick them on my other monitor (I'm running a dual-monitor setup at work). I can glance over and see my email client, the quick todo list, and the weather outside all on one screen.

It's been really useful so far. I'm tossing around adding stock tickers, but mostly that would just stress me out. I should add a calendar widget that queries my server (where I store all my calendar information). That would be super useful.

Anyhow, it's worth looking at if you need more information at your fingertips and can spare the screen real-estate.

Wed, 22 Sep 2004

Volume

I'm playing music in Winamp and the volume is too loud. It's at this point that I realize I'm going to have to find the fifty places that control volume on my machine. They are:

  • Winamp - has a volume slide thingy
  • Windows - has a volume slide thingy for "Wave"
  • Windows - has a volume slide thingy for "Main"
  • my laptop - has a master volume which is adjusted by the Fn and VolUp and VolDn keys
  • my headphones - has a volume thingy between the headphone jack and the headphones

There seem to be a lot of things in computing and life that are like this.

Thu, 16 Sep 2004

removing blank lines in vim

   :g/^$/d

From tip 372. I keep forgetting how to do this so I'm writing it down.

Tue, 14 Sep 2004

Thunderbird 0.8

I just upgraded at work to Thunderbird 0.8. After playing with it for a bit (especially the RSS feeds feature), I decided I really like it a lot! Yay for the Mozilla team!

Thu, 17 Jun 2004

Firefox and Thunderbird

I just switched up to Firefox 0.9 and Thunderbird 0.7 and they're really fantastic. I highly encourage switching to Firefox especially.

I keep reading articles about how people should dump Internet Explorer (article 1, article 2, article 3, article 4, ...) and while they all talk about features, defects, bugs, standards support, petty ui issues, and things of that nature, most of them miss the fact that there are still a lot of sites out there that require IE and don't work at all in any of the Gecko-based browsers. Amongst these sites are banks, financial institutions, online stores, and corporate web-sites. While I highly encourage people to make the jump to Firefox, I do understand if you can't because some of the sites you need to access day to day totally suck.

Fri, 14 May 2004

Handling connection reset issues with bitchx

I'm testing out bitchx at work on my other latop which I ignore in the back of my monstrously large cube. The problem is that I'll ignore it for an hour and then go back to discover that I've had my connection reset like 60 times and I can't see any of the conversation at all.

I think the problem is that the router between me and the Internet drops sessions that aren't passing data. Telnet has an AYT kind of thing to deal with this. So I started looking for similar things in IRC land (to which I'm pretty new) and discover nothing. The problem is that I don't know what they would call it and when I do a Google search for the error message, I get everyone's IRC logs.

bitchx has a timer, though. So I tossed an event in the timer to whois thepresident (who doesn't exist) every 2 minutes. That seems to have solved the problem.

The better solution would be for there to be more people hanging out on #pyblosxom thus creating more data going back and forth.

Sat, 08 Nov 2003

Running Oracle 8i on WindowsXP

I installed Oracle 8i (8.1.6) on Windows XP Professional and noticed that it worked fine after I installed it, but after I rebooted the OracleOraHome8TNSListener would come up fine but the OracleServicePORTDB (my oracle instance) service would try to come up, but wouldn't come up fully. Yeah--that's super vague. In the XP Services applet, it would show up as Starting as opposed to Started. There was an ORACLE and an ORADRIM process running, though. So I was puzzled.

Hunting through google search results is really enlightening from a sociological viewpoint, but not a technical one. Finally found a post that mentioned Oracle 8i works fine under Windows XP Professional but that you have to manually start the services.

So if you switch those services to Manual startup, and then write yourself a nice batch script like this:

  net start oracleorahome8tnslistener
  net start oracleserviceportdb

(fill in your instance service name for the second one)--then it works fine.

Wed, 13 Nov 2002

mailday re-written

So I have this program that I wrote in C and then re-wrote in Perl that I've been running for some time. I just re-wrote it in Python. I feel kind of funny re-writing the same thing over and over again in my new favorite language, but the issue is that I've forgotten large portions of the old favorite languages and it takes a while for me to remember how to do things so I can fix new issues I've found.


pyblosxom::1.5rc2 20100803

All contents Copyright 1996 to 2010 Will Guaraldi Kahn-Greene.

Creative Commons License
This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 United States License.