Monday, February 5, 2018
Things that make me feel old, part 8,382,650...
Things that make me feel old, part 8,382,650... I read this morning that Paul Simon is retiring from touring – and that he's 76 years old. Holy senior citizen's discount!
Sunday, February 4, 2018
Saturday, February 3, 2018
Quilts and little old ladies...
Quilts and little old ladies... A couple years ago, at a craft fair in Logan, we ran into a little old lady named Marlene who made quilts. She's a petite gal, and if I were to guess her age I'd say 70 or 75. Her quilts are real works of art – beautiful fabrics, classic patterns, and hand stitching so precise you'd likely guess it was made on a machine. Her prices are quite reasonable, especially when compared with, say, an Amish quilt from Pennsylvania. And the quality of her work is even better than the Amish quilts we've seen.
About three months ago, we bought another quilt from Marlene, and this time we ran down to her place (in Roy, Utah, about an hour away) to pick it up. She runs her quilt business out of her own house. In conversation we discovered that she has 10 children – and 37 grandchildren! Her 7 daughters all occasionally help her with the quilts, but these days they're so busy with their own families that mostly she does the quilting on her own. She also told us that she was trying to use up her inventory of fabric, as she really didn't expect to be doing the quilting much longer – age is starting to limit her abilities.
Well, on our drive home that day, Debbie and I made up our minds to buy two more of her quilts for our bed. We love them, and she's willing to make them oversized for us (to cover our pillows completely, along with our thick mattress and box spring). We have no idea where we can get the equivalent, at any price – let alone at her prices.
So we ordered two more, for a total of four – we've got the seasons covered. :) Today we drove down to pick up those two; she'd called Debbie this morning to let her know they were done. This time we had a bit more conversation with her, and learned that she grew up on a wheat and potato farm near Burley, Idaho. That makes her the third person I've met who hailed from that little farm town – all LDS (Mormon), all good people, all hard workers. There's something in the water there, I think. Something good.
One of these days when I have my wits all together, I'll post some photos of these gorgeous quilts...
About three months ago, we bought another quilt from Marlene, and this time we ran down to her place (in Roy, Utah, about an hour away) to pick it up. She runs her quilt business out of her own house. In conversation we discovered that she has 10 children – and 37 grandchildren! Her 7 daughters all occasionally help her with the quilts, but these days they're so busy with their own families that mostly she does the quilting on her own. She also told us that she was trying to use up her inventory of fabric, as she really didn't expect to be doing the quilting much longer – age is starting to limit her abilities.
Well, on our drive home that day, Debbie and I made up our minds to buy two more of her quilts for our bed. We love them, and she's willing to make them oversized for us (to cover our pillows completely, along with our thick mattress and box spring). We have no idea where we can get the equivalent, at any price – let alone at her prices.
So we ordered two more, for a total of four – we've got the seasons covered. :) Today we drove down to pick up those two; she'd called Debbie this morning to let her know they were done. This time we had a bit more conversation with her, and learned that she grew up on a wheat and potato farm near Burley, Idaho. That makes her the third person I've met who hailed from that little farm town – all LDS (Mormon), all good people, all hard workers. There's something in the water there, I think. Something good.
One of these days when I have my wits all together, I'll post some photos of these gorgeous quilts...
Big-eye tuna poke...
Big-eye tuna poke... We went to our local grocery store (Macey's) yesterday, and to our delight they had just gotten in some more big-eye tuna. Their seafood manager told us it was “spectacular” – and he was right. We bought a pound-and-a-half of it, and Debbie made her (also spectacular!) poke with it. She served it over brown rice, as usual. This is quickly becoming one of our favorite meals! We were seriously stuffed when we got done. :)
Afterwards, as I mentioned in an earlier post, we watched Groundhog Day. This was our first time watching it from Blu-Ray, a substantial improvement from the DVD – a much crisper picture and crystal-clear audio. We enjoyed it just as much this time as on our previous viewings (probably six or seven over the years)...
Afterwards, as I mentioned in an earlier post, we watched Groundhog Day. This was our first time watching it from Blu-Ray, a substantial improvement from the DVD – a much crisper picture and crystal-clear audio. We enjoyed it just as much this time as on our previous viewings (probably six or seven over the years)...
Friday, February 2, 2018
My latest Sisyphus table track...
My latest Sisyphus table track ... this one mainly in order to demonstrate Bézier curves. I called it “Swoopy Radiance” :)
Happy groundhog day!
Happy groundhog day! Only out here, they'd call it “rock chuck” day, for that's the common name of this marmot if you live here. They have no idea what a groundhog is. :) We're going to watch the movie (which we both love) again tonight – a newish tradition for us.
We had such a lovely day yesterday. For me it started with a good night's sleep, something that is an increasingly unusual (and therefore more cherished) experience these days. Astonishingly that was repeated last night. Two in a row ... I can't even remember when that last happened. Of course these days remembering even my name is starting to be a challenge...
I spent yesterday morning finishing up a major enhancement to my JSisyphus software: I added the ability to draw Bézier curves. I'd used Bézier curves many times before, in drawing programs such as Photoshop or GIMP. They'd always seemed kind of magical to me, and I had no idea how they were implemented. So I read up a bit on it earlier this week, and quickly ran into yet another concept I'd never seen before: parametric equations. This is a standard pattern in my programming experience ... in order to do something new to me, I have to learn something new to me. That's what I call fun! And this time, the outcome was surprising to me, as it turns out that parametric equations are actually a rather simple idea, and that Bézier curves are actually really simple to implement. My code for the Bézier curves is about half Java's verbose boilerplate and about half “meat” – and yet the total is only a screenful of code. The hardest bit turned out to be ensuring that I generated enough points over the line, as the rate of change varies over the whole line. In any case, it was easy, and the code worked on the second try (the first try failed because I made a mistake in transcribing the basic equation).
Shortly after I posted the Bézier curve changes, I got an email from someone who had downloaded JSisyphus and was trying to make it work. This fellow was a C++ programmer using Visual Studio, so his issues were really all about getting a Java IDE installed and learning a bit of Java. In under an hour, he had it going – my first JSisyphus user, I think! Later in the day I discovered that someone else had cloned it, too. Cool beans!
Around noon yesterday Debbie and I took off for Salt Lake City with plans for a purely fun afternoon with two stops: the Red Iguana, then Caputo's market for some cheese and chocolate shopping. The Red Iguana had two specials: a baby back pork rib in mango mole sauce, and seafood fajitas. Both sounded wonderful; Debbie ordered the ribs (first photo below – Debbie started eating before I could snap the pic!) and I got the fajitas (second photo). Both were just ridiculously good in every detail, as is our common experience there. Debbie took one bite of her ribs and decided that she didn't want to share (as had been our plan). After a bite of my fajitas, I didn't care! :) As always, I'm amazed at the attention to the little details there. The chips and salsa were fantastic, and the iced tea perfect (as always). My fajita vegetables were cooked to the perfect point, sort of al dente, and they must have put the seafood in toward the end of the cooking, as it wasn't overcooked as seafood in fajitas so often is. The salsa fresca and guacamole were heavenly.. Debbie couldn't manage to eat all of hers, so I got to taste the ribs, and I polished off her black beans. Awesome, both of them, even after I was stuffed full of my meal. And of course we had dessert to finish up. I'm not sure how we did it, but we both managed to eat an entire flan (regular for me, chocolate for Debbie) smothered with caramel sauce, whipped cream, and a half-cup or so of sliced fresh ripe strawberries. Oh, my!
Then it was on to Caputo's, which is but a short drive away from Red Iguana. There we got ourselves several nice cheeses (they let us taste them all before we bought), some sandwich ham for me, some pasta, and two varieties of chocolates: chocolate-covered candied orange slices for me, and chocolate-covered figs for Debbie. Both are outstanding!
We had such a lovely day yesterday. For me it started with a good night's sleep, something that is an increasingly unusual (and therefore more cherished) experience these days. Astonishingly that was repeated last night. Two in a row ... I can't even remember when that last happened. Of course these days remembering even my name is starting to be a challenge...
I spent yesterday morning finishing up a major enhancement to my JSisyphus software: I added the ability to draw Bézier curves. I'd used Bézier curves many times before, in drawing programs such as Photoshop or GIMP. They'd always seemed kind of magical to me, and I had no idea how they were implemented. So I read up a bit on it earlier this week, and quickly ran into yet another concept I'd never seen before: parametric equations. This is a standard pattern in my programming experience ... in order to do something new to me, I have to learn something new to me. That's what I call fun! And this time, the outcome was surprising to me, as it turns out that parametric equations are actually a rather simple idea, and that Bézier curves are actually really simple to implement. My code for the Bézier curves is about half Java's verbose boilerplate and about half “meat” – and yet the total is only a screenful of code. The hardest bit turned out to be ensuring that I generated enough points over the line, as the rate of change varies over the whole line. In any case, it was easy, and the code worked on the second try (the first try failed because I made a mistake in transcribing the basic equation).
Shortly after I posted the Bézier curve changes, I got an email from someone who had downloaded JSisyphus and was trying to make it work. This fellow was a C++ programmer using Visual Studio, so his issues were really all about getting a Java IDE installed and learning a bit of Java. In under an hour, he had it going – my first JSisyphus user, I think! Later in the day I discovered that someone else had cloned it, too. Cool beans!
Around noon yesterday Debbie and I took off for Salt Lake City with plans for a purely fun afternoon with two stops: the Red Iguana, then Caputo's market for some cheese and chocolate shopping. The Red Iguana had two specials: a baby back pork rib in mango mole sauce, and seafood fajitas. Both sounded wonderful; Debbie ordered the ribs (first photo below – Debbie started eating before I could snap the pic!) and I got the fajitas (second photo). Both were just ridiculously good in every detail, as is our common experience there. Debbie took one bite of her ribs and decided that she didn't want to share (as had been our plan). After a bite of my fajitas, I didn't care! :) As always, I'm amazed at the attention to the little details there. The chips and salsa were fantastic, and the iced tea perfect (as always). My fajita vegetables were cooked to the perfect point, sort of al dente, and they must have put the seafood in toward the end of the cooking, as it wasn't overcooked as seafood in fajitas so often is. The salsa fresca and guacamole were heavenly.. Debbie couldn't manage to eat all of hers, so I got to taste the ribs, and I polished off her black beans. Awesome, both of them, even after I was stuffed full of my meal. And of course we had dessert to finish up. I'm not sure how we did it, but we both managed to eat an entire flan (regular for me, chocolate for Debbie) smothered with caramel sauce, whipped cream, and a half-cup or so of sliced fresh ripe strawberries. Oh, my!
Then it was on to Caputo's, which is but a short drive away from Red Iguana. There we got ourselves several nice cheeses (they let us taste them all before we bought), some sandwich ham for me, some pasta, and two varieties of chocolates: chocolate-covered candied orange slices for me, and chocolate-covered figs for Debbie. Both are outstanding!
Wednesday, January 31, 2018
Sisyphus table software...
Sisyphus table software... I've beaten this stuff into good enough shape that I've released it for public consumption. I'm calling it “JSisyphus”, following the common Java practice of stuffing a “J” in front of the descriptive name to imply that it's written in Java. It's in a public repository on GitHub, and licensed with the very permissive MIT license. If you're a Java-head, and you have a Sisyphus table, go take a look!
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!
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!
A very nice lunch with our friends...
A very nice lunch with our friends ... Michelle, Lizzy, and Lily (Lizzy's three month old baby). We had the pleasure of introducing them to one of our favorite spots: Jack's Wood-Fired Oven. They had been there once previously, but only for dessert. Yesterday we all had pizza and soup, and then dessert as well. The soup was one of my favorites there: cream of fire-roasted tomato. The personal-sized pizzas we chose were all excellent. When it came to dessert, they were out of our favorite (their lemon cake with raspberries) – so we tried three other desserts and shared them. One of them, a chocolate layer cake, was made by the same bakery that makes the lemon cake, and it was really good – smooth, moist, and drenched with intense chocolate flavor. The other two – an Italian pineapple cream confection, and vanilla creme brulee – were made in-house. Our delightful waitress strongly recommended the pineapple cream dish, so I ordered that (photo above). The creme brulee I didn't try, as Lizzy was shoveling it into her mouth as fast as she could; I thought sampling it might be dangerous. :) The pineapple dish was spectacular. Our waitress has excellent taste! Lizzy pronounced the creme brulee the equal of any she's had, and it looked nearly identical to our gold standard: the Gastognome's creme brulee.
Great company and great food is a very difficult combination to beat...
Great company and great food is a very difficult combination to beat...
Product recommendation...
Product recommendation... I put six of these little battery-powered lights up in my barn last year. It's usually before sunrise when I come out to my barn office in the mornings, and these little lights come on automatically to light my path through the storage area of my barn's second floor, between the stair landing and my office door. Despite being used almost every morning, they're still on their first set of batteries (three AAA cells each). This week I bought another set of six ($20 for the set), and I put one up on the outside of my barn door. That's what you see in the photo, lighting up my lock so I can see to put the key in. These lights make no claim about being suitable for outdoor use, so this is a bit of an experiment. At just over $3 a light, I'm not risking much. :)
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.
Highly recommended!
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.
Highly recommended!
No blue moon for us...
No blue moon for us... We've got thick cloud cover, solid, horizon-to-horizon. Not even a hole to peek through. It's very light, though, considering that cover – the moon above the clouds must be very bright indeed...
Sunday, January 28, 2018
A squished bug...
A squished bug... Of the software variety, that is. My Sisyphus table software had a bug in it that was driving me crazy. At apparently random times while the software was running, it would generate insane tracks for the table. I call them “insane” because they didn't resemble in any way what my software commands told it to do.
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+1 or -1 and changed the function as below:
Presto! Problem gone.
And it was not a compiler bug. :)
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
Bananas, wireless charging, and plastic paper...
Bananas, wireless charging, and plastic paper... Feeding banana slices to our five dogs is one of my daily joys. We've been doing this long enough now that the dogs have integrated it into their notion of what a day is “supposed” to be. They even know the particulars: the “proper” time to receive their daily banana slices is while my tea is steeping. They watch for this, and when the see the right cues they start getting excited. One or two of them will usually go sit by the island where we stash the bananas, and stare fixedly at them, occasionally glancing at me to see if I'm paying attention. If I should do something wrong, like, say, sitting down to drink my tea without having dispensed the bananas, they'll be all over me with the sad looks, the touches for attention, etc. Very effective, they are! :) When I finally (from their perspective) walk over and pick up two bananas, then they really get excited! They'll surround me while I'm at the sink peeling the bananas, always in the same relative positions. Cabo will be behind me, grabbing at my belt; Mako and Miki to my left, Race and Ipo to my right. Then I take the peeled bananas over to the biggest section of clear floor in our kitchen, which (so far as the dogs are concerned) is The Place of Banana Dispersal. There I stand with my back to a cabinet, and the dogs array themselves before me in a semicircle – again, always with each dog in a particular place. Then I cut slices, a quarter inch or so thick, and toss them out in sequence to the arrayed canines. The way they react, you'd think I was tossing out chunks of steak!
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...
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
Newbie mistake...
Newbie mistake... Yesterday afternoon, after transferring our old phone information to our new iPhone Xs, we did a few tests. One of them was to call each other, to make sure the phones were working. As we did this, we were both holding our phones, standing right next to each other. I called Debbie, and the ringer volume was really low – even though we had it cranked all the way up. She called me, and we got the same result. I spent a good fifteen minutes cruising through the settings, thinking there must be some new setting that for some reason defaulted to a low ringer volume. Couldn't find a darned thing.
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. :)
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. :)
Buying a “real” camera is starting to look silly...
Buying a “real” camera is starting to look silly... Debbie and I just got our new iPhone Xs. I spent a few minutes this morning playing with the camera on mine. The iPhone Xs are replacing our old iPhone 6+s, and there has been considerable improvement in the camera over that time. We thought the cameras were great on the iPhone 6+, but the iPhone X just blows that away.
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'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...
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
Trigonometry...
Trigonometry... Lots of trigonometry! The past week or so I've been heads-down on making my Sisyphus table software work better, and to add some more drawing primitives to it. I keep running into issues that can best be solved with trigonometry: laws of sines, laws of cosines, Heron's formula, etc. At the same time, I keep running into interesting corner cases involving trigonometry, which often requires me to solve the same problem either two or four time, to handle all the possible variations of the problem as it is rotated through 360°. I haven't done this much trigonometry since high school!
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!
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
Like a good British detective story?
Like a good British detective story? I do, as does Debbie. Between the two of us, we've probably read some or all of the oeuvre of every British detective story author of the past 150 years. I have a new favorite, though. I've just finished the second of Robert Galbraith's “Cormoran Strike” series. I'm about to start the third. The first two were simply wonderful. They don't suffer from any of the usual deficiencies in character development, plot continuity, or implausible dialog that plague most works in that genre. These are detective stories that can legitimately be called literature, and the first two had me riveted from the first page.
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.
Highly recommended!
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.
Highly recommended!
Saturday, January 20, 2018
I've got the government shutdown blues...
I've got the government shutdown blues... No, not really. :) If I don't look too hard at the details, I kind of like the idea of the government being shut down – because it means they're spending less money. Not no money, because the government's idea of “shutdown” is more like “slow down by 3%” than anything a normal person would call shutdown. But hey, wasting 3% less of my money is better than not doing so!
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...
The past few days I've been hugely enjoying the fruits of Debbie's last baking spree: the most wonderful lemon ricotta cookies (at right). This batch we're actually keeping, instead of giving them away. There are a dozen or so left in our freezer. I'm having two each morning with my tea, so they'll last for a while. The ricotta makes the cookies moist and soft, while still having a pleasing body. They are lemony throughout, but there's a dollop of lemon frosting (the off-white stuff) on top of each cookie, and a sprinkle of yellow sugar crystals. The sweetness is perfect for me: just enough to offset the tang of the lemon, without overpowering it. They are so good!
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!
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...
The past few days I've been hugely enjoying the fruits of Debbie's last baking spree: the most wonderful lemon ricotta cookies (at right). This batch we're actually keeping, instead of giving them away. There are a dozen or so left in our freezer. I'm having two each morning with my tea, so they'll last for a while. The ricotta makes the cookies moist and soft, while still having a pleasing body. They are lemony throughout, but there's a dollop of lemon frosting (the off-white stuff) on top of each cookie, and a sprinkle of yellow sugar crystals. The sweetness is perfect for me: just enough to offset the tang of the lemon, without overpowering it. They are so good!
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.
0.0 0.0
-628.3185307179587 1.0That 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
Of search fails, wipers, socks, and snow...
Of search fails, wipers, socks, and snow... How on earth shall I tie all those notions together? The easy way, of course – by not!
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...
I know I've written about my Wigwam socks before, but searching for that post gives no results. I've been very pleased with these. I bought my first few pairs three and a half years ago, and then more a year and a half ago – and I have yet to wear a hole in a single pair of them, nor has the elastic lost any of its sproinginess. At this point I'm certain the extra cost was more than made up for by their longevity – without even considering the extra comfort and warmth they provide. Highly recommended!
We are to be slammed with rain and snow today, if we're to believe the weatherman. The current radar image (at left, click to embiggen) lends him some credibility. During the day it should be well above freezing, so it will be rain and hopefully it won't freeze on the ground to make a sheet of ice. This afternoon and tonight, though, our temperatures will dip below freezing, and that rain will turn into snow. Oddly, the forecast doesn't include an actual amount of snow, so I'm not sure how much we're likely to have on the ground tomorrow morning. Almost certainly it will be enough that I need to break out the snowplow again...
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...
I know I've written about my Wigwam socks before, but searching for that post gives no results. I've been very pleased with these. I bought my first few pairs three and a half years ago, and then more a year and a half ago – and I have yet to wear a hole in a single pair of them, nor has the elastic lost any of its sproinginess. At this point I'm certain the extra cost was more than made up for by their longevity – without even considering the extra comfort and warmth they provide. Highly recommended!
We are to be slammed with rain and snow today, if we're to believe the weatherman. The current radar image (at left, click to embiggen) lends him some credibility. During the day it should be well above freezing, so it will be rain and hopefully it won't freeze on the ground to make a sheet of ice. This afternoon and tonight, though, our temperatures will dip below freezing, and that rain will turn into snow. Oddly, the forecast doesn't include an actual amount of snow, so I'm not sure how much we're likely to have on the ground tomorrow morning. Almost certainly it will be enough that I need to break out the snowplow again...
Thursday, January 18, 2018
Well, I blinked...
Well, I blinked ... and three days went by without a post. I'm all astonishment!
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:
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...
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
Fixed Teslas and delicious cod...
Fixed Teslas and delicious cod... Well, yesterday our Tesla repairman showed up, and within a few minutes of the promised noon appointment, too. This fellow's name was Colin, and he had a companion: his dog, Anya (a Belgian Malinois, colored much like the one at right). Both Colin and Anya were about as friendly and pleasant as one could imagine. She's an 18 month old female, and at first she was sitting in Colin's truck. Our three puppies spotted her from our back yard, and were whimpering to see her. I told Colin that Anya was more than welcome to join our puppies, and seconds later the four of them were running around our backyard like mad, having a grand old time. Anya was doing “puppy bows” to initiate play, which Colin said she rarely did. That was a treat for both of them.
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...
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...
Subscribe to:
Posts (Atom)
















