02 July, 2007

TDMA status

Progress on Net::TDMA (although I suspect this is not the right place for it) was interrupted of late by paying customers. Paying for perl, even. Well... paying for data, I chose the perl part of it. I suppose I could have done all the munging and scraping in ruby, but I don't know enough about (or whether there is) ruby's LWP I also chose XML::Dumper for storing and transferring the data. This way, I figure, the customer has the data and can do with it what they want, or I can take the same data, xml2pl it, and stuff it into MySQL or something else sufficiently facile.

So, work on the TDMA stuff resumes today, along with interviews.

30 June, 2007

Learned a new perl trick today

So I was parsing html, which is always kind of an icky job. But perl has this great regex engine I can employ to do the parsing for me. The problem with the regex engine is it's very difficult to debug a bad expression. I remember being confounded for hours by them in the past.


@bottle{qw{ upc_code year name varietal size }} = $bottling =~ m{
(\d+)</a></td> # this is the UPC code
<td>([^<]+)</td> # this is the year
<td>([^<]+)</td> # this should be the name
<td>([^<]+)</td> # this is the varietal
<td>([^<]+)</td> # bottle size
}x;

Luckily, perl gives us the /x modifier to regexes. So in this case you can see a very simple expression, but I'm sure you can imagine much more complicated expressions. If we want to see where the expression is broken, we can just do this:


@bottle{qw{ upc_code year name varietal size }} = $bottling =~ m{
(\d+)</a></td> # this is the UPC code
# <td>([^<]+)</td> # this is the year
# <td>([^<]+)</td> # this should be the name
# <td>([^<]+)</td> # this is the varietal
# <td>([^<]+)</td> # bottle size
}x;


and run it each time, opening up another little piece of the expression each time. This way we can "walk" down the expression finding where we goofed. In the case above, there was just a line that needed a \s* (which is easy to forget about when using /x!).

28 June, 2007

Just for the record

Trusting companies to do anything decent is a bad idea. Their entire purpose is to make you do as much work as humanly possible while simultaneously paying you the least amount they can before you will leave or otherwise stop working.

I can't believe I did it again. Why did I forget that? This time, we got really burned. This time it wasn't just fucking around with my income, it was affecting my marriage, my friends, and even my cars. So I come home to everything being a complete wreck after a month of being locked in a cell and working sixty+ hour weeks. Now I get to put my life back in order, one piece at a time.

27 June, 2007

Internet backup solutions


An internet backup provider, whose name rhymes with "posie" (the 'pocket full of posies' line in the children's nursery rhyme refers to the scabs associated with the black plague, so it fits), has spammed this site.

That doesn't really bother me. The first one was actually helpful, but was posted from a misleading address. It suggested that I use this posie service to back up my stuff. Well, that's fine for a gig, or a few hundred megs, or whatever. But what we're talking about here is the transport of several hundreds of gigs of data across the fancy interweb to posie.

This might work if I had SDSL still, and had a T1 to the house. This would also work if I took my personal computers to work and used the giant pipe at work to upload my data to posie. But I don't have a T1 or an OC3. I have cable – that I am borrowing from a neighbor and is thus intermittent. So that means I get about 600kbyte/s down, but we're locked at 384bits (note I said bits) on the way out.

But the marketing drone doesn't really understand these sorts of things. First, don't spam. Second, don't spam twice. Third, think and understand the situation before you start talking. Lastly, if you're going to use a pseudonym, like bonnie, for some marketing firm, please let me know that you are with a marketing form so that I may become aware of the fact that you're trying to sell me something, and you might not always be telling the truth.

So, bonnie, you are the first comments I've deleted in a long time. Unmoderated comments I think are the way to, but it's shit like this that tempts me the the other way.

By the by, I'm not going to link to the remote storage company, because that would contribute to their google page rank. My wife will also never recommend their service to a customer again (she works on the retail side of Apple).

The name of the advertising firm, however, for those who wish to blacklist or whichever, is Starline Marketing. These are the sorts of people I put on black lists for spam and the like. Perhaps google should implement procmail in blogger for comments (or mail for gmail, or...)

26 June, 2007

Data migration on a small, but big, scale.


We had kept most of our iTunes data on a 250GB LaCie disk that I've been worrying about. We had no backup for it, but what do you do with 200gb of data? This isn't some enterprise migration (which I've done a bunch of), it's moving 250GB to a new disk (640GB).

So, I got a little wacky. I told disk copy to make a 400GB "empty" image. I then proceeded to copy all my data over to it. The finder, as per usual, barfed on the operation. Ditto(1) to the rescue.

Now, this is adding a level of abstraction, which is almost never a good thing (as both Sergei and Doug would tell me). My justification is thus:

  • I'm not going to be surprised when I hit that 400GB mark, and with the 640GB drive, it means that there's 240GB for "the rest of the stuff."
  • When I move it again, all I have to do is move one file. I'll probably use cp instead of the Finder to move it.
  • It's easily mountable and unmountable. With disks, this can be a pain. Sometimes they unmount and won't come back.
  • Apple's disk images have internal checksumming so I can ask the disk to "verify" or "repair" it.

So, this is real wacky. Totally against what I've been taught as a programmer, sysadmin, etc. But, this is a Mac. and Mac's Not Unix so ymmv.

By the way, if you have anything bigger than a gig, use ditto. You see that output up there? I can grep through it for errors. Try doing that in Finder. Here, I'll help. Finder, cmd-u, t. That's all there is to it

23 June, 2007

Job hunt metrics

When a friend contacts me and says they're looking for a job, they generally have a sense of despair. I guess the notion is that they in particular are unemployable or under qualified for anything they actually want to do. My response is that it is a metrics game.

I have sent out eighteen resumes, via email, since I returned home on Wednesday night. This doesn't count the sort of internal-submission thing that Monster does; if I listed that, I suspect the number would more than double.

Employers, for whatever reason, have a hard time finding employees. So they use headhunters and sites like Monster and Dice. If you're not using all your available bandwidth to send out resumes on these and other sites, chances are employers are missing you.

Talk to your friends. They know people who are hiring. Sometimes it is they who are hiring.

And, don't be afraid to apply for a position that's just a hair outside your skillset. If somebody wants you to do Solaris administration for systems that control aerostats, and you know Solaris and RF and RS-422, why not give it a go? The worst they can do is ignore your resume, and that's what you're expecting them to do anyways.







All that having been said, I have no small amount of depression and resentment for about three people at Lockheed Martin MS2 in San Diego. But, they'll get theirs. They always do.

21 June, 2007

Those "Y" people

I hate generational names ("boomers", "gen x", etc). But this woman has it spot-on. Her original source has a lot to say, but what I found most interesting was the following snippet:

6 Principles of Millennial Management

So how do you translate what you’ve read so far into your day-to-day life on the job? What do today’s young employees want? If we’re designing recruiting programs and management systems based on their values and needs, how do we proceed? What kind of work environments attract, retain, and motivate Millennial coworkers?
Here are their six most frequent requests:

  1. You be the leader. This generation has grown up with structure and supervision, with parents who were role models. The “You be the parent” TV commercials are right on. Millennials are looking for leaders with honesty and integrity. It’s not that they don’t want to be leaders themselves, they’d just like some great role models first.
  2. Challenge me. Millennials want learning opportunities. They want to be assigned to projects they can learn from. A recent Randstad employee survey found that “trying new things” was the most popular item. They’re looking for growth, development, a career path.
  3. Let me work with friends. Millennials say they want to work with people they click with. They like being friends with coworkers. Employers who provide for the social aspects of work will find those efforts well rewarded by this newest cohort. Some companies are even interviewing and hiring groups of friends.
  4. Let’s have fun. A little humor, a bit of silliness, even a little irreverence will make your work environment more attractive.
  5. Respect me. “Treat our ideas respectfully,” they ask, “even though we haven’t been around a long time.”
  6. Be flexible. The busiest generation ever isn’t going to give up its activities just because of jobs. A rigid schedule is a sure-fire way to lose your Millennial employees.



It's uncanny how she describes these requirements. I frequently tell employers "hey, I'm not really happy unless I'm dodging a bullet. I work very well that way. So in other words, I'm looking for a challenge. Is that what we're talking about?"

That question scares off maybe 80% of recruiters/HR people. The remaining ones tend to be defense contractors. Go figure.

And once more it is appropriate to quote RKM


The personal, as everyone's so fucking fond of saying, is political. So if some idiot politician, some power player tries to execute policies that harm you or those you care about, take it personally. Get angry. The Machinery of Justice will not serve you here -- it is slow and cold, and it is theirs, hardware and soft-. Only the little people suffer at the hands of Justice; the creatures of power slide out from under with a wink and a grin. If you want justice, you will have to claw it from them. Make it personal. Do as much damage as you can. Get your message across. That way you stand a far better chance of being taken seriously next time. Of being considered dangerous. And make no mistake about this: being taken seriously, being considered dangerous, marks the difference -- the only difference in their eyes -- between players and little people. Players they will make deals with. Little people, they liquidate. And time and again they cream your liquidation, your displacement, your torture and brutal execution with the ultimate insult that it's just business, it's politics, it's the way of the world, it's a tough life, and that it's nothing personal. Well, fuck them. Make it personal.

Richard K. Morgan, Altered Carbon

The price of stupidity

I don't need to name names, but let me name some figures:

  • Cost of outbound flight: $300
  • Rescheduling return flight three times: $300
  • Cost of return flight: $400
  • Cost of Hertz rental for 3.5 weeks: $750
  • Cost of four tanks of gas: $240
  • Cost of hotel stay for 3.5 weeks: $4500
  • Cost, in (not me) man hours, of my trip: 50 (~ $2500)
  • Cost, in man hours, of my trip (me): 178 (~ $8000)
  • Time from initial interview to badged employee: 2.5 years
  • Time from offer letter to badged employee: 8 weeks

Total, dollars: $16,990


And that doesn't include, you know, the whole two years of emails and phone calls about getting shit done. I have learned to go with my gut when I meet Lance Horne types (my boss at LMT could have been Lance's twin), I should just quit and save myself the trouble. I'm going to be looking for work anyways, why not just plan for it ahead of time?

  1. Oh, I see you're an asshole and you're above me on the org chart.
  2. Whatever you say. (return to cube)
    1. Talk to previous colleagues, explain the situation, they'll ask for resumes.
      1. resumes must be sent over HTTPS folks...
  3. Deal with boss for another week or two or three or whatever, but you've got something lined up so that when he sends you that email, "come see me," you can give him the finger as he's telling you he is unhappy with your performance, appearance, whatever.
  4. New job lines up.
  5. Profit. Or return to step 1.

We've actually developed a proper noun for this process. It's the "Lance Transition". When I came back from Maui I was way ready to quit. But instead, I hung around, doing my job, thinking maybe things would be salvageable. No such luck. Instead, Lance gets the upper hand and he decides when I get my last check and he decides when I have to start looking for work.

I'm getting better at managing the LT, but clearly I still need to work on it.

19 June, 2007

Extending my stay in the US


After about a month in a hotel, a paperwork fuckup (I don't want to go into details) has precluded my traveling to the SPAWAR sites in Taiwan, thus making me useless to Lockheed, who hastily removed me from their employ.

Most of you know what I do, but for the spiders I'll leave a recap here.

  • Unix, Linux, and about every derivation of either.
    • I can give a 1-hour lecture on the differences between SysV and BSD.
  • Perl. It's hard to say I'm an expert perl programmer, because I know some pretty fucking good perl programmers. On the other hand, 95% of the perl I see in the wild is hideous. Mine is clean and sparkly.
  • Shell. csh and sh and their cousins and aunts and uncles. Approximately the same skill level as perl.
  • The Defense Department. Been working for/with/near them on and off for a decade.
    • I can tell you what the differences between C2 and C4I and C4ISR and C4ISR&T are.
    • I wrote a perl module that speaks TDMA/Link16/JTIDS. Sure, it's not practical, but it at least demonstrates knowledge.
  • Databases. They seem to follow me wherever I go. I've worked with DB2, Oracle (8, 9, and 10), Informix, PostgreSQL, and MySQL.
  • Teaching. I've done a lot of this recently. I like it.

Anyways, those with ears to ground, listening for competent people to come along please feel free to mail me (avriette@gmail.com) for a formal CV.

17 June, 2007

Net::TDMA is "finished"

I think it's going to be uploaded to CPAN as Net::TDMA. I'm going to add licensing information, tests, and the standard makemaker garbage to it tomorrow.

There's a problem, though. It doesn't fit into two gigs of ram. I will ruminate on this and perhaps make it possible to make an epoch that lives in a hypothetical day or a frame that lives in a hypothetical epoch. And so on. The POD is written.

Behold:

TDMA
TDMA/Constants.pm
TDMA/Day
TDMA/Day/Epoch
TDMA/Day/Epoch/Frame
TDMA/Day/Epoch/Frame/Slot.pm
TDMA/Day/Epoch/Frame.pm
TDMA/Day/Epoch.pm
TDMA/Day.pm
TDMA/TDMA.pm


I can't think of anything missing, except perhaps examples. But somebody else is going to have to write those examples.



#!/usr/bin/perl
#
# Created by Alex J. Avriette on 2007-06-14.
# Copyright (c) 2007. All rights reserved.

use warnings;
use strict;

use lib qw{ . TDMA };

use TDMA;
use TDMA::Day;
use TDMA::Day::Epoch;
use TDMA::Day::Epoch::Frame;
use TDMA::Day::Epoch::Frame::Slot;

use Data::Dumper;

my $day = TDMA::Day->new();

print Dumper \$day;



So, really, not especially complicated. You can then access any piece of the day and feed it data. This makes it more interestin for listening, but because of the data structures, it's a "leg up" if you need to actually speak TDMA.

16 June, 2007

Strange output from ps(1)


alex 537 8.5 -25.0 549672 524864 ?? R 1:48PM 0:16.28 /usr/bin/perl -I/Applications/TextMate.app/Contents/SharedSupp
alex 509 0.4 -36.9 1042488 774576 ?? S 1:45PM 0:36.49 /usr/bin/perl -I/Applications/TextMate.app/Contents/SharedSupp



So this is actually kind of funny. Perl was dutifully creating objects, when all of a sudden, it runs out of memory. Oh noes, here comes the swap. So it alternated between using 100% cpu and swapping the shit out of my disk. Darwin, for those of you who do not know, allocates swap as it goes along. In this case, it was seven gigs. This is a laptop, and I have two gigs of ram, but I do not have endless quantities of disk from which to pull swap.

Anyhow, I think the fourth column is the most interesting in this example.

I remember when I worked at AOL, I had data structures that were too big to fit into memory, and I can't for the life of me remember how I got around the "2gb series" limit. If you serialize to disk, that's just as bad as swapping.

So I guess I'm just going to kind of sit on TDMA until I figure out how to get around the fact that you can't approach it a whole day at a time, and I don't know how I'd keep sync between new instantiations (the military use dedicated time boxes).

You can only fuck with a man so much.


I know what industry I work in, I know the schedules we work with, and what's at stake. I know all that. I really do. So when you tell me I need to work an eighty hour week so a Kidd destroyer is fully operational, I say, sure, I'll do that. It's work ethic, it's pride in what I do, and it's also the joy of learning new systems.

But when we reach the intersection of hurting my wife, and we cross that threshold with very clearly communicated anger about it, it's too far. She doesn't work for anything national security. She doesn't even want to, because she sees what it does to me: the nightmares, the late hours, etc.

It is unconscionable the things that are going on right now that are really hurting Sandy, and she signed up for none of this.

So, kick my ass, tell me to work harder, work longer hours, work on more and more dangerous and deadly shit, threat briefings and the whole nine yards.

But, you don't fuck with my wife. There's a man out there who will never have my respect due to the way he's treating her. He says it's all part of my job. No, actually, my job ends when I leave the office. I go home to my wife. I miss her. I miss my bed. I miss the Subaru. This whole thing disgusts me, and at the same time I'm trying to spin up on it and get comfortable. Irony. Send me home for a day, or for a week, and I will come back twice as effective.

What do you think I'll be thinking about this week?

14 June, 2007

CPUs not fast enough

If I take a time sample at the instantiation of the first object (a "day" in TDMA), and there are subsequently 11,059,200 sub-objects created, the fact it will take me more than 7 miliseconds to actually create the objects means that they will be inaccurate as created. Their own clocks will be right, but they will be "slow" compared to the battlespace whatever the users does with them. It could be very serious (I want that Su-37 to blow up that unknown target please) or very mundane ("Could you verify that's that asshole tuna boat who keeps entering our kill zone?"). But I'm starting to think that creating the objects for a TDMA day, I should start with the smallest units and work backwards. That would make "days" and possibly "epochs" out of sync, but they are much less important than frames, which contain data.

Thank you everyone who has mailed me about this project. I had no idea there was so much interest. Note that with small modifications TDMA could be multicast and it rapidly starts to look like bittorrent.

Please, if you're working on stuff like this, or you want to know more details, let me know. I am close to done. There will be a CPAN release in June. There, I've said it, and thusly it must happen. Extra points to the first guy to send me a USB radio that can talk on telco TDMA frequencies.

The future of education and credentials

I am now "taking" an MIT, graduate level course, on Aeronautics. It's twenty-two times two hour lectures. This is normally (40h) how long a class takes over a semester. I'm also starting again on math again, approximately where I left off in high school (I'm a dropout). The algebra, at least the high school stuff, I figure I'll come up on pretty quickly. From there I need to teach myself calculus, and then on to differential calculus (I may have the term wrong), and linear algebra. I'm expecting it to take a year or two (by the time I get back from Taipei). I also plan to be in school, in physical classes where I can (language will be an issue).

But what, then do I list for my having listened to forty hours of the aeronautics course? The forty more of linear algebra?

It seems to me that as more and more education moves online, the more skills are going to be important as compared to somebody's background.

Picture a mechanical engineer with a masters', quizzing me on aeronautics. If I pass muster, does it matter whether I'm an autodidact or at least can listen and learn?

12 June, 2007

Encryption versus Communication

I am finding it interesting to notice the difference between encryption and jam-proofing or making things harder to listen in on. Let us say that I have 1024 open channels (tcp ports for example), but only you and I know which order they will be used to communicate upon and how much data will be exchanged, how can you possibly know what I am saying if I add jitter and/or propagation (google's define: fails here. propagation is the tail end of a message. If I have 256 bits in a message, and the first 0-16 can be jitter, and the last 32-128 can be propagation – dead signal or misleading signal – detecting the payload between the propagation and the jitter is hard)?

So what I am writing right now (for release to CPAN actually, my 2nd module, whee) is a highly jam-resistant protocol (how do you decide which ports to block? blocking all 1024 amounts to a DOS, and I can always "notice" jamming and switch to higher ports or the signature of the communication), and can be a very high-bandwidth protocol as well. Normally, it's applied over radio waves, but if you run it across "the wire" so to speak I think my original estimate was about 40 gigabytes a day. This from a near-unblockable, near-un-listenable, crypto-pluggable protocol.

It would be a cinch to make the software so crypted that it was un-listenable even by the people who get paid to listen (their TLD's rhyme with "pill"). All you'd have to do is come up with reasonable jitter, propagation, and crypto. It would be untouchable, even with "over the counter" crypto or with tokens like RSA keys.

But, anyways, that's what I'm getting at. It's really interesting that I can write a protocol that can support jitter, frequency/port hopping, and crypto, but the crypto is its own separate component. That's all math. And if the math is broken, it's only a matter of time before your jittering propagating hopping protocol is cleartext to the red team.

The Yossarian take on HR


This photo was taken at a "beer bash" at an ISP. The man in question is in HR. What's he drinking? Bottled water. What's he looking for? People drinking too much so they can politely be told to behave. He's not your friend. Shit, he's almost a sort of HR-looking Agent Smith. You gotta love the glasses.

Anyone who's read Catch-22 by Joseph Heller (incidentally, a close friend of Kurt Vonnegut, Jr.'s) will recall the tale of Yossarian. I would like to analogize here, and inject from Yossarian the feeling of despondence and sheer hopelessness – our kitchen staff are bombing us here, and it's business as usual.

Human Resources is a good organization to have around. For example, they do a lot of the recruiting, which management doesn't want to do. They can answer questions about 401(k)'s. They can tell me which form I need to submit to my health carrier to get reimbursed for the out-of-network office visit I had. These are all very simple, pedestrian tasks (because even with recruiting, they're searching for keywords, screening out the felons, and providing management with a stack of resumes; porpoises could do this).

But, somewhere in the late 80's or maybe early 90's, HR grew into a policy organization too. It makes sense, because they need to be able to tell me that getting acupuncture with "full release" is not covered under our insurance.

Now, HR provides guidance on morals and ethics, career development, performance evaluation, and they build these enormously complex websites which are completely unnavigable. So people whose real majors were sociology or psych wind up making what they think are very good judgments based either other policies they've made, or on whatever moral or ethical sense they rely on. The problem is thus.

The whole system is broken.

The more questions you ask of HR, the more they start to think that you're not a "team player," because you obviously don't understand or don't like the rules that are in place. Or you might have the audacity to suggest that the policy be changed to allow something not presently allowed (like coverage of a domestic partner). So, more and more, you become the problem for doing exactly what HR asked you to do – use their processes to resolve requests, conflicts, or job-related issues (career development/performance review).

The telescopes on Haleakala which are run by MHPCC. These are not astronomical telescopes; their focal lengths are more in the neighborhood of 300 miles.

I'm going to provide a real example here of how this becomes a problem.

I was working for Microsoft, and had properly taken leave, applying months in advance, stating that I was going for my wedding anniversary (and also because I wanted to see the MHPCC). The hotel we were staying at, the Marriott Renaissance Wailea was undergoing renovations (so we got the waterfront room as a complimentary upgrade), but unfortunately due to the renovations had no internet access. Not wired, not wireless. I had brought on the trip my powerbook because we take so many pictures on vacation it requires "dumping" the CF card frequently (sometimes 3-4 times a day).

We had produced so many pictures of so many wondrous things that I went to an internet cafe and uploaded my photos to flickr. I'm not sure what inspired me to check my work email, but I did through Outlook Web Access. I had a reminder from my boss, Lance Horne, to turn in some document by COB the next day (A friday; Hawaii is six hours behind DC). I replied and told him I had it about 1/2 to 2/3 done, and that I'd get it to him when I got back. He insisted that it wasn't a valid excuse to miss a deadline simply because I was on vacation.

"But I didn't even bring a work laptop with me! I can't actually go and complete it!"

He told me that I must not be very serious about my career if I wasn't willing to do the work assigned to me.

So this is a manager-employee conflict. Who comes in? HR. What I did was call the woman I knew at HR, who had handled some health stuff for me previously, and said "can he make me work on vacation? I thought the rule was you didn't work on vacation because you're supposed to rest. I've been working like a dog, and accrued six weeks of vacation."

Her answer was murky. She said that no, paid vacation means I do not have to work, and he cannot "make" me work. What he can do is "ask" that I work, and if I do not thusly work that it will be counted negatively against me on my performance review.

She then immediately called Lance. Lance was livid to be receiving a call from HR telling him how to manage his employee. I then got another call from Lance that was roughly equivalent to (shaking fist) "why you little..."

What do we learn from this parable? That HR exists to create and follow its own policies, as well as provide them to others. We also learn that HR are sort of the "hall monitor" in a company (different than ops sec), and can tell your boss that you are right, they are wrong, and that they should change their behavior to more closely match company policy. But in so doing, you do nothing but irritate the supervisor, who then starts looking for a way to either get out of the HR "ruling," or simply firing you.

By the time I got back from Maui, Lance and I had so poisoned our relationship that there was absolutely no way we could work together. All this because I followed HR policy, and then asked HR for "backup" when my boss was unaware of (or didn't care about) the same policies.

11 June, 2007

iTunes U

iTunes U is a new product from Apple, offering what Harvard and MIT have already been offering. The notion is that the video lectures they get (or audio lectures) during the course of presenting the class, they can put online for free. Which is neat because there are "universities" like DeVry and University of Phoenix which are charging people for the same service. That is, to provide you with course material. Of course, they also provide you with a professor, but in my experience this professor has been just this side of the spear-wielding carnivorous chimps we've recently heard so much about. Things like "you mis-spelled 'particular'" (I had used the word 'particulate').

So I have a bunch of issues with it, of course. But it's newish software and I am guessing it will get better. Sort of like Apple's initial managing of audiobooks or recently of music videos and movies. As soon as they figure shit like that out, I think we'll be doing okay.

But first, there's this giant bug really bothering me. Look at this:


Anyone who's spent time with iTunes knows that this means it is ready to shit the bed. Which is normally okay because I can bounce the app, and all that stuff comes back, ready to be downloaded. In this case, both pause and resume are greyed out, my files have failed to download, and I'm just stuck.

Note also how small the scrolly is there. That's like a hundred and fifty items (I fly a lot). Unfortunately because they're not purchases, Apple has no real record that I've downloaded them. I have no idea how they track it. So, if I were to kill iTunes, restart it, and look for my downloads, it'd be tabula rasa, baby. I'd have to go and re-find all of those in all those different hard to find places that took me 2-3 hours to actually get into my download queue.

This is now the second time I've done this, and it's pissing me off. iTunes needs to handle network interruptions a lot more robustly, and it really needs to understand and support features like iTunes U.

The other gripe I have with iTU is the utter lack of anything below undergraduate. There's no Algebra II. I would bet that a huge fraction of Apple's iTunes Store patrons are children, on their parent's credit cards or allowances or whatever. Maybe they need help, or maybe they want to place into pre-calc in ninth grade.

It's painfully missing. A lot of the stuff there is great, there's a lot of garbage too, but what there isn't is material for anyone under about 20 years old.

The only other thing I have to say is there is a ton of Christian material. There's a seminary, and a bunch of religious business from Seattle Pacific University, and that kind of bugs me. I don't know that I want a seminary on iTU. Let's keep the ideology out, and have secular courses. I don't think we need to have "a fundamentalist view on [ noun ]" (offending noun removed, but an actual topic of a 54 minute video), any more than we need to have video courses on using cell phones and remote door locks to detonate IEDs. (meta-godwin, nyah)

10 June, 2007

Here's your chance

For all of you who continually ask me, "what are you listening to?", or want some kind of recommendation or a playlist out of me, I suggest (again) you check out last.fm. A few of these artists I picked up through last.fm, but a few of them I haven't gotten to yet. It looks like I'll be buying a lot of The Tea Party because it's right up my alley, and I need a tiny break from being panjabi. By the by, astute readers of both this weblog and my preferences on last.fm will note that I like Transglobal Underground. A lot. One of my favorite tracks (and I may go on, some time, to say one of my favorite tracks ever) is Drinking in Gomorra. Do yourself the favor, spend the $1.07 and buy that track. Then use Apple's handy "complete album" feature if you like it (I'm pretty sure you will). If not, it's hardly much of a loss.

If you manage to do this correctly, you could actually be listening to music I like before I ever listen to it and you could, you know, recommend it to me. Wouldn't that be novel?

09 June, 2007

Olfactory senses and memory

In advance, I apologize for being very sappy. Stop right here if you don't want to read drivel about feel-good stuff. The normal sarcasm and spite are missing tonight.


I spent much of my evening talking with a woman who has become one of my oldest friends. So much comes to mind when I see these people – there are a precious few women I count among the only, and very close, friends I have – as we have such a past. It's not always the twinned spending years together past, and not all of them have been lovers or even remotely romantic interests. Tonight, we spoke all night, and spoke of many things. People we knew, what we had been doing with ourselves, where we were going, the state of the world, and all that. But there was also much nostalgia – not so much wishing for the old days, but just a realization I think that we all grew up. We got here. None of us are kids anymore, some of us are parents, and some of us are just the human equivalent of a trainwreck now.

But the evening started with a hug, and it all just came flooding back, briefly. I know she isn't wearing the same fragrances (and really, "fragrance" includes shampoo and conditioner as well as deodorant and perfume), but there's a her smell that briefly flooded my sinuses and I was taken back to other times in her arms, a decade or more ago. Time we'd spent together.

When you spend time with somebody, when you sleep with them (or work with them a long time, or your parents and siblings), you learn, not actively, but rather passively, what that person's "smell" is. Because even when they've just woken up and they're not wearing anything, if you put your nose to the nape of their neck or between their breasts (including the center of a man's chest, mind) or even behind their ears, you smell them. You just get accustomed to their presence, and you recognize it when you pick up their clothes, or get into the car with them. Stuff like that.

I was just very surprised tonight when we hugged that everything, for a moment, flooded back. It was amazing in a way to have some little cluster of neurons concentrating so hard on flashing back to when we were much closer. For just a moment, I got to have what I can't ever really have – a piece of the past. We then broke the embrace and sat down to talk and reminisce.

The same is true, incidentally, when I get home from a business trip and I get to wrap my arms around Sandy. Only then do I actually feel home. And just like tonight, it brings back the affection and closeness, the ambiguous but deep memories, all at once, and all so briefly. Then it's off to get fucking luggage or whatever.

With all these people, whether it's an old lover, a friend, my mother, or my wife, as I remember the feelings that wash over me with the smell, I realize it's love, coming back. I ache to see these people, and we're all so geographically separated. To have them back in arms, to have the smell, and the reassuring feel of their arms around you, is to remember just how much I love (and indeed miss, greatly) these people.

08 June, 2007

Where I've been


I have been getting little of consequence done. It turns out that doing my own redinking is really, really slow. I guess this is what the galley process is like. And this is just my copy of the manuscript. I mean, imagine after it goes to a galley and editor! Think how much shit I'll have to move around, omit, change, etc. I won't just have one copy, I'll have a dozen.

I've been drinking bourbon and rye of late. Highly recommend Hirsch. They have an 18 year old bourbon and a 21 year old rye. Both are just phenomenal.

You'll probably notice my bent has become sort of bent in the direction of Alkaline Trio (incredible songwriting, but deeply morbid, sometimes downright suicidal. Great band, but with my history of depression I need to sort of keep an eye on my consumption) if you monitor my page on last.fm. It should also show that I have joined the "desi" and "panjabi" groups. I assure you – hopefully the picture above illustrates – I have not changed ethnicity (although sometimes I'd like to). I've just started exploring south asia. I knew a while back that there was a huge club scene in Goa (and an entire form of techno emerged from Goa, of which I am a huge devotee), and that Bhangra was making its way into the discotechques of London. I've also been listening to Mentor Kolektiv (I'd provide a link, but all of them are really annoying), who are London-based, but seem to be of Pakistani descent (or at least some of them). It's all pretty interesting stuff, even though I don't speak Hindi or Bengali or anything, so I obviously miss some of it.

The other thing to notice is that the hotel firewall is iffy, and sometimes last.fm is unable to take a tally. Also, when I'm at work listening to music, the Mac is not allowed on the network, so eight hours of music (give or take) never makes it to last.fm.

That's most of what there is to update. There's a lot of other stuff that's been going on, but nothing I can talk about publicly.

Spend the time you can with the people you love. They won't always be there. That is all.

05 June, 2007

Today is a good day to drink

This, folks, is a draft copy of Limits. Yep, now all I have to do is redink the fuck out of it, get the hook right, and publish the fucker. Tonight, we drink to us.

04 June, 2007

Sharks and Limits

People want to read Sharks more than they want to read Limits. I think this is fair, given the former is an interesting, Pahlaniuk-style parable, while the latter is a sort of sanctimonious conviction of humanity. But I suck at writing first-person (even after reading Glasshouse and trying to, uh, "pick it up"). I am worried I may need to take a writing class or something to get my skill to the point where I can write first person in a believable, tenses-match, time-passes-plausibly kind of way. Right now, it feels like crap. And I hate that.

03 June, 2007

Ode to a Linksys router

Thy name 'linksys',
thy configuration none;
why must you connect to the internet
and from writing distract one?