Alternate Side: Parking In New York

2009-11-08 19:10 - General

I've lived in New York for six years now. I caught references to "alternate side" parking all the time, generally from the commute section of the morning news, or the free papers. It was a long time before I knew, for sure, what it meant, though. Of course today as I type this, Google gives me the alternate side parking answer with no effort. The deal is that there's so many disgusting slobs all crammed into this city, that they have to force people not to park in certain areas, so street sweepers can drive through. The wind pushes the garbage around, but the curb (and the cars) at the edge of the street blocks enough that it gathers up, there. So all around town you'll see signs like these:

A pair of no-parking-during-street-sweeping-time signs.

That's actually a pair of signs, from alternate sides of the street I live on, montage'd together. You can see that the street sweeper comes every week, one side on Thursday, the other on Friday. This is where I mention The High Cost of Free Parking. I've never actually read that book, but I've seen a few articles that reference it, and seem to make the same points. It's a strange thing we do, in America, to give away free land for storage, to anyone that has a car. Sure there's occasional restrictions like this street-sweeper example. But just think about what ten-ish feet of ground level sidewalk space is worth in a place like New York!

So, although parking is (largely, there are meters in plenty of spaces) free, it's not totally without cost. See, you have to move your car at least once a week. If you don't, there's a fine. And this nasty sticker:

A car that didn

Ahead of the street sweeper comes the sanitation department car, giving you not only your tickets but these shame-on-you stickers, that are about impossible to peel off. You can see this poor individual's failed attempt to remove the first, and capitulation after just the corners of the second. All this is the real cost of free parking in New York. But there's more! Because this free parking is, in reality, so expensive, people go to crazy lengths to pay for it in non-monetary ways.

I've seen this a few times. Managed to catch it, on the way to work, in low-quality video now that I'm carrying around a smartphone. It's a pretty common occurrence, as I understand things. At the start of the street-cleaning window, everyone parked on the block will trek out to their car, go and double-park on the other side of the street, and wait. Sit in their cars, possibly for hours, and wait. The moment the street sweeper drives past, they all leap into action and park right back where they were. It's quite a spectacle. In the video above, I count at least ten visible cars doing the street sweeper shuffle. Just another New-York-ism!

Generation specs: Stopping the short-sight epidemic - health - 06 November 2009 - New Scientist

2009-11-08 17:36 - Links

Playing indoor sports turned out to have no benefits for the eyes, whereas even physically inactive time spent outside was beneficial (Ophthalmology, vol 115, p 1279). "Our findings suggest that being outdoors, rather than sport per se, may be the crucial factor," says Rose. The theory has since been backed up by a study of 1249 teenagers in Singapore, led by Seang-Mei Saw at the Yong Loo Lin School of Medicine, National University of Singapore

Staying inside, apparently, gives you bad eyesight. But the theory doesn't play out very well. As the sort of person who can't read his alarm clock at about a foot away from his face in the morning, I find this stuff very interesting.

My Cats (and My New Camera)

2009-11-07 14:04 - General

A short while ago, I started working on cleaning up my apartment. Getting rid of the junk that I've accumulated, that has just enough value to not feel like junk. Anything I can, I plan on selling on eBay. What won't sell, I'll try to give away. What no one will take will sadly head to a landfill.

Along the way, I decided to get a new camera. I hemmed and hawed for a while, and after looking at what I could get for what price (and coming upon some unexpected money, including a belated birthday card (thanks Oma!)) I decided to splurge. I went for a DSLR, which means high-end, but got what amounts to basically the cheapest DSLR I could find, the Sony α230. So half of the point of this post is to play with my new camera.

The other half is to write down, because my brain is so feeble, the exact birthdays (and thus age) of my two cats. Every once in a while, when I try to remember how old my cats are, I can't. It's a little complicated, as I'll explain. First, to continue blabbing about my camera, you can see at a Picasa Web Album called "My Cats" the raw unedited .JPG files that came from the camera. Reinforcing one of the reasons I decided to splurge: it can definitely squeeze out better low-light indoors images. Click below for the larger versions.

My first cat, Tegs.  Born September 22, 2003.

This is my first cat: Tegs. I adopted her almost exactly a year after moving out into my first apartment, from my parents' house, in October of 2004. When I adopted her, I was told they thought she was 12-14 months old. I decided to put her birthday on the autumnal equinox, which makes it September 22nd, 2003. So, today, she is just over six years old.

Since she's an adopted rescue cat, I don't really know what breed she is. She is definitely a tabby. The vet used the generic phrase "american longhair" to describe her.


My second cat, Brandy.  Born November 22, 200X.

This is my second cat: Brandy. I had Tegs for almost a year and a half when I decided it would be nice (both for her and for me) to adopt a sister for her, some company while I'm away at work each day. Rather than randomly visiting shelters and picking whoever seemed nice, this time I picked a particular breed to seek ahead of time: the russian blue.

It was late April of 2006 when I adopted Brandy. She was described as being about six months old, and belonged to an owner of a bar. His girlfriend apparently wasn't interested anymore, now that she wasn't a kitten. The name came from the alcohol, due to her previous owner. It stuck. Being another adoption (though not a street rescue via a shelter, like Tegs) I again had no exact birthday. I can't even remember how I came up with it, but I know I have October 25th noted down as her birthday, making the first October 25, 2005, so she is four years old as of a couple weeks ago.


Overdue Roundup:

2009-11-01 11:05 - Gaming

I've more-or-less recently played through a bunch of games, without abusing them as an opportunity to fill my blog. Roundup!

Scribblenauts (DS)

This was heavily hyped. I was excited to see it. It was very underwhelming. The levels are too rigid to make truly imaginative solutions. And the control scheme is horrible. You're required to move objects around all the time, but miss them by just a hair and instead your character will run towards them, often to his doom. Didn't even finish this one, which is very out of the ordinary for me.

Condemned 2 (PS3)

Not bad. Not great, either. Randomly introduced long and slow sequences, or ultra-fast play it three times before you figure out what's killing you style bits. The "investigation" tasks were too frequently a random guess. I think, overall, this game tried to be "too much", with fighting, shooting, puzzle solving, racing, and a bit more scattered all throughout.

Chrono Trigger (DS)

I'm pretty darn sure I played this one before. But I'm an RPG fan, and this one is good enough that I played it right through again.

Professor Layton and The Diabolical Box (DS)

A solid sequel. A collection of good puzzles, and just enough story to tie them together. A few too many of the shuffle-the-pieces-around for my taste, but very worth playing.

Liquids At the Airport

2009-10-28 15:55 - Links

When you show us a bottle of liquid, we can’t tell if it’s a sports drink or liquid explosives without doing a time consuming test on it. We’re developing the proper technology to allow us to expedite the screening of all liquids, but in the meantime, to screen everybody’s various types of liquids over 3.4 oz. would cause gridlock at the checkpoints.

Shenanigans. If I am carrying a soda/water bottle/any other drink, there is a fast, easy, safe, and cheap test to see whether it is actually a potable drink, or a dangerous explosive chemical. I can drink it (or at least some of it).

Linux Window Placement is Unproductive

2009-10-21 15:25 - Linux

Unix has a long-steeped tradition and philosophy which I normally agree with: create small tools that work together to solve bigger problems. It works really well at the command line, with classic tools. Chaining pipes together can get quite a few things done. It's totally failed in the GUI world, however.

I'm used to how all my programs act on Windows. If I launch Firefox (or Thunderbird, or Pidgin, or EditPlus, or Photoshop, or Volume Control or ... the list goes on) and put it in the top-right corner of the screen, close it, and reopen it: it comes back in the top-right corner of the screen, where I put it! I'm extremely used to working this way. It follows the desktop metaphor very well, I put particular things in particular places, and I'm very used to looking at that particular place to find that thing. (Aside: It's one of the things I really dislike about the 30" monitor I have at work now. There's a lot of space, but I'm used to the dual-monitor setup which divides said space into separate places. But I digress.)

It seems that in Windows land, every single program implements the "remember my size and position" logic, and restores said settings next time. The exceptions, which do not do this, get launched in a "cascade" arrangement: starting from the top left, each is down and to the right by a little bit, about (exactly?) the height of the title bar. The command prompt is a classic example of this. It's not useful. But, since Windows offers nothing better in terms of window placement, every (okay, almost every) piece of software solves this problem, and basically all in the same way: launch in the same place that it was last time.

One way to make this clear is to look at Pidgin. By default on Windows, the Pidgin "Buddy List" window, and each "conversation" window launches in the same position it was in last time. On almost every computer I use, for me that is the top-right and bottom-right corner respectively. I usually keep at least a bit of those corners visible at all times, and can easily switch to those windows with the mouse (see Fitt's Law: stuff on the edges, and especially in the corners (both edges) is really easy to get to with the mouse), and can see when something is going on in that window (or if it appears suddenly). And on Windows, this works. On Linux? Not so much.

See, Linux follows the Unix tradition, and things are often built in small cooperating pieces. So the GUI system as a whole delegates to the window manager ("software that controls the placement and appearance of windows within a windowing system in a graphical user interface") all the work of placing, sizing, and interacting with the actual windows holding the programs. As a result people who write Linux software (even cross-platform capable software) seem to think along the lines of, "Pidgin doesn't place the window, it is up to your window manager to decide the position."

But the window manager manages the windows horribly! First, I have to install a package that doesn't come by default (CompizConfig Settings Manager, aka ccsm) to get to the "Place Windows" setting. The choices are cascade, centered, smart, maximized, and random. What do these settings do? Starting from an empty desktop, and opening a few different programs, I see:

Cascade
Starts at an inconsistent position, near but not at the top-left corner. Following windows go in a column downards, the left edges aligned, until the vertical space is consumed. The next columns start at the same vertical position as the first window, unless this window is taller than the first window in the previous column, in which case it starts at the same vertical position as a lower window in the previous column. (The top-left corner of the new window starts at the bottom-left of a previous window if possible, otherwise at the top-right corner. Once neither are possible, the scheme starts over at the top-left of the whole screen. Each new window goes in the "first" available space.)
Centered
Every single window starts perfectly centered in the screen, all on top of each other.
Smart
Each window goes as far towards the top-left corner as it can, without covering any other windows. If there is no empty space big enough to hold it, it goes wherever it covers the most empty space (the desktop) and the least other windows possible.
Maximized
Every window takes up the entire screen.
Random
Just what it says on the tin. A surprise every time you open the window! Where will it go this time?!

So what are the merits of these schemes? They all stink! Well, I can sorta see the value of maximized on a small screen (netbook). But there are still certain apps (calculator, IM, etc) that have a smaller window and are just fine that way. Cascade is very difficult to predict (look at the description!) and is generally useless unless you're starting a whole bunch of the same program, in which case it will set up a nice grid. But that grid will be offset from both the top and side of the screen, wasting space.

Centered is pointless unless you enjoy spending your time rearranging your windows so that you can see them. Random is just as pointless for (nearly) the same reason. The chance that the window goes where you want it is virtually zero.

Smart is what is left. In certain, rare, cases, it's very useful! When I launch that one-off program, I probably do want it to not overlap anything. I might be firing up a calculator, and want to still be able to read the web page/document/etc that I'm getting the numbers from. But it fails miserably for the programs that I use every single day, and probably multiple times in every day. I want those to be in a particular place, and I want it every time.

As mentioned, it's the viewpoint of (some!) programmers that the window manager should be managing the windows, so i.e. Pidgin leaves me stuck. There is a workaround in the "Place Windows" plugin. But it reveals the reason that the program, and not the window manager, should be responsible. I can't choose carefully enough where which window I want to place. The choices are limited, most programs don't expose any distinguishing information, and even if they did, one big slider from -32767 to 32767 just doesn't get me where I want to go.

Why does it work on Windows? Because Windows doesn't even try. It doesn't try to stuff all this information into a narrow difficult API. Each program knows what windows it has, and how to identify each. And it stores four simple numbers (x, y, width, height) and uses them each time. So simple and easy that nearly every program does it. But that's too tough for Linux. It's even been pointed out, numerous times:

So where am I left? I managed to hack together some rough placement rules. Not many. Some programs (Firefox) get it right. Some programs get it wrong. Both my Prism apps (mail and calendar) start in the right place, except down and to the right by the exact space that the window border/title takes up, and must be moved each time. Eclipse starts in the right place, but is always six pixels too narrow, and nineteen too short. The "smart" placement mode almost gets the rest right. But there are still quite a few cases that I get surprised with where the window ends up, based on some funny coincidence of what screen space happened to already be used, and what desktop space happened to be peeking through at the time. Sigh.

So, to conclude: Where are we and why? Window placement is better on Windows than on Linux. Because the Unix philosophy, combined with the FOSS community, has let us down. The app developers say "the window manager should handle it" They even explicitly disable their window-position-remembering code that's already there, for Linux, because in theory some other layer handles the window management. The window manager developers say "the application should handle it" and "this should be done in user space" and the desktop environment developers say "this is impossible to do in user space". All the while, the users want it and are not getting it. Everyone along the chain claims someone else should do it, and closes the tickets as WONTFIX. And the users continue to suffer. Another item in the list of things that work fine on Windows, but are painful and/or annoying on Linux.

My "The Far Side" Archival Project

2009-10-18 10:10 - General

For as long as I knew about it, I've had a soft spot for The Far Side, an awesome one-panel cartoon that ran from 1980 to 1995. From 1995 through 2002 it was customary for me to receive an "Off the Wall" (aka desk) calendar as an xmas gift. Thanks to the hoarding impulses I've inherited from my mother, I still have them. A few are missing a month or two's worth of pages, but for the most part they're entirely intact.

My intent was always to create a digital archive of the images. Probably to use as a screen saver. Once, I even tried doing it by hand. Open photoshop, place the page on the flatbed, hit scan, wait, use the ruler tool to rotate so the top edge was straight, crop, save, repeat, repeat, repeat. I even got through most of one year. But it took far too long, and I bored of it quickly.

I've been putting some effort into cleaning house recently, and came across a couple of these calendars. Suddenly it hit me: I've got an auto-document-feeder on the scanner of my all-in-one printer, and I've got programming chops. I don't need to do this by hand!

The first, and surprisingly difficult, part was to find a program that would take advantage of the document feeder, and give me a pile of images to process. It was really easy to find commercial programs, but I didn't want to pay. Finally I discovered that IrfanView, a freeware image viewer also has a batch scanning feature, which suits my needs perfectly. Then I threw together a python script, which crops off the edges and transforms the scanned comic (and caption, if any) to be perfectly square, and crops with a consistently sized border.

It actually still takes a bit of work to babysit the scanner, making sure it feeds the small pages properly, and giving it batches that it can handle (not much more than 2 months' worth at a time). But it is mostly automatic, and I'm working through the sixth of the eight years worth I've got: the end is in sight.

Finally, I also found VisiPics, a convenient and free duplicate-image-detector, which works wonderfully for locating comics popular enough to make it into more than one calendar.

Linux Tabbing Is Horribly Inconsistent

2009-10-14 10:36 - Linux

It's a very common paradigm for modern software to be able to open multiple files at once. It's nearly as common for software to present a "tabbed" interface for this, but this applies to any multi-document interface. In Windows, every single application (except for truly rare cases, I can only think of one I ever saw) uses Ctrl-Tab and Ctrl-Shift-Tab to shift to the next and the previous document, respectively. But, so far in Linux I've seen at least:

By far the worst thing is that for all these programs that have some other document navigation key, Ctrl-Tab continues to perform some other, significantly less useful, feature. Thus I'm always getting tripped up. Another way that the interface of Linux gets in the way: I have to think carefully about which program I happen to be using right now, in order to perform the same logical operation.

How I Shop

2009-10-11 20:18 - General

If I'm shopping for something significant (and if I am going to buy it, I'm going to spend time shopping for the best deal), chances are the method described below is how I do it.

I've used Yahoo! Pipes for a while. It's an awesome service. For a time, I used it to monitor various deals sites. I later added a "user input" option, to filter for particular items. Today, based off of an example I found, I just added a maximum price filter, too. Why? I use it to keep an eye on cheap PS3 games (and have certainly found a few worth getting, that way). But filtering for "PS3" finds as many systems as games. Limiting the price finds what I want.

Sound good? Open the (Input Any) Deals pipe, pick a price and a keyword, and subscribe in your favorite RSS reader. If I can come up with some ideas some time, I can tell you this is how I'll find xmas gifts.