New York City Skyline During Easter 1956

The NYC skyline during Easter of 1956.
The NYC skyline during Easter of 1956. There would probably be an uproar today. ‪ #‎HeIsRisen‬.

See that photograph at the top of this here blog entry? It’s currently making the rounds through social media along with the caption below it. A fellow Dogger brought it to our attention. There was something about the image that didn’t sit well with him. We agree.

First things first. Yes, there would be some uproar if this happened today. The US is more diverse now than it was sixty years ago. There might be fewer gripes if they celebrated all religious holidays along with Easter. Although that might be even messier. If contemporary uproar is your concern, imagine what would happen if they displayed a crescent during Ramadan.

Second things second. It’s entirely possible that something like this did occur in 1950s New York. Your JoeDog used to live in Manhattan and he’s seen a wide array of light-oriented messages. It wouldn’t surprise him at all if Easter was crossy then.

New York City skyline 1950s postcard

Still, something doesn’t sit right. The tall building in the middle no longer exists but Your JoeDog found it in a contemporary postcard for sale on eBay.

We can see that structure here on the right. Of the three tallest buildings depicted here, the Chrysler Building is in the foreground and the Empire State Building (ESB) is to the rear. This means we’re looking at Manhattan over the East River from Brooklyn. Therefore the third tallest building in this group sits to the south.

In the photo with the Easter crosses, we find ESB on the left and Chrysler on the right. That means the crosses are north of us. Now consider the middle building. It’s north of both ESB and Chrysler. How is that possible? In the postcard it’s clearly to the south. Was the photo reversed? That’s possible but then buildings get taller as you near the river. That may have been accurate in 1956 but it’s not now.

So Your JoeDog isn’t sure what to make of this viral photograph. If the thought of a crossy New York puts a spring in your step, then who is he to harsh your mellow? At the same time, he wishes we would apply a little more scrutiny to items we pass through social media. It’s jungle of misinformation out there.

Leap Seconds And Siege

If you’re the kind of person who likes to close a bar on a Tuesday night, then good news for you! There are discrepancies between the amount of time it takes us to round the sun and the clocks we use to measure it. In order to correct those discrepancies, we add a second every once-in-a-while. That once-in-a-while is now! We add a second at midnight.

If this was a normal night, the sequence to midnight would look like this:

  2015-06-30 23.59.57
  2015-06-30 23.59.58
  2015-06-30 23.59.59
  2015-07-01 00.00.00
  2015-07-01 00.00.01

But this ain’t no normal night, mister. Tonight we add an additional second. That sequence looks like this:

  2015-06-30 23.59.57
  2015-06-30 23.59.58
  2015-06-30 23.59.59
  2015-06-30 23.59.60 <-- leap second
  2015-07-01 00.00.00
  2015-07-01 00.00.01

So if closing time arrives at Midnight, you can say to the bartender, “Not so fast, Jeeves! I’ve got another second!”

But let’s say — and why the hell not? — that instead of drinking beer, you like testing servers into the wee hours of the morning. What is siege going to do at 23:59:60? To be honest, I have no idea. Chances are your server won’t leap until its next NTP update. All transactions that occur during the adjustment will probably be skewed a second too long. (It might be a good idea to run the update manually)

NOTE: So how do you sync your Linux laptop with one of the government’s atomic clocks? Just use the time server at the National Institute of Standards. You can do that with the ntpdate command like this:

Bully # ntpdate 
30 Jun 17:34:36 ntpdate[3977]: adjust time server offset -0.026286 sec

Did The St. Louis Cardinals Hack Into Another Team’s Database?

Get A Brain! Morans - Did St. Louis Hack the Astro's databaseYour JoeDog roots for the Pittsburgh Pirates. They are a major league baseball team in the same division as the St. Louis Cardinals. On June 16, the New York Times broke a bombshell story about the Cardinals. They were under investigation by the FBI for breaking into a Houston Astros database.

That seems like an odd choice, right? At the time of the 2013 breach, the Astros weren’t particularly good. They weren’t even in the same division as the Cardinals. Yet they did have something with which St. Louis was familiar, a General Manager named Jeff Luhnow. He worked with the Cardinals before he was hired by Houston in 2011.

When Luhnow was with the Cardinals, he built a computer system known as Redbird. It was a large database filled with scouting information and player analysis. In Houston, he built a similar system called Ground Control. It was basically Redbird under a different name. So St. Louis was familiar with the system but by 2013 they didn’t have Luhnow’s updated information. Did they breach Houston’s computers in order to obtain it? The FBI thinks that’s possible.

One of FBI’s supoenas sought information on the IP addresses from which the attackers logged into Ground Control. It is believed those addresses point directly to the Cardinals or Cardinals’ personnel. The breach itself wasn’t particularly sophisticated. The attacker just stone cold logged in with a password. Again, this takes us back to St. Louis.

Remember, Luhnow used to work with the Cardinals. He brought several Cardinals’ employees with him to Houston. There’s a pretty good chance they had dormant accounts back in St. Louis. Those accounts had login credentials. If any of those former Cardinals employees reused their credentials in Houston, St. Louis had everything it needed to break in.

In the worst case for computer security, St. Louis stored its passwords in the clear (or an employee left a sticky note on his desk). With this information, all they needed to do was log in. If passwords were stored in a secure hash, then St. Louis could have downloaded a password cracker like John The Ripper to get the goods.

This goes beyond anything Tom Brady did. This is no Deflategate. If the accusations hold, then people in St. Louis committed wire fraud, computer hacking, corporate espionage and theft of trade secrets. Those crimes are punishable with incarceration. The guilty won’t find a low level equipment manager to take the fall for this one. The stakes are way too high for that.

We’re Here, We’re Rainbowy. Get Used To It.

GitHub prideIf you’re the sort of person who gets fifty kinds of upset over boys marryin’ boys, then Your JoeDog has a helpful tip: don’t visit today. The company changed its logo background so it would be all rainbowy — OMG, that’s the queer color!!1! You have to be logged in to see it. The main page still contains a boring grey background.

The Pridetocat image — which appears in the upper left corner of this post — actually pre-dates Friday’s ruling. In early June, GitHub began selling Pridetocat t-shirts. All proceeds from the sales of those shirts go to Lesbians Who Tech, Maven, and Trans*H4CK (pronounced “transhack”). According to GitHub, those organizations help educate, connect and empower LGBTQ people in tech.

Now Your JoeDog is generally on top of contemporary anagrams but he never saw a Q in LGBT before. What does that stand for? According to a The USA Today article it can be either Queer or Questioning. At JoeDog Industries, we feel it’s not our place to decide which Q applies to any particular person. And who cares, really? We’re busy turning coffee into code. So back to hacking….

A YouTube Algorithm Can Award Your Channel To Others

Matthew Lush lost his youtube channel to an algorithmYour JoeDog doesn’t have a YouTube channel but he certainly wastes enough time on there. He loves tennis instruction videos, Ramones shows and old George Carlin specials. It’s an amazing repository of video archives.

Matthew Lush, on the other hand, does have a YouTube channel. He’s a UK video blogger who’s been distributing content on that website since 2005. In that year, he registered a channel under his last name. To his fans, he was /lush as in Easy to find, easy to remember.

Matthew Lush makes a living from advertisements associated with his channel. In order to drive traffic to it, he embeds the address in all his videos. He sold bracelets and other merchandise with the URL on it. For Matthew Lush the URL was everything.

A few weeks ago, a UK company named Lush Cosmetics set up its own YouTube channel. They requested and received /lush for their channel name. The decision to transfer Matthew Lush’s URL to Lush Cosmetics was made by an algorithm.

Google told the BBC that a program awarded Lush Cosmetics the URL based on data from YouTube, Google+, its search engine and other sources.

Matthew Lush wants the URL back but his options are limited. To begin with, it was never his property. YouTube’s namespace belongs to YouTube. They can manage it as they please. His fans have petitioned Lush Cosmetics to return it to him but that relies on the benevolence of a board of directors.

YouTube considers Matthew Lush a valued creator and they’ve agreed to help pay marketing costs associated with the move. On some level that seems pretty generous we don’t have enough detail to make a fair assessment.

There really are no good options for this type of namespace distribution. If you award URLs on a first come, first serve basis, then you invite squatters to sit on namespace for ransom. If you award them by other means then you risk this type of situation.

Your JoeDog suggests you don’t rely on the kindness corporations. If namespace is important, then make sure you own it. Matthew Lush could have bought a domain and redirected it to his YouTube channel. You should do the same.

How Much Is Your Site Worth? is worth $23.5KAccording to Site Price, Your JoeDog is worth $23,503.00 Awesome! They arrived at this price based on a variety of factors: Google PageRank, Daily Visitors, Facebook Shares and Ad Revenues. According to Site Price, Your JoeDog makes $9.00 a day in ad revenue. Double awesome!

Hey, wait a minute!!! This site makes considerably less than that. Who’s siphoning Your JoeDog’s ad revenues?? Could it be: GOOOOO-GLE??!!

To discover how many bazillions of dollars your site is worth, just enter it’s main URL at

Parse The Version Number With Ant

“The best programmers are all alike; every shitty programmer is shitty in his own special way.” –Anna Karenina

Earlier Your JoeDog mentioned a trait of good programmers. They model data so each element is stored in only one location. This principle is known as a Single Source of Truth. To illustrate that principle, he pointed to siege’s version numbering. The number had to be available in both the program and its helper scripts. In order to uphold SSoT, he stored the number in version.c and parsed that file with a helper script.

Here’s an astonishing fact: not everyone loves the C programming language. Some of you are Java weenies! Fear not, weenies, for you we have another example.

Same problem, different language. We want to store the version number in one location but it must be available for two mechanisms. The first mechanism is the program itself. That’s important, right? It helps answer the question “Which fscking version am I running?” The other mechanism is ant. When we build our jar file we’d like to add the version number to its name, i.e., pinochle-1.0.7.jar.

Let’s examine this is closer detail after the jump.

Continue reading Parse The Version Number With Ant

DRY Programming

“The best programmers are all alike; every shitty programmer is shitty in his own special way.” –Anna Karenina

Today we are going to discuss one of the most important traits of a good programmer: He’s DRY, which is an acronym for “Don’t Repeat Yourself.” This principle is also referred to as Single Source of Truth. DRY programmers rarely use a clipboard. Their data is structured so that every piece of information is represented exactly once.

DRY code is easy to maintain. When a data element is stored exactly once, a single edit changes its value throughout the system. As soon as this principle is violated, maintenance becomes a bitch. For you bean counters out there — you guys who thought cheap programmers would save you money — that means expensive.

“I thought I changed that!” You did. The last programmer typed the same thing multiple times. “Where are the other instances?” I have no idea. “What did he call them?” God only knows. “There’s 50,000 lines of code across twenty files.” Well then you better start searching …  “FSCK!”

The best programmers adhere to this principle no matter what. It doesn’t matter if the same piece of information is needed by two separate tool kits. They use one piece of data and parse it with two separate languages. Let me give you an example.

When you download siege, you get a tarball named siege-3.1.0.tar.gz When you run siege –version, it displays the version number. In one case, the number is interpreted by C code, in the other it’s interpreted by a shell script. No matter, in both cases it’s sourced inside a single file. You can find it in src/version.c

So while it would have been easy to type “3.1.0” in the C file and paste that value inside, Your JoeDog would have to update it twice with every release. You know how often he’d miss one of those two edits? Every stinkin’ release.

In order to adhere to the DRY principle, he made the configure script parse a string in version.c  That string looks like this:

const char *version_string = "3.1.0";

And Your JoeDog parsed the number in like this:

VERSION=`sed -ne 's/.*version_string.*"(.*)";/1/p' ${srcdir}/src/version.c`

NOTE the use of ${srcdir}; one copy of everything, people.

Look, I know some of you are going to be like “fsck that guy. I’ll copy and paste to my heart’s content.” That’s fine as long as you are now and will always be the only maintainer of your code. But if you expect another human to work that code and if you insist on being WET (We Enjoy Typing), then you’re a bad programmer. Hey — somebody had to say it.

Some People Need Structure

Charleston ShooterEarlier this week a young white man walked into a black church in Charleston. His name was Dylann Roof and he sat down with a prayer group. The church welcomes all so the stranger was no cause for concern. After about an hour, he rose from his seat, pulled out a gun and started shooting into the prayer circle.

According to a survivor, someone begged him to stop. He responded to that plea like this: “No, you’ve raped our women, and you are taking over the country … I have to do what I have to do.” And he shot the young man. Nine people died that night.

You can call Dylann Roof a racist asshole. You can say he’s a monster. Or a craven little pussy. Your JoeDog won’t disagree. Here’s something else he was: misguided.

From the Washington Post we learn that Roof dropped out of high school in ninth grade. He drifted aimlessly. He laid around the house and dabbled in drugs. His parents implored him to find a job and he went to the mall and pestered store managers but it doesn’t appear that he left with any job applications.

With no schedule he wandered aimlessly. With no agenda, he formed his own, a refinement of bad ideas. With nowhere to go, his interactions became fewer, his views more esoteric. There are plenty of young men in this rut. Most refrain from killing others but that doesn’t mean it’s not a problem. In the best scenario, Dylann Roof would have accomplished nothing, helped no one and achieved nothing.  The worst scenario was on display in a Charleston Church.

Some people have lots of ideas. They have long todo lists and insufficient time to check every item. For them an unstructured life is a blessing. They can align their tasks by their daily moods. A flexible schedule allows them to create many great things. When their mood changes, it’s not a problem for these folks. There’s always something else to do.

That doesn’t work for people like Dylann Roof. People like that need structure. They need schedules and task lists provided by others. They need things to do. Guns aren’t going away – not in America, anyway. If we hope to stop this endless chain of horrific mass shootings, then we need to find a way to help people like Dylann Roof organize their lives.  We have to find them something to do. As tasks become increasingly more automated, that might become ever more difficult.

Google Analytics And You

Your JoeDog is no marketing guru. He doesn’t use conversion tracking to see if he’s met business objectives. Heck, he doesn’t have business objectives. Ideally, he’d like to generate enough ad revenue to cover the cost of hosting this site but that’s the extent of the marketing plan.

Still he uses Google Analtyics. Why? Everyone says “You gotta use Google Analytics.” Okay, fine. He’s google-analyzing. That tool provides metrics that allow him to gauge long term trends. He reads those trends like this: “Up slope, good. Down slope bad.”

Google Analytics also provides demographic information. Your JoeDog has no idea what do with that. Basically, he looks at it and goes, “That’s more or less what I expected.” So according to Google Analytics, what does a typical JoeDogger look like?

Glad you asked. He — yes, he, 94% of you are men — is a 30 year old American technologist who’s also a bit of a news junkie and likes to travel. His favorite browser is Chrome but he prefers iPhone to Android. His ISP is Comcast and he arrived at this site by clicking a link.

The second most common JoeDogger is a Chinese technologist. Third most is a British technologist. Fourth most is a technologist from France. Apart from varied countries, you guys are basically the same: nerds!

Your JoeDog really has no plans to do anything with that information. He just thought he’d share it.