Archive

Archive for the ‘Uncategorized’ Category

Upgrading our CloudFiles API

May 21, 2013 Leave a comment

We host IP Street’s SAAS product at Rackspace. We’re finally taking the plunge and upgrading from python-cloudfiles to pyrax. We didn’t have any big issues with python-cloudfiles, but I was tiring of getting the brush-off from Rackspace when we asked for help with an API failure.

The benefits of keeping a technology up-to-date far outweighs the costs, unless you’re in an extreme corner case with a very unreliable vendor. Better performance, bug fixes, better capabilities, better support… all good stuff.

 

Tags: ,

Comparing two technologies on their configuration style

May 19, 2013 Leave a comment

At IP Street, most of our technology stack is open-source. Something happened last week that threw our components’ different design philosophies into stark relief.

We use Solr (with Zookeeper) for many of our search and pivot tasks, and Redis as a Swiss Army Knife. They do different things and have different consistency requirements. You can easily critique any juxtaposition as comparing apples to oranges. I think it’s instructive, because Solr and Redis are both high-performance, production-quality, and powerful tools.

Working on them within the same day, I experienced exact terminal opposites in configuration philosophy!

Let’s meet contestant number 1

Solr is a powerful search engine. Their Cloud feature lets you shard and scale your index, and Solr will do the internal shard and node routing. Or you can direct your queries to the appropriate node for a small performance win. Being short-handed understaffed frugal with our peons worker bees people, we let Solr do the routing. “Here’s a document, store it.” “I want this document.” “Here’s a pivot within a search, do it and assemble the results for me, pronto.” Etc.

Solr nodes are peers, though internally there are leaders and replicas. Solr uses Zookeeper, an Apache technology for distributed persistent configuration. Nodes do the right thing when other nodes come and go.
Read more…

Fun with the Internet

April 25, 2013 Leave a comment

I just found my ninth-grade science teacher online. I e-mailed him to say how great he was, and how much I appreciated his influence during my turbulent adolescence. So there’s that.

 

Tags:

PyCon 2013 things I didn’t do

March 17, 2013 Leave a comment

I didn’t claim my “swag bag”. I wasn’t even tempted. I don’t need another meh coffee mug or pen. I don’t need a small stack of paper brochures I’ll only discard.

It’s time for conferences to retire the swag bag!

This anachronism should have perished years ago. Anything I want to discover, I can discover on the web 1000x faster than I can in a swag bag. You expect me to flip through the paper collateral? If I’m interested in web-based analytics, Python IDEs, or “live chat” technology for web pages, I’ll search online. I know the swag bag is a tiny and unrepresentative subset of my options. If you’re expecting me to think, “Ooo, I’ll use their product, they’re in my swag bag!” your model of how brains work (well, my brain, anyway, but then again mine’s the archetype) is wrong.

Back in the day, you looked forward to finding the latest copies of software, or interesting trial/demo/crippleware, in a swag bag. Trial copies of Visual Studio, or a Linux distribution, or the like. Or, going way back, new products that you never heard of. None of that is true anymore.

I know swag bag material helps sell sponsor slots, and that’s how conferences defray costs. But they’re still nigh useless, and bad for the environment. It’s a matter of time before vendors wise up to how little return they get on their swag dollar. Conferences should move now to kill this ancient custom!

Every attendee received a Raspberry Pi, Model B unit. Very cool! I didn’t have any interest, so I didn’t claim mine. All the unclaimed units are being donated to charities and schools, so my Raspberry Pi will go to some worthy cause somewhere. I hope some girl or boy is inspired by it.

I wanted to take in some evening events, but except for the first night, my control rods went in around 6:30 pm and I chilled instead. On the plus side, I got lots of sleep and woke up refreshed each morning. In fact, I noticed myself dragging less on the conference’s last day than I normally do at this point in a conference. Getting good sleep is good. Who woulda thunk it?

Tags:

PyCon better this year than last

March 14, 2013 Leave a comment

I’m enjoying myself more this year than last. I think it’s because my head’s in a better place than it was last year. Things are better at work, a dim light may be visible at the end of the tunnel, etc.

Odd.

 

Tags:

PyCon 2013

March 12, 2013 Leave a comment

I’m attending PyCon again this year. The tutorials and the main conference.

In past years, I posted commentary about the sessions I attended. I won’t do that this year. Don’t feel like it. Not sure why.

 

Tags:

Drobo data recovery: Conclusion

February 9, 2013 Leave a comment

My dead Drobo saga’s conclusion…

tl;dr

  • Grades: Drobo customer support: A+. DiskWarrior: F. Disk Rescue 3: A-.
  • Don’t consider your Drobo to be hot-swappable. Ever.
  • Buy Disk Rescue 3 and have it on hand.
  • Run Disk Utility and do a Verify Disk once a month. If that’s too often for you, do it once a quarter.

Read more…

Tags: ,

Trying to rescue data off my dead Drobo

February 5, 2013 1 comment

Drobo customer support is trying but is coming up empty. Now I’m trying Data Rescue 3 to read data off the Drobo. DiskWarrior can’t see the Drobo because it isn’t mounted, but Data Rescue 3 can.

In fact, DiskWarrior also doesn’t see the Drobo when it’s run stand-alone off their DVD! I tried this on my wife’s iMac. OS X sees the disk (but does not mount it), Disk Utility lists it and allows me to try a Verify Disk and Repair Disk, but DiskWarrior doesn’t see it. I’ll try their tech support next.

Tags:

Drobo update: In the hands of Drobo customer support…

February 3, 2013 Leave a comment

I’ve filed a ticket with their customer support system. They’ve been excellent when I’ve used them in the past, although those times were for nothing as serious as this.

Tags:

A Drobo firmware update bricked my Drobo

February 3, 2013 1 comment

I’m migrating my files and apps to my new MacBook Pro. A highly anticipated improvement was connecting my Drobo S to a USB 3.0 interface, instead of my previous laptop’s USB 2.0 bus.

During my migration, the Drobo Dashboard advised me that a Drobo firmware update was available. I did the update, which -boom- bricked my Drobo.

After trying rebooting, power-cycling the Drobo, and plugging it into the other USB socket, I’m at a point where Drobo Dashboard says the Drobo is healthy. But OS X won’t mount it. Disk Utility says:

Unable to bootstrap transaction group 6000: cksum mismatch
No valid commit checkpoint found
The volume xxxxxxx was found corrupt and needs to be repaired.
Problems were found with the partition map which may prevent booting
Error: This disk needs to be repaired. Click Repair Disk.

I then run Repair Disk, and it tells me the same thing! So Repair Disk can’t repair the disk!

I bought DiskWarrior (for $109, I’ll have you know) but it can’t repair a disk that isn’t mounted. They’ll ship me a physical CD-ROM of my purchase, so I can try booting from it. Oh, but wait, my MacBook Pro/Retina doesn’t have a CD-ROM drive!

I am not a happy camper.

Tags: , ,

How not to maintain an API

January 12, 2013 1 comment

We license a vendor’s services for corporate information, like annual revenue and office locations. Their name shall be kept confidential in this story.

We access their API via http calls. They call it a REST API. But like 95% of the “REST” APIs in the world, it’s not REST at all, and in fact nowhere near REST. The term “REST” has been corrupted to be become synonymous with, “web API”.

But whatever. It’s an API accessed with http calls.

One of service calls has a parameter called, “countryCode”, which was documented as an ISO 3166 country code.

Read more…

Follow

Get every new post delivered to your Inbox.

Join 1,489 other followers