Friday, February 24, 2017

Friday Links!

From Steven Davis, and this is a fascinating article: THE RADICAL ARGUMENT OF THE NEW OXFORD SHAKESPEARE. This is also excellent: A Painstaking Mission to Save Atlanta’s Colossal Civil War Painting.

From C. Lee, and this is quite an investigator: Historical truths can take decades to unearth. This is quite interesting: Housefly maggots are a greener choice as food, for fish. This player deserves a roster spot: Goalie kitty possibly gearing up for the 2018 Winter Olympics drives the internet wild. This is quite interesting: French pedestrians see green light, even when it's red: study.

From Wally, and this is both expected and depressing: 2016 Novelist Income Survey Results, Part 1. More: 2016 Novelist Income Results, Part 2: The Large/Small/Indie Breakdown. This is entirely delightful: Photographer Travels Across New Zealand With Gandalf Costume, And His Photos Are Epic. This is a mesmerizing short film: Nachthexen - WWII Soviet Female Bomber Regiment.

This is just tremendous:  Beware The Softball Pitcher Playing Dodgeball. This is about the nicest moment you could ever imagine: Vladimir Tarasenko Makes A Little Girl's Birthday. Also, this is a tremendously interesting prospect: NASA’s longshot bet on a revolutionary rocket may be about to pay off.

Thursday, February 23, 2017

Halcyon 6: Starbase Commander

Damn, this game is fun. And this is going to be very, very rushed as I return as quickly as possible to the location of Dallas, but I highly recommend this game.

Halcyon 6: Starbase Commander is a turn-based, pixel-graphics romp through a science fiction world that's a bit of Star Trek and a bit of everything else. It's funny and engaging, and the design is top-notch.

Your starbase is presented in Hollywood Squares (rooms stacked) format, and there is a wide range of technologies, building types, ships, skills--there's a ton going on.

Outside the starship, there's a universe with all kinds of unsavory things going on.

There's also an alien threat (well, of course), and the ship-to-ship combat is very, very satisfying, which different types of officers (science, engineering, tactics) having widely varying skills in combat, all of which combine in extremely satisfying ways.

Thinking in combat makes a significant different, and there always seem to be multiple paths to success. I've put in 13 hours, according to Steam, and I have really, really enjoyed my time.

Fighting Eleven #19: Okay, It's Almost Dallas

Thanks to your e-mail, I've figured out there are plenty of ways to do this.

I also figured out that because of a certain amount of map distortion in almost every map, there was a bit of brute force that was going to be absolutely necessary.

What I decided to do was find a map with a liberal number of cities located on the map, then recorded pixel-exact coordinates for those cities, which I added to the .csv file containing latitude/longitude.

So, for 250 cities or so, I have both longitude/latitude and exact pixel locations. These 250 cities are anchor points.

When I want to find a location for a city that's not an anchor city, I find the nearest anchor cities to that city (based on longitude/latitude), then find intermediate pixel values for the city based on the anchor cities.

I still have some things to figure out (boy, don't I always), but I tested the approach and it works very well, and if there's a point where a city is poorly located, I just need to add a closer anchor city and it improves the accuracy.

Next week, Dallas will be Dallas again. I hope.

Wednesday, February 22, 2017

Stuck In The Middle With Them

I was in a medical office today, sitting in the main lobby by the exit.

"Excuse me, do you mind helpin' a fella?" asked an elderly man, probably in his sixties, obese, with a cane.

"Excuse me?" I asked.

"You see that gray Chevy Trailblazer out there?" he asked. I did not. "Would you go out there and tell my wife that the TIP of my CANE is somewhere in the CAR?" He lifts his red cane, and I do see that the tip is missing.

"Um, sure," I said.

I walked out to the parking lot, eventually finding the Trailblazer, and tapped on the passenger window. The elderly woman (lady hair, glasses) looked up, alarmed, and I figured I was about to become a Grannies With Guns story on the evening news.

She lowered the window a few inches, very carefully. "Yes?"

"Your husband asked me to tell you that the tip of his cane is in the car somewhere."

"Oh, thank you," she said, and she got out of the car and opened the back door to start looking.

"If you can find it, I'll take it in to him," I said.

She looked for no more than ten seconds, then turned to me. "Tell HIM that he must have left it in the HOUSE," she said.

I walked back inside.

"She said that you must have left it in the house," I said.

"I know it's in the CAR," he said. "When I left the HOUSE, the tip was clearly ON."

Within thirty seconds, his wife walked in and they argued for a while, then amiably walked out to the car.

Tuesday, February 21, 2017


Eli 15.6 took the PSAT a few months ago.

He's a sophomore, so his score didn't count (he retakes it next year as the official attempt), but his scores were high enough that if they go up just a small bit next year, he may be a National Merit Scholar (show of hands).

Because of this, universities are blast e-mailing him pamphlets and postcards and all kinds of things, and they're all uniformly crap.

"Hey buddy, college materials today," I said.

"From where?"

"Northern Michigan Timber Sports University," I said, "and Western Wisconsin Furniture and Crafting College."

He laughed.

"You may not need to fall back on Clown College as your safety school if this keeps up," I said.

With the size of his feet, he could totally CLEP out of the first year of Clown College

A Follow-Up on Where Dallas is Definitely Not Quite Yet

Ben sent in an excellent email about coordinate mapping and what not. This has been a most excellent rabbit hole. Here's Ben's email:
As you've discovered, Latitude/Longitude coordinates have issues on a 2-D map. Every mapping projection does, but LL has particular issues given that your coordinates aren't the same size everywhere. The width of a degree of longitude isn't the same at the top of the US as it is at the bottom, and that distortion makes coordinates hard even before the stretching issues. Luckily, there are a lot of people (like myself) who have to work with maps for a living, and lots of solutions to the problem. And all of them just use math.

For what you're doing, your slice method is an excellent solution; cutting a large map into smaller pieces 'relieves' the distortion as you move further and further from an origin (one of your furthest corners). The usual convention for coordinate systems is to set your origin to some furthest SW corner well outside your map, so that all mapped coordinates are +X and +Y, or in this case +E and +N. You'll see these referenced in systems as "Northings and Eastings", and they have the additional advantage that they are always in feet or meters, so they are always the same size regardless of where on your map you move. Different of these systems cut maps up differently (California State Plane is divided into 6 zones N to S, Oregon State Plane into 2) but for a US map what you've created is basically a version of the Universal Transverse Mercator system.

UTM cuts the earth into pole-to-pole slices along certain lines of longitude, each one referred to as a "zone". For the US, we use zones 10 through 19, as shown in the following randomly chosen google image search result: Each zone has an origin well outside the US, and all points are mapped as +N and +E. As you move across the country you switch from one zone to the next.

Implementing this is a pile of trig (again, a dart thrown at google "convert LL to UTM formula" reveals the following which has more explanation than you need: ) but if you do you can just throw LL values into your program for every city you decide to use, and it'll plot them accurately on your map without you having to reinvent the wheel. Note also that the above link goes into a lot of talk about Datums and Ellipsoids, which is a whole other kettle of fish that I will restrain myself from explaining no matter how cool it is to understand the problem they're solving. I'm a geologist, what can I say, I get into this stuff. If you go this route, you want everything you do to say "NAD83/WGS84" (either/both is fine) as that is A. the most commonly used system in the US, and B. the system Google Maps and Wikipedia both use for their coordinate data.

I hope this ends up being useful to you, even if it's just to give you a framework for how to approach these problems.

Monday, February 20, 2017

A Heartreaking Sandwich Order of Staggering Genius

I'm doing a little work at Subway, and a woman (clearly a mom ordering dinner for her family) just came in and ordered four sandwiches with an absolutely dizzying combination of meats, cheeses, vegetables, and sauces.

She consulted no notes.

It was a staggering feat. There were so many nuances that she must have constructed a memory palace to hold it all. I salute you, madam.

In Michigan

I've noticed something very different about Michigan (Grand Rapids, anyway) compared to Austin.

Many parents on the team have worked for the same company for over twenty years. Several of them started working for a company when they were 18 and never left, and most of them are in their mid-to-late forties.

I lived in Austin for almost thirty years, and I never knew one person who worked for the same company for twenty years. Not one.

This may have more to do with Austin being unusual than Michigan--it's grown so quickly, and there was such an extraordinary amount of opportunity that everyone grabbed what they could--but it's a bit startling, nonetheless.

Friday, February 17, 2017

Friday Links!

Leading off this week, from Meg McReynolds, and these photos are just magnificent: Winners of the 2017 World Press Photo Contest.

From C. Lee, and this is an excellent read: Here’s How to Create a Convincing Constructed Language for Your Video Game. This is one hell of an obituary:  'Evil' Man's Family Gives Him the Obit He Deserved. This is incredibly disturbing: Spyware's Odd Target: Backer's of Mexico's Soda Tax. Don't dismiss this next article because of the description--it's tremendously thought-provoking and worth the read: Is AI Sexist?

From Steven Davis, and this is a remarkable story: Low-tech Baby Care. Next, and this is fascinating, it's Medieval Heating System Lives on in Spain. This is an interesting read: A Surfeit of Emeralds: Healthcare in the Middle Ages. This is quite amazing: A Working Balloon-Powered Paper Pipe Organ Designed by Aliaksei Zholner. This is terrific: The Glass Ribbon Machine.

From Wally, and this is quite the scheme: A Zeppelin Over Africa I and A Zeppelin Over Africa II. Also, and some of these are quite amusing, it.s 101 Ways to Say "Died". This is an excellent read: How algorithms rule our working lives.

Finally, and this is both fascinating and bizarre, it's Once poverty-stricken, China’s “Taobao villages” have found a lifeline making trinkets for the internet.

Thursday, February 16, 2017

Fighting Eleven #18: Maybe That Is Dallas

As it turns out, mapping longitude and latitude locations using a 2-D map is an interesting problem, so let's discuss it.

I originally thought if I could properly locate the most distant N/S/E/W points properly on the 2-D map, that everyone else would be accurate, but as it turns out, locating those four points accurately is not possible. Part of that is the inherent 3-D/2-D issue, but it is probably also an issue with the map itself--not only is it 2-D, but it's also not entirely correct. Plus, it just shows the United States, so it's only part of a world map.

Here was my original idea: find the furthest points N/S/E/W. Find the range of possible longitude/latitude values. Then, any city in-between should be a percentage of the possible range, right? So I could take the percentage of that range, bang it off the actual run-time dimensions of the map, and Dallas should be Dallas.

Only that isn't working.

I think part of it is not being able to accurately locate the anchor points, but the the other factor is that the further away you are from the anchor points, the more error that's introduced.

So I'm going to try out the "slice" method.

I can manually locate, for example, ten points of latitude and longitude exactly on the map (or as many as I want). Then, I can calculate the position of a city from the closest possible pre-calculated point on the map. So instead of working with a possible distance of 3,000 miles from an anchor point, I'd be working with a maximum distance of 300 instead.

In theory, that should introduce a much smaller amount of error. And I could even make that every 150 miles.

It doesn't need to be perfect. A 15-mile error would be perfectly acceptable, because you wouldn't even notice on the map, given its size.

Except that may not work either.

It's totally possible to manually enter the pixel-perfect location of cities on the map I'm using, then just look up the values, but there are thousands of cities, so that's much more labor intensive than being able to calculate it (if such a thing is possible with a high degree of accuracy).

Onward, into the fog.

Wednesday, February 15, 2017

Fighting Eleven #17: That's Not Dallas

Hmm, I put in some testing coordinates, so no matter what the recruit's card says, the program thinks he lives in Dallas. That's where the green circle is supposed to be.

Instead, Austin Bambard appears to be living in the Gulf of Mexico, possibly on an offshore oil drilling platform.

While I do find that to be a compelling backstory, it goes on the must-fix list. 

However, other parts are going quite well. I now have the recruit's interests generating properly, and all schools are being scored against the recruit's interests (if there are eight interested schools, the top four are listed, then the user school's place in the top eight). That is all working, and smoothly. 

I still don't have the ability system put in place, so that's dummy data, but everything else on that card is live. I'm actually reasonably close (a week, maybe two) to moving on to the recruiting battle screen, so that's good. 

I am having one strange problem right now, though. 

When I was developing GS, it was easy to share builds. There's a /Release/ folder, and all I had to do was copy all the files in that folder, and anyone could run it on their machine if they had the most recent .NET Framework. 

That worked thousands of times.

This time, though, it's not working. I've checked some of the usual suspects (like an image file not set to content/copy), but I haven't figured anything out yet. I could actually get a little feedback at this point, but until I get that working, it's not going to happen.

Random Lines From Old Radio Programs #4

"That's not someone, lady--that's our corpse!"

Tuesday, February 14, 2017

Surface Pro 3: June 20, 2014 - February 14, 2017

My Surface Pro 3 was janky as hell.

The touch screen worked inconsistently, Windows Updates took a frickin' eternity, all kinds of strange things happened at totally random times, and four keys had fallen off the keyboard.

However, it was still perfect as a lightweight screen that could be used as a tablet and a laptop, and I still used it almost every day.

Today, I dropped it, and it landed badly:

Two long cracks across the screen, and a crumbling of the lower right corner. So long, touch screen. 

I can still use it with the keyboard, but as a multi-purpose device, it's dead. 

There were a lot of times when I didn't like it much, but now that it's gone, I already miss it. A little.

Monday, February 13, 2017

From The Wayback Machine

That picture was taken six years ago. Feels like six lifetimes ago. 

Eli 15.6s team played one of the premiere teams in the country on Saturday. It was part of a Hockey Fights Cancer weekend, and instead of 20 people in the stands, there were 200. 

The game was incredibly intense, and it was 1-1 for a long, long time. The third period was going against us, but Eli made a series of terrific saves and fought against the tide.

Then, with two minutes left, we scored. 

Suddenly, it was over. A 2-1 win, and Eli had 32 saves.

There's a website for hockey rankings, and the formula is pretty simple, so you can compare teams and parts of seasons in all kinds of different ways. In Eli's last five games, his team has played at a level equal to fourth best team in the country. 

I'm not going to tell him this. Preparation, not expectations. He doesn't need it in his head. But they are now a very dangerous team.

Here's a photo from this lifetime:

Make Better Decisions: Almost Every Word In This Headline Edition

Mother accused of pointing gun at semi while driving drunk with 5 kids

Site Meter