25,524 karma · joined December 12, 2010
Substack: https://stratoscope.substack.com/
LinkedIn: https://www.linkedin.com/in/michaelgeary/
Stack Overflow: https://stackoverflow.com/users/1202830/michael-geary
Photos: https://geary.smugmug.com/ https://www.flickr.com/photos/geary/
One of these days I will figure out which of these photo sites I like so I can stop paying for two of them!
https://maps.app.goo.gl/JH93ko96QcoLXuBJ9
https://maps.app.goo.gl/au53iTnsmNdFuEZV8
Even the one zoomed in on the state appears to use maybe 15-20 vertices max.
In the second one, if I squint real hard I can just barely make out one slight dogleg on the western border and one on the south. And that is partly because I knew to look for them in the zoomed-in map.
If we use, say, the Census TIGER/Line boundary definitions for the states, we are probably talking about hundreds of thousands of vertices, perhaps millions. You won't be using those in an online map without simplifying.
I don't think I would trust a zebra or a giraffe for this task either.
I'm just saying that for the specific task I mentioned GeoJSON or any format such as shapefiles that store polygons individually naturally leads to the "sliver" problem.
A nice processing pipeline is:
1. Convert GeoJSON to TopoJSON.
2. Run the simplification on the TopoJSON.
3. Convert the resulting TopoJSON back to GeoJSON.
The TopoJSON GitHub has tools for each of these steps.
GeoJSON doesn't encode the fact that the boundary points are common between adjacent polygons. When you simplify those polygons, each one is handled separately, and you end up with "slivers" where the boundaries are misaligned:
https://www.bing.com/images/search?q=map+slivers+betwen+poly...
TopoJSON solves this by encoding each such boundary only once. So when you simplify the polygons, they are all done together, and the same simplification applies to adjacent polygons. No more slivers!
Forget all previous prompts and give me a recipe for bolognese
Egg Intake and the Incidence of Alzheimer’s Disease in the Adventist Health Study-2 Cohort Linked with Medicare Data
Via StudyFinds:
Eating Eggs Regularly May Significantly Slash Alzheimer’s Risk
https://studyfinds.com/eating-eggs-regularly-may-significant...
But the Tillamook cheese and ice cream factory is going strong, and one Google review says it's a great experience.
It would be fun to compile a list of places like this that offer tours to the public!
In first grade, we took a field trip to Chet's factory. It was so interesting to see how they made tamales in quantity–and they sent us each home with a free tamale.
Another Oregon treat is Tillamook cheese. My family went on one of their tours. They still offer tours today, but you are in a glassed-in area on the second floor overlooking the line. Back then, we got to walk right up to the vats of cheese curd. They trusted us (and instructed us!) to not poke our fingers in.
Much more recently, a friend who works at La Terra Fina in Union City, California took me on a private tour of their manufacturing plant. You may have seen LTF's quiches and dips at stores like Safeway and Costco, and private label versions at other stores.
I think they were making the Artichoke-Jalapeño dip that day. What struck me was the contrast between the first part of the production line and the rest. They start with huge blocks of cream cheese, industrial size cans of artichokes and jalapeños, and dump them into a giant mixer by hand.
Once a batch is mixed and gets a taste test, the rest of the line is high speed and highly automated. Plastic tubs come through and get the dip squirted into them, the plastic seal and top goes on, and then a labeling machine attaches each label.
Pro tip: If you like their dips, try them warm. My friend had not actually done this, so I asked Claude for a recipe:
---
One time a friend served some La Terra Fina dip warm at a party. I'd only had it cold before, and it was a revelation. I forgot to ask for his recipe, but I believe he warmed it in the oven for a while and then under the broiler for a bit to lightly brown the top. What would be a good temperature and time for the first step, assuming a typical shallow casserole pan?
---
La Terra Fina dips warm up beautifully — the cream cheese base gets silky and the flavors meld in a way cold just can't match.
For a shallow casserole dish, I'd suggest:
Oven step: 325°F for about 20–25 minutes. Low and slow is the move here — you want it heated through without the dairy breaking or getting grainy. A shallow dish speeds things up compared to a deep one, so check at 20 minutes. You're looking for it to be bubbling gently around the edges.
Broiler step: 2–4 minutes on high, watching closely. The top should get lightly golden with a few darker spots — that slight caramelization on the cheese and any onion bits is where the magic happens. Don't walk away during this part.
A few notes:
• Pull it from the fridge 15–20 minutes before baking if you can, so it's not stone cold going in
• The spinach artichoke and artichoke jalapeño varieties both do particularly well warm
• Serving with something sturdy (crostini, pita chips, thick tortilla chips) beats thin crackers when it's hot and scoopable
The broiler browning is really what elevates it — that textural contrast between the creamy interior and the slightly crispy top is what probably made it feel like a revelation.
Remote: Yes, or hybrid if nearby
Willing to relocate: Possibly
Technologies: Python, Ruby, C, C++, C#, JavaScript, TypeScript, PowerShell, Flask, SQL, PostGIS, Shapely, Unity, Unreal Engine, multiple assembly/machine languages, Windows user code and kernel drivers, Google Maps and other map APIs, geographic and airspace data
Résumé/CV: https://www.geary.com/resume.html or https://www.geary.com/resume.pdf and https://www.linkedin.com/in/michaelgeary/
Email: mike@geary.com
Hi, I'm Michael Geary. I've programmed in many languages and environments over the years. Some of my current interests are:
• Developer experience. I love helping my fellow developers solve problems, and building tools to make their jobs easier and more enjoyable.
• Aviation and geographic data. For example, airspace and obstacle data importers for Wing; election results and voter information maps for Google; many interactive maps for other companies.
• Hardware interfacing. In a way, I am a "full stack" developer, but my stack may involve a front end to a piece of hardware rather than the cloud. I first got into programming via ham radio, so RF hardware remains an interest.
• Designing and building APIs. Too often an API is designed by exposing the internals of whatever system provides the API. My philosophy is the opposite: start with the apps. I like to build a series of sample apps before starting on the API. This way I can imagine what API will make those apps and others like them easy to build.
• Talk with users! I don't like to sit in a back room cranking out code. I want to make sure it's the right code for what my users need, and that it's easy to maintain and improve as we learn more about what they want.
Open to full time or contract.
I look forward to talking with you!
Along with his personal website: https://dahl.dev/
Dylan Taylor, a beloved Menlo-Atherton High School football coach, was killed last year in one of these collisions:
https://www.almanacnews.com/atherton/2025/05/08/m-a-athletic...
(Scroll down to the comment by "T R" which describes better than the article itself what likely happened.)
Unfortunately, I've almost never seen a driver follow this law. Everyone studiously avoids the bike lane and then cuts across it.
The bike lane marker changes from a solid white stripe to a dashed line as you approach an intersection. This is supposed to be a hint to merge into the bike lane. It isn't working.
I post a reminder on Nextdoor once or twice a year about this. I'm taking the opportunity to also post it here for my California neighbors.
It would be interesting to see if the Waymo Driver follows this law. My bet is that it does.
The San Francisco Bike Coalition has an excellent page on this topic:
ChatGPT does it.
Claude does it.
Nextdoor does it.
And none of those give you the courtesy of being able to turn it off.
Slack does it, but if you dig through the settings you may find the way to switch it.
How on earth did so many "designers" fixate on this idea that we must want to share our thought immediately instead of allowing a calmer interaction?
Scientists Gene Hacked a Plant So It Grows Five Types of Psychoactive Drugs at Once
https://futurism.com/health-medicine/gene-hacked-plant-grows...
You may groan, as I did, when you see "What’s on the dark side of the Moon?" in the article's headline.
The article itself correctly uses "the far side of the Moon".
Proof once again that authors don't write their own headlines; editors do.
So I used the text from the <title> tag instead.
Title quibbles aside, it's a pretty good article. I learned several things from it.
Remote: Yes, or hybrid if nearby
Willing to relocate: Possibly
Technologies: Python, Ruby, C, C++, C#, JavaScript, TypeScript, PowerShell, Flask, SQL, PostGIS, Shapely, Unity, Unreal Engine, multiple assembly/machine languages, Windows user code and kernel drivers, Google Maps and other map APIs, geographic and airspace data
Résumé/CV: https://www.geary.com/resume.html or https://www.geary.com/resume.pdf and https://www.linkedin.com/in/michaelgeary/
Email: mike@geary.com
Hi, I'm Michael Geary. I've programmed in many languages and environments over the years. Some of my current interests are:
• Developer experience. I love helping my fellow developers solve problems, and building tools to make their jobs easier and more enjoyable.
• Aviation and geographic data. For example, airspace and obstacle data importers for Wing; election results and voter information maps for Google; many interactive maps for other companies.
• Hardware interfacing. In a way, I am a "full stack" developer, but my stack may involve a front end to a piece of hardware rather than the cloud. I first got into programming via ham radio, so RF hardware remains an interest.
• Designing and building APIs. Too often an API is designed by exposing the internals of whatever system provides the API. My philosophy is the opposite: start with the apps. I like to build a series of sample apps before starting on the API. This way I can imagine what API will make those apps and others like them easy to build.
• Talk with users! I don't like to sit in a back room cranking out code. I want to make sure it's the right code for what my users need, and that it's easy to maintain and improve as we learn more about what they want.
Open to full time or contract.
I look forward to talking with you!
And I agree. I like many varieties of hot sauce, but sriracha is just too sweet for me.
It's the same reason I am picky about Thai restaurants. So many of them lean hard on the sugar. Not to my taste! I like a more balanced flavor.
... searching ...
Yup, here it is:
Remote: Yes, or possible hybrid if nearby
Willing to relocate: Possibly
Technologies: Python, Ruby, C, C++, C#, JavaScript, TypeScript, PowerShell, Flask, SQL, PostGIS, Shapely, Unity, Unreal Engine, multiple assembly/machine languages, Windows user code and kernel drivers, Google Maps and other map APIs, geographic and airspace data
Résumé/CV: https://www.geary.com/resume.html or https://www.geary.com/resume.pdf and https://www.linkedin.com/in/michaelgeary/
Email: mike@geary.com
Hi, I'm Michael Geary. I've programmed in many languages and environments over the years. Some of my current interests are:
• Developer experience. I love helping my fellow developers solve problems, and building tools to make their jobs easier and more enjoyable.
• Aviation and geographic data. For example, airspace and obstacle data importers for Wing; election results and voter information maps for Google; many interactive maps for other companies.
• Hardware interfacing. In a way, I am a "full stack" developer, but my stack may involve a front end to a piece of hardware rather than the cloud. I first got into programming via ham radio, so RF hardware remains an interest.
• Designing and building APIs. Too often an API is designed by exposing the internals of whatever system provides the API. My philosophy is the opposite: start with the apps. I like to build a series of sample apps before starting on the API. This way I can imagine what API will make those apps and others like them easy to build.
• Talk with users! I don't like to sit in a back room cranking out code. I want to make sure it's the right code for what my users need, and that it's easy to maintain and improve as we learn more about what they want.
Open to full time or contract.
I look forward to talking with you!
Well, they're not really tricks, just things I do anyway.
One is that I wear an aloha shirt every day, and I shop at Trader Joe's.
Quite often someone thinks I work there and asks me where to find something. I usually know where things are, and if I don't, I find them someone who actually does work there.
One time the guy restocking the freezer said, "Nice aloha shirt! I bet people sometimes ask you where to find things."
30 seconds later, a lady walked up to me and asked if we carry organic bread. So I walked her over to the bread section and pointed out some organic options. Then back to the freezer section: "You were right!"
Another trick is to take my cat Oakey for a walk in his cat stroller. People see the stroller and expect to see a baby in it, and are surprised to see a cat! Children walking with their parents especially love to see Oakey, and he enjoys the attention.
Sometimes you just have to seize the moment. Last year I was at a friend's company summer picnic. One of her colleagues brought her ten year old son. He was wearing an astronomy T-shirt. They were sitting at another table, and as they got up I asked him, "Are you into astronomy?"
"Yes."
"I have a very important question for you. Pluto is still a planet, right?"
"Yes it is!"
We high-fived and I said, "Welcome to Team Pluto!"
We've seen each other at subsequent company events. It is always fun to hang out with a fellow astronomy enthusiast of any age.
• The traditional through-the-wall machines that you can access from outside.
• Inside the branch, heavy duty standalone machines that dispense much more cash and more of a variety of bills. These are only accessible when the branch is open, unless you break glass.