Older blog entries for avriettea (starting at number 197)

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.

Syndicated 2007-07-02 12:36:00 (Updated 2007-07-02 12:45:24) from Alex J. Avriette

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!).

Syndicated 2007-06-30 21:00:00 (Updated 2007-06-30 21:16:40) from Alex J. Avriette

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.

Syndicated 2007-06-28 19:12:00 (Updated 2007-06-28 19:18:49) from Alex J. Avriette

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...)

Syndicated 2007-06-27 04:21:00 (Updated 2007-06-27 04:45:46) from Alex J. Avriette

26 Jun 2007 (updated 30 Jun 2007 at 22:05 UTC) »

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

Syndicated 2007-06-26 18:56:00 (Updated 2007-06-30 21:19:39) from Alex J. Avriette

23 Jun 2007 (updated 10 Jun 2011 at 03:33 UTC) »

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.

Syndicated 2007-06-21 22:15:00 (Updated 2007-06-21 22:21:10) from Alex J. Avriette

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

Syndicated 2007-06-21 05:44:00 (Updated 2007-06-21 05:46:33) from Alex J. Avriette

21 Jun 2007 (updated 10 Jun 2011 at 03:35 UTC) »
19 Jun 2007 (updated 10 Jun 2011 at 03:35 UTC) »

188 older entries...

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!