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 just forked Ghostdriver and PhantomJS. Selenium is a great test tool but normal browsers make it wicked slow. a headless system like this will take unit tests and scraping of content to a new level, if I can push myself to learn it. [comment]


it turns out that my hacking on FFmpeg to get the Floureon (and other Sricam clones) camera video to show up on Linux was not altogether necessary, since my lady is able to view them using the app from back in northern California. but that's kind of scary, because that can only mean the audio and video are being pushed through their servers, meaning that anybody who has reverse-engineered the app or the firmware knows how to view all the millions of cameras deployed worldwide. hmmm... maybe I'll have to be more discreet when jacking off... [comment]


my powermonkey and Android situation is becoming worse. now I need to power on the powermonkey; let it just sit there for 15 minutes or so; then plug it into the tablet. even then, over half the time it just dies immediately. [comment]


finally got teamviewer running from the version 12 i386 tar.xz file. their customer support is all but useless, just the old "try this", "try that" routine without giving any indication what they think is wrong or why they think what they're telling you to try would be of any benefit. in short, like just about every other company's tech support.

anyway, this, combined with getting the Upwork binary working again a few days ago by downgrading libnss3, should enable me to bid on a lot of jobs I couldn't qualify for before.

I have Teamviewer installed on my Android as well, and I was able to control my netbook from it. pretty cool. of course, I always could do most of anything over ssh anyway, but this gives GUI access, a completely different level. now I'm wondering if I can run some things that require OpenGL, like free CAD programs, on an AWS EC2 instance using Teamviewer. [comment]


I think I remembered the ideas I wanted to share: do-it-yourself drybag kits, using any old plastic bags you might find, and do-it-yourself recumbent kits that turn any bike into a recumbent cheaply; replacing seat with a pedal mount, putting the new, comfortable seat between the handlebars and the old seatpost, turning the rear (now front) wheel around, and adjusting the chain for the new distance between sprockets.

there will be more detail on my kybyz page when I finally get kybyz working. [comment]


hurt my ankle today on the jog, and as I've been doing for the past few years, just continued on, slower, limping, until after a couple blocks or so it corrected itself and I slowly picked up speed until I was going at my normal 5-to-6 miles per hour again. the human body truly is a remarkable piece of engineering.

after a few days of my current #1 client being offline, he came back with some good news that another $200 is on its way to me, which takes care of almost all the rest of my January bills. of course, I can't count on it until it's there in my account, and even then it's iffy. just ask the Cypriots, Greeks, or Italians.

at Upwork's urging, I raised my hourly rate to $143.36/hour, which they said would still be competitive. we shall see. I still think the freelancing industry is in a slump, when it's common to see a job posted as "urgent", for a "professional", and offering $5.

I don't know if I mentioned it, but the other day there was a swap meet at the Marina Palmira, and I scored a name-brand (Aqua Lung) snorkel for 50 pesos. I thought for sure it would have one-way valves on both intake and exit. nope, only on exit, and now that I pulled it out to examine it I can't get it back in. how do snorkel manufacturers fail to see that without valves on the intake, the exit valve is almost useless?

there's another idea I've been meaning to share, but it keeps fading in and out of consciousness and I never seem to have the presence of mind, or access to electronic devices, to get it blogged when it's "in". hopefully soon. [comment]


this Ballena tastes rusty. rarely happens to me with Modelo brand beers; back when I used to drink Cuauhtémoc Moctezuma brands I experienced it often. just gonna drink it though, no point taking it back to the store and complaining. after the first few sips I hardly notice it anyway. [comment]


added mole poblano to my coffee. not bad. like mocha with a bite.

been thinking about the origin of those larvae in my bread mix the other day. if I can grow those little suckers on demand they could be a good source of protein and fat in a "bug-in" scenario.

getting a little momentum going on kybyz development again, but as always on my own projects, it's a tough slog. the upcoming censorship of "fake news" on Facebook is a motivator, as is the ending of the calendar year, since this, along with paying down my debts and getting a first-draft kinetic sculpture working, was one of the goals. [comment]


it seems I have to power on the Powermonkey Extreme while nothing is connected to it, let it sit there on for a few seconds, then connect the tablet to it. otherwise it just turns itself back off immediately. [comment]


I left the Android plugged into the Powermonkey even though the latter seemed to keep shutting itself off, and overnight it took on about a 3/4 charge, good enough. so it's working, it's just not giving useful feedback.

noticed today there was a dramatic difference in price on some packages of Recortes de Queso at the supermarket. turns out some had been mislabeled as Recortes de Jamon, half the price at 35 pesos per kilo. so I gladly bought half a kilo for about 85 cents. [comment]


well, there's my answer. the Powermonkey turns itself off because the Android isn't pulling any current. so I've got to figure out what's wrong with the cable or the Android receptacle. [comment]


I rarely fail to get green leafy vegetables to brine pickle, but I failed with spinach. even after a week, although the brine kept it from rotting, it never actually pickled. and when I opened it today, to use the last if it up, it had putrefied to the point where I couldn't force myself to eat it.

my PowerMonkey battery pack isn't charging my Android. I turn it on, and it turns itself back off a few seconds later. I've seen this before, but have forgotten what it takes to fix it.

and I can't charge the Android directly from my netbook any more either. it's pulling too much power, and the USB ports on the Acer Aspire drop to about 4 volts under the load. [comment]


I was almost hoping the soft coup would work, and the electoral college would pull off anointing Hillary as POTUS.

Strauss-Howe generational theory, as I understand it, gives a fairly short window of opportunity to succeed in instituting a sea change in governance, from the time the "hero generation" comes of age until the time they start settling into the system as it is and have children. the Civil War in the United States in the 1860s was so bloody, according to the theory, because the crisis occurred too early and the wrong generation was called upon to fight.

whereas, we may miss it by being too late, because too many people are likely to give Trump a chance, considering him an "outsider" rather than the entrenched crony capitalist that he has been for decades. if he gets 8 years in office, it'll be 2024 before the Homeland generation (in my previous diatribes on this subject I think I mistakenly said the Millennials) will have to make the decision to cast off the chains. that will be just about right, as the US entered WWII in 1944, 80 years before. I hope it all works out for the best. odds are I won't be around to see it anyway. [comment]


opening a port on the Telmex HG532e is a pain in the ass. these instructions don't work, or at least don't on this system. instead of one step, there are two, and you can only allow one outside IP address in per forwarding entry.

first you need to give your internal host a static IP address. that can be done under Básico|LAN|DHCP, under Tabla del servidor de DHCP. copy-and-paste the MAC address of the host you want to give a static IP into the Dirección MAC input box, select one of the available IPs to the left or just leave it at the default, and click Guardar. you will probably need to restart that host for it to get its new IP, unless you want to wait for an hour or so until the DHCP lease expires.

then, under Avanzado|NAT|Edición Aplicaciones, click on the Nuevo button towards the top right. then scroll to the bottom you will find the dialog box. I entered ipcam3. click Guardar. wait for page reload, and scroll to the bottom again. there is another Nuevo button there, click that one, not the one at the top right of the page.

there you will be prompted for internal ports, external ports, and protocol. fill those out as you normally would, e.g. 80 to 80 for internal, 10080 to 10080 for external, TCP. click Guardar.

now back to the top of the page, click Mapeo de puerto. here is where you select the Aplicación you just created, ipcam3 in my case, and enter the IP addresses of the remote host (Anfitrión remoto) and local host (Anfitrión interno) and click Guardar. with any luck, now you should be able to reach your IP cam or whatever from the outside host you specified, at the port you chose. [comment]


made my first (to my recollection) attempt at tempura frying earlier this evening. I had been gifted a bunch of zucchini and I wanted to fry it up, so I bought a single egg at the farmer's market this morning for 4 pesos (20 cents US). late this afternoon I whipped the egg with chopsticks, added a cup of water and a cup of flour (actually, my biscuit mix, which is mostly flour). I used the smallest diameter enameled steel cooking vessel I had, 1 liter, so as to use the minimum amount of lard, but it was so small it barely fit on the very edges of my butane stove, so I used 4 neodymium magnets to hold it secure. bad idea. I didn't know that these magnets lose their strength in high heat. eventually it slipped, and it was a miracle that the grease didn't spill and ignite and burn the whole palapa down. I had only successfully fried a few of the 30 pieces by then.

so I tried using the pot of grease on top of the griddle. no go. not enough heat was passing through the griddle to the lard in the pot, so the squash was mostly raw. eventually I transferred the grease to my next larger pot, which was still slipping, so I used the two pieces of steel stock I had cut for that purpose to stabilize it. eventually I cooked and ate it all. but it was substandard.

I just used the remaining tempura batter, with more added flour and some machaca, to make a large quickbread for tonight's dinner. I haven't tried it yet. thinking of going to get another Ballena, Pacifico's quart bottle, although that will pretty much guarantee I won't get any more coding done tonight. [comment]


I'm so stupefied how removing completely unrelated software cured the Chromium crashes, I'm tempted to reinstall it, one at a time, to see exactly what caused it. but I have more important things to do.

just goes to show how, when you can't duplicate a client's errors on your own machine, it doesn't mean he's doing anything wrong. your software could be making assumptions about ports, or sockets, or devices, or memory availability, that it shouldn't. [comment]


weird. I removed a bunch of software I wasn't using: vmware, turnserver, dropbear, and libapache2-mod-php5 (when removing dropbear inexplicably tried to mess with it) and teamviewer, which I had just attempted to install the day before.

and I shut down xwindows so I could run bitcoind all night, and try to catch up on the blockchain a bit. I'm almost to June of this year.

and now I just started up Chrome. no more "Aw, Snap!" errors. I switched back to full Gmail, no problem. got Facebook up, no problem. what the hell? [comment]


for breakfast I made fried rice out of yesterday's dinner leftovers, and for lunch I improvised a calzone out of my usual biscuit mix, kneaded well to a pliable dough, with some blue cheese and Italian meats (2 different salames and some prosciutto or similar) as filling.

buoyed by my previous successes, I attempted a huge calzone for dinner tonight, made with lots of machaca, which is already going bad after only 4 or 5 days. it wasn't quite a disaster, but it didn't turn out well. it was too big, for one thing, and too thick, as I didn't have the griddle to roll it out on, having already "cooked" the meat on it. so I decided to just cook the huge pizza-crust-looking-thing and spread the meat out on it like a cheezeless pizza. that worked out OK. but it isn't anything to write home about. anyway, I ate half and left the other half for breakfast tomorrow.

and last night, I had to fork over about 3 precious dollars to Procter and Gamble for some dental floss. I'm hoping the 50 meters will last me a year, I hate giving money to that corporation. hopefully, only a small percentage of that price goes to them. [comment]


back in the silver game. bought only 1 call option this time, for July, strike price $73. it cost me $0.002 per ounce, $10. I don't have to go "shopping" again until April or May. [comment]


it turns out the Python for/else construct doesn't work the way I expected. damn. now have to go back and do some editing... if I can even find out where I used it. [comment]


so the lady left on a jet plane, and one of the first things I did was to haul my solar panel out of storage and try cooking rice with the stainless steel immersion heater, the one that overheated my yogurt. it didn't work. I came home after my jog to find still about 3/8" of water above the rice. it had been "cooking" all day, but obviously the temperature never reached enough to do the job.

so I put it on my butane-converted-to-propane stove, and in about 15 minutes the water had been absorbed into the rice. I hayboxed it for another 15 minutes and it was perfect. not too soggy, not hard in the middle. I've never achieved that with rice from the Mexican grocery stores. this was smuggled-in organic long-grain Basmati, gifted to me by someone who inexplicably loves me. [comment]


so I just made one of my usual giant biscuits for brunch, and while it was cooking I saw it bubbling strangely. I looked closer, through the inverted Pyrex bowl I use to turn my griddle into an oven of sorts, and saw hundreds of tiny maggots trying to escape the heat. did I throw it away? hell, no! I'm the guy who, when watching Into the Wild, screams at the screen "eat the maggots, stupid!"... I did cook it a little extra though. a little extra protein and fat never hurt anybody. [comment]


all right, why do I not have permission to delete the IP address I allocated? this is driving me fucking nuts. botocore.exceptions.ClientError: An error occurred (AuthFailure) when calling the ReleaseAddress operation: You do not have permission to access the specified resource. [comment]


it turns out, after much cursing and pulling hair, that Lambda functions only work well (can connect out to the Internet) on the private subnet of a public/private VPC pair, and EC2 instances can only be reached if placed on the public subnet. although, both the console and API happily accept the wrong setting, and in fact for the instances, the console always defaults to the private, i.e. nonfunctional, subnet setting. [comment]


looks like I beat that cold virus with just my usual probiotic treatment, lots of yogurt while avoiding sugar and taking it easy on alcohol for the duration. too early to say I'm cured for sure, but it's definitely better than it was 2 nights ago.

found two drinkable reds from the Valle de Guadalupe region in the USD3.00 range: F. Chauvenet and Puerto Nuevo, the famous lobster town south of Rosarito Beach. as long as I can make these bottles last me 3 days, it's even cheaper than buying Pacifico Ballenas every day. [comment]


my script that emailed me the London spot price of silver every day, failed a few weeks ago. so I hadn't noticed the precipitous drop until I checked today. it isn't necessarily manipulation, because the dollar is very strong and silver could just be lagging. but it's something to watch. I'm out of that game for a while, because my December options expired a little over 2 weeks ago and I haven't yet scored a bargain on July 2017 call options. [comment]


pretty sure I'm fighting off another cold. I felt the scratchy throat for a few hours the other day, and drank some yogurt and it went away. my post-nasal drip has been worse lately, so it's hard to tell what's going on. but late last night the throat again signaled a problem, so I drank some more of the yogurt.

3 days ago or so I ate about a half pound of cheese at a sitting, just because it was there, I was busy, and I was hungry. never again, I hope. that came out almost the diameter of bear shit. it was clay-like and mostly in one hard clump. on the plus side, if I get gulaged I already have a hint of what it feels like to be ass-raped, albeit from the other direction. [comment]


about to find out if my homemade biscuit mix also works for dumplings. didn't add any sugar. dumplings aren't supposed to be sweet. [comment]


after reading a half dozen or so labels at Ley the other day, I finally found a yogurt, Chilchota, that doesn't have a whole lot of crap in it. Mexican yogurts in general are full of various sugars and artificial sweeteners, but this one only claims to have regular sugar (sucrose) and "stabilizers" (whatever the heck those might be) besides milk and cultures. it doesn't claim to have active cultures, but luckily it did, as it successfully seeded my most recent liter batch.

I was gifted the rest of a piece of borrego regional, locally grown lamb, which turned out to be part of the neck. it was next to impossible to slice the meat off it, so I boiled it for over an hour. then after it cooled I could take the vertebrae apart piece by piece, and the meat almost fell off as I did so. the spinal cord was pretty gross, but I ate that too. [comment]


I got an answer on those strange markings found on outside walls and/or meter boxes throughout La Paz: it's not burglars scoping out the place. it's the mosquito abatement crew marking for their supervisors that they visited the place. I still don't know what all the letters and numbers mean though. [comment]


when you buy beef, at least half of what you're paying for is water... eye of round, almost 3/4 (PDF)! that's why this dehydrated machaca is such a good deal, in addition to not requiring refrigeration for days on end. I got a pricier brand, Choyera for MXN147/kilo (about USD3.24/pound) this time, but I think I actually liked the cheaper La Economica better. [comment]


the quality of AWS documentation goes from incomplete to misleading to downright wrong. [comment]


I'm guessing botocore.exceptions.ClientError: An error occurred (InvalidParameterValue) when calling the CreateRoute operation: route table rtb-9adde4fc and network gateway igw-07058f60 belong to different networks means I can't attach an Internet route to the default route table of a VPC because it's going to be a separate virtual network interface.

documentation isn't necessarily sparse, but it's spread out over many pages, and it's hard to find a step-by-step procedure to do anything using the AWS cli or boto3. so I end up adding one thing to the code; testing; getting errors with obscure or misleading error messages; Googling and analyzing; fixing, and going on to the next thing. each step can take literally hours. it's a really tough slog. [comment]


sorry, it was a bug in my code, I was passing an empty string for the InternetGatewayId parameter. [comment]


fun with boto3:


gives MissingParameter error, 2016-12-04 20:13:55,074 - root - ERROR - Could not detach gateway: An error occurred (MissingParameter) when calling the DetachInternetGateway operation: The request must contain the parameter internetGatewayId; however, specifying internetGatewayId gives Unknown parameter error. catch-22. maybe I can do it with Resources instead. [comment]


it turns out the biscuit mix I make is quite similar to this tortilla recipe. the biggest difference is that for tortillas you need to knead the dough for a few minutes, and you need to roll it out thin. I did that, except instead of rolling I just flattened it against the cold griddle, flour underneath and on top to keep from sticking, as best I could with the palm of my hand. then I put a gob of coconut oil on the pan and heated it up. while that was going on I took a single chile arból and ground it in my molcajete and added it to the last 100g or so of machaca I had; added water and heated the meat with coconut oil and set it off to the side.

then I cooked the two tortillas I had formed, and made two tacos with the meat mixture. they were delicious. 1 chile was just right; two would have been far too spicy for my taste.

finally one of my cooking experiments turned out well. [comment]


been making biscuits with machaca, dried shredded beef. I bought it on the 29th and it's still looking, smelling, and tasting good without refrigeration. and it adds good flavor, protein, and fat to the biscuits. now I just need to find out what spices will work with it; it still kind of tastes like dog food. [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-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!