Ted Cruz recently compared Net Neutrality with Obamacare. They’re exactly alike if by “exactly alike” you mean “have nothing in common.” The Oatmeal tries to explain why the analogy is flawed. That’s probably an impossible task. You can’t make a senator understand a concept if his financial contributions depend on his ignorance. Anyway, enjoy the strip….

[The Oatmeal: Dear Senator Ted Cruz]

UPDATE: Gizmodo weighs in 

UPDATE: Pr0n stars weigh in

Posted in Community | Leave a comment



Your JoeDog is a Big Fan of artificial intelligence. His pinochle game represents one foray into the field. The computer bids based on its results experience. Your JoeDog can’t predict how it will bid a particular hand. It looks for experiences that resemble its current hand and it bids accordingly. Unfortunately, it still plays programmatically. As such, it can never be better than this nerd-blogger.

CBS Sports and Yahoo are doing interesting things with AI. Their fantasy football sites use artificial intelligence to summarize millions of games each week. The software analyzes lots of data and composes articles much like a human reporter. They only fail the Turing Test due to a contemplation of scale: A rational person soon realizes there aren’t enough humans on earth to produce that many articles by Tuesday morning.

There’s a more personal reason why Your JoeDog likes these cyber reporters: they think highly of his coaching skill:

Tonzie Crushers benefited from smart coaching this week. Coach Fulmer left Chris Johnson and Justin Hunter on the bench in favor of Frank Gore and Robert Woods, who were both expected to score less.

These great decisions boosted Tonzie Crushers’ final score by 22.1 points, which just made the final result that much more embarrassing. Putting Gore in the staring lineup also gained more points than any other coaching move this week, making it the Volkswagen Start of the Week.

Well this week. Last week they thought he was a moran

 

Posted in Programming | Leave a comment



A physicist, engineer and a programmer were driving down a mountain pass when the brakes failed. The car started to accelerate and they were soon screaming into the valley. Hanging on for dear life, they smacked the guard rails several times. Fortunately, they came across and escape lane and they were able to navigate up the hill to a stop.

The physicist said, “We need to model temperatures resulting from friction to determine why the brakes failed.”

The engineer said, “I have a case of temperature sensors in the trunk.”

The programmer said, “Let’s not get ahead of ourselves. We need to get the car back up the mountain and see if the failure is reproducible.”

 

 

Posted in On The Job | Leave a comment



A bug or a feature?

 

 

Posted in Uncategorized | Leave a comment



This morning Your JoeDog received a form. Exciting! … wait a second. That’s not exciting. That’s more work!

Indeed.

He had to fill it out and deliver it within Large Corporate Bureaucracy. There were two different delivery options:

  1. Interoffice messenger
  2. Fax machine (they still exist for some reason)

The fax option contained these special instructions:

If sending via fax, do not send original. Retain a copy of the completed form for your records.

dilbert

Posted in On The Job | Leave a comment



“Holy shit!” Your JoeDog exclaimed.

“Why do you swear so much?” an emailer emailed this blog. “Young readers don’t need to be exposed to that.” Listen, if your kid is reading this site, then maybe it’s time to buy him a football. By the time he’s old enough to care about these topics, he’s already heard a lot of vulgar language….

“Holy shit!” Your JoeDog exclaimed. “That’s a code salad!”

Our enterprise backup guy is just like your enterprise backup guy. He’s involved with every system, every project and every meeting yet all he does is put ones and zeros on tape. Generally he calls your attention to meaningless minutia but once a decade you learn of something important. Yesterday was once a decade. Backup informed Your JoeDog that the NetBackup client wasn’t installed on a new server.

“That seems unlikely,” Your JoeDog said. “Puppet puts it on every server.” Puppet is our configuration management server. It installs software and writes configurations to every server in the enterprise.

“That’s what I thought,” Backup said. “But it’s not there.”

To prove that Puppet puts it on every server, Your JoeDog showed him the code. We’ll examine that code after the jump

Continue reading “Please Don’t Use Comments To Alter Functionality” »

Posted in On The Job | 2 Comments



baby-cowMeet the newest member of the JoeDog family. This is Baby Cow — with her markings she looks like a little tiny baby cow.

She was abused by a Mennonite farmer who tried to breed her. When that failed he tied her to a pole along a highway with a sign that read “Free bulldog.” By chance, a member of the Long Island Bulldog Rescue happened to see her. She stopped and called the state agency which enforces puppy mill laws. The farmer was fined.

That night Your JoeDog had three beers at a local brewery. Mrs. JoeDog saw an announcement on the Long Island Bulldog Rescue’s Facebook page. They needed someone to foster this dog. Your JoeDog reluctantly agreed because … well, did he mention three beers?

When Baby Cow arrived she was in sorry shape. Her eyes were cloudy and her rear legs were both injured. At first the vet suspected glaucoma but it turns out they were irritated by her lashes. Baby Cow’s legs were another story. She had two torn ACLs, probably the result of standing long hours on top of chicken wire. Puppy Mill breeders frequently stack their dogs in chicken wire crates. You don’t want to be the bottom dog. That one gets peed and pooped on by the dogs above.

She’s already had one operation to fix her eyes. Aren’t they beautiful? She still needs two more to fix her rear legs. LIBR promised to pay for those operations in January. They are promised grant money from a large national pet store chain. (Your JoeDog is unsure if he can mention the name so he’ll keep it to himself for now.) If the grant falls through, he’ll try to raise it himself.

Your JoeDog may have reluctantly agreed to take her, but he’s not letting her go anywhere now. As Mrs JoeDog says, “That’s Your Baby Cow.”

Posted in Community | Leave a comment



The things Your JoeDog will do for you….

A couple weeks ago he complained about Valgrind (and probably a whole bunch of other stuff but we’re talking about Valgrind now). His snippet was leaking memory and valgrind was unable to identify the leak. The leak was manually identified in this function:

ARRAY
array_destroy(ARRAY this) 
{
  int i;

  for (i = 0; i < this->length; i++) {
    xfree(this->data[i]);  
  } 
  xfree(this->data);
  this = NULL;
  return this; 
}

While we freed the elements of the array, we never freed the array itself. The leak is fixed like this:

ARRAY
array_destroy(ARRAY this) 
{
  int i;

  for (i = 0; i < this->length; i++) {
    xfree(this->data[i]);  
  } 
  xfree(this->data);
  xfree(this);
  this = NULL;
  return this; 
}

Today Your JoeDog was coding on the train again.  Before he boarded, he downloaded the above code onto his snazzy Linux laptop.  He was turning caffeine into code when wouldn’t you know it? Another stinkin’ memory leak. “What the hell,” he thought. “Let’s give valgrind another try.” Unfortunately it wasn’t installed on snazzy Linux laptop. For some reason, Amtrak’s proxy won’t allow downloads larger than 10MB. Stupid Amtrak.

That’s easy to bypass. Your JoeDog established an ssh tunnel from his laptop to this webserver and proxied to the Ubuntu repository.

 

--2014-10-25 10:15:13--http://us.archive.ubuntu.com/ubuntu/pool/main/v/valgrind/valgrind_3.10~20140411-0ubuntu1_amd64.deb
Resolving localhost (localhost)... 127.0.0.1
Connecting to localhost (localhost)|127.0.0.1|:11111... connected.
Proxy request sent, awaiting response... 200 OK
Length: 15078790 (14M) [application/x-debian-package]
Saving to: ‘valgrind_3.10~20140411-0ubuntu1_amd64.deb’
100%[=============================================>] 15,078,790 290KB/s in 73s
2014-10-25 10:16:26 (202 KB/s) - ‘valgrind_3.10~20140411-0ubuntu1_amd64.deb’ saved [15078790/15078790]
 Funny thing. That copy of valgrind found the leak. Guess where it was? Give up?
ARRAY
array_destroy(ARRAY this) 
{
  int i;

  for (i = 0; i < this->length; i++) {
    xfree(this->data[i]);  
  } 
  xfree(this->data);
  //xfree(this);
  this = NULL;
  return this; 
}

In order to illustrate his first post on valgrind, Your JoeDog commented out the fix he told you about. Well, this second copy of valgrind found it. So what gives?

1. Valgrind works and I’m sorry I busted on it.

2. RedHat’s version doesn’t seem to work but Ubuntu’s does.

 

Posted in Uncategorized | Leave a comment



Here’s a question which tends to make Your JoeDog cringe: “So, what do you do?”

It’s often asked when he has a drink in his hand. And when he has a drink in hand, he doesn’t want to talk about work. Sometimes the inquiring person hears the answer, parses “computers” and wants to know why their laptop is slow. Honestly, Your JoeDog has no idea. Occasionally, he meets another nerd who wants to talk shop.

Recently he met a web nerd, the kind of web nerd who suffers from illusory superiority because he lacks the skill to recognize his ineptitude. These guys often contain a conspiratorial streak. This guy was no exception. The conversation soon shifted to hacking and web security.

Web Nerd puked a word salad of vulnerabilities but his beloved PHP was exonerated. “You can’t inject SQL because the mysql libs don’t allow multiple statements,” he said.

Couple points. 1.) the PHP mysql_ functions are deprecated. Astute JoeDog readers use PDO or MySQLi. 2.) You can still do injection as long as you keep it in a single statement.

Let’s try that after the jump!

Continue reading “Check Your Inputs: SQL Injection Edition” »

Posted in Community, On The Job, PHP, Programming | 2 Comments



Your JoeDog hasn’t weighed in on Gamergate largely because he’s not a gamer. Unfortunately, it’s become too big to ignore. If you write about technology you’re almost required to have an opinion. So here’s an opinion: some guys are a bag of dicks.

Whoa, hold on.  First of all, what is Gamergate?

As far as I can tell, it began with an accusation. Well, first it began with a game, then an accusation.

Zoe Quinn released Depression Quest, an unusual game that caused a stir in the community. It’s a saga in which you follow the tribulations of a person going through depression. What makes it particularly unusual is this: nobody goes postal with an AR-15. Some liked it while others thought it wasn’t a game at all. To them it was some sort of interactive story. So Gamergate began as an esoteric argument about the nature of gaming. It might have stayed that way if not for that accusation.

In August Zoe Quinn’s boyfriend posted a lengthy indictment in which he claimed she cheated on him with several guys inside the gaming industry. She did this, Angry Ex-boyfriend said, in order to get ahead in the industry. He named a writer from Kotaku, which is part of the Gawker network. What makes this writer especially loathsome to Angry Ex-boyfriend is a penchant for red pants. (Full disclosure: Your JoeDog has a pair of red pants). Well if Zoe slept with Red Pants to get ahead,  then she failed in that regard. It doesn’t appear that Depression Quest was ever mentioned on that site.

It didn’t matter. After the charge was made, social media lit up in a shit storm. Under the guise of a debate on journalistic ethics, things turned nasty. Quinn’s personal information was published online. So were nude photos. She became the target of personal attacks. But it didn’t stop there. The war expanded and more women inside the industry were threatened. The FBI is taking the matter seriously. Gamergate became another front in the Culture War.

On one side we have traditional gamers who love blowing shit up while getting virtually blown. On the other we have newcomers who like the challenge of gaming but don’t care for the industry’s violence and misogynism. Breitbart added its voice in the beginning of September. Feminists, in their eyes, were wrecking the gaming industry. The nature of gaming had morphed into rightards vs. libtards on another front.

Your JoeDog is basically sick of this shit. Disagreements are one thing but threats are another. We can no longer face challenges because half the world is convinced the other half is evil. The women who’ve become the focus of gamer scorn have been forced into hiding due to personal threats. That’s not dialog, that’s terrorism. And if that’s your preferred tactic, then you’re pretty much a bag of dicks.

 

 

Posted in Community | Leave a comment



Recent Comments

  • CC: Many thks for your reply.
  • Jeff Fulmer: You mean your operating environment can only sustain more than 1000 connections for a few minutes....
  • CC: HI BUDDY I met this when the number of concurrent connections > 1000,siege can only sustained for a few mins....
  • Patrick: Hello- Have a simple 3 tier system and wanting to have multiple Siege testers run against multiple...
  • Oleg: Hello. Are the response time is the same as TTFB?