Search Results: "Joshua Kwan"

2 April 2007

Joshua Kwan: GIMP dependent events

Dear Lazyweb,
Suppose I do several things in the GIMP, for example, make a path around a text layer and then stroke it, then dropshadow a different text layer. Suppose I want to undo the stroke, but not the dropshadow. Normally, since they happen consecutively, I have to also undo the dropshadow to undo the stroke.
Is it possible for GIMP to know that these two events are independent, and only undo the stroke? If so, has it been written? If not, has anyone thought of this yet?

30 July 2006

Joshua Kwan: test

bongs and tongs

4 June 2006

Joshua Kwan: Summer progress

I’ve started my internship at Accenture Techlabs. Good stuff. Some random thoughts. Xfce’s plugin API changed, so I had to revise my cpufreq monitor plugin. An hour or two of tinkering got it working, but I’m sure it’s not bug free. The leak that was present in the previous release might still be there. But if you’re missing having it in your panel since upgrading to 4.4, give it a shot. The makefile is still hardcoded to Debian paths, because I feel really dirty switching to autoconf/automake for a one-source-file project…! Also, you might recall how I broke my T42’s LCD. Well, I received the replacement today, and with the help of a service manual that I found online, I was able to replace it. It was a fairly involved experience, but I came out knowing how to take a ThinkPad apart without looking at the manual. I’ve also “downgraded” my laptop, as the replacement LCD has ‘T41′ written on the LED bar (but of course it was fully compatible with my T42.) This summer is looking up! Edit: Also, it appears that Wordpress is completely retarded, as I discovered when making this post.

24 May 2006

Joshua Kwan: MPD and irssi

I’ve recently started using mpd for my music needs (and pympd for the client, it’s very nice so far :D). I was surprised to discover that aside from a great big script that can be used to control mpd from irssi, there was no script that could be used to display current song information in irssi from an instance of mpd. So I wrote it. Hopefully someone will find it useful. Just load it up and set the mpd_* variables (host, password, and port), which default to working for a passwordless mpd running on localhost.

3 May 2006

Joshua Kwan: Broke the freaking LCD..

Dear Lazyweb, I (probably) created a huge hairline crack in my ThinkPad’s SXGA+ LCD. It is still functional but pixels are dying around the crack and it is bound to get worse. So I’ve been thinking about what to do. Two obvious ideas: Yes, I am ready to spend $350. But what’s going to work out best? Since lots of DDs have ThinkPads, I figure that this is one of the best forums to ask about it. At this point I’m leaning towards replacing the LCD and being done with it, since I lurves my T42.

18 March 2006

Joshua Kwan: Awkward!

This post is going to be a little handwavey, but here goes. I really want to know what other Debian developers (and users, too, they’re in the same boat) think about this. So here’s the situation. You’re at a party — a college party, if you’d like to be precise, where all the things you saw in ‘Old School‘ happen — and by chance you are wearing a Debian t-shirt. There is consideration that doing this was a bad idea in the first place, but nevertheless, you’re there, and then the people you’re talking with start going on… First question from the peanut gallery: What’s Debian?
Second question, for those are looking closely at the words on the t-shirt (indicating that they have not quite had enough to drink yet): What’s Linux? For me, at least, it feels a little odd talking about heady stuff like Linux at parties like this. Not only is it awkward, it makes me feel like I’m getting a large ‘NERD’ stamp on my head no matter how I try to dilute it and explain it. It’s true — I am a geek. But I think it’s a bit of a faux-pas to flaunt it at a party where you’re more likely to see lots of “Mass Communications” and Political Science majors who, seriously, don’t give a damn. I’ve often tried to tell it off with “it’s a long story, not worth telling,” but all drunks love a good story. Just that this story isn’t particularly interesting! “So uh, to make a long story short, a lot of computer nerds got together and put together a lot of free software together, and it got called a ‘distribution’! Debian’s one of those distributions.” At this point, the hippies will have totally bought into it, because free is good, and free is love, etc. But they’re usually downstairs smoking pot and singing songs of liberation or whatever the hell it is that hippies do these days, so you’re still talking to the Mass Comm majors. So the question I’m really asking is: Is there a graceful way to explain Debian to people who don’t really care about it, but want a plausible answer? Should I just lie through my teeth and say it’s something they can identify with, like a band or a fraternity or something? That just sounds wrong, but if I try to sort of explain what it is, it’s hard to figure out how deep to go with it. This doesn’t just happen at parties, but it’s a notable example. Are there others in my situation? Am I the only DD in college in the USA who also has social interaction on a regular basis and inevitably stumbles on this dilemma? Help me out, guys…

1 January 2006

Joshua Kwan: For posterity: Md is a flaming idiot!

Abridged to remove irrelevant conversation…
< Czesiu> Btw, udev recommends at least 2.6.12 kernel, which is not shipped
in Debian.
< Md> so far the upgrade procedure is “upgrade your kernel, reboot,
upgrade udev”
< Md> Czesiu: yeah, nobody had told me this yet, you know?
< dilinger> you can either go the lvm route, and make up some kernel APIs to
match again, or you can go the ndiswrapper route and make some incredibly
strict dependencies so that people are sure to upgrade kernels and udev
in parallel.  both solutions suck.
< Czesiu> Md: you sound quite sarcastic :)
< wildfire> why not just have a udev-compat; which conflicts which newer
kernels; and make udev conflict with older ones
< Md> dilinger: a future udev version will refuse to install on anything
older than 2.6.12, so this will reduce the potential for brokeness
< Md> the /dev/input/mice problem has been unexpected, if it cannot be fixed
I will make the next package require 2.6.12
< dilinger> the best solution, imo, is to have udev 0.5x and 0.62 allowed
to be installed in parallel, and have a wrapper script that determines which
to use when it’s run
< wildfire> hmm, dilinger, that does sound pretty clean
< Md> dilinger: the configuration syntax is subtly different too. this is
not really possible
< Md> wildfire: yes, until you start looking at how to implement it 
< dilinger> Md: sure it is; /etc/udev05x for the old version or something
< dilinger> /etc/udev for the new version
< wildfire> md, but that’s someone else problem ;-)
< Md> dilinger: keeping them in sync is hell
< dilinger> no kidding, but that’s what maintaining stuff like this requires
< Md> so far, it appears to be too much complex to be justified
< Md> if upgrades will happen to be more complex than we currently know then
I will reconsider this
< dilinger> are you kidding?  i think the number of people whose systems
are breaking is pretty good justification
< Md> dilinger: only because the package currently is not refusing to run
on older kernels
< idnar> Md: but if the package fails to run, isn’t that likely to cause
breakage too, since your /dev won’t look like it normally does?
< Md> idnar: it will refuse to be installed or upgraded, like it’s currently
happening if you are using a kernel < 2.6.8
< dilinger> Md: what about doing something insane w/ devfs/
< dilinger> and devfsd
< Md> dilinger: ?
< idnar> Md: ah
< dilinger> depend upon devfsd, if the kernel is older than 2.6.12, have it
mount devfs over /dev and run devfsd instead of runing udev
< Md> different configuration syntax, different semantics, no HAL/hotplug
support. basically, I can’t see why you could think about this
< dilinger> because it would allow things to *work*
< dilinger> even if it doesn’t have the same config syntax
< dilinger> it could spit out a big warning upon startup
< idnar> suddenly switching the user to devfs would likely cause all sorts
of unknown breakage
< Md> if the kernel is older than 2.6.12 people will not be able to install
a newer udev, so this is not relevant
< Md> please try to look at the whole picture
< dilinger> people are going to want to reboot into older kernels and have
their /dev in a sane state
< dilinger> the running kernel isn’t the only one they may be using
< Clint> yeah, i’m not using the running kernel
< Md> dilinger: then udev will automatically disable itself. the current
experience shows that users are not bothered by this
< dilinger> Clint: quiet over there :P
< dilinger> Md: the user experiences around here don’t seem to match what
you’re saying, otherwise i wouldn’t even be mentioning it
< Md> again, this is not how future versions will work
< dilinger> let me put it another way
< dilinger> it would be a very good idea to future proof udev against such
incompatabilities now
< Md> tell greg k-h, now me :-)
< dilinger> because i’m sure things will break again
< Md> anyway, you persuaded me. I will upload right now an updated package
which refuses to be installed with old kernels
< Md>   * Kernels older than 2.6.12 are not supported anymore.
< Md>     If detected, the package will refuse to be installed.
< Md>     If the running kernel is downgraded after the package has been
< Md>     installed udev will disable itself at boot time.
< Sesse> Md: whoa
< joshk> that’s ridiculously stupid if you as me
< Md> this is what was going to happen in a few releases anyway
< Clint> joshk: coredump immediately
< Md> BTW, I suggest that concerned people read this before continuing
< joshk> breaking support for anything but the very latest kernel (which
isn’t even in debian yet!) is dumb. you break everyone’s desktop because
hal stops working
< joshk> (one particular example)
< Md> joshk: people can keep the old udev until the upgrade, nothing breaks
< Sesse> Md: *g*
< joshk> don’t grin at Md, it makes him think we’re in agreement

Joshua Kwan: Debconf5 in less than 24 hours

I’ll be at Debconf5 by 9 AM on Sunday morning! I’m taking an early flight tomorrow morning to NYC, and have an hour or two of layover before boarding a plane to Helsinki. I’m looking forward to seeing everyone. I thought I was going to be on the same plane as Andres, Erinn, and Clint, but it turns out they are on the same flight I am, only one day before. Oh well.

Joshua Kwan: Where was I when Woody was released?

(Viral meme #1,234.) I was still in Hong Kong, packing up to leave for California due to my mom’s job being relocated. I certainly didn’t know about Debian at all at the time; I had only unsuccessfully attempted to download the Slackware installation media, but had experience with SuSE Linux 6.3 and Caldera OpenLinux 1.2. (I distinctly remember sound never working.) I recall being a lot more immediately interested in anime than anything computer-related. It was only several months later when my laptop failed to boot following an installation of some satanic Service Pack for Windows 2000 that Misha Nasledov, a classmate and Debian developer two years my senior, showed me - from his Google CD jacket - a set of Woody installation media. By evening, I was poking around the system, trying to replicate my Windows environment. A few weeks later, I remember setting the machine up to dist-upgrade to unstable! By February 2003, I had entered the NM queue…

Joshua Kwan: Plug: Audioscrobbler

Audioscrobbler is an awesome service that tracks what you’re listening to, makes that play history public and generates statistics, suggestions, and links to other people with similar tastes to yours. It’s got growing pains, certainly: It’s a big ol’ Java servlet, and the server admin needed to edit and recompile the servlet to add a new client ID for my “QLScrobbler” plug-in for Quod Libet. Apparently there are some isolated cases of database corruption as well. But all in all, it’s a useful concept, and it wins on that merit. This is all a big plug for the Debian Developers user group on Audioscrobbler, which, once more than 10 members join, will get charts generated so people can see what developers listen to while breaking their favorite packages.

Joshua Kwan: My DPL ballot

(AOL!) [ 7 ] Choice 1: Jonathan Walther
[ 1 ] Choice 2: Matthew Garrett
[ 1 ] Choice 3: Branden Robinson
[ 5 ] Choice 4: Anthony Towns
[ 3 ] Choice 5: Angus Lees
[ 2 ] Choice 6: Andreas Schuldei
[ 6 ] Choice 7: None Of The Above
I haven’t been doing too much Debian work lately, but I think I’ll be uploading discover1-data and abiword soon. I will have to find a big chunk of time if I hope to do any kernel or d-i work.

Joshua Kwan: ALAC decoder hacking

On the advice of one of my Mac-using friends, I read this article on Slashdot. Pretty cool, I thought, and fairly relevant seeing that I am still actively hacking on ify. As one might expect, I concluded that it would be pretty neat if ify were the first tool to be able to simplify conversion between ALAC and other formats like FLAC, MP3, and Ogg Vorbis. At about 1:30AM, I realized that the first hurdle was that the ALAC decoder did not have a facility to access the metadata in ALAC files. At 5:30AM, I was pretty much done. This required me to study the QuickTime container format, I had to understand the ALAC decoder API, then I wrote the code, then debugged it to hell while I continued to familiarize myself with the nature of the QuickTime format. (I don’t know about you, but that hacking session felt like 1 hour. Maybe 30 minutes even.) By that time I had added support to ify to use the new extension to the ALAC decoder. (here’s a patch if you’re interested.) With the help of said Mac-using friend I got some ALAC files (hey, they are actually from albums I own) and tested them this afternoon after 42nd rehearsal. Behold:
darjeeling:~ 0 % alac -i 2-11 Stop.m4a
Available track information:
title: Stop
artist: Pink Floyd
album: The Wall (Disc 2)
disk: 2
date: 1979
tool: iTunes v4.7.1
tracknumber: 11
genre: Rock
darjeeling:~ 0 % flacify 2-11 Stop.m4a
[alac->flac] 2-11 Stop.m4a
darjeeling:~ 0 % ogg123 2-11 Stop.flac 
Audio Device:   OSS audio driver output 
Playing: 2-11 Stop.flac
FLAC stream: 16 bits, 2 channel, 44100 Hz
Track number: 11
Album: The Wall (Disc 2)
Artist: Pink Floyd
Disk: 2
Tool: iTunes v4.7.1
Date: 1979
Title: Stop

Joshua Kwan: New blog

Hello, world. This is my new blog for things mainly related to computers / programming mainly so I don’t piss off or bore my friends on my LiveJournal (the accomplishment of which pissed off or bored people I knew on Planet Debian.) WordPress is, as a matter of fact, pretty neat.

27 December 2005

Joshua Kwan: Working around eBay

Interesting that a “hip” company like eBay doesn’t support recepient delimiters for your email address. I tried changing my email address to one with a recipient delimiter, and it interpreted the + badly; in the end I substituted the + with ‘%2B’ and it went through. Just a note for anyone who might think of doing the same. My bank also had the same issue, but I got them to fix it properly.

9 November 2005

Joshua Kwan: Linux fails

My CS61A professor is usually very retro, and uses a VT220 connected to our lecture hall projector to page through Scheme code as he gives his lectures. But today he threw us a curve: he brought in his Thinkpad X-series laptop running Fedora Core. It turns out that some ridiculous networking library for our implementation of Scheme somehow requires an X display to function correctly, and VT220s hardly have support for anything close to X! So, what worked initially? Nothing. I came down to offer my services. Well, there’s still a ways to go..

25 October 2005

Joshua Kwan: Saluting Rosa Parks

Rosa Parks died today at the age of 92. For those who were asleep in US History, she made waves by refusing to give up her bus seat to a white person on a segregated bus and being arrested for it.

Putting the impact of her actions into perspective, here's Wikipedia:
On August 30, 1994, aged 81, Rosa Parks was attacked and mugged in her Detroit home by Joseph Skipper. She had a total of $53 stolen from her. The incident created outrage throughout America. Parks said she had asked Skipper "Do you know who I am?" Skipper, an African American himself, was reported to have stated he did know who Rosa Parks was when he beat her, but didn't care. Skipper was arrested, and eventually pleaded guilty to charges of assault and robbery before being sentenced to prison.
oh america

17 October 2005

Joshua Kwan: poor excuse for a real post

Gotta admit
That I'm a little bit confused
Sometimes it seems to me
As if I'm just being used
Gotta stay awake, gotta try and shake off
This creeping malaise
If I don't stand my own ground
How can I find my way out of this maze?

Really, there is lots of shit going on. Midterms, friends, etc. I am way too busy to make a real post.

And I am full of Thai food right now as my parents came up to Berkeley and took me out to a Thai restaurant.

By full, I mean full as in "Supposing I were in a starving sub-Saharan African province, I just ate a week's worth of food" full.