Mischiefblog
I make apps for other people

Work

How I’m vendoring in Go

Posted by Chris Jones
On April 21st, 2017 at 10:47

Permalink | Trackback | Links In |

Comments Off on How I’m vendoring in Go
Posted in Work

I’ve gotten questions about this at work when presenting and teaching people about Go development and there may still be some confusion about transitive dependencies and how to mix multiple Open Source projects with their own vendored dependencies. This may not be the best choice, but it works for an company with several different projects that need “always working” builds.
(more…)

In defense of Pair Programming

Posted by Chris Jones
On March 18th, 2012 at 08:42

Permalink | Trackback | Links In |

Comments Off on In defense of Pair Programming
Posted in Tech, Work

A TechCrunch opinion piece posted yesterday, “Pair Programming Considered Extremely Beneficial,” was very complimentary about Pair Programming, a practice in which two developers work together to build software, one driving (typing) and the other navigating (describing what needs to be done). The author even included an amusing anecdote about Guy Steele pairing with Richard Stallman and how intense that experience was.

Since starting work at Overstock in 2010, I’ve had the opportunity to pair on a lot of user stories. Depending on the team lead pairing was either more or less the norm (less on my current team) but the company does have an inviolable rule when pairing must take place: when you’re working on financially impacting code. I’d extend that to say that you should pair on anything that impacts your core business and could cause the company to lose or have to restate revenue.
(more…)

Goodbye Daily

Posted by Chris Jones
On August 5th, 2009 at 16:35

Permalink | Trackback | Links In |

Comments Off on Goodbye Daily
Posted in Work

While Amazon Daily isn’t shutting down yet, we’re losing our gateway (homepage) placement to another new service offering. This will cut our traffic down dramatically.

The last Amazon daily lozenge
Bet you never even noticed this widget, did you?

For me this represents the beginning of the end of an era. I was hired to work as a server software developer at Amazon for the Plogs project, which later turned into Amazon Daily. As the project has languished and priorities have shifted from enhancement to maintenance to life-support, I’ve been working on other things (like Musician, Author, and TV entity pages) but I’ll always have a soft spot for Plogs and a deep interest in scalable blogging aggregation and authoring platforms.

Stupid interview questions

Posted by Chris Jones
On July 31st, 2009 at 10:09

Permalink | Trackback | Links In |

Comments (1) |
Posted in Work

I’m listening to a co-worker perform a phone screen (interview) with a candidate to work at Amazon. I think my least favorite question so far is, “Write a program to generate prime numbers within a range.” If you have an algorithm memorized, it’s cake. If you don’t have an algorithm memorized, it’s a good test for a new programmer (or even some who claim not to be so new), but I still think it’s a pretty cruddy question. (I think I’ve had to use the modulo operator twice in three years at Amazon.)

Worse, though, are interviewers who want a single particular answer. Those are the interviewers who, if you provide a correct answer but not the one wanted, will still ding the candidate for not doing it the preferred way.

This is just painful. I hate having to overhear questions like, “Is there a partcular reason you used a.length() rather than 100? How would this be different if you used an ArrayList? What structure backs an ArrayList? How does it grow dynamically?” Coding over the phone is torture, even worse than coding on the whiteboard. The interviewer can get a sense of how the candidate solves problems, but not how the candidate works. (The truth is, I haven’t been able to keep using a lot of my hard-earned best practices at Amazon because management and the technical teams I’ve been a part of are inculcated in the Amazonian “Not invented here” and “That’s now how we do our { libraries | Scrum | Agile process | scripts}.” The biggest challenges someone faces coming to work at Amazon are dealing with the tradition of tribal knowledge, demonstrated in the dual requirements of conforming to the way things are coded here and handling the common attitude of “You’re stupid if you don’t know what you don’t know, so I won’t tell you.”)

When interviewing in-house at Amazon, I was discouraged from using my external memory to take notes on my interviews, at the time a Palm handheld. It was an endearing device when I was contracting at Kroger and my teammates grew to rely on my notes. After coming to Seattle, the batteries stopped accepting a charge and I fell out of the habit. I’ve been looking for a replacement, something with graffiti, but it looks like the best I’ll be able to swing is a Windows smartphone. My last Windows Mobile device was a T-Mobile MDA which was pretty painful to use, certainly not as good as the iPhone, but at least it did accept written input. I’d love to ask the interview candidate, “Has the Windows Mobile platform gotten any better in the past couple years?”

Got my Kindle

Posted by Chris Jones
On February 25th, 2009 at 13:34

Permalink | Trackback | Links In |

Comments Off on Got my Kindle
Posted in General, Work

I received my Kindle 2 yesterday. Becky liked how lightweight it was, but she prefers the button layout of the Kindle 1 — at the least, she’d like a previous button on the right side, and she liked having the SD card slot to store more books. The refresh rate and quality of the screen was higher, but she decided she’ll stick with her year-old one.

I had trouble finding a lot of long tail books. Feel free to request them for the Kindle: Amazon pays attention to these requests and will bring them to the publishers. Here are some of the titles I’ve requested already:


Someone actually understands Amazon

Posted by Chris Jones
On February 24th, 2009 at 16:57

Permalink | Trackback | Links In |

Comments Off on Someone actually understands Amazon
Posted in Work

As an Amazon employee, I learned this in orientation, in all-hands-meetings, and through doing my job. I’m impressed, however, that Scott Wingo of Seeking Alpha actually gets how Amazon does business.

Now, if only every other investor got it, I’d make a killing off stock sales.

No, really

Posted by Chris Jones
On February 29th, 2008 at 16:17

Permalink | Trackback | Links In |

Comments Off on No, really
Posted in General, Pets, Work

So, Sandesh moved on to an internal tools team, and Paul is getting his hands on S3 code. Aaron is moving out of his team leadership position and voluntarily going back to being a designer. Jim and I now split ownership of our project’s servers, services, databases, and code. With only two software engineers, we’ve been facing some serious challenges in scheduling, support, and development. On the other hand, this is a great opportunity for me to shine.

I’ve been pretty tired lately: work has taken a lot out of me, and when I get home, I get to puppysit through the evening.

Rose, Brody, and Pyewacket

As you can imagine, I don’t get a lot of playtime unless you count sitting on the floor and interacting with dogs. I haven’t played any MMOs in over a month (except to yank mail in WoW), so I told Becky that I was considering canceling WoW and CoH. Her reaction was something along the lines of, “You need to make the time if you want to play those games, but don’t you cut into the time I spend with you in the evening.” But that’s why I set up the Ventrillo server, so we could game in different parts of the house but still talk to each other. I think the luster wore off that solution.
(more…)

Yet another beta

Posted by Chris Jones
On September 17th, 2007 at 15:31

Permalink | Trackback | Links In |

Comments Off on Yet another beta
Posted in Work

I got into another beta at work. I’m trying out Amazon Fresh, which will be a lot more useful to me when I’m living in West Seattle again, but anyone in the Seattle area can register for that service. And I just got the chance to try the new MP3 download service. All I can say at this time without breaking the NDA and without adding anything new to the public is:

As a stock holder, I think this is a great service and offers a consumer-friendly service that the iTunes store can’t match in the long run because of DRM. As a music lover and owner of a gawdawful number of CDs, the chance to get high quality downloads at a reasonable price, especially for older music, without adding to the boxes full of ripped CDs is a gift. Not every song I want is available on a torrent, and sometimes you just feel better buying the music.

Slaving away with Perl

Posted by Chris Jones
On September 11th, 2007 at 14:59

Permalink | Trackback | Links In |

Comments (1) |
Posted in Work

A friend said,

Java’s boxing / unboxing drives me batty and I waste tons of time on it

He was referring to operations in Java 1.4 (and earlier) like:

  Collection c = new ArrayList();
  c.add(new Integer(100);
  Integer i = (Integer)c.get(0);
  int foo = i.intValue();

I’d like to know what makes a Perl hacker think

  @foo = @{ $bar[idx] };

is intuitive casting syntax.

The good news is that I’ve more or less completed a proof of concept in Perl for work. The bad news is that it had to be done in Perl.

Finally a legitimate payment and subscription solution for indie game companies

Posted by Chris Jones
On August 30th, 2007 at 15:40

Permalink | Trackback | Links In |

Comments Off on Finally a legitimate payment and subscription solution for indie game companies
Posted in Games, Work

I missed the public announcement on this so I’m almost a month late, but this is great news for indie game developers and those trying to put together subscription and micropayment systems for games. Amazon Flexible Payment Service lets you associate tokens with payments, which can then be verified and used to extend subscriptions, purchase in-game items, etc. With pre-paid and post-paid services, you have the flexibility to bundle micropayments or transactions into a batch of payments. Amazon also tells you up-front what your costs will be (per transaction) and how to get discounts.

I had a chance to read about this system (the presenter wasn’t there) at the Amazon Science Fair today and it immediately reminded me of a conversation I’d had earlier with Steven Davis at OGDC Seattle in March, 2007. I’m interested in trying this out in a sandbox, creating payment services for indie games that don’t go through shady payment processors but instead take advantage of Amazon’s web services. All it takes is (free) time. 🙂