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


I wasn't wrong, or at least I don't think so any more. I just finished Unintended Consequences for the 2nd time, and saw what I had seen the first time: a white supremacist viewpoint, not explicitly stated but implicit in the author's choice of characters and how they behaved. the same thing I remembered from Bracken's Castigo Cay.

it's clear to me that both Ross's and Bracken's worlds revolve around intelligent, powerful, decisive white men who are either heroes or the chief villains, while Jews, blacks, and other minorities play bit parts if they are noticed at all.

it's probably none of my business, but it's irksome to me, and I think it hurts the cause of freedom. [comment]


I might have mentioned I'm re-reading Unintended Consequences. it's got some killer quotes in it, like this one on page 480:

"These government slugs ban our guns and they ban our magazines and they ban our ammo. They ban suppressors that make our guns quieter and then they ban our outdoor shooting ranges because our guns are too loud. They ban steel-core ammunition because it's 'armor piercing', then they close down our indoor ranges where people shoot lead-core bullets because they say we might get lead poisoning."

I'm over halfway through and I haven't seen any of the racism I remembered on the first reading. yes, certain characters are racists but I have no good reason to believe John Ross, the author, is one. I might owe him a big apology, and that means I'll have to re-read Castigo Cay and see if I was wrong about Matt Bracken as well. [comment]


the rolls did cook all the way through! however, the grease that was left in the bottom of the pot before I put the tile fragments in, burned, and gave them an off flavor. ah well. they're still edible. I'll just have to remember to clean it out well next time. [comment]


just did something I haven't done for months: baked some yeast bread. problem is, I almost never keep flour around in its pure state, turning it into a biscuit/scone mix as soon as I open up the two 1-kilo bags, one of white and one whole wheat: after adding a tablespoon of salt and two tablespoons of baking soda, and mixing it all well, I cut in a cup and a half of lard and mix it by hand until it resembles bread crumbs.

anyway, since that was all I had, I put a tablespoon of dry yeast and 2 tablespoons of sugar in a bowl, added some warm water, and let it sit for an hour or so. it bubbled up nicely, so I added two generous handfuls of my biscuit mix, stirred, and kneaded for a few minutes, enough to absorb another handful of biscuit mix I had spread out on my griddle. I then let the dough sit and rise.

some time later, maybe another hour, I punched it down and formed it into 3 rolls and 2 flat sandwich breads. after letting that rise, I baked the rolls using my tried-and-true method, and attempted the flatbreads using the quickbreads method, about 3 minutes on one side, letting it rest for a while, and two minutes on the other, with another few minutes rest. I haven't checked the rolls yet, but I ate one of the flatbreads and it was delicious. the texture was very good as well. I only had the rolls on the heat for about 5 minutes, so I'll be surprised if they cooked all the way through. [comment]


while it was still daylight, I pushed myself to get down to the malecon with my bike and test it out. it's never had much use until this year, after the new tire, because it would always go flat too quickly. now both tires still leak, but very slowly, and I have that cheap pump I rebuilt with a good hose to keep them inflated.

so, it turns out I have no shift ability on the front (left hand shifter) at all, and the rear shift needs some adjustment too. and the assbone-breaking seat needs a replacement for sure. all it takes is a mile before I want to quit. and did. [comment]


tried the wheat kernels today. they also toasted up nicely, and unlike the barley, actually made a nice popping noise when doing so. much more enjoyable to eat it this way, at least for me, than making a porridge or gruel. I have little doubt that the higher heat destroys some of the nutritional value, but the addition of fat and salt ensures I'll eat a lot more of it than I could stomach plain boiled wheat, with its cloying sweetness and hint of spices. plus it uses a lot less fuel and it's quicker. [comment]


so I have some pearl barley I had bought last year or the year before, to use in beef stews and such, but I don't cook anything like that any more and wanted to use it up. so I tried cooking it in hot oil, like popcorn. sure enough, it puffed up a little, nowhere near the way popcorn does, but enough to easily munch, and makes as good a salt substrate as any other carb. I guess now I've got to try it with my leftover wheat kernels too. [comment]


I had it all wrong. after ./overview.py 36 -117, I had to convert -flop -resize 300x300 -rotate -90 /tmp/overview.png /tmp/ovsmall.png to get it to match the tile between 36N, 117W and 37N, 116W, Mesquite Flat in Death Valley. and this was after adding in the missing bits by moving them into the "red" component. gives it a trippy look, and not all that useful, but it worked for the purpose: to determine the actual layout of the .hgt files. now I can move on to the next job, creating panorama views. [comment]


figured out columns, I think.

>>> s=get_column(read(get_hgt_file('36', '-115')[0]), 0); print repr(s[:16])
>>> t=get_column(read(get_hgt_file('36', '-116')[0]), 1200); print repr(t[:16])
>>> s[:16]==t[:16]
>>> s==t

so the last two bytes of each 2402-byte line of the westerly quadrant matches (more or less closely) the first two bytes of the same line of the easterly quadrant. so sample order is west to east. and latitude-wise, north to south. which makes the first two bytes of the final 2402-byte line of a NW sector file the eponymous sample. and I suppose, which makes the filename misleading, as N36W116.hgt actually contains samples from the N36W115 quadrant, except for the overlap column in the first two bytes of each line.

so, when dealing with the NW sector, joining a number of hgt files together to plot an area, one should discard the first 2402 bytes of each file, and the first two bytes of each line. or better yet, average those values with the matching lines in the surrounding files, as my friend Dan Lyke indicated to me the other day.

why am I going through all this head-hurt? for a paying job, perhaps? nope. I have another friend who is so paranoid of government that he has latched on to "flat earth" theory, what I've been calling "Dark City" theory by its similarity to the movie's premise. I want to write a program that can possibly prove to him that this is a lie, intended to divert our attention from the equally sinister but less complicated mess we're really in. [comment]


hit upon an idea this morning... after boiling water for coffee, pour the water first into the molcajete, then into the cup with the coffee grounds. this cleans out the molcajete and adds flavor (currently chocolate, which is what I last ground up in the molcajete -- yum!) to the coffee. and there's zero waste of water. sadly, only fellow minimalist desert dwellers will see the beauty in this. [comment]


SRTM3 data is supposed to overlap, but it doesn't quite. and the closest it comes to overlapping is the first row of the lower latitude file with the last row of the higher-latitude file, at the same longitude. ergo:

>>> s=get_row(read(get_hgt_file('36', '-117')[0]), 1200)
DEBUG:root:rowdata: '\x04\xd3\x04\xcd\x04\xc5\x04\xbe\x04\xba\x04\xb7
\x04\xb0\x04\xa8\x04\xb1\x04\xc2\x04\xc2\x04\xcf\x04\xf2\x05\x1b\x05:\x050' ...
>>> s=get_row(read(get_hgt_file('35', '-117')[0]), 0)
DEBUG:root:rowdata: '\x04\xd3\x04\xcc\x04\xc4\x04\xbe\x04\xbb\x04\xb7
\x04\xb0\x04\xaa\x04\xb8\x04\xc6\x04\xc5\x04\xdc\x05\x02\x05)\x05=\x05/' ...
>>> s=get_row(read(get_hgt_file('35', '-117')[0]), 1200)
DEBUG:root:rowdata: '\x03I\x03H\x03F\x03E\x03D\x03D\x03D\x03D\x03C
\x03C\x03C\x03C\x03C\x03C\x03C\x03C' ...
>>> s=get_row(read(get_hgt_file('34', '-117')[0]), 0)
DEBUG:root:rowdata: '\x03H\x03G\x03E\x03E\x03D\x03C\x03C\x03C\x03C
\x03C\x03C\x03C\x03B\x03B\x03B\x03B' ...
>>> s=get_row(read(get_hgt_file('34', '-117')[0]), 1200)
DEBUG:root:rowdata: '\x04\t\x04(\x049\x04`\x04\x83\x04\x85\x04i\x04L
\x04;\x04E\x04D\x04@\x04(\x04\x17\x04\x15\x04\r' ...
>>> s=get_row(read(get_hgt_file('33', '-117')[0]), 0)
DEBUG:root:rowdata: '\x04\t\x04*\x044\x04X\x04v\x04\x93\x04u\x04Y\x04E
\x04R\x04R\x04F\x04+\x04\x1f\x04\x1d\x04\x12' ...

this implies, to me, that the last row in sequence is actually the first row in latitude, e.g. the final 2402 bytes of data in N36W117.hgt are the heights starting from 36 degrees north, 117 degrees west. damned if I can find that spelled out in the (PDF) documentation.

now I've got to figure out the column overlapping. [comment]


argh. just logged into my AWS account and found out I had a dangling IP address in the Ireland region for the last few days. it was less than a dollar, but I hate that! I wish they had a single page that showed everything that was accumulating charges. [comment]


got up early today, and since there was no breeze yet I attempted to re-braze the chair that broke a few days ago. first two tries failed, and I thought I was out of oxygen after the 2nd failure. but I made one more attempt, and got 'er done just before the breeze started up. now I guess we'll find out if it is strong enough this time.

I've really got to figure out how to rig a standard welder's oxygen tank to work with this little MAPP-oxy kit. these little bottles only have a few ounces in them, and they cost USD20 or more, at least down here. as I recall, they're not much cheaper in the states either. but back there I have a full oxyacetylene kit, or at least I did when I left. [comment]


something tells me this wasn't ready for prime time...

The following NEW packages will be installed:
0 upgraded, 1 newly installed, 0 to remove and 1867 not upgraded.
Need to get 10.8 kB of archives.
After this operation, 39.9 kB of additional disk space will be used.
Get:1 http://ftp.us.debian.org/debian testing/contrib i386 pepperflashplugin-nonfree i386 1.8.2 [10.8 kB]
Fetched 10.8 kB in 0s (21.6 kB/s)
Selecting previously unselected package pepperflashplugin-nonfree.
(Reading database ... 167590 files and directories currently installed.)
Preparing to unpack .../pepperflashplugin-nonfree_1.8.2_i386.deb ...
Unpacking pepperflashplugin-nonfree (1.8.2) ...
Setting up pepperflashplugin-nonfree (1.8.2) ...
E: No packages found
E: No packages found
E: No packages found
E: No packages found
E: No packages found
dpkg-deb: error: --extract needs a target directory.
Perhaps you should be using dpkg --install ?

Type dpkg-deb --help for help about manipulating *.deb files;
Type dpkg --help for help about installing and deinstalling packages.


my profile at Upwork is looking better than ever, but what it doesn't show is that, while I may be good at the quick fix, the prototype, and the simple script, I generally crash and burn on anything that lasts more than two weeks or so. I get bored and can no longer motivate myself. doesn't seem to matter how much money you throw at me, either. and sometimes the boredom occurs much more quickly. once the novelty wears off, I become useless. [comment]


another credit line paid off. only 5 more left to go.

every one I pay off, assuming I keep the same income, means less interest to pay each month and more money I can pay over the minimum on the others, making it more likely I'll be out of debt before the year is over. [comment]


I'd been wanting to re-watch Dark City but until today I wasn't successful in updating my Flash player. apt-get install flashplayer-nonfree kept telling me I had the latest version, and I didn't know where to place the files I downloaded from Adobe. but finally I thought to dpkg -L flashplayer-nonfree, and running sudo update-flashplugin-nonfree --install took care of it. just finished watching. great movie! I'd forgotten lots of it. [comment]


tried an experiment I'd been wanting to do for some time: put some cocoa nibs on my griddle and toasted them for a while, then ground them in a molcajete with some sugar. they didn't make a loud crack, as when toasting coffee beans, as I'd expected, but I guess that's because they had already been crumbled, leaving no trapped gas to cause mini-explosions. in any case, I didn't get a smooth, creamy result, but what I did get was looked and tasted much like brownie crumbs, complete with the nutty crunch and flavor one would expect. I ate almost half a cup straight from the molcajete, and only left a tablespoon or two to cook with. so I made a scone with that remainder, and it also was good, but would have been better with 2 or 3 times the amount of crumbs. that's a keeper for sure.

although these are supposed to be healthier raw, I tired of them, and have had this half a bag for well over a year now. this will ensure I use them up before they go bad. [comment]


$200 for 37 SLOC. millions of programmers could have done the job with 1000 SLOC or more, but it takes persistence and experience to do it with minimal code. the art of coding without coding. [comment]


my right foot is cracked and bleeding again, while my left foot remains smooth. what's up with that? same as my right underarm is way more prone to stinkage than my left. [comment]


the other day I had this idea: using the camera, combined with some kind of printed gradient background that could be rolled up and carried around, with two smartphones or tablets, attached with a harness to each wrist? by the phones "knowing" where they are against the background, and in relation to each other, just about any musical instrument could be simulated: piano and guitar for sure, perhaps even sax and trombone. the rolled, printed background could be fixed to one hand and rolled by a spring on the other in the case of something like a trombone or guitar, and laid flat for a piano. [comment]


made some potato chips today from the one organic potato I got at the market this morning: sliced it thin, then painstakingly pan-fried each slice in lard, and salted the bunch. they were good, but no bargain, having spent probably twice as much on fuel as I did on the potato. still, it's good to know I can do it. [comment]


the ceviche experiment went OK, maybe a slight gastrointestinal upset for a while, or that may have been due to something else. anyway, it's over now and I'm still alive.

patriots were rounded up today. FBI oathkeepers had better start making some noise about it, and I mean now. let your bosses know you don't approve.

I know you're reading this. that should have been you up on that bridge, not EJ Parker, protecting the protesters from those Blackwater or whatever-you-call-them mercenaries the BLM dragged in to do their dirty work. you'd better goddamned well take good care of him. [comment]


I'm eating a lot less meat lately, getting most of my nutritional needs from the biscuits I make with a 50-50 mix of white and whole wheat flour, lard, and yogurt. but today I spent $20 (Mexican pesos, not dollars) on pierna, Ocean Whitefish, and fried half for lunch and broke up the other half into a jar of my brined salsa to make ceviche. I've done it before but never left it overnight to see if it goes bad; I'll find out tomorrow. living without refrigeration is an interesting challenge! [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-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-04
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!