Wednesday, January 31, 2018
The photo at right is a track that I made. I call it “NestedBubbles”. It's an example of the sort of recursive pattern that I built JSisyphus to be able to do. Such patterns are typically very difficult with graphical tools, but easy in software – once you have some sort of framework in place that allows it. That what JSisyphus does, and that track is the proof of the pudding...
As I've been developing this, I've been in communication with some of the folks at Sisyphus Industries (the makers of the Sisyphus table). They've offered some help, but much more encouragement, as they're hoping to build a community of Sisyphus table users. To that end, they've started a subreddit and asked me to contribute on it (which I have). In the meantime before they get their online community software going, I'm also hosting a repository for Sisyphus table “tracks”, again on GitHub.
This morning I had something quite satisfying happen: an email out of the blue from a programmer who heard about JSisyphus. He downloaded it and was having trouble making it work. I answered a few of his questions, and a little while later I got an email from him letting me know that he had succeeded! So just a couple of days after I let the world know about JSisyphus, it's already being used by someone. Very cool!
Great company and great food is a very difficult combination to beat...
It's remarkable to me just how well these cheap little things work. They only come on at night, when they're needed – and even then, they only come on when they sense motion. Generally they pick up my presence when I'm about 12 feet away, which is just about perfect for my needs. Once they come on, they stay on for 30 seconds or so after they last sense motion. That means if I hesitate in my walking or fumble for a key, the lights stay on.
Sunday, January 28, 2018
I spent hours tracking it down to the point where in one function I could add or subtract a line of code and the problem would disappear or reappear. The thing is, that line of code did essentially nothing – and even worse, adding it caused results before the added line of code to change. This makes no sense unless one of two things were true: (a) the compiler had a bug, or (b) I didn't really understand what I was looking at.
One of my golden rules of debugging is never assume you have a compiler bug, unless you have proved to yourself at least 15 different ways that it couldn't possibly be something else. I hadn't done that, so I kept plugging away.
The function I was having the oddball results in computes a transformed position – it applies an offset in Cartesian coordinates, and a rotation in polar coordinates. After some very careful observation, I noted that when it worked properly, the input angle was about 2E-15 ... very close to zero, but not quite. When it was working incorrectly, it was exactly zero. This function called another function that computes an angle from a delta x, delta y pair; that function looked like this:
Spot the problem? I didn't, at least not right away. It's in the last line of that function, with the call to Math.signum(). My intent there was to multiply pi by either 1 or -1 ... but Math.signum() can also return zero, if the input is exactly zero. Bingo! The fix was simple: I wrote my own “sign()” function that returns only
Presto! Problem gone.
And it was not a compiler bug. :)
Friday, January 26, 2018
We're still learning all the new features on our iPhone Xs. One of those is the wireless charging. I got two wireless chargers, and Debbie and I each have one on our nightstand. They work. I'm not sure how quickly they charge, but they do what we care about: put a phone with an empty battery on the charging stand at night, and in the morning when you wake up it's fully charged. I'm a little surprised just how convenient I find it. I used to fuss about every night searching for the end of the charging cable, often having to untangle it from other wires nearby. Probably one night out of five I'd forget it, and have a half-dead phone the next day. The little connector was fiddly; you had to align it just so before pushing it in, and it was easy to mistakenly slide the connector between the phone and the case. With the wireless charging, I just put the phone down on my nightstand and it gets charged. There's no careful alignment needed; setting it down pretty much anywhere on the charger works fine. It's a little thing, but quite nice...
I was a Kickstarter supporter of the Remarkable tablet. I got mine a couple of months ago, and I've been using it daily ever since. These folks got enough things right about this that for the very first time I have stopped using paper-and-pencil for anything. The “feel” of it is the most important part they got right. Unlike any other electronic device I've ever tried sketching on, this one really does feel much like paper, right down to the scratching of the “pencil” tip over the “paper”. It isn't perfect, but it's darned close, and close enough. A second thing they got right is simplicity. Using the table is not like using a drawing program, which is what every other device I've ever tried did. Instead, these folks made it work as much like paper as they could. You choose your drawing instrument (pencil, felt-tip, pen, etc.) and a few details (like the line width, angle of the pencil, etc.) and then you just use their stylus as though it was that instrument. That's it! You've got essentially an infinite number of pages to work with in the device's memory. The best part, for me at least, is I can send any sketch I want to keep to a file on my Mac. So, for instance, if I sketch out an electronic design I can zap it to my Mac and print it out. Very nice!
I'm a big sketcher, though I can't draw anything that anyone would ever recognize. :) In my recent work on the Sisyphus table software, I've made probably 100 or more sketches. Generally these have been geometry problems that I'm trying to figure out how to solve with trigonometry. It's much easier for me to understand the problem when I can visualize it, hence the sketches. I don't save any of these – I make the sketch, I write and debug the software, then I just delete the sketch. In the past when I worked on software like this, my desk would be surrounded by discarded, crumpled paper – something my workmates used to tease me about. Those days are now gone...
Wednesday, January 24, 2018
So to Google I went, and I found plenty of people complaining of the same thing. However, the first ten or so posts I read covered only the same settings that I'd already checked. Dang it! Finally I read a post that mentioned an “attention-aware” setting associated with the new face ID on the iPhone X. It suggested turning that feature off would raise the volume. But that made me wonder what the heck that feature was ... and after a bit more searching and reading I finally understood it. The iPhone X is knows if you're paying attention to it – and in that circumstance, it lowers the volume of the ringer and alerts. Debbie and I were both staring at our phones when we ran the test, so the phones knew it and lowered the volume. I put my phone in my pocket and had Debbie call me, and sure enough, the ringer volume was nice and loud.
That's a ... really nice feature, actually. There's no reason for a loud ringer if I'm already staring at the phone. We left the setting alone.
BTW, the face ID is so far working quickly and flawlessly for me. Debbie can't use it to get into my phone, and vice versa. When I pick up my phone, the face ID is so fast that I really don't even notice it – my phone “just works”. I'm used to typing in a 6-digit PIN every time I pick up my phone; that's going to take a while to get out of that habit. :)
The two photos below were taken from the same point, roughly 18" above my Sisyphus table. The left-hand photo was taken with the zoom set at 1x, the right-hand at 10x. Those lines that are so close together on the right-hand photo are roughly 0.4mm apart, about a 50th of an inch. These photos were both taken hand-held, so especially with the zoomed-in photo you can tell the optical stabilization was working great.
The three photos below were taken from the same point with 1x, 4x, and 10x zoom settings (left to right). With these, the graininess introduced by the digital zoom (the optical zoom is limited to 2x) is much more evident – but only if you embiggen the photo. They're still perfectly usable, and very nicely stabilized. I should note that these three photos were taken with quite low light; with more light they'd be sharper, of course.
Getting a “real” camera these days involves tradeoffs, and more than just cost. Compared with the convenience of my iPhone, and the fact that it is always at hand, the “real” camera means:
- I have an extra thing to carry (and remember)
- It's more difficult to use, meaning many quick, spontaneous photos simply wouldn't be taken
- The workflow for a camera is completely different (and more complex) than that of the iPhone
I've been a photographer since the late '60s, when I bought (first) a used TLR from the '40s, and then my beloved Minolta SRT-101. From then up to about five years ago, I owned a succession of improving cameras – both film and digital. I've spent many, many hours reading camera reviews, understanding the technology, and lusting for whatever the current leading edge in cameras was. But starting a few years ago – ironically, just as I was able to afford those leading edge cameras – I started to wonder whether I actually wanted one. Are they worth the extra cost, hassle, and complexity for those very few occasions when I wanted to take a photo that my camera simply couldn't do?
Now I look at the capability of the iPhone X, and consider that this continuous improvement doesn't seem likely to stop, and I conclude ... no, I don't want to buy a “real” camera. I think I'll stick with my always-with-me, ridiculously-easy-to-use iPhone camera – and smile every time they make an improvement...
Tuesday, January 23, 2018
Yesterday I got to know Heron's formula (to find the area of a triangle) far better than I've ever known it before. I can now tell you with great precision all the possible pitfalls of using Heron's formula in a computational scenario. I've also managed to use numbers large enough and small enough to challenge the ability of double floating point precision to represent them – and I can tell you about the limitations of Java's built-in trigonometric functions when the arguments are such numbers. Fun!
Sunday, January 21, 2018
I haven't mentioned something that is perhaps the most surprising aspect of these novels. “Robert Galbraith” is a nom de plume – the author's actual name is ... J. K. Rowling, of Harry Potter fame. You might be excused for immediately thinking that the Cormoran Strike novels are juvenile or young adult fare, but they are not – they are decidedly adult books. In fact, if you have kids I suspect you really wouldn't want them reading these.
Saturday, January 20, 2018
Anyone under 40 years old or so may not realize that there was a day when the U.S. government never did shut down. The first one happened in 1980. They've been coming with increasing frequency in the past few years, as the two political parties play their brinkmanship games. They're one of the more obvious symptoms of our broken polity, and every time I'm reminded of that (as this morning), I get to pondering about the tiny role that the ideals this country was founded on play in our current federal government. You'd need a powerful microscope to find an ideal anywhere within a mile of most senators or representatives. That's very sad, for me, at least, and that's from whence arise my blues this morning...
We woke up this morning to about 3" of wet, gloppy snow – and we've had another inch since. The snowfall appears to be petering out, so I'll likely be out plowing and shoveling shortly. Oh, joy. :)
Meanwhile, I've been working away on my Sisyphus table software, and I've made some nice progress. I've got the code in good enough shape now that I've published the GitHub repository for anyone who would like to use it. I've licensed it under the very permissive MIT license, so should any nut like to incorporate it in another project, they can. I've still got a lot more that I want to do with it, and no doubt many bugs remain, so that code will be changing. But anyone who can program and who wants to play with their Sisyphus table is welcome to take it out for a spin.
The photo at right shows my table after an “erase” is almost complete. If you look very closely at the track visible there, you'll see that it's actually a giant spiral, not a series of concentric circles as you might expect. The command to make that spiral is very simple:
That simple command tells the table to start at 0 radians, 0 distance from the middle, and draw a line to -628.xxx radians, 1.0 distance from the center. If you're not familiar with radians, I'll make it easy: that many radians is 100 complete circles (one circle equals 2 times pi radians). The "-" tells it to move the ball counter-clockwise. A distance of 1.0 from the center just means all the way to the outside edge. So, in English, that command tells the Sisyphus table to draw a spiral from the center to the outside edge, taking exactly 200 revolutions to do it.
Why did it trace a spiral, and not just a straight line? Because the Sisyphus table moves the ball using a polar mechanism, not a Cartesian mechanism that most people are familiar with (sometimes called an XY table). The Sisyphus table has an arm underneath it that can move a magnet (that moves the ball) closer to or further from the table's center, and that arm can be rotated all the way around the center. That lets the table put the ball anywhere it wants to, but moving the ball in a straight line is an unnatural act for it. It turns out that the “natural” movement for a polar mechanism is ... a spiral. More specifically, an arithmetic (or Archimedian) spiral – which is exactly the shape of the spiral on that erase.
I just added the ability for my software to draw circular arcs on the Sisyphus table. That motion is also an unnatural act for the table, so what I'm really doing is drawing a series of short spirals that differ infinitesimally from an actual circular arc. The photo at left, below, is the actual result of my first effort on the physical Sisyphus table. The image at right was generated by my software, emulating the physical table. This lets me troubleshoot the track generation before I go to the time and trouble of actually drawing it on the table. To make the trace at left took 9 minutes, 33 seconds. To make the image at right took 4 seconds. That's a considerable time savings when iterating during track development!
Friday, January 19, 2018
Google has apparently decided to stop indexing my blog – searching for posts that I know I've made shows no results. This is a bit surprising since this blog is hosted by Google's Blogger platform! I've no idea what rules Google uses when deciding what to index or not index, but I do have two standout suspicions. One possibility is that the web is getting so damn big (over 130 trillion pages as I write) that even Google can't keep it all indexed. If they could index a million pages per second (and I'm pretty sure they can't index anywhere nearly that fast), that would take over four years to index. The obvious strategy there is to index fast-changing sites more frequently, and that strategy used to be why blogs tended to be well-indexed. That strategy isn't good enough these days, so I don't know what they do anymore. The other possibility is that non-progressive voices are being systematically suppressed by blocking them from indices, including both Google's and Twitter's. There is some persuasive evidence of that from the more popular conservative or libertarian web sites. Possibly my site is being caught up in that. If that suppression is actually occurring, it's political meddling that I'm very sorry to see – but not particularly surprising, knowing the rather evident progressive leanings the leadership of most of our big technology companies...
One of my favorite things about owning a Tesla Model X is the way new features appear like magic, every time there's a software update for the car. Those updates don't happen on any particular interval, but the average seems to be about two a month. In one of the recent updates, the automatic windshield wiper feature was included. The car already had the sensor installed, but the software to make it work hadn't been finished. Now it is, and the automatic wipers work great! Unlike other automatic wipers I've used, so far I can't seem to predict when they're going to trigger. When enabled, they've always worked before I would have manually triggered them, so I'm very happy with the new functionality. Because I can't predict the triggering, though, I'm guessing that there's some AI (a neural network) involved, and it's using “rules” created by the training they did – and nobody has any clue how it works. That sort of thing doesn't bother me at all when used to control something as innocuous as windshield wipers. Controlling the steering and brakes is a whole 'nother beastie...
Thursday, January 18, 2018
I'm feeling much better than earlier this week, in fact, just about back to normal. I have no idea what evil virus had me under its spell, but it wasn't much fun. That got me to wondering how much of our body is actually other organisms (hopefully, just bacteria, fungi, and viruses). A little googling got me an answer:
The human body contains trillions of microorganisms — outnumbering human cells by 10 to 1. Because of their small size, however, microorganisms make up only about 1 to 3 percent of the body's mass (in a 200-pound adult, that’s 2 to 6 pounds of bacteria), but play a vital role in human health.I'm not sure I like that answer very much!
We had my brother Scott down for a visit yesterday. Debbie made us a spectacular fresh cod, brown rice, and asparagus dinner – with fresh-baked ricotta lemon cookies for dessert. Afterwards we all played the Mexican Train game, and (as usual) Debbie trounced us. That's her favorite game, I think because she can routinely beat me. :)
In between other things, I've been beavering away on my Sisyphus table software. I've been working on a version that uses a much more understandable mental model for drawing. I hope to have usable results from it in a day or two.
We just took delivery of two new cat trees. After unpacking them, we installed them in our sun room – and the cats were all over them immediately. Cat trees, unlimited food, and sun! Doesn't get much better for a cat! :)
Our forecast calls for snow tomorrow afternoon and evening, and below-freezing daytime temperatures for several days afterwards. Looks like I'll be plowing on Saturday morning. Later next week, there are warmer temperatures but significant chance for more snow. Winter may have actually arrived...
Monday, January 15, 2018
Colin had the replacement part for my Model X, and he did the work while I had it parked in front of our garage, in the sun. Most of the work involved tugging and yanking various plastic bits and carpets out of the way; there were only two screws he needed to remove. The part itself was much larger than I expected – the bit that broke off turned out to be just a small protuberance on a roughly foot-tall plastic bracket that was mostly hidden under the interior coverings. It doesn't look strong enough to be supporting a floor; I won't be a bit surprised should it break off again, and I don't think Colin will be surprised, either. Anyway, in under an hour from start-to-finish the car was fixed. No charge; apparently this is covered under either my warranty or my service agreement. That makes me happy, as I think this is pretty clearly a design deficiency.
Debbie purchased some fresh cod at Macey's on Saturday, and yesterday she baked it using a recipe she's made a couple times before. It was delicious! She also made brown rice and peas to go along with it, which all together made a simple, but really satisfying meal. It still blows me away that we can so easily get fresh fish up here – so much better than the grocery stores in the San Diego area...
Yesterday I felt a bit worse from whatever bug it is that I have. This morning I feel quite a bit better, thankfully. We took a drive up Blacksmith Fork Canyon, hoping to spot some moose. Didn't see any moose, but we saw lots of deer (very fat and healthy looking, they were) and a bazillion elk up at Hardware Ranch. Unfortunately we also passed two dead cats, hit by cars, on the way in. On the way home we stopped with our four-way flashers on, and Debbie carried the bodies off the road. Both of them were clearly pets; one had a collar and the other was very well-fed (read: rotund). That was sad. We see that all too often around here, as very few people keep their cats indoors...
Sunday, January 14, 2018
In a few hours the repair technician from Tesla should be here to fix my broke-ass Model X. Should be interesting to watch. I'm really curious how well-equipped (or not) their mobile techs are...
Saturday, January 13, 2018
Oh, noes! My Tesla is broken! Sob!
By inspection, it appeared that the broken part was a plastic bit that just snaps into the Telsa's frame. I took photos of it, and emailed it to our local (Salt Lake City) maintenance shop. That was on Friday morning. A few hours and a brief email conversation later, I had a Tesla technician scheduled to come by our house to replace the broken part. That technician will be here on Sunday (tomorrow!) around noon. I'm surprised they'd travel all the way out here to fix such a small problem, but I'm certainly happy about that. I'm even happier about the fast response!
Now I just wish that bracket was stronger. If a few bags of salt are enough to snap a bracket in the freakin' cargo area, that seems like a design issue to me...
Thursday, January 11, 2018
The good parts first: I feel much better today than yesterday, and that improvement started about noon yesterday. Whatever bug I have seems to be losing the battle to my immune system. Yay, immune system! I did get a couple of hours of good work in on my Sisyphus table software, which I'm finding peculiarly satisfying. I've always enjoyed writing software that makes things move in the physical world, and the Sisyphus table is a great example of such a thing. The best part of yesterday, though, was the evening: Debbie and I went out for dinner to Jack's (our favorite pizza place here). I had a bowl of cream of fire-roasted tomato soup for an appetizer, and it was heavenly – their soup chef is superb. We shared a “cordon bleu” pizza – one of Jack's patented weird-but-great pizzas. This one had roast chicken, ham, bacon, lots of veggies, a creamy white sauce, and lots of fresh mozzarella cheese. Wonderful! Then for dessert we split a piece of Jack's delicious lemon cake. The cake itself is mildly lemony, but the frosting is perfection: not too sweet, not too much, and as tartly lemony as you can get short of chomping the actual fruit. It's drizzled with a raspberry sauce, and accompanied by luscious raspberries and blueberries. A treat and a half! When we got home, we settled in to watch Ice Age 4, which I'm sure many of you would agree nicely matches our mental ages. We laughed 'till we hurt. :)
Now the not-so-good part: this year we purchased a separate health insurance policy for Debbie, as I'm on Medicare and my child bride is not. That means that this month we're going through all the pains of a policy transition. One of those pains involves a $3,100 per month (for 24 months) prescription drug to treat Debbie's osteoporosis. The hoops we have to jump through to get that prescription approved are formidable. When we first got it approved, it took several weeks and several dozen phone calls, plus some obnoxiously persistent behavior on our part and by her doctor. Then came the payment joys: her policy has an absurdly high deductible ($13,000 this year), so until we hit that it's all out of our pocket. The pharmacy has to collect that deductible, and of course they don't have good information about when the deductible has been met (the information from the insurance company is always out of date). Fortunately we have a great relationship with our local pharmacy, and they just trust us. However, with the new policy this year, our local pharmacy is not “in network” – and for this particular drug, only one pharmacy is in network: a mail-order pharmacy run by Walgreens. Those are the folks I was on the phone with yesterday, for three and a half hours in five separate calls. There were two major hiccups. The first involved (naturally) payment. They had no information from the insurance company at all (and they're the mandated partner!). That took three calls to straighten out. The second problem was that they had the dosage wrong – someone had made a typo and had entered "60 mcg" instead of "20 mcg". Now "mcg" is a microgram – one millionth of a gram, and a gram is one 454th of a pound. A microgram is a tiny amount of that drug. But that mistake (a) would have been three times what her doctor prescribed, and (b) would have cost $10,300 a month instead of $3,100. The really scary part? I'm the one who caught the error, when they were verifying the shipment contents to me. Fixing that took two more phone calls, one of which was 90 minutes long and had me being transferred to pharmacists, doctors, managers, and clerks. What a mess! I'm so tired of dealing with this incredibly inefficient bureaucracy! I want Amazon to get into the health care business (including pharmacies) and straighten this God-forsaken disaster out. The government has had enough attempts at it. Ask anyone who's dealt with the Veterans Administration how they like single-payer healthcare (assuming they survived, that is)...
While they were making this repair, our power was disconnected – for two and a half hours. This provided a great test of our backup systems, and I'm delighted to say that they all worked flawlessly. The backup generator for the house took 22 seconds to light off, and our solar panels were providing about 70% of the house power despite being slightly cloudy and with the sun low in the winter sky. The backup generator for the barn took 24 seconds to light off, and the continuous UPS that powers all the computer equipment in my office handled that outage without missing a single cycle. Our Internet connectivity was down for 87 seconds, mainly because the cable modem, routers, and switches had to reboot when the house generator kicked in. We've only discovered two issues caused by the outage: all the digital clocks (dang them!) reset, and the disk drives for our Plex server had to be manually powered back on. That latter problem may be fixable by a configuration on those drives. The former problem I'm afraid we're stuck with. Still, that's a pretty painless two-and-a-half hour power outage!
Wednesday, January 10, 2018
Another morning habit, one of long standing, is to take a gander at the major stock market indices, especially the S&P 500 and the NASDAQ-100. Until the past year or so, when those indices moved in the morning, I had at least a rough idea why, and I understood the logic. I could usually predict when such movement was likely to be short-lived or long-lived. Those days are completely gone. There's so much thrashing on topics of economic importance in the news that I can't possibly keep up with it all. One of Trump's tweets can move the markets by several percentage points, and damn near on a daily basis. If you apply, say, a 30 day running average, things look more predictable – but really, no more understandable to me. I'm delighted that the market is moving positive at a dizzying pace, but I can't claim to have any real understanding of why it is. The pundits all merrily pontificate, but their track record is so bad that I try very hard to ignore them. I'm sure the party will end one of these fine days, but I couldn't tell you if that will be later this morning, or in 2054...
Tuesday, January 9, 2018
In the mid-'90s, my work took me to South Africa for a couple of days. I didn't have time to do much while I was there, but I did get to take a day hike through the wilderness there. I saw these or their close relatives (slightly more orange than the photo), growing in profusion on a rock pile that didn't look like it would support a lichen...
Monday, January 8, 2018
Back in the bad old days before I retired, I worked for a long time in one of the “open” environments. I often listened to music while working there, usually with headphones. But early in the day, when I was the only one there, I'd turn on my speakers. Occasionally someone would wander in while I had them on, and I often got funny looks and comments from people overhearing it. Once, though - just once! - a fellow early worker (a woman from our technical writing group) came over just to hear what I was playing. That morning it happened to be Mozart's Requiem, a piece she wasn't familiar with, and she loved it!
I suspect this is more a reflection of the fact that my co-workers were mostly in their 20s and early 30s, and more into hip-hop and rap than classical music. Hopefully they will develop a taste for it as they get older, as I did...
Friday night until early Saturday morning, we had a dose (about 2") of wet, gloppy snow – and a thin layer of “black ice” all over our driveway. Saturday morning when I plowed it was quite entertaining – my tractor slipped and slid all over the place. Steering was a major challenge, and utterly depending on the fact that my tractor has four wheel drive. If those front tires weren't scrambling and scratching to turn the tractor, I don't think I could have turned it at all! Whenever I put the blade down, if I had more than a few pounds of pressure on it the tractor would simply stop, all four wheels spinning like mad. If more than a few inches of snow built up in front of the blade, the tractor would also come to a halt, again with wheels spinning. To get the snow off the driveway, I had to use inertia: I got a running start behind a snow pile, slammed into it, moved a few feet before the wheels started spinning, then backed up and did it all over again. Tedious, that was! But getting the snow off meant that the sunshine later in the day would melt the ice, which it did on the roughly half of our driveway that isn't shaded in the winter. The remainder is still ice-covered...
Yesterday evening we drove over to our northern neighbors (Tim and Jeannie D.) for a visit. Tim has been diagnosed with lymphatic cancer (there's a particular type, but I've forgotten what it's called), for which he had surgery last month and is now undergoing intensive (daily) radiation treatments. Jeannie recently (also last month) had a serious case of pneumonia that required surgical intervention, something I'd never even heard of before. From that description, you might think theirs would be a gloomy household – and you'd be very wrong. We had a jolly time with them last night. Debbie brought over some freshly baked lemon ricotta cookies (yummy, they are!), and we spent a happy hour or so in conversation with Tim and Jeannie, their three dogs, and their regal (and very fluffy) cat. Jeannie, to all appearances, has completely recovered. Tim is optimistic about his chances, but also ready for the bad news that he knows is always possible. There's no doubt that his devout religion helps him with this, but no matter what the reason his acceptance and optimism are inspiring. If such bad news ever befalls myself or Debbie, I hope we can handle it with such equanimity.
Earlier yesterday afternoon, Debbie and I finished watching (for the umpteenth time) one of our favorite series: the 1995 BBC production of Jane Austen's Pride and Prejudice. If you know me, then you know I'm not much of a movie fan. There are relatively few movies I can even sit through, and even fewer that don't regret spending the time on. The list of movies (or shows) that I can stand to watch repeatedly is very short indeed. This one is near the top of that list. I love reading Jane Austen's novels; most of them five or six times over now. Everything about this series is top-notch: it's reasonably faithful to the novel (though of course, of necessity, leaving much out). The casting is superb. The acting is uniformly good, and the leads are magnificent. The costumes and sets are wonderful. Even the music is beautifully done, quite unusual for a TV series. If you've never seen this production, carve out a few hours and do so. It's divided into six episodes, each roughly an hour long. We watched two episodes a night for three nights...
Friday, January 5, 2018
I've learned a lot about how to draw on this table, so now I'm tossing out all the “experimental” code I've written, and starting over in a way that will let me (easily, I hope) make new patterns. I'm open-sourcing this project under a permissive license, which means that anyone else will be able to use it as well.
A reader emailed me to find out where I got it – it was made by Sisyphus Industries, but they're not selling them yet. I got it through the Kickstarter project that started the ball rolling (literally!) for them. I believe they're still manufacturing all the orders they got through the Kickstarter, and then after that they'll be taking new orders.
For quite a while this made no difference to me. We have two large stacks of firewood, one of hardwood and one of softwood. Until this week, I'd been picking the smaller pieces out of those stacks and making out just fine. I was helped in this process by the fact that my little wood stove doesn't consume very much wood – just three or four logs will last all day long. But earlier this week, I ran out of the little logs. Yikes!
My first thought was to take the old-fashioned approach: shorten the logs with a chainsaw, then break out either the axe or the hydraulic log-splitter (I have an attachment for my tractor). Both of those are more work than I really wanted to put into it, but I like being warm ... so a few days ago I was ready to go to it.
And then I had a brainstorm.
I have a bandsaw with an 18" throat. That means I could cut up any log under 18" in diameter – that would be all but a very few of the logs I have. So I tried it – and it worked amazingly well! In no time at all, with very little work, I had a nice pile of logs perfectly sized for my little stove.
My bandsaw is my new best friend! :)
Wednesday, January 3, 2018
First up was the moose: a young bull, sans antlers (they shed them each winter) but we could see the scars. He was on a little ridge about 75 yards from our car, browsing on some tasty willow, and he paid us no mind at all. That's the first moose of the season for us, and started our trip off right. Debbie spotted this guy through a large juniper. Sometimes I think she has some form of ESP – I couldn't pick it out even with her help until we moved the car so we could see it from another angle. Debbie spotted it while the car was moving, looking backwards. I have no idea how she does this! She probably thinks the same thing about me with birds and flowers – I usually spot those long before she does. We make a good team! :)
Then on the way to Hardware Ranch we saw several deer, mostly high above us on the sunlit southern slopes where the snow had melted and the sun was warming them up. When we got to Hardware Ranch itself, there were (as expected) a bazillion elk in the enclosure – but not a single other person. We had the place completely to ourselves, as opposed to the scene this weekend where there were a hundred or so carloads of people waiting to get horse-drawn wagon rides out to see the elk.
The capper, though, was a great sighting of an almost two-year-old bald eagle. We had five minutes or so of seeing him, both perched and in flight. We know its age because of its coloring; the young ones have distinctive brown flecking in their not-quite-white head...
Tuesday, January 2, 2018
Yesterday Debbie and I went up to Angie's to get our late breakfast. Debbie had country fried steak and eggs, and I had the special: a 16 ounce ham steak and eggs, with hash browns and rye toast. Debbie ate nearly all of hers, but I just barely got through half of that enormous (and delicious!) ham steak. The two girls who served us were both friendly and helpful, a pattern there that is part of the reason we like the place so much.
I've mostly been working on bills and catching up with our health insurance (both of us were forced into new plans this year because of insurance products being dropped, because they lost a lot of money in the Obamacare exchanges). I have over 300 pages of insurance-related paper that I'm plowing through, trying to figure out what is what, and (especially) what I have to do or pay in order to maintain our insurance. It's absolutely crazy how complex this is; it's getting to the point where it rivals income tax in complexity - only I have no software to help me with that, as I do with my income tax. I'm a bit tired of this insurance crapola ... and I'm damned tired of paying the absurd premiums that we do in return for the even more absurdly limited benefits...