Blog: 2011-09

Latest  2014  2013  2012  2011  2010  2009  2008  2007  2006  2005  2004  2003  2002  2001
-12  -11  -10  -09  -08  -07  -06  -05  -04  -03  -02  -01

Adventures in Reed Diffusers

 [photo of almost-empty reed oil diffuser on table] Suppose that Boston winter and closed windows are approaching, and you're at Walgreens, and you want to see if they have a nice vanilla or hazelnut oil diffuser or candle to help your apartment not smell like an old Boston building. Suppose further that you find they have a Home Linens-scented diffuser kit on clearance for $3.50, compared to the usual $6, and that it smells worth a try, so you purchase it. Suppose that, when you then get home, and are carrying around two bags of purchases, putting things away, you decide that now would be a good time to unscrew the lid of the oil diffuser and place it a table. The jar tapers towards the top, somewhat like a conical flask, but there's a wooden collar that flares outward at the top, and that surely is not only decorative and completely unattached, but will be good for keeping a slippery flask from slipping from your grasp.

Well, I have to tell you that you were being insufficiently careful, because that flask is going to fly out of your hands, throwing Home Linens scented oil all over the floor, wall, and nearby furniture. And when you pause to let out an audible sigh, mirrored in the defeated drooping of your shoulders, you'll cost yourself precious moments before you realize that the bottle is still in the process of emptying the remainder of its oily, scenty, Lineny contents onto the floor.

And you should be sorry. What if that had been sulphuric acid? And there was a brand new Apple MacBook open on that table? And a priceless first edition of some noteworthy novel, with a plate identifying it as from the library of the author himself? And a basket of puppies?! Sorry doesn't cut it, mister.

Massachusetts Legislative SOP

A state Senate proposal to impose a five-year ban on former lawmakers taking casino jobs triggered an uproar yesterday by Democratic senators who abruptly broke off a heated public debate to rewrite the measure in secret. An hour later, and with no further discussion, the Senate approved a watered-down, one-year restriction. [...] The five-year ban was proposed by James Eldridge, an Acton Democrat, who argued [...] that the bill authorizing three casinos and one slot parlor should only be an economic development program for the state, "It should not be an economic bill for legislators."

—Mark Arsenault, "Senate kills five-year ban on taking casino jobs," Boston Globe, 2011-09-28

And Massachusetts state senators cry out in protest, "Your words wound me, sir!"

Am I ever again in a position to try to recruit elite talent and relocate them to Cambridge (or keep MIT alums in Cambridge after they graduate), I'm going to have to tout the state government as entertainment.

Reddit, Zach Braff, and Publicists

Zach Braff did Reddit. I think this is most significant because it's a good example of one of the relatively better ways to do publicity in online communities like Reddit.

If you've taken a look at Reddit over the years, you'll notice that, quite recently, it's gotten to the point that around half the posts on the front page look suspiciously like they're generated by buzz marketers working for US entertainment industry publicists and brand-name consumer products manufacturers. That was predictable years ago, but dismaying that it could happen even on Reddit, where only a few years ago, such posts would have quickly gotten comments like, "Nice try, Procter & Gamble".

So, when it's done in a more straightforward fashion (or, considering it's Zach Braff, I could even see this being done for fun rather than publicity), that's more honest and genuine, and helps keep online communities from degenerating into the disingenuous, dumbing-down cesspool that is entertainment news.

When this kind of celebrity access and engagement is prompted by publicists, there is still the possibility of shills in the audience. I'd like for the smarter online communities to get past that, with what real journalists call full disclosure, and what real people call integrity. We might have to, as SNL taught us years ago, just come out and say, "plug away".

See also "Crowd Studies, Zach Braff, and Celebrity News." (Incidentally, that photo was probably shot near the wide end of the 17-35/2.8L that I used around that time, so I was little more than a sidewalk's width away from being trampled by the phalanx of Braffinistas.)

xmodmap, Caps_Lock, and Shift

Here's one for Web search engines... In the X Window System, if you're trying to use your Caps Lock key as some other key (such as for a modifier in xmonad), and you've already removed keysym Caps_Lock from the lock modifer, but your new Caps Lock doesn't work right when modified by Shift, two things...

First, you might need to make sure that that keycode for your Caps Lock key is supposed to be mapped to the Caps_Lock keysym when there's a Shift modifier. Since the keycode can vary by keyboard (and, in theory, there can be more than one), I did it this way in my ~/.xsession:

for Keycode in `xmodmap -pke | sed -n -e 's/^keycode  *\([0-9][0-9]\) *=  *Caps_Lock\( .*\)$/\1/p'`
do
    xmodmap -e "keycode ${Keycode} = Caps_Lock Caps_Lock Caps_Lock Caps_Lock"
done

Second, even after doing this, I found that it still didn't work with the left Shift key on my laptop; however, it did work with the Right shift key. (Which is just as well, because pressing two keys right next to each other simultaneously with the same hand is probably not a good idea.) The cause of this weirdness might be buried elsewhere within the X server, or it might be brokenness in my laptop hardware or firmware. I'm not running Gnome, KDE, etc., so at least those aren't messing things up. I would look next at setxkbmap. I have not investigated beyond discovery of this problem, since it's satisfactory for me for now. Let me know if you figure it out.


xmonad and ssh-askpass-fullscreen

Here's one for the Web search engines... If using XMonad with Debian ssh-askpass-fullscreen, you'll probably want something like this:

, className =? "Ssh-askpass"            --> doIgnore
, className =? "Ssh-askpass-fullscreen" --> doIgnore

I put two class names there, due to automagic in how the class name is determined, combined with the Debian /etc/alternatives setup.

XMonad.Actions.WindowGo

 [small screenshot of a computer screen desktop organized with xmonad] Just in time for Monday, I'm starting to get comfortable in xmonad, and one of the useful extensions I like is XMonad.Actions.WindowGo. I currently have rigged it up so that certain applications, such as Emacs, URxvt, and Firefox are associated with a letter. Holding down a special modifier key and hitting the key for the associated letter moves focus to the next window of that application, or starts the application if there are no windows for it. Holding down the shift key together with that modifier key, and hitting the key for the associated letter opens a new window for the application regardless of whether or not there is any existing window. Something like the following fragment of a XMonad.Util.EZConfig additionalKeys usage:

, ((mod4Mask, xK_s), raiseNextMaybe (spawn "urxvt -title Shell")
                     (className =? "URxvt"))
, ((mod4Mask, xK_w), raiseNextMaybe (spawn "firefox")
                     (className =? "Firefox"))
  --
, ((mod4Mask .|. shiftMask, xK_s), spawn "urxvt -title Shell")
, ((mod4Mask .|. shiftMask, xK_w), spawn "firefox")

(Once I learn Haskell, I will of course avoid the DRY faux pas in that code, but you get the idea.)

The shift key variant is probably most useful for shell windows: I suspect I won't often want multiple Firefox or Emacs windows open on a workspace, when they're tiling.

For applications for which I never want more than one window, I use runOrRaise:

, ((mod4Mask, xK_m), runOrRaise "thunderbird" (className =? "Thunderbird"))

I was using runOrRaiseMaster briefly, which is convenient: hit the key combination twice, and not only do you get focus to it, but you make it master. I'm temporarily trying only runOrRaise instead, because that hit-it-twice shortcut doesn't work for the applications that can have more the one window, and I'm not sure I want to special-case the one-window-max. applications in this way just yet.

So, to make a window master, I have to use my normal key binding for that, which is Mod3-Return, using XMonad.Actions.Promote:

, ((mod3Mask, xK_Return), promote)

I'll see how I like XMonad after a week or month of usage, but I strongly suspect that it's a keeper.

A keeper, unlike the last time I used a tiling window manager, which, incidentally, was when I wrote perkymbf.el, for multiple tiled Emacs windows sharing a dedicated minibuffer window that could get lost on a large display.

Update 2011-09-26: While adjusting my keymaps, I found that my Caps-Lock key, remapped as a modifier, was not cooperating with shiftMask, so I switched to controlMask.

xmonad

I've experimentally switched to xmonad. I've used many X window managers before, including tiling ones, and have always eventually ended up going back to my highly customized Fvwm setup. However, I'm getting a good impression from xmonad, and suspect that I'll stay with it. I will have to tweak it a lot more than I have so far, but that might be kinda fun, given that it's designed to be customized in Haskell.

Olecito

The Olecito Mexican-ish take-out place in Inman Square (Cambridge/Somerville, MA, USA) is pretty good and affordable. It's off Cambridge St., around the corner from 1369.

Most importantly, unlike assembly-line burrito joint chains like Chipotle and Anna's, at Olecito you don't get asked a bunch of unintelligible questions at each step of the food preparation. You say "veggie burrito with everything, to go," and you're done.

The veggie burrito, which is what I usually get, is sometimes a little bland, and is never as spicy as Chipotle. The ingredients vary. Sometimes there's guac; sometimes, not. The creamy tomato sauce (not salsa as I know it) they give you on the side is pretty flavorful.

I just saw an online review that complained of a sour woman working the register there. I've been there around a dozen times, at various times of day, and haven't seen anyone matching that description. And the woman who has personned the register the last 2-3 times I've been there is extremely charismatic and cheerful. A face and eyes made for smiling. If you see her, you'll know who I mean.

You can also call ahead and give your order for takeout, and that has worked reliably for me so far. They've always had the order ready 10 minutes later, and it's always been the right thing (which is especially important for vegetarians).

Update 2011-10-08: Perhaps 2-3 days after I posted that, they raised their prices quite a bit. The cause can't have been being swamped by my legion followers.

Wherefore Car-Free Bogosity

Gov. Deval Patrick admitted on Monday morning that he got caught red-handed driving to work from his Milton home on the first day of Car-Free Week, telling reporters he hoped residents would not follow his lead.

—State House News Service, "Gov. Deval Patrick admits `You got me' driving on car-free week," Boston Herald

Cambridge and Boston often win awards for being relatively walkable, as US cities go, but they're still overwhelmingly oriented towards cars. If you walk somewhere, you spend around half the time waiting at lights for cars, including waiting for the last few cars to run the red light. Virtually every park and place that people might go running has a background of the roar and air pollution of auto traffic. Often it is literally up against the traffic, so joggers are breathing heavily the carbon monoxide only a few feet away.

There are many causes of being car-centric. Of course there is the history of an optimistic phase of America, when we saw cars as central to a pristine and glorious future of progress and affluence, but that's less the case now.

I think one cause is that many people don't see the cities, which benefit from cars and also bear the brunt of the externalities, as home. People live outside the city because the housing costs in the city are too high, because they can get nicer housing in the suburbs, because the city has crime (code for public housing projects), and for the quality of the schools (code for public housing projects). And there's university students: students come to Cambridge and Boston for a few years, are blissfully indifferent to what goes on in the city, they don't vote, and then they leave. So, people don't see the cities as home, and if they're commuters, they want the quickest path in and out of the city that minimizes having to deal with urban poor and students that many of them moved to the suburbs to avoid in the first place. That means cars, which brings us to the next cause of Cambridge and Boston being car-centric...

The MBTA, Boston's public transit authority, does not work near as well as it should. It's old. They deferred crucial maintenance for many years. Union compensation for often low-quality workers is sapping their funds. They are encumbered with massive debt from the Big Dig, which was a multi-billion-dollar project to make cars more convenient, that then dumped much of its debt on the public transit authority. It's dirty. Even the best subway line, the Red Line, is famously unreliable. Most bus lines seem run as if they are a begrudging charity, for people who, it is seemingly thought, don't have to be anywhere, and can regularly spend a few hours to get somewhere on a bus that's supposed to run every 25 minutes for a 15-minute trip.

You saw the part there about dumping debt for the Big Dig car project onto the public transit authority? This brings us to another phenomenon of Boston-area thinking about transit: the perception among many is that the purpose of public transit is to take people off the roads, to make driving more convenient for the people who will not use public transit. So you shouldn't be surprised by the governor getting caught violating the first day of the Car-Free week. The last head of the MBTA drove his SUV every day too, because, as he said, he had places to be, and needed to be on-time for meetings. And the people of actual influence (who don't read the blue-collar tabloid Boston Herald) aren't going to cast the first stone at the governor, because they are likely to have blown off Car-Free Week in their own comfy SUVs themselves. The journalists who staked out the governor's house are just playing political or pageviews gotcha, and assuaging the consciences of people who are starting to "go green" but consider Car-Free week too big an imposition.

In this context of a car-centric environment, I don't blame individuals for not wanting to try car-free. The system is stacked against them. And, if they find that they're sacrificing for the sake of going green, that just makes things easier for the drivers. (If some studies I've heard of are to be believed, taking traffic off the roads makes the roads more attractive to drivers, which increases the number of drivers.)

I don't know all of the causes of our car-centric state of things, but having figured out some of the causes sates my curiosity. It took me a while to figure out some of why Cambridge and Boston were so much more pedestrian-hostile than they needed to be. It's not that nobody understands how to make things more pedestrian-friendly; it's that the wants of drivers take priority, drivers don't much care about pedestrian life in the cities, and many car-free initiatives are motivated by improving drivability for the car-powered.

(Having worked a little with a couple people involved with transit in Cambridge, I know that they genuinely believe in, and themselves practice, walking and biking. So I'm not criticizing them. But the city is committed first to drivers, perhaps for good economic reason, and I don't see that changing.)

Can You Detect How Outraged I Am By This?

Zinn: And observe the map device here -- how the map is itself completely Gondor-centric. Rohan and Gondor are treated as though they are the literal center of Middle Earth. Obviously this is because they have men living there. What of places such as Anfalas and Forlindon or Near Harad? One never really hears anything about places like that. And this so-called map casually reveals other places -- the Lost Realm, the Northern Waste (lost to whom? wasted how? I ask) -- but tells us nothing about them. It is as though the people who live in these places are despicable, and unworthy of mention. Who is producing this tale? What is their agenda? What are their interests and how are those interests being served by this portrayal? Questions we need to ask repeatedly.

—Jeff Alexander, Tom Bissell, "Unused Audio Commentary By Howard Zinn And Noam Chomsky, Recorded Summer 2002 For The Fellowship Of The Ring (Platinum Series Extended Edition) Dvd. Part One," McSweeney's

Notice that there are additional parts after this first one. Which is where I stole the title for this blog entry.

If you don't see any humor in this piece, don't go doing background reading Chomsky and Zinn now, or you'll get on a list.

Magical Powers of Jacket and Tie

Several years ago, I went to an event where representatives from various law schools around the country set up tables to talk with prospective students.

I dredged up some rusty old biz skills, reminded myself to smile and hold eye contact aggressively, and armed myself with jacket and tie.

Eventually, I get to a representative at one table, give a few words of my background, she calls over the other rep to join us, and I say my interest was in Internet and IP policy. They are responding positively, and this is going pretty well.

One of them starts to talk about their center for such-and-such, and touting their industry relationships. I say that I want to represent the public interest, still remembering to hold the ambitious and confident young jacket-and-tie-wearing man smile and eye contact. Their smiles disappear and one of them starts to say how their clinical program is based around very close industry partnerships, or something like that, like I am suddenly not a good match.

I'm continuing to smile like I know something, and without missing a beat, I guess powered by the jacket and tie, the words pop into my head, and come out my mouth, loudly and clearly, "Know. Thy. Enemy." They both crack up, and are once again beaming, and perhaps LSAT scores just became a mere formality.

I didn't find out for sure, because I decided I couldn't afford law school til I paid off all my earlier school. Probably I should get a jacket and tie again, though. I'd forgotten that they tend to pay for themselves.

Video of the Day

Go to http://news.hjnews.com/news/article_4f16762a-dd6c-11e0-a78a-001cc4c002e0.html, and see the first video under "Related Video" heading in the left column.

The motorcyclist survived, and escaped head trauma.

SICP, DrRacket, and load

If working through SICP using DrRacket and the neil/sicp PLaneT package, and having trouble with load, here's a possible temporary workaround:

  1. Put a #lang planet neil/sicp at the top of each file.

  2. Change each (load ...) form to be (#%require ...).

  3. In each file that is thus #%require'd, add a (#%provide ...) form that lists all the identifiers that you wish to provide from the module. See the Racket documentation if you don't know how to use this.

If this works for people, I think what I'll probably do, when I get a free moment, is to do this same thing transparently: change load to work as a module require, and to make each module provide all variables defined within.

The super-ideal way would be a PLaneT package that has you indicate what problem set you're doing, and automatically provides all the definitions you need (and are permitted to have) for that problem set. That would be a little smoother than what people traditionally did with MIT Scheme. Alas, I think that's the kind of problem you have a research assistant spend a semester polishing. All my other pro bono projects would stall if I tried to get that degree of polish.

If you'd like to tackle developing that polish yourself, perhaps as you work through SICP, let me know.


Supermarket Sushi & Student Groceries

If you get a little thing of prepared maki roll from the supermarket, in the "inside-out" style with the sticky rice on the outside of the nori, then you eat half of it and put the other half in the fridge, then the next day, you might find that the sticky rice is insufficiently sticky -- structural integrity hopelessly compromised.

Incidentally, Broadway Marketplace in Harvard Square, which is like a convenience store for Harvard people (like Whole Foods, but smaller and more expensive), has a 10% discount for Harvard and MIT affiliates on Saturday and Sunday. New students, see my PSA for new students about groceries. If you need to buy a large bottle of Colavita, for the love of all that is good and sacred, walk or bike a bit further, to Foodmaster.

Texinfo-like Racket Evaluation Results in Scribble

Using Racket Scribble, but miss Texinfo-like evaluation results?

Eventually, either we'll get this added to Scribble, or I'll make a tiny PLaneT package that does this in a nicer way. But for now, you can kludge it up like:

@(define => (larger (italic "\u21d2")))

@(racketblock (+ 1 2 3) #,=> #,(racketresult 6)
              (+ 1 3 3) #,=> #,(racketresult 7)
              (+ 1 4 3) #,=> #,(racketresult 8))

This formats like:

(+ 1 2 3)  6
(+ 1 3 3)  7
(+ 1 4 3)  8

The double-arrows used to look quite nice in Texinfo-generated DVI, PS, and PDF output; Web browsers and putting it in fixed-pitch font don't do the character justice right now.

Compare to one of the usual Racket ways:

@(racketinput (+ 1 2 3)            
              #,(racketresult 6))
@(racketinput (+ 1 3 3)            
              #,(racketresult 7))
@(racketinput (+ 1 4 3)            
              #,(racketresult 8))

Which formats like:

> (+ 1 2 3)
  6

> (+ 1 3 3)
  7

> (+ 1 4 3)
  8

The usual Scribble format uses much more space, and also does not permit a columnar layout that would help show symmetries among more complicated expressions and results. Less importantly, this format can also be harder to read without color. As for the ">" prompt, I don't have a strong argument against it, but I don't think it's necessary.

Aside: This was a pressing question for me because I'm almost ready to release the McFly package, which lets you embed API documentation within Racket files. Just now, I considered simply adding => to McFly, but I think I'll wait.

Scalpers

 [photo of checkout screen for two tickets with 'service fee' and 'delivery' at total of $229.20] Louis CK is one of my favorite comedians, and he's visiting Boston in a month. And me having tickets might entice a different person, my absolute most favorite comedian (not as well-known yet), to visit me again in Boston sooner. Sadly, the scalpers snapped up the $45 tickets immediately, and now they want to charge me a total of $229.20 for a pair of so-so seats that I suspect they got on Friday for a total of $90.

I could justify the $229.20 in this case, but I don't like giving all that money to scalpers, rather than to the performer or the theatre venue. So I Google'd the scalper's domain name. Sure enough, the scalpers look like they aren't content to price-gouge, but are gratuitously slimeballs besides. I think Mr. CK would understand my hesitation to enter my credit card number.

I'll figure something out, but I'm going to try other things before I deal with scalpers.

How True Overachievers Energize

When I first arrived at MIT for grad school, a bureaucratic comedy of errors meant that another student and I didn't have equipment. So, we fought with undergrad research assistants for the one available recent-era computer in our group's lab area, and everything took longer than it needed to, so every day meant a late night in the lab. One of these late nights in the open lab area, I did learn something.

Suddenly, perhaps it was 3am or 4am, this drowsy undergrad gets down on the floor and starts doing push-ups. Afterwards, she said she did it to wake up.

Lesser-achievers would be guzzling caffeinated soda, partaking of the free coffee, munching the chocolate-covered espresso beans sold in tubs at the checkout of the campus grocery store, or popping caffeine pills. I guess, today, lesser-achievers would be drinking 'energy' drinks.

Earlier to... 2011-08

© Copyright Neil Van Dyke      Contact