Older blog entries for hacker (starting at number 41)

kgb, that new Sony would be nice and all, if they weren't in violation of the GPL..

That device, and others like it from them, will NOT be supported under linux, not by me (in pilot-link, plucker, or any other application I happen to code or help in the development of) not by my colleagues, not by anyone in the open source community who is aware of what they're doing with their "Go ahead, try to sue us.." attitude. I dearly regret spending the $499.00 USD on my Clie.

My full account with one of their employees is here

FWIW.

2 May 2001 (updated 2 May 2001 at 17:26 UTC) »

PODS

    mysql>
    select url from pods limit 1,1000;
    543 rows in set (0.01 sec)
    
    PODS grows.

Choices..

    getopt()
    getopt_long()
    getopt_long_only()


    or..

    Trying to determine the best way to be intelligent about argument parsing, and making sure that the devices passed as arguments are valid, and are only devices, and not files. Have to remove the user from the equation here. Think devfs, usb, serial, IrDA.

    I suppose I could use stat() here after parsing the argument, like:

      void report(char *, struct stat *);
      int main(int argc, char *argv[])   
      {
              struct stat status_buf;
              
              while (--argc) {
                      if (stat(*++argv, &status_buf) < 0)
                              perror(*argv);
                      else
                              report(*argv, &status_buf);
              }
      }
      void report(char *name, struct stat *buffer)
      {
              int i;
              struct passwd *passent;
              ushort mode = buffer->st_mode;
              
              printf("\n %s :\n", name);
              printf(" Access mode 0%o: ", mode);
              
              for (i = 6; i >= 0; i -= 3)
                      printf("%s", accesses[(mode >> i)
      & 7]);
              printf("\n");
      }
       
      

Headaches, dark circles under my eyes

    Not yet sure what to make of the randomness in my head, one day no headaches, but stuffy sinuses, next day, clear sinuses, raging headaches, next day, clear sinuses, no headaches, but I see flashes of purple, next day I wake up with a bloody nose or dried blood in my nose. Weird.

    Time to revisit this.

Fear of KABOOM!

    I found out when I took my truck to have an oil change, that there was a pretty severe gas leak under the truck. It wasn't leaking out in a way that would cause a puddle or drip, but when I was driving, it would "spray" out, causing a gas smell around the truck, but the truck itself was dry underneath. Come to find out, the last time I had brought it in for repair, they forgot to secure the fuel line, and it was hanging on top of my driveshaft, and the driveshaft was slowly grinding through it.

    EEK!

    $74.00 or so later, and now it should be ok. They patched the fuel line with a length of secured hose and clamps. It's a good thing I wasn't parking anywhere outside where a quick spark could have sent my truck into Truck Oblivion, or with me inside it.

Buzzword coming, duck!

    The buzzword for this week is... XML!. Yes, I've slipped into the fold and am diving in head-first into learning as much as I can about XML. I have a little pet project that will be using this quite heavily, and the more I read and learn about it, the more I can see it's usefulness in a lot of the projects I'm working on. One example using PODS:
      <PODS
        <SITE TITLE="SCIFI.COM delivered directly to your
          handheld device! Includes news, schedules, and other SCI
          FI facts and information." DOMAIN="scifi.com" 
          PROTECTED="no" ROOTPAGE="index.html" 
          PROTOCOL="http">
        </SITE>
        <SERVER>
          <ADDRESS>208.243.116.240</ADDRESS>
          <TYPE>apache</TYPE>
          <VERSION>1.3.6</VERSION>
        </SERVER>
        <URI>   
          http://www.scifi.com/handheld/
        </URI>
      </PODS>
      

    Plucker could definately use a retrofit around it's config files, and the parsing of ~/.plucker/home.html for those that use it. I'll have to play around with this a bit more as I learn how to use it more effectively.

    pilot-link will be getting an infusion of XML as well, very very soon. No, XML can't yet make coffee (though it can describe the coffee, the pot, the bean, the... ah, forget it), but for places like Palm data, and record formatted content, it "Just Makes Sense(tm)"

Life

    Well, for those that may have read my most depressing diary entry ever, I should comment. Things are getting a bit better here, though life is still as uncertain and grueling as ever. This week was a train wreck, and I fear it's going to get worse.

    I really wish Maureen "I Hate Linux" O'Gara would really begin to get her facts straight, and stop drudging in the sewers for rumors, just so she can be first-to-market with them. She reminds me of someone else who has recently been put on my list for spreading unsubstantiated rumors.

    I truly feel sorry for these angry, depressed people with such low self-esteem.

enough for now...
comments go here

dyork, there's actually a bit more to it than that. When I set up my cvs server (because Sourceforge is still the most inept service I've seen to date to offer revision control), I started with cvsweb, until some serious security issues were found in it (both public and non-public issues). I moved to ViewCVS, and although it's python, it's much easier to manage.

Also, when setting up a cvs server that uses inetd.conf, and having more than 3-4 repositories can get tricky. I have about 40 repositories in my cvs now, for various things, public and private, and I had to resort to some trickery to get it working, both in cvs native as well as in viewcvs.


    <hint>
      #!/bin/sh CVS="/usr/bin/cvs" CVSARGS=" --allow-root=/cvs/repository_1 \ --allow-root=/cvs/repository_2 \ --allow-root=/cvs/repository_3..n pserver" exec ${CVS} ${CVSARGS}
    </hint>
1 May 2001 (updated 1 May 2001 at 09:02 UTC) »

C++

    void *packed = mai.pack();
    delete packed;
    
    (which throws a bunch of warnings)

    vs.

    unsigned char* packed = (unsigned char*)mai.pack();
    delete[]packed;
    
    (which compiles cleanly)

    C++ is not my best strength.

    -pedantic -Wall -Wmissing-prototypes are my new best friends

In other news...

    WTF?! How much can we possibly take here, I mean come on...
30 Apr 2001 (updated 30 Apr 2001 at 10:15 UTC) »

<plug>

t-shirt design contest
</plug>
30 Apr 2001 (updated 30 Apr 2001 at 08:29 UTC) »

pilot-link 0.9.5-pre6

    Whew!

    A few more days of bug-hunting, then it's RELEASE TIME!

    Need a catchy name for this release. Something with a bit of technical "oomph!" Anyone got any ideas? shoot me an email

    0.9.6 WishList can be found here and some new conduit ideas here.

    Lots of new stuff coming! (anyone care to donate a Handera or a Palm m505, or a Visor Edge for my testing/development needs?)

    TRG? Palm? Handspring? Are you listening?

    I need some hardware to begin supporting the CF, SD, Springboard support in pilot-link.

    I can't keep paying for these toys on my own (this doesn't include my two Cybiko handhelds, my two iPAQs and wireless sleeve, my VTech Helio, and my numerous cards, Palm/PDA clip-on attachments, and other PDA gadgets).

    Ok, now onto the Java source in the tree..

Long Time No Post

    How much more of my life is going to implode before I do?

    truck: dead

    gnu-designs: monthy hosting charges just doubled, struggling to hold it up on my own

    erika: lots and lots of pain, must fix, CV done, moving forward, don't let go

    work: [CENSORED]

    health: lost too much weight, no energy, deteriorating, rationing meals, sleep erratic, more headaches followed by bloody noses, waif

    code: what? completely different language to me now, it's like Latin, parts of the words look similar, but the whole sentence doesn't make sense

    money: I haven't seen it in so long, I forgot what it looks like, still haven't done my taxes, Pfizer screwed me on my vacation pay, gnu-designs.com nailed me on business taxes, may have to cash out 401k just to survive

    friends: who?

    hardware: laptop_1: LCD dead, laptop_2: pcmcia slot dead, home server: dead, year-old Hitachi 21" monitor: dead

    condo: white, white prison walls on all sides, no furniture, huge empty overly-expensive prison, trapped, suffocating

    Now I've had to let go of two of my employees at gnu-designs. Relegated them back to normal users. If people are tasked with keeping up with billing our customers, and don't... for over a year... what do you do?

    I've been footing the bill for their (ab)use of the server, and received nothing in return, except a bill from the provider for bandwidth usage. Meanwhile these two employees get paid directly by customers in cash for their "design" of the customer sites. Not exactly a fair relationship.

    gone.

PODS

    mysql> select rowid,url,info from pods where 1 limit 0,1000;
    523 rows in set (0.01 sec)
    
    2½ weeks and counting.
5 Apr 2001 (updated 5 Apr 2001 at 06:44 UTC) »

This ISP Must Die

    Ok, I'm beyond frustrated now. I've sent my last two emails to my ISP. There will be no more.
    message one and message two
    They have finally managed to close off every single open port outbound and inbound on their routers, and now I can no longer log into them at all.
     
    Apr  4 21:56:36 broccoli pppd[4192]: rcvd [PAP AuthNak
    id=0x2 "Other Failure"]
    Apr  4 21:56:36 broccoli pppd[4192]: Remote message: Other
    Failure
    Apr  4 21:56:36 broccoli pppd[4192]: PAP authentication
    failed
    Apr  4 21:56:36 broccoli pppd[4192]: sent [LCP TermReq
    id=0x2 "Failed to authenticate ourselves to peer"]
    
    Both of their support numbers are busy 24x7, even though they're not a 24-hour shop. They do not respond to my emails, even though they guarantee a 48-hour response time. I am being billed for this "wonderful" service, and can't even log in to use it.

    Basically, I'm calling my bank, and filing a claim against them to have the charges they've made on my account removed, and let them respond to *THAT* instead.

Palm Open Directory Syndicate: PODS

    Well, PODS is going well, I now have 470 links (cleaned up some dupes) in the database. All of these links point to Palm-formatted websites, which can be used sans modification on the Palm. I'm trying to clean up the links and create a good schema to represent and edit them, and then wrap that in a dmoz-like interface for managing them.

    You can see an image of what it looks like here

    And now the legal mess. What sort of sticky goop am I getting in by publishing these links? Clearly this content is not linked directly from anywhere on the web, or if it is, it's quite hard to find. It took a lot of URI massaging, google searching, and some other means to get this many links in there. It was so far, only a week's worth of work. No "illegal" means were used to get these links, it was all publicly available.

    I keep falling into more pandora's boxes of links and jump sites to more links. I'm interested in providing a broad range of content for the Palm users to use (with Plucker, Sitescooper, and similar client applications). I don't want to defraud the content providers in any way, and in fact, I'd like to help them. I've already received two replies from people I've emailed to ask for the location of their "hidden" URI so I could point Plucker and Sitescooper at them.

    [...]
    The person I am speaking of was graceful enough to allow me to use his writings but we have an agreement that the material not be distributed and he be kept anonymous. With this in mind, I must decline your request. The AvantGo platform does not allow copy/paste and is for this reason an excellent tool to slow down illegal distribution. I am not saying you would distribute this but we need to keep a policy which can be kept consistent.
    [...]

    and another

    [...]
    As a content provider, the nice thing about AvantGo is that I can insure that the only people who access the "lean" content are those using AvantGo. This insures that regular web surfers will always use the full version of the site, and therefore my advertising revenues continue.
    [...]

    It's interesting that they both mention AvantGo in here with regard to providing access to this "lean" content. I don't think making these links (all 470 and growing) public is in any way "distibuting illegal content", nor would it defraud content providers of advertising revenue.

    Contrary to what AvantGo may believe, AvantGo doesn't own this content, nor have they cornered the market on distribution of "lean" content. There are better alternatives out there, guys.

    Any comments? I'm interested to hear any and all sides of this.

Enough for now. Diary moresome later.

Long time no post.

Girlfriends and Barbeques

    Flying my girlfriend in for the weekend. I managed to get on priceline at 5:00pm on a Friday, bid on a round-trip ticket for a next-day departure (Saturday), and get it... for $300.00. I saved $1903.85 on this bid. Not bad for 1/2 day's notice.

    I haven't yet broken my promise of never paying more than $300.00 for a flight.

    I'll bet she didn't expect me to follow through with that one. I called her at lunch and said "Hey, you want to come over for the weekend? rasmus is having a barbeque." She said "Sure!" (thinking I was kidding). BwAHAHaHA!

Slurp!

    Finished a new webpage to slurp other Palm-formatted sites through. Took me awhile to figure out the rewriting of the links as they come across, so that relative links are converted to absolute, and all relevant HREF links are pushed back through my script, so I can re-slurp them when a user clicks on them. I'll launch this soon. It's all part of PODS I have to publicly thank dave0 for the help with the callback on this one. It's still using a lot of hacky code, but it works, so I can begin tweaking more and more now.
    ${$response->content_ref} =~
    s/\Q$rel\E/$script?site_selection=$uris{$rel}/g;

PODS

    Did some more work on PODS, and added some more links to it. This thing is going to be huge. Between this, palmliography, and the new Slurp thing I whipped up tonight, this could be quite the useful sack-o-tools for Palm users. rasmus was helping me convert the Catalog CPAN module code (ugly, bloated, slow, and disgusting) over to a hand-rolled php script. I'm so impressed with the speed and level of compactness of the code.

CLIQ

    Well, a debacle of connected events once again stops me from doing what I wanted to. I missed my talk at CLIQ by missing my flight out (a flight I paid for out of pocket, I might add). My truck was completely DOA, and wouldn't even turn over. I called the three taxi companies in town. One of them had a circuit error (fast busy signal), the second rolled into some weight-watcher's clinic, and the third no longer covers my area. Ugh. I was stuck. I spend two weeks on slides, and even lost a bunch at the last minute (sorry dsifry).

    I need to stop these dominoes from falling -hacker
bratsche, I hope all is well with Chris. I hope our talk the other day on irc was at least somewhat uplifting. I feel your pain (literally in some cases). Things will go well. It's important to understand what these things are, and to make sure to seek highly qualified help. I'm saddened that I didn't have enough money or knowledge back when I had "issues", but now I've learned.

Post-It Mirror

    I've now begun sticking Post-It notes with my tasks on them on my closet mirror doors. Hopefully this will get me a bit more aware of what's going on in my life, and work to get them all taken down. I don't have my dry-erase board here, so I'm a bit limited with tools. The more I take away, the more of "me" I can see again in the mirror. So far, it's working well.

Plucker 1.1 Released

    Well, we've finally released Plucker 1.1, and the website is holding up (yes, I'm surprised). We went from ~5k hits to >31k hits a day now. That's not bad for a little Palm project. It's doing well, I just wish more people would jump aboard and help us out. There's a lot of things to be done yet, and that damn python parser needs to DIE. It's so damn slow!!

    We have a Freshmeat Plucker Entry, one on PalmGear, one on Freeware Palm

I seem to be doing good on badger's external advogato stats page. I don't have as many projects as wsanchez nor do I want that many. 20? Come on... I only have 13 at the moment, not including internal projects at $JOB[0].

So much to do, so much going on. I have to find new housing, I have to help my girlfriend find a good job out here and relocate her, I have to knock all these side projects off of my plate, deal with my truck, my health, and getting back into my training.

Enough for now...

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