But it’s a good thing they’re different things, or nobody would let me sit anywhere. I have gone to every bank chain in the city, as far as I know. I have never encountered anybody who wanted my business less. What is causing this?
All of my American classmates have managed to open accounts, so it’s not anti-Americanism. Is it sexism? Is it homophobia? Do I not closely enough look like a student? Am I too butch for them? Not manly enough?
I ask for an account and they start looking for reasons to say no. Note that I don’t say that they’re listing requirements. They quite clearly want to refuse me. Given that I’ve gone to the same banks as my classmates, I can only assume that I’m experiencing discrimination. I was hoping that being the recipient of antigay slurs at the train station was an isolated event, but maybe not. Or maybe it’s something else.
I really miss France. Their bureaucracy is way easier and more logical than here. And when it wasn’t, one could always resort to yelling. I don’t think that will help here, but I’m about a millimeter away from it.
Tags: The Hague, Celesteh
Biography, programs and music
A while ago, I had a conversation with a friend who contended that people go to concerts, read the biographies (and program notes) of a composer and judge the pieces based on this rather than on the sound. He furthermore stated that many biographies of students were inflated. They had played concerts in their home towns, their college towns and now here, perhaps in three different countries. But they’re not international stars, it’s just where they studied. Furthermore, who their teachers were might be important, but it’s not germane to listening to the piece. If these composers are so fantastic, why are they in school at all? (Maybe they just want to live in another country until Habeas Corpus is reinstated.)
I’ve been thinking about this in regards to my bio. I think having a bio that lists teachers, education, awards and whatnot is useful for a press kit. As in: anything that helps me get gigs is good. But what about a bio for programs? Apparently, according to my (non-Dutch) friend, the Dutch don’t react well to self aggrandizement. So I’ve thought about having a different short bio for use in printed programs at musical performances.
Nicole says it’s too weird. She may be right, as it might not fully encourage people to judge my music on it’s merits rather than a perception of me that they gleam from my printed statement. But it’s not self-aggrandizing and does get to the heart of certain issues. So I’m asking you, dear readers, too weird or just right?
Celeste Hutchins is a Californian abroad, testing Philip K Dick’s theory that once you become a Berkeley radical, you can never leave. She explores issues of regional identity, plays music, goes to school and has telepathic conversations with an alien satellite orbiting the earth.
Tag: Celesteh
HID, Joysticks and SuperCollider
So, game controllers and joysticks and the like are called Human Interface Devices (HID). There is some HID stuff built into SuperCollider, but it seemed sort of half implemented. They let you specify things, but not do much with it. So I wrote an extension yesterday, which maybe I should submit as something official or a replacement, although I didn’t bother checking first if anybody else had already done anything. No internet access at home sucks.
To use it, download HID.sc and put it in ~/Library/Application Support/SuperCollider/Extensions. Plug in your joystick or controller. Start SuperCollider.
First, you want to know some specifications for your device, so execute:
HIDDeviceServiceExt.buildDeviceList; ( HIDDeviceServiceExt.devices.do({arg dev; [dev.manufacturer, dev.product, dev.vendorID, dev.productID, dev.locID].postln; dev.elements.do({arg ele; [ele.type, ele.usage, ele.cookie, ele.min, ele.max].postln; }); }); )
I got back:
[ , USB Joystick STD, 1539, 26742, 454033408 ] [ Collection, Joystick, 1, 0, 0 ] [ Collection, Pointer, 2, 0, 0 ] [ Button Input, Button #5, 3, 0, 1 ] [ Button Input, Button #6, 4, 0, 1 ] [ Button Input, Button #7, 5, 0, 1 ] [ Button Input, Button #8, 6, 0, 1 ] [ Button Input, Button #1, 7, 0, 1 ] [ Button Input, Button #2, 8, 0, 1 ] [ Button Input, Button #3, 9, 0, 1 ] [ Button Input, Button #4, 10, 0, 1 ] [ Miscellaneous Input, Hatswitch, 11, 0, 3 ] [ Miscellaneous Input, X-Axis, 12, 0, 127 ] [ Miscellaneous Input, Y-Axis, 13, 0, 127 ] [ Miscellaneous Input, Z-Rotation, 14, 0, 127 ] [ Miscellaneous Input, Slider, 15, 0, 127 ] [ a HIDDevice ]
Ok, so I know the name of the device and something about all the buttons and ranges it claims to have. (Some of them are lies!) So, I want to assign it to a variable. I use the name.
j = HIDDeviceServiceExt.deviceDict.at('USB Joystick STD');
Ok, I can set the action for the whole joystick to tell me what it’s doing, or I can use the cookie to set the action for each individual element. I want to print the results. In either case, the action would look like:
x.action = { arg value, cookie, vendorID, productID, locID, val; [ value, cookie, vendorID, productID, locID, val].postln; };
You need to queue the device and start the polling loop before the action will execute.
HIDDeviceServiceExt.queueDeviceByName('USB Joystick STD'); HIDDeviceServiceExt.runEventLoop;
It will start printing a bunch of stuff as you move the controls. When you want it to stop, you can stop the loop.
HIDDeviceServiceExt.stopEventLoop;
Ok, so what is all that data. The first is the output of the device scaled to be between 0-1 according to the min and max range it reported by the specification. The next is very important. It’s the cookie. The cookie is the ID number for each element. You can use that to figure out which button and widget is which. Once you know this information, you can come up with an IdentityDictionary to refer to every element by a name that you want. Mine looks like:
j.deviceSpec = IdentityDictionary[ // buttons a->7, left->9, right->10, down->8, hat->11, // stick x->12, y->13, wheel->14, throttle->15 ];
The last argument in our action function was the raw data actually produced by the device. You can use all your printed data to figure out actual ranges of highs and lows, or you can set the action to an empty function and then restart the loop. Push each control as far in every direction that it will go. Then stop the loop. Each element will recall the minimum and maximum numbers actually recorded.
( j.elements.do({arg ele; [ele.type, ele.usage, ele.cookie, ele.min, ele.max, ele.minFound, ele.maxFound].postln; }); )
This gives us back a table like the one we saw earlier but with two more numbers, the actual min and the actual max. This should improve scaling quite a bit, if you set the elements min and max to those values. ele.min = ele.minFound; Speaking of scaling, there are times when you want non-linear or within a different range, so you can set a ControlSpec for every element. Using my identity dictionary:
j.get(throttle).spec = ControlSpec(-1, 1, step: 0, default: 0);
Every element can have an action, as can the device as a whole and the HIDService as a whole. You can also create HIDElementGroup ‘s which contain one or more elements and have an action. For example, you could have an action specific for buttons. (Note that if you have an action for an individual button, one for a button group and one for the device, three actions will be evaluated when push the button.) Currently, an element can only belong to one group, although that might change if somebody gives me a good reason.
This is a lot of stuff to configure, so luckily HIDDeviceExt has a config method that looks a lot like make in the conductor class. HIDDeviceExt.config takes a function as an argument. The function you write has as many arguments as you want. The first refers to the HIDDeviceExt that you are configuring. The subsequent ones refer to HIDElementGroup ‘s. The HIDDeviceExt will create the groups for you and you can manipulate them in your function. You can also set min and max ranges for an entire group and apply a ControlSpec to an entire group. My config is below.
j.config ({arg thisHID, simpleButtons, buttons, stick; thisHID.deviceSpec = IdentityDictionary[ // buttons a->7, left->9, right->10, down->8, hat->11, // stick x->12, y->13, wheel->14, throttle->15 ]; simpleButtons.add(thisHID.get(a)); simpleButtons.add(thisHID.get(left)); simpleButtons.add(thisHID.get(right)); simpleButtons.add(thisHID.get(down)); buttons.add(simpleButtons); buttons.add(thisHID.get(hat)); stick.add(thisHID.get(x)); stick.add(thisHID.get(y)); // make sure each element is only lsted once in the nodes list, or else it // will run it's action once for each time a value arrives for it thisHID.nodes = [ buttons, stick, thisHID.get(wheel), thisHID.get(throttle)]; // When I was testing my joystick, I noticed that it lied a bit about ranges thisHID.get(hat).min = -1; // it gives back -12 for center, but -1 is close enough // none of the analog inputs ever went below 60 thisHID.get(wheel).min = 60; thisHID.get(throttle).min = 60; // can set all stick elements at once stick.min = 60; // ok, now set some ControlSpecs thisHID.get(hat).spec = ControlSpec(0, 4, setp:1, default: 0); // set all binary buttons at once simpleButtons.spec = ControlSpec(0, 1, step: 1, default: 1); // all stick elements at once stick.spec = ControlSpec(-1, 1, step: 0, default: 0); thisHID.get(wheel).spec = ControlSpec(-1, 1, step: 0, default: 0); thisHID.get(throttle).spec = ControlSpec(-1, 1, step: 0, default: 0); thisHID.action = {arg value, cookie, vendorID, productID, locID, val; [value, cookie, vendorID, productID, locID, val].postln; }; });
I wrote all of this yesterday, so this is very demo/pre-release. If something doesn’t work, let me know and I’ll fix it. If people have interest, I’ll post better versions in the future.
Tags: SuperCollider, HID, Celesteh
My address
Nieuwstraat 25, 1E
2511 AT Den Haag
The Netherlands
My phone number is as yet unchanged: +336 67 38 2191
Tag: Celesteh
Concert Announcement
8 Oktober: Over tekst en muziek – Kader Abdolah
Kader Abdolah – lezing over de relatie tussen tekst en muziek
Han Buhrs – zang, live elektronica
Joseph Bowie – trombone, zang, live elektronica
Luc Houtkamp – computer, saxofoon
Guy Harries – computer, zang
Celeste Hutchins – compositie, computer
Kader Abdolah, Nederlands schrijver van Iraanse afkomst, zal een lezing houden over de synthese tussen poëzie en muziek in de Perzische cultuur. Abdolah heeft met het POW Ensemble een voorstelling gemaakt voor het Crossing Border festival 2005, waarin de gedichten van de Perzische dichter Jalaluddin Rumi een centrale rol innemen. Bij het werkproces aan dat project is het ons opgevallen hoe nauw muziek en poëzie in de Perzische cultuur samen vallen. Kader Abdolah heeft over dit gegeven veel te vertellen.
De relatie tussen tekst en muziek is een onderwerp dat het POW Ensemble ten zeerste bezighoudt. Het ensemble legt de verbinding tussen beiden op een eigentijdse manier door gebruik te maken van computers. Op dit concert zullen we laten horen wat de mogelijkheden van deze werkwijze zijn.
Daarnaast zal de Amerikaanse componiste Celeste Hutchins haar composities Meditations pour les Femmes en Faux-bourdon Bleu te gehore brengen.
Plaats: Galerie <TAG>, Stille Veerkade 19, tel. 070-3468500 Aanvang: 16:00 uur (deuren open om 15:30)
Toegang 5 euro (studenten 2,50 euro) Passe partout voor 4 concerten: 15 euro
Which is to say that I’ll be playing 2 pieces in a larger concert on October 8 at 4:00 PM at Galerie <TAG>, Stille Veerkade 19, The Hague. Tel. 070-3468500. Price is 5€ or 2.50€ for students. If you want to go to the whole series (you missed the first one (ack, I forgot the first one)), it’s 15€.
Tags: The Hague, Celesteh
Heh heh. She said “Joystick”
Is it me, or is everything about game devices loaded with innuendo? “Joy stick?” I mean, really. I went out yesterday and attempted to purchase one called the “thrust master.” Sublimation much?
No, I have not discovered the joys of gaming. (Well, I briefly became interested in a Soduku widget, but it got old fast. Closely related to minesweeper but without the smiley face or the implied violence. bah.) If I gamed, I would not do anything else. It’s difficult for me to compartmentalize.
Anyway, I found a bargain joystick with 2 degrees of A->D conversion for the stick and another degree for the throttle. I have plans to use it with my tuba (or, rather, my formerly bubblewrapped sousaphone). If the stick proves too awkward / stupid, then different variable resistors, such as ribbons can be put in place of where the stick went.
Right now, though, I am giggling like a middle schooler at game device terminology. If I remove the plastic of the handle and replace it with a cyberskin packer, would this be over-the-top for performance? What if it was crotch-mounted?
(For those of you wondering what a “cyberskin packer” is: It’s a limp, squishy prosthetic penis that one might use for stuffing their trousers. These are used by Drag Kings, FTMs, cisgender males with injuries, and people who know how to get a party started. And very serious gamers, of course.)
Tag: Celesteh
Weekend Trips not to Take
#1
Leave The Hague at 12:30 PM, Drive to Paris. Eat. Sleep. Carry all belongings down 3 flights of stairs. Drive back to The Hague. Leave girlfriend and all belongings at a gas station. Carry all belongings the few blocks from the gas station, through the pedestrian area, to apartment. Move all belongings up steepest flights of stairs ever. Wonder why knee hurts.
#2
Cut Friday classes. Go to train station. Take train to airport. Get on plane. Fly to San Francisco. Borrow Car. Drive to Santa Cruz. Eat. Get drunk. Go dancing. (awake for 26 hours!) Collapse. Awake. Eat. Get lost trying to find beach. Drive to Berkeley. Eat. Sleep. Drive to Santa Cruz. Watch brother get married. Eat. Drive to San Jose. Eat. Drive to Berkeley. Sleep. Try to buy tuba shipping case. Give up. Buy bubble wrap. Wrap sousaphone in bubble wrap. Get ride to airport. Fly to Amsterdam. Get on wrong train. Wander around train station of small town in Holland while carrying bubble wrapped sousaphone. Take train to The Hague. Carry bubble wrapped tuba to apartment. Fall asleep. Miss classes. Forget lab time.
This weekend, I’m thinking of going to Amsterdam to get my hair cut.
Um, anyway, my brother got married and I came back for it and went to the Bachelorette party (my first and last, I think). And I now have the worst tuba in Holland, I think. I didn’t worry about breaking it because who could tell. It sounds like a wounded cow. I want to use it to work out how to do some stuff which I will later do with a real tuba.
My stomach still hurts from the antibiotics that I took in July. This is ridiculous. I go offline to find a medical person to whine to.
Tags: The Hague, Celesteh
From Talk Like a Pirate Day
The Queen
Yesterday, there was some big queen-related festival. I speak not of the makes of Bohemian Rhapsody, but rather the head of state of The Netherlands. It’s a constitutional monarchy, so she actually wields power.
The capital of the country is Amsterdam. It says so in the constitution. But The Hague is the seat of government. That means that all the government buildings and meetings are in The Hague. It’s where the queen lives and where parliament meets. It’s as if the constitution of the United States listed New York City as the country’s capital, but all the government stuff was still in DC. Except for the museums. Anyway.
So yesterday was a sort of State of the Union kind of thing, where there is a procession from the queen’s residence (a palace?) to the parliament and then she addresses them and lays out her legislative agenda. She rides in a royal carriage. There were bands (and sousaphones) galore, people in uniforms on horseback. A gold-festooned carriage. A festival-like atmosphere filled the city center. I did not have a school holiday, but many elementary schools clearly did.
I thought it would be remis of me (thinking only of you, dear readers) if I didn’t at least try to get a glimpse of the queen. Alas, I was standing in the crowd on the wrong side of the palace-y thing. I saw her carriage, but only from a rather far distance. I was on my way to see her get into the parliament, but it was jammed with people. I did, however, see an image of her doing a very queenly wave on a TV screen. Which is almost like being right there.
Royal Spatialization
There was a lot of music associated with the festivities. Including the aforementioned marching bands (and sousaphones!) but also calliopes. These were quite involved, featuring female figures on the front who actually beat bells. Inside, were pipes and percussion. Several years ago, I saw a MIDI controlled calliope for sale on EBay. Next time I see one, I will not hesitate. Anyway.
I was walking home from school in the evening and heard more band music. I love a march, so I walked over to the source to see what was going on. In the square in the center of town, there were a bunch of bleachers set up. All full of people. The described a large square area where the marching bands were performing field shows.
A field show is that thing that marching bands do where they go out on a field of some kind and march in patterns. In the US, this is most often done at (American) football games during the halftime break. It is also sometimes sighted at competitions. The competitive aspect is strong. I’ve never heard of people just doing it for fun without competition somehow involved. And yet, here in The Hague, bands are marching around, playing marches and settings of pop songs and making formations. There were a couple of high school bands, but the others were all adults. Gray haired trumpet players.
Perhaps in honor of Talk Like a Pirate Day, one of the bands had pirate flags on it’s drums and did a show called legend of the seas. All in all, everybody looked like they were having more fun than I recall from my field show days. I got information about The Hague’s marching band Victory. They all had matching sousaphones, all in much better shape than mine. I’ve failed to locate a tuba shipping case and I could really do with a playable instrument.
A year or so ago, I did some marching with the Wesleyan Pep Band for a half time show put together by Neely Bruce. He, like Charles Ives, saw marching bands as a great way to do spatialization. I was reminded of this as the different instruments moved around and faced different parts of the Plein. People doing wavefront synthesis (a spatilization technique) talk about how everybody sitting in a different place will hear a different concert. This is true, but it’s also true for field shows. If the trombones are marching closer and closer to you and the saxophones are further away, you’re going to hear something different (obviously) then the people who have advancing saxes and retreating bones. The wave patterns you get from moving band instruments is way more complicated. Is anybody besides Neely working now to exploit this?
19th century technology still has something to say. yarr avast.Tags: The Hague, Celesteh
Yesterday
Back from France. I miss it and I miss living in the 10th arrondissement and walking to get cheese from the fromagerie and baguettes from the boulanger and produce from the little vegetable market around the corner. It had it’s stresses, certainly, but man, the food was better.
Nicole has learned how to roll a joint! huzzah!
Today, in class, we listed to All the Rage by Bob Ostertag (he has some free downloads on his website, you should look for this piece, in case it’s available). The recording we listened to was the Kronos Quartet playing with a tape that consisted of a guy talking about being called “queer,” getting gay bashed, his friends dying of AIDS and internalized homophobia. Intermingled with that were sounds from a riot. I asked the teacher if he knew if it was the White Night riot (I know KPFA recorded it) or Stonewall or something else, but he didn’t know. The piece is extremely powerful. It’s the sort of thing that you have to give your full attention to and then you spend the rest of the day and some of the next day thinking about it.
So after the student concert this afternoon, I was thinking about it and walking by the train station on the way home. A guy paused from rolling his joint to spare change me in Dutch. I said “sorry” (conveniently, a word in both languages) and a short guy next to him took it up again in English. I said sorry again, but he persisted and merged into sexual harassment. “Have you ever been with a man?” he asked. “You should try it at least once.” Gee, thanks for your offer, but no. Yeah, not exactly friendly when somebody is shouting it across the (bike) parking lot at you.
The Ostertag piece starts with (quoted from memory) “I remember the first time I heard somebody say ‘queer’ and knew they meant me.”
Yeah, French folks thought I was kind of weird and they got that across subtly, but I was in a little bubble of foreignness. I was the eccentric anglophone. Clearly not French. Old ladies gave me mildly disapproving looks on the metro once in a while. Men did not give me the eye. At all. Ever. I was more or less outside of the male gaze for a year. Nobody called me queer. Nobody laughed at me (except for my terrible language skills). Nobody refused to sell me clothes. The bathrooms were more or less gender neutral and the dressing rooms at clothing stores were explicitly gender neutral.
The Hague is a lot like home in some ways. I feel unfriendly male laughter following me around here. FWIW, this not coming from people who ‘look’ Dutch, but from people who might be other immigrants. I would type more about this, but Nicole’s joint rolling skills are starting to effect my typing.
Tags: The Hague, Celesteh
The Latest
Theoretically, I should have full functionality on my school’s wifi network on Monday. Tomorrow, I am driving to Paris. Gasp, yes, driving a car across three countries. Yikes. I will fill it up with boxes of stuff and drive back to put all the stuff in my new apartment. Huzzah, it is two rooms right in the middle of town. It is awesomeness. The air mattress at the anti-squat sprung a leak, so this is just in time.
I ordered a bicycle. I kept waffling back and forth between getting the cheapest bike possible because it will get stolen anyway and I’m only here for a year or get the bike I want but couldn’t get at home and be worried about parking it all the time and ship it home. I went with option B and in 4 weeks, I’ll have my very own 60 lbs bike (yikes). In the meantime, I am trying to assemble a bike from pieces of incomplete bikes. I feel I am close to this goal, but I left the major piece someplace on a rack with no lock (I don’t have one yet) and I’m worried somebody will think it abandoned and throw it in a dumpster. After careful consideration, I’ve decided I should probably give it some brakes. So it needs a tension arm for the chain, some derailer type thing (it doesn’t need to move, but it does need to keep the chain from falling off) and some sort of braking device and it’s all good. w00t.
School is cool. Housing crisis is solved Bike solution in progress. all is well.
Tag: Celesteh