Older blog entries for hacker (starting at number 66)

20 Jun 2001 (updated 5 Jul 2001 at 21:18 UTC) »
Wed Jun 20 02:28:55 PDT 2001
    Spent all day working on cross-compiler toolchain building on SunOS and Intel architectures, including Canadian Cross builds with gcc-3.0, binutils-2.11, and gdb-5.0 for both ARM and m68k and m68k-palmos architectures. Documented as much as as I could take (22 pages of material). The Embedded Linux Course is going well, but I just wish I had more time to work on it, and some more bandwidth to get to the material. Dialup at 14.4k with a 56k modem really hurts.

    Spent the rest of the day fighting with Mantis bugs, and going the very-painful path of upgrading from 0.14.18 to CVS HEAD. Made about 1,000 fixes to the code for both "prettiness" and consistency

    Then I hit a dead stop. Fatal bugs aplenty. I've posted 7 critical/fatal bugs today with it (0000591 through 0000597 over here. I really like Mantis. I really like where it's going. I don't like having to hand-reinstall these dozens of parts every time I upgrade though. It was a toss-up between Mantis and RoundUp. I leaned towards Mantis only because my server can no longer take any more hits from static Python binaries running under httpd.

    The rest of the bug tracking packages out there failed miserably (I tested at least a dozen, from JitterBug to Bugzilla, GNATS, Double Choco Latte, Tracker, and a few others. rasmus has one he uses on bugs.php.net, which was nice, but not quite as full-featured as Mantis). These two are clearly the most powerful I've seen.

    My end-goal of course, is to provide a nice, integrated, robust, set of tools for the developers that use my hardware and my free public cvs and to increase the speed with which we can close bugs and continue writing productive code.

    I picked up two good books the other day. The first one is by John Douglas called Obsession, and is full of case studies of profiled killers, rapists, stalkers, and their victims. I'm about 1/2 way through this one, and it's only 2 days old. The human psyche and forensic pathology along with investigative detective-type work are beginning to pique my interest.

    The second book I picked up was by Steven King, called Insomnia, and is about an older gentleman who loses his wife, and slowly begins losing sleep a little each day. He begins having "visions", which he thinks are hallucinations... I'm about 3 chapters into this one already. So far, it's pretty good.

02:30 PDT, time for food and one more deliverable tonight before I crash.

<selfless plug>cert me</selfless plug>

Note to self...

    OOPS!

    Tue, 19 Jun 2001 09:31:24 -0700 (PDT)

    Never do a major revision release at 03:06am PDT again. I rerolled the packages, and replaced them. We caught two bugs early enough not to require a increment in the version numbering.

Tue Jun 19 03:11:55 PDT 2001

    WHEW!

    pilot-link 0.9.5 released!

    My hands hurt

    Spent all day trying to get gcc/binutils/gdb and friends compiled on both x86 and SunOS on an E3500 machine as a cross-compiler for ARM as a lab for this Embedded Linux Course. I don't know (or remember) SunOS as much as I probably should, much fumbling around was had (over 14.4k dialup no less). Thanks go to mkp for bailing me out here and there. He's not off the hook yet though. The guys in #solaris on Efnet were helpful also.

    Now to decide if I want to drop some caffeine and stay up all night (or at least for the next consecutive 15 hours or so) and work on this course, or if I should just crash, and let biology wake me up.

    What a week so far. Unbelievably productive.

18 Jun 2001 (updated 18 Jun 2001 at 02:10 UTC) »
Sun Jun 17 19:04:32 PDT 2001

The Wonderful World of Javascript

    I started thinking about a way to take a visible page in a browser, and configure some Plucker parameters on that page, and then have it gathered for you, or have the values build a home.html file for you, so you can Pluck that page at your next frequency.

    I've never done Javascript programming before (can I really call it that?), but here's what I have so far after about 2 hours of tinkering (it's a Javascript "popup" wizard walkthrough sort of thing), which will prompt for the URL (it snarfs it from the current page), an expiration time on the cookie (defaults to 1 day), and then the maxdepth of that URL, and sets two local cookies for those values. When it's all working (or I hit the string length limit on bookmark Location fields), it will walk the user through the full gamut of settings for that URL.

    javascript:q7Hm8=prompt('This webpage has ' + document.links.length + ' links.\n\nBelow is the URL of the current webpage. We can now store this value in a \n local cookie on your machine. Once your selected Plucker parameters are set,\nwe can then create a home.html file for you with these parameters.\n',location.href);

    if(q7Hm8!=null) { // Prompt for two separate vals // which will be stored in two // cookies on the local machine pVj5D=86400000*prompt('Expires in...(days)','1'); m3xD=prompt('How deep would you like to gather' + location.href,'1');

    // Prompt for the maxdepth value here 1m4g3s=prompt('How deep would you like to gather' + location.href,'1'); dT9v=new Date;dT9v.setTime(dT9v.getTime()+pVj5D);

    // Store the first cookie (URL) void(document.cookie='PluckerURL='+escape(q7Hm8)+'; expires='+dT9v.toGMTString());

    // Store the second cookie (maxdepth) void(document.cookie='PluckerMaxdepth= '+escape(m3xD)+'; expires='+dT9v.toGMTString());}else{void(null) }

    So far, this works, and properly sets the cookies. Why do I want to do this in a Javascript fashion? because my goal here is to make a Plucker "bookmarklet" that most users can use to ease their pain of Plucker configuration and sync'ing.

    An example of how it can be used (for this current page) is here

    Reading the cookies back is a bit simpler. I won't bore you with the code, but it allows me to do some interesting things with it. The problem with Javascript is that I can't launch a local client application (plucker-build in this example, which is used to actually gather the content itself), nor can I write to a local configuration file. I can, however, put the data in a popup browser window, and have the user do a SaveAs from the menu on that window. It's not the best solution, but short of having to write several different plugins for each architecture, it will work for the moment.

    I'm still trying to find out if Javascript has checkbox and <option select...> type of elements so I can make a real application out of this, in a client-side popup dialog "wizard" thingy.

    Why am I not doing this fully in a webpage-style application? Because then you lose focus of the webpage you're on that you want to Pluck, and this must run client-side. I suppose I could make a webpage that contained similar code, and then submitted the URL to my server for final parsing and gathering, but my server doesn't have the bandwidth for that right now.

    This all started from my original search google bookmarklet. You can click on it and it will pop up an entry dialog, or you can highlight words on the webpage, and click on it (go ahead, try it) and it will send that highlighted text to google as the search criteria.

    I started playing a bit, and came up with another weird one to translate the current webpage into German (or any other language)

Mantis

    The bugtracker is up. Currently supports Plucker, pilot-link, pilot-mailsync, POSE, and a few other projects. I made some cosmetic changes to the layout, and cleaned up some of the PHP code. I'm trying to learn the language, but it's slow going. Worked for a year with rasmus, and didn't even use the language once for anything production. EEP!

As the Task List Turns... (unordered)

    • Embedded Linux Course, tightening deadlines, scope creep.

    • Plucker Bookmark Assistant needs a version update and will begin handling IE as well as Netscape and Mozilla bookmarks. I don't know what format Konqueror uses, or some of the other browsers, but I can support them too, in time. I found URI::Bookmark which may help a bit.

    • The Plucker Perl Spider needs a revisit, and an update. Hasn't been touched in 11 months. EEP! I have all new ideas for it.

    • pilot-link 0.9.5 needs to be released. I wish we could get the final parts of that Ralf's USB sync fixes pushed in.

    • Update the main gnu-designs webpage. I have a new design idea here that I'm tinkering with.

    • Chest x-ray.

    • ...buncha other things...
    It's been a busy Sunday. This week promises to be incredibly productive for me. I still have to be cranking basically 26 pages a day out of this Embedded Linux Course.

    My hands hurt.

13 Jun 2001 (updated 13 Jun 2001 at 23:56 UTC) »

Wed Jun 13 00:06:18 PDT 2001

    fejj, I totally agree. If/when I get spare carbon cycles, I can try to help out (and I have both UI experience as well as development experience). Shouldn't be too hard. My plate is pretty full through a good portion of this year though.

    What irks me the most is that people ask us (as developers and maintainers) to fix this, fix that, add this, add that. What they fail to realize is that we are not always here to just provide for them. Many of us write software because it fills a hole in what we already do, or we want to make what we do easier. We are not an open software conglomerate to keep feeding "requests" into. If something doesn't work the way you want it to, and the author or maintainer doesn't seem to want to add that feature, add it yourself and submit a patch, or create your own version. You have the source. Whining about it only makes noise, and noise is distracting.

    Open Source is not a pool of free development hours for people to just abuse. People who don't want to contribute, get muted to the bottom of the pile.

Beheadings

    Since when did we live in a world where we chop the heads off of innocent people, because the government in another country isn't listening to the demands of a rebel guerilla group?
    Sabaya said they beheaded the American:

    "..because the Philippine government is toying with us.."

    On arrival of U.S. troops for joint exercises in the Philippines:

    Sabaya: "Welcome to the party. If the U.S. troops come here, they're the ones we want to fight."

    On any U.S. assistance in the hostage crisis:

    Sabaya: We're raring to fight. We want to fight with the U.S.. Tell them to reinforce their troops, if they want. Maybe they think we'll be frightened. Well, all I can say is it's up to the government. They think that they can beat us in a gun battle. They think we will bend. We would relish dying than surrendering to them. Remember.

    Two people confirmed beheaded, one of them a volunteer negotiator for the rebel group. The third person was an American, a tourist, who had nothing to do with the conflict at hand. His body has not been found yet.

    IMHO, like the Philipino government, we should have a zero tolerance policy as well with these people. You kill an American, we destroy your military base, we strangle your finances, destroy your military facilities, and imprison the families, friends, supporters, and funding parties of your campaign.

    You're not afraid to die, good.. BANG, you're dead. Anyone else?

    Now where did I put that extra clip and that application to become a mercenary again...

Other Goop

    Made some favicon.ico files for my cvs page, the Plucker homepage, our main page, and the pilot-link homepage. That should stop those annoying emails I get every hour by the dozens when these files aren't found.

    The server was down for 19 hours. Lightning storm took out the power. Need to relocate that network to California.

    Started converting all of my HTML pages over, customer and otherwise, into XHTML 1.0 validated content. Satisfying, but tedious.

    Birthday coming up in a month. Might want to treat myself to some more inkwork on that right sleeve.

    USB synchronization with the m50x Palm devices is almost working. That's the last thing left holding up the pilot-link release... Then it's on to the XML path, and gutting the architecture and codebase quite a lot... fun fun. I might have to prod dyork and some of the other XML and XSLT/DTD gurus here sometime soon for some databits on this.

    Working on an internal Secret Project #209

    Still working on the Embedded Linux Course

    I think a vacation is looming on the very near horizon. Something very far away, please.

Mon Jun 11 23:59:40 PDT 2001

12 Monkeys

    Er, I mean domains.

    Seems there was yet another bad thunderstorm on the east coast tonight, where my network is co-located. My provider's provider apparently is down; pings stop short of the outside edge router. 12 domains down, and about 50 separate sites under non-vanity domains, also down. No response since 18:59:16 PDT. Don't know how long they'll be down. I hope it wasn't (another) equipment failure on their end.

    Does anyone know of a good, reliable, fairly-cheap co-location facility in the Bay Area, or some kind-hearted person in the Bay Area with a T1 in their house want to make some monthly cash on the side? email me with details

Sun Jun 10 17:48:52 PDT 2001
Random Tasks

  1. Hacking maildir support into pine. My mailboxes are now getting too large and unweildy, even using xfs, reiser, or ext3. I will not use mutt. I've tried it, spent several hours getting the look and feel and colors identical to pine, including every single keystroke pine uses, but I feel it's still not nearly as powerful as pine for me.

  2. Updated my CVS webpage. It needs a bit more on it, but at least the links are accurate, and the information corrected. I will embellish on it soon. It laid dormant for over a year on that site.

  3. Hungry.

Visceral Time Management

    I have these two full-height walk-in closets in my apartment, each with two sliding mirror doors on them. I've filled the top half of one of them with Post-It notes of each task I have on my plate. Every day I walk past it, they are right in my face. I try to make an attempt at taking one of them down a day. So far, it's been somewhat successful, but more have taken up the empty spaces.
10 Jun 2001 (updated 10 Jun 2001 at 09:07 UTC) »
Sun Jun 10 01:52:37 PDT 2001
Mountain YIKES!
    deekayen, good choice ditching the RapidFire shifters. I've never run them, and never will. I've heard too many problems with them. For trail riding, it's probably fine. Once you get sand and grit into the nested discs which stop the detents from working properly, misfire-city. Useless. Also, if you drop the bike while riding, your chances of breaking off the shifters themselves are very high. I have GripShift, and I love them. Dialed in perfect, never missed a shift, even when I used to run a Shimano 600 Ultegra road derailleur on my older mountain bike (the best derailleur I've ever run on a mountain bike, hands-down, is that 600 Ultegra road derailleur).

    Wait until you start doing 2' and 3' hops, using small protruding roots and rocks as a launching point. I preload the shock (drop my weight down, 165lbs.), then as it releases, pull up on the clipless pedals, bam! 2-3' air. Clipless pedals definately help, and road shoes, none of those soft, squishy offroad shoes for me. Maximum power to the pedals, please.

    I have a Trek Y-22 from 1999, and just about the only thing original on it is the frame, rear shock, and front fork. I've replaced everything else because I've either broken it, or worn it out. I love doing drops, jumps, pretty aggressive singletrack, anything hardcore. I'm on it.

    Before moving to California, I dropped some coin on these sweet Race Face cranks and Shimano XTR brakes. I was noticing some "sway" in my bottom bracket when I hammered, and thought it was the frame giving out. I plopped these babies on, rock solid ride again. I gained so much power back in my stroke. I spent the extra dollars and special-ordered the nickel-plated rings to go with it and the linkless chain.

    Next thing I replace is the fork. I'm looking into some more carbon parts too, but I'm not yet sold on the carbon seatposts and handlebars yet. I've got GripShift, ESP9 carbon derailleurs, and a nice clamped-down set of Deore-XTR brakes front and rear. Sweet setup, shifting is imperceptably silent, braking is hard and responsive (not squishy).

    I have to think about purchasing another road bike for myself (lost my Specialized Cirrus (not a picture of my bike, but the same bike I had) custom when I moved out of "psycho's" house in CT). I used to love that bike, and put a solid 40 miles a day, every day, for 3 years on that sucker. I have to think about getting another road bike for myself and get a bike for Erika. Not sure if she wants a road or a mountain bike yet. We'll have to field-test her on that.

    Anyone know of some good hardcode rides in the Bay Area? (Marin, South City, San Bruno) Is there a riding club or anything like that out here?

Jim Henry

    In other biking news, I see an old friend of mine, Jim Henry is still going strong | these days, beating able-bodied riders, even though he has only one arm to ride with (He's on the far right here). He was always an inspiration when I used to ride with him (or when he'd pass me during a long ride). One thing I'll always remember him saying to me was:
    "...hills are nothing more than flats, at an angle..."
    ...as he sped past me up a hill, and I was huffing to keep up. An amazingly positive person, despite his handicap. Keep pumping, Jim!

Swordfish

    I just got back from seeing Swordfish at the local cinema. It was packed, and I mean no more than 5 empty seats left in the place. I just have to point out three things that caught my attention in the first 10 minutes:
    "..Axel Torvalds.."

    "..number one hacker.."

    "..finnish consulate.."

    Come on now, that's just a little TOO lame. At least they spat out some of the buzzwords I'M used to hearing, ipchains, portmap, sniffer, DS3. Some of it was entertaining, and very Matrix-esque (and in fact, Joel Silver produced both the Matrix and Swordfish), but it had that "Tarantino" feel to it. Interesting plot, "mostly" technically accurate (no uploading a trojan to the mothership with zmodem on a PowerBook from within a stolen alient craft here (ala Independance Day), folks). It's probably worth the $8.00 or so.
Ok, back to more cvs hackery...the weekend isn't over yet!

Coding for HTML standards

    Four words:
    I hate Internet Explorer
    I spent more time that I should have trying to code around the deficiencies in IE today, just to stop the IE users from doing direct linking to one of my site pages. $ENV{'HTTP_REFERER'} isn't sent or supported in IE, so that stopped that, which also stopped me from using SetEnvIf and friends.

    I found this article on Microsoft's site:

    http://support.microsoft.com/support/kb/articles/Q178/0/66.asp

    "...When linking from one document to another in Internet Explorer 4.0, the HTTP Referer header will not be sent when the referer is a non-HTTP(S) page. The Referer header will also not be sent when linking from an HTTPS page to a non-HTTPS page..."

    So I had to use... wait for it... cookies! Bleah!

    So now I've put it on my long-term plate to write a whitepaper detailing how Internet Explorer is simply a file manager which can (poorly) render HTML content. (I have another one called "Bill Gates Has a God Complex", but I'll save the synopsis on that for later) IT IS NOT A BROWSER. It doesn't support MIME types, doesn't send proper (or complete) headers, and about 23 other deficiencies. It even fails getting to a site like:

    http://www.domain.com/foo
    where 'foo' is a directory. You actually have to append the trailing backslash onto it, for it to work because it thinks 'foo' is a file that it wants to load in some local application binding (probably MSWord or some other locally installed application), and not send you that dreaded internal "Page could not be loaded" error.

    When you lock up the browser itself (which is quite often), you can kill it from the Task Manager (ctrl-alt-del), but then your entire desktop reloads, oh, but minus everything that's a global in the SysTray. How thoughtful of them.

    Such an utter piece of trash.

    Nailed down a few more bugs, and learned more than I should have about cookies, and how to get them working in both IE and normal browsers (which of course, aren't the same).

    if ($ENV{'HTTP_USER_AGENT'} =~ /MSIE/) {
            do something completely non-standard;
            check that it actually did what you expected;
            check it again, just to make sure it didn't change;
            print "Please use a web browser, not a file
    manager";  
    } elsif ($ENV{'HTTP_USER_AGENT'} =~ /any other browser in
    the world/ {
            follow the normal procedures;
            return;
    }
    

Advogato Deficiency?

    Why can't I change my password here on Advogato? There's no option under /acct to change it. It was that time of the month again, to change my passwords, and I found I couldn't change it here. Hrmph!

Scope Creep

    When deadlines aren't allowed to slip, why are requirements allowed to be constantly changing, and new things allowed to be added? I'm not going to sit here and work 20+ hours a day (12 of which are unpaid, of course), and then have to begin scheduling my own mealtimes and bathroom breaks, just so I can meet this impossible deadline.

    I'm not.

I'm tired.

No time for anything anymore. Why did I move here again?

Wireless Fun

    In other news, I managed to get my wireless gateway to do dial-on-demand to my ISP, and handle DHCP and NAT for my internal wired and wireless machines. Pretty slick and fast. No more cables. Locked down tighter than a drum (not that anyone within a 2-mile radius would even know how to hijack an IP, let alone speak my native language here).

    Now if I could only get my hands on some telemetric power units...

LWN Errors

    http://lwn.net/2001/0607/desktop.php3
    "...The bad news overall is that pilot-link may or may not be supported any further. While gnome-pilot seems to use an upgraded version, there doesn't seem to be a web site anywhere with updated information on the status of the package and the pilot-unix mailing list is apparently dead. The last word from David Desrosiers, the most recent Pilot Link maintainer, was that Pilot Link was being rewritten to clean up lots of old cruft in the source and provide a cleaner distribution. Note that the SourceForge site for pilot-link is ancient - the project was moved away from there some time back and the new web site is simply a CVS dump of file activity..."

    Michael, please make the necessary corrections I've emailed you, before too many people see that and get discouraged from a very active open source project.

57 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!