I’ve been working with an open-source visualization library called prefuse for a while. It’s used quite a bit, but mostly for graph visualization. I’m trying to use it for chart visualization. (Why? Because I also want to do graph visualization, and I figured — perhaps wrongly — that it would be better to learn the tao of one library well than two poorly.)
There are almost no examples out in the wild of how to do charts with prefuse. Here, then, is a link to ScatterPlotWithAxisLabels.java. Humans, you probably don’t care about this, this is just to let the robots find it.
It is a variation on the program ScatterPlot, but with axes labelled. You wouldn’t think that would be a big deal, but there are a lot of little things you have to get right, and with few examples, it is hard to know what you have specify and what is the default behaviour.
(Ooops, I wrote this a while ago and forgot to post it.)
In my recent post, Linux on the desktop, I mentioned that oocalc and/or gnumeric had let me down six months ago when I was working with an admittedly challenging spreadsheet. (It contained LOTS of obscure fonts from around the world.)
Within three days, I got a posting from one of the maintainers of gnumeric, asking me for more information. This is why Windows is doomed. I can’t imagine getting email from someone at Microsoft asking me for more information about a bug based on a posting in what is a pretty obscure blog.
Unfortunately, my problems were such that I couldn’t write a good bug report on it. (If I could have, I would have done so at the time. I consider writing bug reports one of the obligations of using open-source software.) At the time, there was a long, long delay between whatever-I-did-to-corrupt-the-file and my discovery of the corruption. My bug report would have said something like, “I worked for three hours, saving regularly, and at the end of the three hours, I discovered that my file was corrupt.” Alas, that kind of bug report is probably worse than no bug report, as the best that a triager could do is say WORKSFORME.
I did go back through my notes, and it looks like oocalc was the original offender, and that I switched to gnumeric at least briefly. I didn’t see anything in my notes that gnumeric let me down. However, I don’t see any .gnumeric files in the directory, and I would think that if gnumeric was working smoothly for me, I would have left at least some .gnumeric files around.
Note, though, that I had these troubles in November 2006, which is about 56 dog-months ago. I would be surprised if they had made no progress since I had trouble, and (to be fair!), the spreadsheet that I worked on was a very challenging one.
I ran into a posting that theorized about why we like rounded corners. Basically, it said that we are drawn to organic, natural-looking forms.
I think it’s much simpler than that: we are drawn to things that look expensive, and rounded corners look expensive. Rounded corners are expensive in this day and age. They are harder to design and harder to manufacture.
I remember being struck by the ceilings at the Uffizi — the designs on the ceilings of the corridors were all very regular and precise. To my eyes, they looked kind of boring. Well, back when the Uffizi was built, it was very difficult (i.e. expensive) to make things that were very regular and precise. Machines are really good at that, but people less so.
In the Renaissance, great effort was made to make paintings look extremely realistic. Then, in the late 19th century, impressionism — which was not particularly realistic — was born. I don’t think it is a coincidence that daguerrotypes were invented in the mid-19th century. Extreme realism was no longer particularly difficult/expensive.
(The impressionists also profited greatly from the being able to buy pre-made tubes of paint, instead of being shackled to a studio with a bunch of apprentices running around literally creating the paints. But that’s a different story.)
Bottom line: we are attracted to rounded corners because they look expensive.
How do you enable core dumps?
ulimit -c unlimited
(This was harder to find than it should have been, so I’m helping the world to find it.)
Keywords: core, coredump, enable, limit, unlimit, allow.
A lot of sites don’t verify email addresses, and so it has happened that a lot of people have signed up for things using my email address. For a while, it was just mildly annoying, since most of it ended up caught by my spam filter. But it’s getting tedious, and so I am going to fight back. I’m starting to change the passwords on the accounts that people sign me up for, deface their pages, and “out” the sites that don’t do proper checks.
Here are the identity thieves I’ve dealt with this week:
- 760atl at YouTube
- redclaws/BlueClaws/Doom30 at gamestotal.com
- dan lorocca on MySpace
- Some guy signed up to get a subscription an online erotic magazine from zino.com with my email address. I didn’t find out what my alleged name was, but note to people who are thinking of using my email address: next time I will find out your name and post it here.
- Chloe tried to sign up for Tickle, but Tickle did have email confirmation. Yay Tickle!
I also want to give a special shout-out to Dawn Cheng who gave my email address out to the WRONG place; she has caused me no end of spam. Grrrr….
When we were first living in Canada, we noticed that every time we crossed into the US, the border guards would ask us how we liked our car. The first time, we didn’t think much of it. It was a nice shiny relatively new car.
The second time, we thought it was a bit of a coincidence, but we do have a pretty neato car.
The third time, it was clear something was up, but we couldn’t figure out what (and we didn’t want to ask).
When we got British Columbia plates, they stopped asking us.
People suggested that maybe they thought our car might be stolen. This made no sense to us: why would we steal a California car, drive it through Oregon and Washington into Canada, and then take it back into the US?
Then someone pointed out that maybe we stole license plates in California, stole a car in Canada, and were driving the stolen car into the US. This makes slightly more sense, but wouldn’t it be easier to steal plates from BC or Washington? If I were going to steal a car from BC, I’d steal the car, go find a car at an airport rental lot that looked just like mine, swap the plates, and run south. I figure that by the time the owners noticed that their plates were different, I’d be long gone.
There’s an interesting paper by Daniel J. Solove about security that refutes the “I’ve got nothing to hide” argument in defence of (or sometimes in downright favor of) the recent extra-legal government invasions of privacy. Early on, Solove distills the fundamental belief underlying the quips that people might make about privacy. I think this is a really great summary, so I want to repeat it:
Although there may be some cases in which the information might be sensitive or embarrassing to law-abiding citizens, the limited disclosure lessens the threat to privacy. Moreover, the security interest in detecting, investigating, and preventing terrorist attacks is very high and outweighs whatever minimal or moderate privacy interests law-abiding citizens may have in these particular pieces of information.
Solove makes various points about what privacy fundamentally is (a related group of things, not just disclosure of information). I’m not going to go into all of them. The strongest argument he makes is that invading privacy is, in my words, fundamentally abusive — that it sets up a grossly asymmetrical relationship between the government and its citizenry, with the government holding all the power.
He also notes that one bad part of the warrantless wiretapping is that by going outside the law, it broke a social contract with the citizenry. Basically, when the government writes law, it is sort of promising to its citizens that it is going to follow those laws.
He alluded to a slippery-slope argument, although IMHO he didn’t take it far enough. Therefore, I will: if the government doesn’t bother to follow wiretapping laws, what’s to stop it from ignoring laws against torturing its own citizens? There need to be laws about what the executive branch can and cannot do; there are a number of African countries that can demonstrate very keenly both what happens when the executive disregards laws and why we don’t want that.
One argument that he didn’t really make, and that I think should be shouted from the rooftops is the innocent do have something to fear from data gathering, specifically from data mining. Data mining is all about looking at statistical patterns and trends. Those can only give you correlations that lead to probabilities; they can tell you that people who rent Die Hard 3, read the Chicago Tribune regularly, and whose cars are white are more likely to be terrorists than the average. Thus the government might start rounding up people who match that profile. (Hey, anything in the name of security, right?)
Even if you believe that the US government would never never lock up people just for fitting a profile — this isn’t the Soviet Union, after all — it’s not hard to imagine that they might do more intensive surveillance. They might start following you around. Even if you have nothing to hide, it would probably freak you out to see big men in sunglasses following you around; that could cause great psychological harm. (And if you think you’d be fine with them following you around: how would you feel if your daughter told you she was scared because big men were following her around?)
Furthermore, innocence is in the eyes of the beholder. I have done a lot of gay-rights activism. There are some people who think that makes me spawn of Satan; what if they get to be in charge in a system where there are very loose controls on what a government is allowed to do “in the name of security”? I’m not sure my life would be entirely peaceful.
Maybe you aren’t worried because you aren’t in favor of gay rights. But no matter who you are or what you believe, there is something that you believe or do that other people think is really really wrong. Maybe you are Catholic. Maybe you are Protestant. Maybe you are atheist. Maybe you are into S&M. Maybe you have a hobby that burns fossil fuel. Maybe you believe in firm corporal discipline for your children. Maybe you are polygamous or polyamorous. Maybe you are a nudist. Something that you do or believe is going to be objectionable to others. Nobody is innocent in the eyes of all governments, so it’s worth your effort to make sure that your government respects the rights of its citizens. Of all its citizens.
There’s a cartoon today where a teenager is trying to arrange a band practice, and having to make phone call after phone call because he has to keep revising the plans because each new person has some conflict with the plan of the moment.
I read that and thought to myself, “someday that will seem quaint”. Someday, you’ll pop open your cell phone, tell it who you want to meet with, and it will take care of the arranging. Each person will get contacted with a list of possible times, and have the option of a hard veto or a soft veto. The communications infrastructure will take care of doing the negotiating.
In thirty years, college students won’t really understand how you could possibly do it any other way, just like they now don’t fully understand what a pain it was to use a typewriter to fill out a form, or what a mimeograph was.
College students today still remember vaguely that once upon a time, there weren’t TV remote controls, answering machines, VCRs, or cell phones. In ten years, college students won’t have any concept of what it was like to have to negotiate down to three square meters exactly where you were going to meet, with contingency plans for what to do if the rendezvous failed.
There’s an article that has been talking about 2008 being the year of the Linux desktop. I think that’s too optimistic.
Don’t get me wrong — I love Linux. I have been using it as my primary OS for about five years now, and have been fiddling with it for eight or ten.
It has gotten way, WAY easier to use, particularly in installing applications. Red Hat 7 was a nightmare of dependency hell. The Gentoo on my work machine in about 2003 was much much easier, although you had to have a certain level of confidence to go around compiling things, and it took a long time to compile stuff. Knoppix on my home machine at around the same time certainly was easier to install (especially all the drivers and stuff), but it was hard to find documentation and help for a minority distro. Ubuntu, now Ubuntu ROCKS. It totally kicks.
Linux appss are clearly getting better all the time. Gimp has a learning curve and Photoshop is better, but Gimp is good enough that 99% of the time I don’t bother to reboot into Windows to use Photoshop. I actually like Inkscape a bit better than Illustrator for what I do.
But there are still warts. I can get away with Ubuntu because almost all the business applications work I do is server-based or text-based. OpenOffice and Gnumeric have come a looong way, to the point where I can use them most of the time, but they are just not bulletproof yet. Neither of them worked perfectly with a challenging spreadsheet I made that included lots and lots of text from different languages in UTF8; one or both of them actually corrupted data silently. I’m working on a .doc file in OpenOffice, and it seems to lose formatting sometimes when I save and reopen.
I do think Windows is doomed. I think they just can’t sustain their operating system in the face of so much competition. However, I don’t think it will be next year, or the year after that. I think it will be more like 2012 before we really see Windows slide.
It’s also quite possible that MacOS will be the big winner. With MacOS being based on Unix, it should be far easier to port code from Linux to MacOS than from Linux to Windows. (If it isn’t already, it’s because of tools infrastructure. Comments from people who know more than I are welcome.)
Another interesting possibility is porting from MacOS to Linux. That should be relatively straightforward, and could be really lucrative for Apple — assuming that they can get people to actually pay for the software. It is my understanding that Microsoft makes the bulk of its money on Office.. and Apple has been steadily creating a lot of applications that I hear really good things about. They could really profit from growth in the Linux market.
Update: I got email from one of the maintainers of gnumeric three days after posting my experience (on a relatively obscure blog!), asking for more info about the problems I was having. This is why Windows is doomed.
Hey! That’s Mik!
I bumped into a screencast of Mik Kersten talking about Mylyn, which is a really cool tool that he developed under my supervisor’s direction, and which he and my supervisor are now productizing. Go Mik!
« Previous entries Next Page » Next Page »