jc blog - tales of a modern-day nomadic hunter-gatherer

Follow jcomeau_ictx on Twitter This is the weblog of Intrepid Wanderer. You never know what you might find here; graphic descriptions of bodily functions, computer programming secrets, proselytizing for the antichrist, miscellaneous ranting and kvetching, valuable information on living off the land... if you don't share my rather weird interests you may want to try slashdot instead.

You can consider my Del.icio.us links an extension to my blog, as are my LifeTango goals and my other to-do items. My to-buy list is also public, but only for sharing any useful ideas that might be there; I'm not requesting charity, neither do I offer it.

You can find me easily in google searches, as jcomeau, jcomeau_ictx, or jcomeauictx. There are lots of other jcomeaus, but AFAIK I'm the only jcomeau_ictx out there so far.

If you want to comment on anything you see here, try the new Facebook comments, reachable by clicking the "[comment]" link at the end of each post. If for some reason that isn't working, go ahead and email me, jc.unternet.net. You know what to do with the first dot. Make the 'subject' line something reasonably intelligent-looking or it goes plunk! into the spambasket unread.

This RSS feed may or may not work. Haven't fiddled with it in forever. RSS Feed


Wow! That scammer selling the "platinum" wire on eBay must have whined to the big boys about me. They just deleted my "about me" page, which told about the Sal Wise scam, and threatened to suspend me if I ever again put a link into my feedback. After the prick already gave me a 'negative' in retaliation for the 'neutral' feedback I left him. [comment]


WTF? I just ran MPLAB and got a message something like "Component MPDevice.EncryptDevice.1 could not be found". Click the OK button and it goes bye-bye. Why? I'm reinstalling now. What shit. Now do you wonder why I'm trying stuff like colorForth and postFORTH? Stop the madness! Gigabytes of pure shit taking up place on my hard drive. I could have a lot more porn and MP3s if it weren't for all this shitty bloated code. [comment]


Found a nice open-source OCR package today: Tesseract. I had some problems, but was able to resolve them pretty quickly with the help of strace. Here is the README.cygwin file I submitted to the documentation page. I'm converting City of the Sun documents to text as a start to collaborative editing, possibly using Google Documents. The first step isn't editable, but relevant: the Articles of Incorporation. There may still be some errors in the text, but it was about 95% correct after running Tesseract. Excellent software. [comment]


Rain, glorious rain! Even some pea-sized hail when it first started a few hours ago. Didn't finish my second catchment barrel in time, dammit. First real rain since last September I think. [comment]


Lost my 100% positive feedback rating on eBay today. I left neutral feedback for someone who has a problem with honesty, and he retaliated with a negative. What a prick. See thebluechicken for the sale page and our email conversation. [comment]


Skipping the overwrite of the bootblock only got it as far as the final call to protected_mode. Not sure if I can stay awake long enough to solve this one. I'm really impressed by how well VMware behaves so like the actual processor. It leads me to believe they let the processor handle most of the code directly, only trapping certain exceptions, and of course any memory accesses outside that of the image being executed. [comment]


Damn! Took me a lot of debugging to find the problem in the El Torito boot image of colorForth. Why it behaves differently I can't figure, but in the loop after reading a cylinder of the emulated floppy disk, moving data from the buffer to where it belongs in the RAM image, something would happen to the CPU (both actual and in VMware -- not in Bochs nor QEMU) that would zero the registers, right at the moment where the currently executing instruction was being overwritten. A real pisser, especially since it occurs in the bootblock, where space for debugging code is at a premium. I had to comment out some debugging code to make room for the new stuff.

Now to find out if simply skipping overwriting the first 512 bytes will be sufficient to resolve the problem. It would be so cool if the secret to testing all the colorForth images out there would be simply to give them my kernel and burn an ISO image with mkisofs. By the way, if you're developing on Cygwin, use the cdrtools package from smithii.com, not the versions compiled with Windows, if you're going to do file globbing for exclusions. I was getting lots of weird and useless "invalid option" error messages with one executable, which turned out to be caused by various seemingly innocuous things such as continuation lines in the Makefile. wtf? [comment]


Last night or this morning (it's all a blur) I managed to make a boot disk of colorForth using the OEM CD-ROM disc builder assistant tools at FDOS.org. And I had to change my sources to pack the Mandelbrot program into the 63K of a COM file, but then when I booted and ran the CD, guess what? It goes no noticeably faster than it did under VMware. I was expecting an order-of-magnitude or more improvement, but no, VMware apparently optimizes so well as to make its virtual machine run as fast as the host box. Amazing.

I still have yet to make colorForth boot natively, although the El Torito spec seems to make it a no-brainer once you have a usable floppy image. It fails on the 'rep movsd' in the read routine, haven't yet figured out why. Makes no sense, really. [comment]


My Cygwin sshd server took a dump the other day, and instead of troubleshooting I just decided to upgrade. What a mess. Everything was broken for a day or so, and since one of the upgrades was Python, little problems are popping up. For example, it seems that the new Python downgrades longs to ints (to save memory? whatever) and I had to change this in my colorforth dump program:

diff -r1.53 cfdump.py
<  return not filter(long.__nonzero__, array)
>  return not filter(long.__nonzero__, map(long, array))

Otherwise, I'm working my way out of a funk. I'm in all-night-programming mode, making and drinking fresh coffee and listening to music. This fucking wind has got to be good for something, so I'm using the abundant power it's providing. [comment]


I didn't know Cygwin had raw floppy access. Pretty cool. Check this out. Maybe I can make a colorForth bootable from a USB flash drive like my JB007 camera. [comment]


While researching how to possibly make ELF files runnable on Windows, I ran across the PATHEXT environment variable, and thence to the .js extension, and found (using assoc and ftype) that javascript files can be run directly from Windows via the WScript.exe program! There is also CScript.exe, which runs javascript as a console application. It's nice to know that Windows comes with a reasonably powerful programming language. Of course, this is really old news to people who have kept up with Billy's products, but I don't. [comment]


One nice feature of the Futurlec board is the diode bridge on the input. Now, why can't more manufacturers do this? I couldn't figure it out at first; then, "duh!", it hit me, it's reverse-polarity proof. Since the N-connector fits the Coridium board too, and there's no bridge, I hooked it center-positive for use with both boards. I originally had it center-negative because the Futurlec board was silkscreened with that instruction. [comment]


I guess if you've been following along, you'll know I'm testing 3 different development boards now: the ARMmite from Coridium Corp., the PICStart2 from Microchip, and what Futurlec calls the AT90S2313 development board, but which actually has an ATTINY2313 processor. They've all got their quirks... let's see if I can remember all that I've found out so far.

I finally got a serial connection to the Futurlec board today. Since the CDROM they sent me was badly scratched, I didn't get any docs on the board, and their website only has the PDFs from the manufacturers of the chips, not on the board itself. Or rather, I couldn't find them. A day or few ago I did finally find a PDF in Thai that thankfully showed screenshots and photos of the connection for programming the damned thing with PonyProg2000; for one thing, the jumper on the parallel port adapter marked ENA/DIS, and "ENA=ATMEL", must be in the DIS position. Somewhat non-intuitive. And PonyProg2000 doesn't have useful defaults; if you select Parallel, nothing is enabled, you need to click the radio button for LPT1 or whatever. And make sure you select the right chip manufacturer (AVR) and processor (ATTINY2313). Anyway, I was able to disassemble it enough to see that I needed to hook up a serial cable in order to see the built-in menu. On the development board, pin 2 is receive, 3 is transmit, and 4 is signal ground; 1 is unused. Of course, on the 9-pin that goes to your computer, another DTE device, the pin numbers are swapped. For example, in my case, on the dev board, black is pin 2, red is 3, and brown is 4; so on the 9-pin female D-sub, red goes to 2, black to 3, and brown to 5. Since there's no hardware flow control possible with 3 wires, set HyperTerminal up for 9600-N-8-1 with no flow control (or possibly XON/XOFF, but I don't know if the board supports it).

The Coridium card, unless you pay $10 extra, comes with nothing. You need to download the right software from coridiumcorp.com's website, and they make it far from clear. If you just grab the TclTerm.exe file, it won't work. You need the link marked ARMmite/ARMexpress Setup Utility for BASIC. I guess you can download the USB driver for the FTDI chip on the support page too, but I opted to download the Virtual COM Port drivers directly from FTDI. I might play a little more with BASIC, but eventually I'll probably load the C development system, or maybe a native FORTH.

The PIC was a hassle too. The docs were wrong, all but one of the example programs were wrong, it took me several tries to get the software installed. Google was invaluable. I'm using the MPASM IDE and programming in assembly for now. Just testing various things. One of these boards is going to end up controlling my hydroponics system, refrigerator, and lights, and one will probably be the brain of a wearable computer.

Projects, projects, projects up the yinyang. I try to do a little bit every day. Lately I've been killing a lot of time on Usenet. Maybe it's time I got a little sleep. Hasta mañana. [comment]


What is it with all the porno sites lately? Almost all the girls are shaved. It's really gotten worse in the last month or so... I noticed it first on kindgirls.com, and now most of the linked sites have the same phenomenon. Thank the gods it hasn't caught on yet in Japan.

Got my Orikaso fold-flat cup and bowl yesterday, in time for my trip to Boston in a couple of weeks. It remains to be seen if the coffeeshops don't freak when you hand them the cup for the refill price.

My houseguest stayed a little longer than expected, but then he gave a nice contribution to the shebeen when he left, and except for the loss of privacy, he wasn't any hassle. Thanks, Jerry. Happy trails.

Instead of my usual Pink Store steak, my friend and I went to the Gamez restaurant nearer the South end of Palomas and had the beef & shrimp fajitas. Excellent! They have a nice selection of Mexican beers now too. We had enough left over that we had the rest for dinner, and the tab only came to about $22 including the 3 beers. Gotta have cash there, though. If all you have is plastic you'd better stick with la Tienda Rosa. [comment]


My flying dragon trifoliate is dying... so much for my tree planting so far, I'm zero for 20? Lost count. No decent rain since last fall doesn't help.

Ate my second chorizo today, two months old and no nastier than it was when I made it back in February. The last month has seen plenty of warm days, so they're surviving quite nicely without any refrigeration.

Still hacking colorForth, or rather the Mandelbrot display application I wrote. I got rid of the strange artifacts, but something is broken with the test for breaking out of the loop, and the long "antenna" that should be riding the y=0 line all the way out to x=-2 isn't there. Should be easy to troubleshoot if I factor it better, but so far I haven't. [comment]


Fucking goddamned shitty fucking OpenGrok! What a piece of shit! Every fucking goddamned error possible, with informative messages like "There was an error! null". Oh, configuring software is so much fun I could just shit. [comment]


colorForth went into the top 1000 most active projects on SourceForge today, at 976 at this moment. I may have inflated the figures a little with my constant checking, but mostly it's real traffic. The Mandelbrot display application alone is worth the price, if you haven't checked it out yet... you'll need VMware or QEMU if you want reasonable speed out of it, and VM is about twice as fast as the unaccelerated QEMU. Bochs is the bare minimum you'll need to make it run, but you'll wait all day for the Mandelbrot set to render (yes, I'm exaggerating, but not by much). [comment]

view blog for 2024-07
view blog for 2024-06
view blog for 2024-05
view blog for 2024-04
view blog for 2024-03
view blog for 2024-02
view blog for 2023-10
view blog for 2023-09
view blog for 2023-08
view blog for 2023-07
view blog for 2023-06
view blog for 2023-05
view blog for 2023-03
view blog for 2023-02
view blog for 2023-01
view blog for 2022-12
view blog for 2022-11
view blog for 2022-10
view blog for 2022-09
view blog for 2022-08
view blog for 2022-07
view blog for 2022-06
view blog for 2022-05
view blog for 2022-04
view blog for 2022-03
view blog for 2022-02
view blog for 2022-01
view blog for 2021-12
view blog for 2021-11
view blog for 2021-10
view blog for 2021-08
view blog for 2021-07
view blog for 2021-06
view blog for 2021-05
view blog for 2021-04
view blog for 2021-03
view blog for 2021-02
view blog for 2021-01
view blog for 2020-12
view blog for 2020-11
view blog for 2020-10
view blog for 2020-09
view blog for 2020-08
view blog for 2020-07
view blog for 2020-06
view blog for 2020-05
view blog for 2020-04
view blog for 2020-03
view blog for 2020-02
view blog for 2020-01
view blog for 2019-12
view blog for 2019-11
view blog for 2019-10
view blog for 2019-09
view blog for 2019-08
view blog for 2019-07
view blog for 2019-06
view blog for 2019-05
view blog for 2019-04
view blog for 2019-03
view blog for 2019-02
view blog for 2019-01
view blog for 2018-12
view blog for 2018-11
view blog for 2018-10
view blog for 2018-09
view blog for 2018-08
view blog for 2018-07
view blog for 2018-06
view blog for 2018-05
view blog for 2018-04
view blog for 2018-03
view blog for 2018-02
view blog for 2018-01
view blog for 2017-12
view blog for 2017-11
view blog for 2017-10
view blog for 2017-09
view blog for 2017-08
view blog for 2017-07
view blog for 2017-06
view blog for 2017-05
view blog for 2017-04
view blog for 2017-03
view blog for 2017-02
view blog for 2017-01
view blog for 2016-12
view blog for 2016-11
view blog for 2016-10
view blog for 2016-09
view blog for 2016-08
view blog for 2016-07
view blog for 2016-06
view blog for 2016-05
view blog for 2016-04
view blog for 2016-03
view blog for 2016-02
view blog for 2016-01
view blog for 2015-12
view blog for 2015-11
view blog for 2015-10
view blog for 2015-09
view blog for 2015-08
view blog for 2015-07
view blog for 2015-06
view blog for 2015-05
view blog for 2015-04
view blog for 2015-03
view blog for 2015-02
view blog for 2015-01
view blog for 2014-12
view blog for 2014-11
view blog for 2014-10
view blog for 2014-09
view blog for 2014-08
view blog for 2014-07
view blog for 2014-06
view blog for 2014-05
view blog for 2014-04
view blog for 2014-03
view blog for 2014-02
view blog for 2014-01
view blog for 2013-12
view blog for 2013-11
view blog for 2013-10
view blog for 2013-09
view blog for 2013-08
view blog for 2013-07
view blog for 2013-06
view blog for 2013-05
view blog for 2013-04
view blog for 2013-03
view blog for 2013-02
view blog for 2013-01
view blog for 2012-12
view blog for 2012-11
view blog for 2012-10
view blog for 2012-09
view blog for 2012-08
view blog for 2012-07
view blog for 2012-06
view blog for 2012-05
view blog for 2012-04
view blog for 2012-03
view blog for 2012-02
view blog for 2012-01
view blog for 2011-12
view blog for 2011-11
view blog for 2011-10
view blog for 2011-09
view blog for 2011-08
view blog for 2011-07
view blog for 2011-06
view blog for 2011-05
view blog for 2011-04
view blog for 2011-03
view blog for 2011-02
view blog for 2011-01
view blog for 2010-12
view blog for 2010-11
view blog for 2010-10
view blog for 2010-09
view blog for 2010-08
view blog for 2010-07
view blog for 2010-06
view blog for 2010-05
view blog for 2010-04
view blog for 2010-03
view blog for 2010-02
view blog for 2010-01
view blog for 2009-12
view blog for 2009-11
view blog for 2009-10
view blog for 2009-09
view blog for 2009-08
view blog for 2009-07
view blog for 2009-06
view blog for 2009-05
view blog for 2009-04
view blog for 2009-03
view blog for 2009-02
view blog for 2009-01
view blog for 2008-12
view blog for 2008-11
view blog for 2008-10
view blog for 2008-09
view blog for 2008-08
view blog for 2008-07
view blog for 2008-06
view blog for 2008-05
view blog for 2008-04
view blog for 2008-03
view blog for 2008-02
view blog for 2008-01
view blog for 2007-12
view blog for 2007-11
view blog for 2007-10
view blog for 2007-09
view blog for 2007-08
view blog for 2007-07
view blog for 2007-06
view blog for 2007-05
view blog for 2007-03
view blog for 2007-02
view blog for 2007-01
view blog for 2006-12
view blog for 2006-11
view blog for 2006-10
view blog for 2006-09
view blog for 2006-08
view blog for 2006-07
view blog for 2006-06
view blog for 2006-05
view blog for 2006-04
view blog for 2006-03
view blog for 2006-02
view blog for 2006-01
view blog for 2005-12
view blog for 2005-11
view blog for 2005-10
view blog for 2005-09
view blog for 2005-08
view blog for 2005-07
view blog for 2005-06
view blog for 2005-05
view blog for 2005-04
view blog for 2005-03
view blog for 2005-02
view blog for 2005-01
view blog for 2004-12
view blog for 2004-11
view blog for 2004-10
view blog for 2004-09
view blog for 2004-08
view blog for 2004-07
view blog for 2004-06
view blog for 2004-05
view blog for 2004-04
view blog for 2004-03
view blog for 2004-02
view blog for 2004-01
view blog for 2003-12

Valid HTML 4.01 Transitional

Valid CSS!