Older blog entries for hacker (starting at number 45)

Handera 330 POSE sources posted

    one down and one to go...

    Great work guys, special thanks to Mike W. at Handera

11 May 2001 (updated 11 May 2001 at 17:02 UTC) »
hub, no worries. You definately did the right thing, and it was timely. Right at the point where Mundie had some of his own comments to say.

Go with your gut. It's always going to be right.

..but you could cert me

11 May 2001 (updated 11 May 2001 at 00:19 UTC) »

The Saga Continues...

    After the debacle with Sony and the GPL, I've been barraged with emails and many queries from reporters and other people who are apparently questioning Sony's actions in other areas. I won't reveal any names here, but it's clear POSE is not the only place where this is happening. Apparently a commercial product developer on their PS2 Linux team (separate very well-known IDE development company) has patches he's made to the gdb and gcc sources and was not allowed to put them back into their respective trees, back to the community from whence they came.

    Let's be clear though. I am not attacking Sony or their partners. I've already tried to clear that up over here.

    I decided to seek out another hardware vendor to support the JogDial functionality and memory expansion slots. I find Handera and of course, Handspring.

    So I've been trying to find the sources for the Handera modifications to POSE, as well as those from Handspring, and come up with some interesting results. I managed to find the Handera Windows binary of the emulator over here, and upon extraction, I see a 'Handera Readme.txt' (spaces in filenames, gar!) that states:

    "..This is based on the Palm OS Emulator 3.1 sources and is also compatible with all ROMS the 3.1 Emulator from Palm is compatible with. The changes will be sent to Palm to be merged into their sources in a week or two..."

    The original announcement of this Handera POSE release is here (May 2, 2001).

    I asked for the sources over here (follow the thread from there, May 8, 2001).

    Interesting points from Keith over here (May 8, 2001). Most important of which is:

    "..So I couldn't say when Palm will post a version of Poser with HandEra support. But it will be in the range of several months from now..."

    I then tried a different approach since we can't wait months to begin testing these applications, by emailing Handera from their Comments form on their website:

    "..Comments: I'm looking for the sources to the Handera port of the PalmOS Emulator. I did not find a link on your website to download the sources. As I don't run Windows, I need to build this under linux. Can you please let me know where I can download this, so I can build a version under linux? Thanks a lot..."

    And received:

    Thu, 10 May 2001 16:18:33 -0500

    "..We will be making them available to Palm for inclusion in future versions of the source tree. The modifications will be included in all versions of POSE (and source) at that time..."

    To which I replied:

    Thu, 10 May 2001 14:27:44 -0700 (PDT)

    "..Are these sources available now? I'd like to include them in my local version of POSE, so I can begin testing applications against it. I do not run Windows, so I cannot use the Windows version of POSE. Thanks again for your time and a rapid response..."

    And received as a reply to this:

    Thu, 10 May 2001 16:50:51 -0500

    "..They are not available at this time. If you have any other questions please let me know..."

    Ok, so they've taken the sources for POSE, a known GPL project (who's owner of copyright is still unknown) and modified them for use in their own product (the Handera 330 and the POSE Emulator to assist developers in developing applications against it), compiled a version of this for Windows using these sources and modifications, but continue to keep those modified sources "in-house". That would be ok, if you also kept the Windows binary-only version in house, and did not distribute it, however, you can't have one foot in both kiddie pools.

    Guys, I simply want the sources so I can support your hardware in the open source projects I help develop which may some day USE this hardware. This abuse of the community effort to help you develop your projects will not continue much longer. You don't support the linux or unix community. We do. We do this in our spare time because we love this work. We don't get paid to do this (however you reap the revenue rewards from our hard work, you're welcome).

    So I get frustrated and decide to go to Handspring's site and look for their POSE modifications to support writing to the Springboard slot(s) in their new devices from pilot-link directly. Simple task. I see that they have a link to the Handspring POSE sources here on this page.

    The sources are for a VC++ 6.0 build environment. Ugh. I did receive this reply from them though in my query:

    Tue, 8 May 2001 09:41:19 -0700

    "..We don't build POSE under Linux internally, so the Makefile might not be part of that package. The version from Palm's 3.1 version should do it (we only added a few source files related to the Visor Edge)..."

    I'm not really sure how this translates, I mean... these ARE sources (which fits into section 3(c)p2 of the GPL), even if they're not sources which will build on a GNU/Linux platform from which their parent project was derived from, so I can't get completely pissed, but I don't have or know VC++, so I'm not about to port these over (back over) to linux.

    So we have a few "issues" here. I've also had a conversation with a Palm employee who said that "..the GPL means nothing unless it's tested in court...". That may be true, fundamentally, but that doesn't mean that this type of behavior can continue (Handspring is definately on the right side of this one, kudos!)

"Encryption via Obfuscation"

    I was trying to sync my newly-flashed OS4-aware Palm Vx with the latest pilot-link before I release it out the door, and I noticed that with a password set on the device, it will no longer sync. The Palm complains that the desktop software doesn't support the password on the handheld device, and to upgrade the desktop software.

    So I sent an email to the list hoping to find an answer.

    The answer I got wasn't exactly reassuring, but it gives me something to work with for now (thanks Dave Fedor, another fast response). One disconcerting thing though:

    "..So if you're on a 4.0 device with a password, you need a 4.0 desktop if you want to perform a HotSync operation..."

    There are some "encryption" issues which exist in this new OS version. Just be careful and aware.

    I simply want to support these devices and the users who use them. I'm not trying to cut holes in your profit streams or in your business plans. We shouldn't HAVE TO resort to reverse-engineering protocols on the port and sniffing syncs just to write a compatible driver to support these devices under non-Windows platforms.

    We've helped you, now how about helping us for a change.

3 May 2001 (updated 10 May 2001 at 22:20 UTC) »

WOW

    That reply to kgb wasn't meant to hit slashdot's front page. I stand by my statements, and I've appended a clarification to the original email, so those who want to rip me, can do so in other ways.
    Addendum:
    To those tearing me up for this account of my plane ride back from Linuxworld, be aware that this was not an account of a GPL violation. It was an account of my travels on a plane, which *INCLUDED* talking to a Sony employee, to whom I brought up their possible violation of the GPL, and he gave me his flippant attitude. Yes, until very recently, they were not providing sources to POSE, but I just checked again today, and now they apparently are, but only to an older version of their hardware. Interesting switch on their part. This has been an open issue with them for several months now, at least since early January. They were in violation of the GPL until May 1, 2001. I stand by my statements.

    (Referencing URL)
    http://www.us.sonypdadev.com/program/develop_tool/palm_os.html

Slashdot, pfft.

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

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