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


that thousand-dollar drop on the 25th meant having to sell about 33000 BTC, and it recovered half that loss in less than a day. hopefully that crushed the bears' spirits. it's been moving sideways since then. I'm cool with this slow, staggered recovery. thousand bucks every 2 weeks? just perfect, sign me up. [comment]


just installed Termux and Hacker's Keyboard on one of the phones. closest thing to having a portable Linux machine with me since I stopped carrying the jailbroken iPod Touch. [comment]


geth and short-circuit or operation:

> var a = 1, b = 2
> a || b
> a || b ? b : c
> a || (b ? b : c)

drilled and tapped holes in my comal the other day, and hooked up my solar panel to it to see if the current would get it hot enough to cook anything. nope. don't know why yet though. I'm guessing it's just not making good enough contact. [comment]


did a longish jog today, maybe 5 miles or so. started at 12:18 local time and ended at 13:15, but had an untimed toilet break at Coromuel, roughly the halfway point, probably 3 to 5 minutes. my first 5k of the year.

on the way back, I lifted some rocks up near the surf. one had a crab that I couldn't tell was alive or dead; it was perfectly still. I tossed it into the water and after a few seconds it swam away. first crab I'd ever seen use the "play dead" approach. typically crustaceans will fight you no matter how small they are. there were also some black slug-like critters from 3 to 6 inches long that might make good bait. but I noticed a bit later that the fingers of my right hand were stinging, and there was blood on the thumb and forefinger where I had touched the worms. tiny cuts. [comment]


that $1000 jump in Bitcoin price on the 12th has so far not been eaten by the bears, although they fought hard the following day to keep it from going any higher. there's a lot of optimism right now in crypto-land. [comment]


hadn't been getting emails from ns003 since tweaking my SPF configuration a few weeks ago. dig ns003.unternet.net txt didn't return anything; a wildcard entry apparently doesn't work when there's an A (or probably any other) record already matching the exact name. so instead of adding more records to the zone file, I just changed /etc/hostname, /etc/mailname, and got rid of ns003 in /etc/hosts and /etc/exim4/update-exim4.conf.conf as well. restarted exim4 and finally could email out again. wonder if this will have unintended side effects... probably. [comment]


so I had this broth left over from cooking some pork spine... went to Arámburo and found a pack of caracolitos (mini shell pasta) and cooked them using the "just enough liquid" no-waste method. also added salt, pepper, and some nettleleaf goosefoot leaves from my permaculture garden. a filling meal for MXN3.30, about 18 cents. you'd have to really try in order to starve here in Mexico. [comment]


Bitcoin is making another lopsided head-and-shoulders bottom. last time it did that, in February, the rise in early March was smashed to pieces by the MtGox bankruptcy selloff. sure hope we don't have another unpleasant surprise. [comment]


then edited /etc/X11/Xwrapper.conf and added needs_root_rights=yes to it. this was after installing xserver-xorg-legacy. finally xinit works!

so far this kernel and operating system are much faster: faster boot, faster shutdown, faster fsck. but I've probably still got a lot of work to do to get back all the functionality I had before the upgrade. [comment]


fixed the tty1 login by creating directory /etc/systemd/system/getty.target.wants, and symlinking /lib/systemd/system/getty@.service to getty@tty1.service underneath it. [comment]


so I temporarily enabled login on tty1 using # systemctl start getty@tty1, but now xinit .fluxbox/startup wants to use tty4. can't win! I guess it's looking for the first non-logged-in terminal. [comment]


the stretch upgrade went so-so. I currently can't get Xwindows running though. at first it complained about tty0 permissions, which I solved with # usermod -a -G tty jcomeau, but now it's grousing about virtual terminal 1. also, I had to # systemctl enable networking. [comment]


my birthday is just going too well, so I decided to tempt fate and upgrade from Jessie to Stretch. let's see how fucked up things can get while I'm at dinner... [comment]


just for reference: Phil Luty's gunsmithing website.

the past few days I've been trying to set up a network extension using two old Linksys routers and a Ubiquiti Nanostation. I configured the ubnt device using these outdated instructions (PDF) but it wasn't routing. turned out the defaults for Router mode are less than useful; NAT is disabled by default. after enabling it and rebooting, it works.

there was something else but I've forgotten. will make another post if I happen to remember it. [comment]


one goal complete: I wrote a lottery for Ethereum and deployed it to the Ropsten testnet. [comment]


jogged over to Chedraui on Isabel la Católica and found the 750ml bottle of Ahuacatlan for $109 pesos, compared to $121 for the 500ml bottle. that was a no-brainer. I'm tired of the dodgy lard I've been buying that turns soapy after just a few uses. [comment]


the craft had landed, but the spoilers didn't deploy, and we both just braced for impact. but apparently the runway was very long, so I started looking for things that I could do. overhead there was a long tube with something that looked like an umbrella mechanism, so I pushed against it. it unjammed, and the glider, plane, or whatever it was immediately started to slow.

the world was in civil war, looked like mostly military against politicians. sabotage was rampant; a combatant would travel miles to kill someone then find none of his weaponry working. often both assassin and potential victim had been disarmed and must fight to the death with whatever they have available.

what a dream. and the night isn't over yet.

my Ethereum lottery is somewhat working, but often fails during payout by running out of gas. the loop is just too long, and has too many transactions. I need to bundle them. another possible improvement would be to use a fixed 256-uint array of mappings address->uint count, if such a thing is even supported by Solidity. the final byte of the winning blockhash would index into the array.

I still haven't read "assassination politics" in its entirety. it's pretty longwinded, with a lot of repetition, but seems to get lost in the weeds (or maybe it's just me getting lost) when it comes to the details.

if it's to have a primarily deterrent effect, rather than simply serve as a marketplace for murder, I think all the records should be publicly readable. let the tyrants watch the price on their heads rise, and they might get plastic surgery and drop out of sight, turning up incognito at places like San Pedro la Laguna. wouldn't that work just as well?

as for determining time and date of death, and thus which winner is rewarded, I can't think of anything both built-in (nonreliant on external sources of authority) and sabotage-resistant. but right now I'm leaning on paid transactions that submit, support, or reject timestamps. some certain threshold of support not counterbalanced by rejections would trigger the avalanche of payments, with all those additional payments awarded to the winner. so that any attempt to slow down or stop the predictor/assassin from getting paid would eventually fail anyway, and would just make him richer. in the case of a particularly despised despot, the groundswell of support from grateful people ought to be massive. [comment]


reason #1183 I hate geth:

> first = eth.getBalance(eth.accounts[0])
> second = eth.getBalance(eth.accounts[1])
> first + second
> need = web3.toWei(10, "ether")
> first + second > need

this is on a private test net. no, I'm not rich. not yet, anyway. [comment]


finally some progress with Solidity. found out that if there's an error there won't necessarily be any indication, but any events that were supposed to fire won't fire. and the event.watch() call from Geth won't necessarily catch the event either; I have to grab them after the fact, from the console, using event.get(). [comment]


just got another .001BTC payout from earn.com. all those extra lists I signed up for aren't helping at all, unfortunately, but the income from the airdrop and/or cryptocurrency investors lists are bringing in a steady trickle.

that toothache I had, what, a week ago? never returned. sure, there's still a little sensitivity to cold there, but so far no more pain. that's a good thing. clove oil is expensive down here.

been thinking about coding Jim Bell's "assassination politics" in an Ethereum contract, but first I have to learn both Solidity and Geth, and it's a tough slog. plus I'm not sure how to make a contract smart enough to determine the death actually took place on such-and-such a date and time. I've got to read it over a few more times and see if Jim gave some clear guidelines on that. if it has to depend on trusted humans it's probably doomed to fail. [comment]


the fermenting/molding/rotting refried beans, and the pasta I made with it yesterday afternoon, were causing me gastrointestinal distress. I hardly slept last night. so I threw the rest of it away, perhaps as much as 10 pesos worth. I hate doing that but can't afford to be sick. [comment]


made some refried beans the other day. you might have seen the Instagram post. anyway, it's been sitting unrefrigerated for two or 3 days now, and it's fermenting or molding or both; it developed some blue splotches within the first 24 hours and now it has a fruity smell and is getting slimy. when I touch it, and pull my finger away, little white strings follow then pull back into the glob, looking for all the world like little roundworms (but they're not). I wonder if this is koji or something similar? [comment]

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