Excited to be at the sfCITI announcement! Read more about it here: http://techcrunch.com/2012/01/13/ron-conway-mayor-lee-and-heather-harde-launch-sfciti-want-to-keep-sf-at-the-forefront-of-tech/
This story has never been told, and it's incredibly important to tell it today; it's a perfect example of what might come to be if SOPA becomes law -- a shoot first, question later mentality held by GoDaddy. Want to know what the world would be like under SOPA? Read on.
Sometime in 2009, Weebly was starting to gain momentum. We hadn't yet achieved the scale we have today, but we were hosting a couple million websites -- certainly a decent size by any measure. We registered weebly.com with GoDaddy back in early 2006, and hadn't paid any attention to our registrar since then. After all, GoDaddy was a reputable registrar and a decent place to house your domain.
One Saturday in the summer of 2009, we were eating lunch at Big Daddy's Burgers in South Lake Tahoe. I received a call from an unknown number on my cell phone, sometime around noon. I don't usually answer these calls, but we were waiting for our food, and for some reason this time I did.
The person on the other end seemed startled that I had actually answered. It was someone from GoDaddy's abuse department, who informed me that they were "turning off" weebly.com due to a complaint.
"WHAT?" I said frantically into the phone. He explained that they had received a complaint about the content of a site, and that they were removing the DNS entries for weebly.com because of it. I asked him if they had contacted us previously -- he responded that they hadn't.
The site in question featured a bad review of a local business, and that business had complained. Why on earth would a domain registrar take it upon themselves to police content?
As calmly as I possibly could at that moment, I explained to him that Weebly served millions of websites -- most of them US small businesses -- and asked if he had already changed the DNS entries. He said that he had, but that it wouldn't hit the system for another 10 minutes or so, and he could quickly revert it. Unbelievable -- crisis narrowly averted.
The very next day, we proceeded to transfer all of our domain names away from GoDaddy, to a registrar that actually cares about their customers.
This will be the future of the Internet if SOPA passes. A place where a complaint "in good faith" is all that is needed to take down millions of small businesses. This "shoot first" mentality, at the DNS level, is utterly destructive.
The "trial" and sentencing is performed by indifferent corporations who don't care about the collateral damage they cause. When they do cause damage, they plead ignorance or incompetence, and enforce double standards -- similar to how the RIAA recently blamed illegal downloading on their own network on a third party contractor, while holding individuals responsible for the same thing.
Unless this is the future you would like to live in, SOPA must be stopped.
I had a great time DJing at our recent holiday party in San Francisco for about 600 people. Here's the set list in case you're interested (not in exact order) -- make sure you scroll down as some of the best stuff is last:
It's hard to conceptualize the value $500 when you've just raised a couple million from investors. The measly few hundred -- or few thousand -- dollar expenses seem to be too unimportant to even consider.
Over time, we've started looking at things in a way that can bring it all in perspective. Consider this: if you've raised $2M at an $8M pre-money valuation, that $2M is worth 20% of your company. Each time you raise money, you are giving up a certain amount of equity to someone else in return for that money. And each time you spend money, you're spending equity in your company.
While it might seem like a $20,000 couch isn't an expense to fret over, that couch cost you 0.2% of your company. Likewise, a $250/month expense, while seemingly too insignificant to worry about, represents almost 0.1% of your company over 3 years.
The lesson here isn't to be penny wise and pound foolish -- certain expenses pay for themselves many times over -- but rather to carefully consider where you decide to spend your equity.
An article on Reddit recently (Unidentified hot girl stealing my Christmas presents) got me thinking: why hasn't a private company created a global database for facial recognition matching?
The pieces are all there: Crawl Facebook's publicly available data and index people's profile pictures. Then, provide a service where anybody can upload a picture and it will attempt to provide a match for the faces in the picture. It's sort of a DNA matching database for photos, if you will.
The implications are a bit frightening, but it's likely just a matter of time before someone does this exact thing, unless the law changes. IANAL, but it seems pretty clear that there is no expectation of privacy in public.
Like this post? Subscribe to this blog now.
Disclaimer: This worked for me, it might not work for you. Please back up your data before trying any of this.
You usually discover the breaking points of a particular schema once the table reaches a certain size. Unfortunately, at that point, ALTER-ing the table to add the appropriate index can take a really, really, really long time, especially if you get stuck in MySQL's dreaded "Repair With Keycache" phase.
I recently needed to alter a few tables with >50M rows in as little as time as possible. Here's one solution that goes reasonably fast if you have access to a machine with lots of memory:
Earlier today -- between 12:04 and 12:07pm PST, to be specific -- Authorize.net changed the way their API worked, unannounced, that caused successful transactions to not be recorded by us and many others, including ZenCart customers, and who knows how many others.
A Silent POST is the mechanism by which Authorize.net POSTs back to our servers to inform us of the outcome of a transaction. An MD5 hash is used to authenticate that the POST is legitimate, and one of the values hashed is the transaction amount.
Starting today, they are now passing the x_amount parameter back as 19.9500 (as an example) but still using 19.95 as the amount for the x_MD5_Hash parameter.
An immediate fix would require stripping out the last two 0's from x_amount (if present) when calculating the MD5 hash so that the computed md5 hash matches the x_MD5_Hash passed.
After having spent the better part of today figuring out what the problem was, fixing it, and manually reconciling hundreds of transactions, I'm really hoping they don't change the x_MD5_Hash tomorrow to rely on the new price format (x.xxxx), as it'll break everything all over again, and pretty much scuttle any chances I have of getting any thing done tomorrow.
If you're wondering why your transactions aren't showing up in your billing system, this is why.
And if it isn't clear enough, this is absolutely unacceptable. Not only is an unannounced API change to a heavily-used billing system horrendous, but this specific change is severely impacting customers, and Authorize.net are completely missing to fix the issue or answer any support requests.
I just recently got a new MacBook Pro, migrated my data over from my old laptop with Time Machine, and upgraded to Snow Leopard. Everything worked great, except Fireworks CS3, which wouldn't start and spit out the message: "Licensing for this product has stopped working".
After a couple hours of fiddling around and troubleshooting, I finally came up with a solution:
On the old laptop:
Yahoo! has just announced that they will be completely shutting down GeoCities later this year. I was a very early user of the service, and there are a couple lessons I've drawn as an observer over the years.
This is the coolest thing I have seen in a very, very long time. You need to print out a piece of paper, and then hold it up to your webcam: