My latest Sisyphus table track ... this one mainly in order to demonstrate Bézier curves. I called it “Swoopy Radiance” :)
Friday, February 2, 2018
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!