Archive

Archive for the ‘Uncategorized’ Category

PyCon, day 2

March 10, 2012 Leave a comment

*Yawn*, I’m up. Great party last night.

I met someone who lives and works in the Galápagos Islands for the Charles Darwin foundation! We had a nice chat. He has fascinating challenges doing data crunching and providing web services down there.

“Pragmatic Unicode, or, How do I stop the pain” — Gah, shoot UTF-32 and UTF-16 in the head. That’d be my vote.

The Celery talk will be interesting. I’ve interacted with Ask online, never met him in person.

PyCon, day 1

March 9, 2012 Leave a comment

The first day of the main conference! I’m anticipating syncing up with friends, like Andrew and Kirk. With tinges of loss and misery caused by Joe‘s and Ryan‘s absence…

Great Keynote speeches. Morning is metaclasses, classes, and subclasses. Should one run away from metaclasses, or view them as just another tool?(Apologies to Edward Teller‘s estate.) The subclassing talk taught me a thing or two.

“If your class has only two methods and one of them is __init__, it’s not a class. It’s really a function.”

Advanced security topics summary: We’re all doing it wrong and we’re all hoseheads.

Lots o’ good ideas and tips about context managers and decorators. I’m going to rip up some code when I return to work on Monday.

 

Tags:

PyCon tutorials, day 2

March 8, 2012 Leave a comment

Yesterday was SQL and MongoDB. I plugged up some knowledge gaps. Goodness. Except for a Ming firehose onto which I held for dear life.

Today is a “Python epiphanies” tutorial, and NLTK. More goodness.

Tags:

PyCon tutorials, day 1

March 7, 2012 Leave a comment

Up for day 1. A nice day in Santa Clara. A lime has no place in a breakfast fruit bowl. If I have anything cosmic to share, I’ll do it here.

WAKE UP!

Tags:

PyCon 2012 bound

March 5, 2012 Leave a comment

I’m off to PyCon 2012 tomorrow. Yee haw!

Tags:

Thought of the day: Where to draw the line?

March 4, 2012 4 comments

You’ve got a trip scheduled, say a vacation or technical conference, and you’re looking forward to it.

If the company asks you to cancel it because now’s not a good time to be out of the office, should you?

Is there ever a good time to be out of the office?

When do you bend, vs. drawing a line in the dirt and saying you won’t cross it?

I’m just asking the question.

Tags:

A nice little refactor

February 23, 2012 Leave a comment

I was in some code I haven’t visited in a while. And I came upon something I coded months ago.

It used a list comprehension to test every element of a list. If the result was empty, it signaled an error. Otherwise, it used result[0].

Gah! That’s so retarded! Was I asleep when I wrote that?

I changed it to a generator expression with a .next(), within a try/except on StopIteration.

One fewer line of code, and it’s faster.

I felt good.

Tags:

Replacing Redis with a Python Mock

February 18, 2012 3 comments

tl;dr

When writing tests, mock out a subsystem if and only if it’s prohibitive to test against the real thing.

!tl;dr

Our product uses Redis. It’s an awesome technology.

We’ve avoided needing Redis in our unit tests. But when I added a product feature that made deep use of Redis, I wrote its unit tests to use it, and changed our development fabfile to instantiate a test Redis server when running the unit tests locally.

(A QA purest might argue that unit tests should never touch major system components outside of the unit under test. I prefer to do as much testing as possible in unit tests, provided they don’t take too long to run, and setup and teardown aren’t too much of a PITA.)

This was a contributory reason for our builds now failing on our Hudson CI server. Redis wasn’t installed on it!

Why didn’t I immediately install Redis on our CI server?

  1. Our CI server had other problems
  2. I intended to nuke it and re-create it with the latest version of Jenkins. I just needed to first clear some things off my plate
  3. Our dev team had shrunk down to just two people
  4. We were both strict about running unit tests before checking code into the pool
  5. We were up to our necks in other alligators

From a test-quality perspective, if code uses X in production, it’s better for tests to run with X than with a simulation of X.

One of the many joys of working with Ryan is that he challenges my assumptions and makes me consider alternatives. Because of a perceived lack of elegance in needing Redis on our CI server, and because his work had been temporarily blocked by my code changes, he challenged me to replace my unit tests’ use of Redis with a mock.

I walked into work yesterday and it was quiet. All our critical bugs blocking Saturday’s release were closed. I thought, why not? I’ll give it a go. Today’s a good day to see what’s involved with replacing Redis with a mock!

Read more…

Tags: , ,

I’m still looking for a great UI Developer

February 13, 2012 Leave a comment

I’ve filled my Senior Developer position. Whew!

I’m still looking for a Senior UI Developer. If you’re a front-end developer who wants to work on a site with cool data visualizations, contact me!

———

Title: Senior UI Developer

Reports to: CTO

Location: Seattle, WA

About IP Street

Founded in 2009, IP Street develops and markets software to help corporations, law firms, financial research firms, and government agencies better analyze patent-related information. Our goal is to make IP data easy to get, use, and understand, so everyone can have access to high quality and transparent information.

Learn more about IP Street by visiting www.ipstreet.com

Summary

We’re seeking a great data visualization developer skilled in UI look and feel, and user experience. We have graphics expertise already; we’re looking for someone with experience in page templates, XHTML, JavaScript, jQuery, and charting packages.

Key Responsibilities

  • Enhance and extend existing page templates and JavaScript to create new product features
  • Work with Product Manager and other team members to prototype and refine proposed new features
  • Design graphical visualization of 100s to 1000s of datapoints
  • Swiftly classify reported bugs as being front-end or server-side
  • Occasionally wear testing or other “hats” as the need arises

Qualifications

  • 7+ years experience in developing web application front-ends using JavaScript and a template-based web framework, such as Django
  • 4+ years experience in Ajax, JSON, jQuery or similar JavaScript library
  • Experience building single page JavaScript-heavy applications
  • Well-versed in object-oriented design patterns used in UI
  • Solid abilities in cross-browser coding, testing, and troubleshooting
  • Solid ability to be self-directed and proactive
  • Extremely familiar with web application performance best practices
  • Enjoy all aspects of software product creation — design, implementation, and debugging
  • Bachelors Degree or equivalent in Computer Science or Software Engineering
  • Excellent communication skills

Bonus Points

  • Experience in working with a graphing package, such as Highcharts
  • Aptitude for creating compelling data visualizations
  • Experience with JavaScript MVC frameworks, such as SproutCore or Backbone
Tags:

Seattle startup scene: More of the same, all the time

February 12, 2012 1 comment

Either I’m the most curdled curmudgeon in the world, or the most insightful person in the world. It’s a bimodal graph with no middle ground.

I lurk on the Seattle Tech Startups list, follow GeekWire and TechFlash (which went downhill after Bishop and Cook left), keep abreast of what’s cooking in NWEN, and occasionally attend after-work local tech events.

Read more…

An awesome engineer makes me scratch my head

February 8, 2012 4 comments

I know an awesome software engineer. He’s very smart and a joy to work with. He’s platinum-grade material, and I’d work with him again in a femtosecond.

On rare occasions, this Pythonista among Pythonistas and Djangonaut among Djangonauts writes code that makes me scratch my head.

Read more…

Tags: ,
Follow

Get every new post delivered to your Inbox.

Join 850 other followers