Stones
This was an exercise in synchronizing motion to audio. As a school project this past semester, we were all assignments parts of Anon Day’s song Stones to produce a piece of video for. This was the intro.
This was an exercise in synchronizing motion to audio. As a school project this past semester, we were all assignments parts of Anon Day’s song Stones to produce a piece of video for. This was the intro.
This was a project for my packaging design class, this past semester. Starting from scratch, I designed the entire story and identity. Illustration was done by the incredibly talented Brian Mutschler.
Scylla is said to once have been a nymph so beautiful that Poseidon, the great god of the seas, fell madly in love with her. Scylla, not reciprocating the feeling, fled to the dry land, where he could not follow. Angry at her betrayal, Poseidon cursed her and transformed her into a monster, to forever haunt the sea. Eons later, a mercenary of the crusades from Couvet, Switzerland got caught at sea in a terrible storm and wrecked onto Scylla’s reef. Scylla rescued and nurtured him and they fell in love. When another ship finally came to the rescue, Scylla gave him the recipe to an elixir which, when ingested, would instantly bring her image to life in his mind. To this day, his great great grand children distill this very same elixir.
This story will sound familiar to a lot of people this morning, I fear: I woke up to a handful of text messages, emails and IM messages saying Apple had opened sales for WWDC tickets at 5:30 am. I frantically jumped out of bed and to my computer, to try and buy one immediately. Of course, as it were, all tickets were sold out.
The rules this year around state that a personal Apple developer account can only get one ticket, and a company account can get five. Tickets are non-transferable to and non-refundable prevent scalping.
I appreciate the fact that Apple is trying to prevent scalping, and tickets going on sale for double the price on Ebay and Craigslist, but I think they’ve only exacerbated the problem. Now, legitimate developers such as myself do not even have a third-party recourse to buy a ticket at a premium.
Here are some things Apple could have done instead:
If first-come first-served is really the approach they wanted, a better way would have been to announce when the tickets go on sale in advance, and let everybody set their alarm and fairly race for the ticket.
They could have staggered the ticket sales over the course of the day; making 500 new tickets available every hour.
They could have used a criteria other than luck to decide who gets a ticket. Perhaps limit it to developers that have apps in the store, developers who can solve a programming puzzle. Even an application where developers have to state what they hope to get out of the conference.
They could have solved the supply / demand problem by making the price proportional to the amount of tickets left. Every ticket sold augments the value of the remaining tickets. The 1000th ticket could have been worth $2250, the 2000th $3000, and so on, going up in price as the supply dwindles.
I don’t think any of these solutions are perfect. But I think any of them would have been better than the way Apple chose to go, screwing legitimate west-coast developers out of the most important conference and learning experience of the year.
Human stupidity in all of its beautiful glory.
(Source: youtube.com, via 9-bits)
It’s often claimed that we are creating a negative environment for women in tech, through the way we like to have fun and blow off steam. A startup is an intensely stressful environment, and staying sane is crucial. In-jokes, brogramming, and good-natured debauchery is a way to do that. If somebody cannot handle some crudeness, I’d postulate that he or she does not belong at a startup, regardless of gender. Because, when shit hits the fan, as it invariably does, we need people who can take it.
Recently, a developer was forced to rename his open source project, because “testosterone” wasn’t politically correct enough. I’ve talked before about the hypocrisy of our constant striving for political correctness—but that’s an entirely different argument altogether. My goal in life is not to please everybody. Sometimes I’m vulgar. If I call something “retarded” or “idiotic,” it should be obvious that it has nothing to do with people afflicted with Down’s syndrome. In my opinion, when people call it out, the correct response really should be lighten up.
We cannot beat sexism until gender is no longer an issue. Keeping up the current level of discourse is making things worse. Subsidizing women in tech with money, like Etsy is doing, is widening the gap between men and women. By doing this, you’re not only admitting that women cannot make it in tech without some extra help, you’re also effectively creating inequality, affirmative-action style.
Equality, by the way, does not mean gender balance. It means equal opportunity. It means that a woman will not be passed over for a job because of her gender. It means that she has as much of a shot at becoming the next Zuckerberg as I do. It does not mean her company will never produce sexy ads, or use booth babes, or have a tightly knit group of programmers who like to drink beer and jokingly call themselves “brogrammers.”
I’m tired of being told, over and over again, that I’m a sexist pig because I’m not in favor of achieving an artificial gender balance. I’m tired of being called a homophobe, or a racist, sexist, or even a nazi because I said something that’s technically not politically correct—even though my statement had absolutely nothing to do with any of the groups offended.
Again, these are my own controversial opinions, and in no way reflect my employer’s.
Alex Munroe:
I can’t even say what’s wrong with PHP, because— okay. Imagine you have uh, a toolbox. A set of tools. Looks okay, standard stuff in there.
You pull out a screwdriver, and you see it’s one of those weird tri-headed things. Okay, well, that’s not very useful to you, but you guess it comes in handy sometimes.
You pull out the hammer, but to your dismay, it has the claw part on both sides. Still serviceable though, I mean, you can hit nails with the middle of the head holding it sideways.
You pull out the pliers, but they don’t have those serrated surfaces; it’s flat and smooth. That’s less useful, but it still turns bolts well enough, so whatever.
And on you go. Everything in the box is kind of weird and quirky, but maybe not enough to make it completely worthless. And there’s no clear problem with the set as a whole; it still has all the tools.
Now imagine you meet millions of carpenters using this toolbox who tell you “well hey what’s the problem with these tools? They’re all I’ve ever used and they work fine!” And the carpenters show you the houses they’ve built, where every room is a pentagon and the roof is upside-down. And you knock on the front door and it just collapses inwards and they all yell at you for breaking their door.
That’s what’s wrong with PHP.
PHP can be used to build some awesome stuff (Facebook is living proof!), but it’s important to realize that it’s also a fundamentally awful language. It’s like crack. It’s useful enough that it keeps us using it over and over again, while systematically destroying our productivity with its quirks.
When I complain about PHP at work, some like to remind me that I’m a hypocrite, since I wrote a blog post praising PHP. Or, rather, claiming that it’s possible to code PHP smartly and avoid its pitfalls. I’m not sure if I still agree with it today, but I sure do feel my brain turning to Jell-O whenever PHP fucks me over with one of its silly, silly idiosyncrasies.
Over the past week, I’ve quietly redesigned this blog to be somewhat up to my current standards. Before, I was using a customized version of Jake Paul’s theme, Solstice, which while attractive, was not my own work.
There were quite a few things I wanted to achieve with this redesign:
Most importantly, I wanted to have clear and easily legible typography on articles. This is, after all, a blog, and must serve its primary function above all. I also wanted to give myself a unique and somewhat more consistent personal brand, which I think this succeeds in doing.
I wanted the header to be a window into a photographic snapshot. It will be either selected randomly from a selection of my best shots, or updated on a semi-regular schedule. The end goal being: to push myself to take more and better photos, more often.
Lastly, I wanted to try to use some cool modern technologies and ideas. The header uses subtle parallax scrolling, which I think looks gorgeous. The styles is done in a LESS stylesheet, which makes coding CSS a breeze. I’m using semantic HTML 5 tags, like header
and article
, and using a few CSS3 animations. All in all, this was a fun and light coding exercise.
For a fun easter egg, click the little expand icon at the very top-left of any page.
Overall, I’m very satisfied with the result, but will no doubt keep tweaking it over time.
Credit where credit is due: I’ve drawn inspiration from many places, including: Sebastiaan de With, Dustin Curtis, and Hero's parallax header. I also used Andy Davies' pattern, light wool.
Three years ago, I wrote a summary of the major problems with Apple’s App Store as an email on the iphonesb mailing list. Three years later, I think it’s a good time to look back and see how Apple has handled the situation, and assess whether we’re better off.
App Store:
Junk Apps: The App Store is filled with junk apps made in, at most, ten minutes. The proliferation of iPhone success stories has given rise to an epidemic of hopeful developers taking shortcuts hoping to make a quick buck. These apps make up 98% of the App Store’s 50k apps. This creates needless clutter that makes it hard for the real apps that real developer spent real time and real money on to get noticed.
App Store Reviews: There are plenty of problems with the reviews on the store: they’re nearly always of terrible quality. There’s no way to contest or respond to an erroneous review. There’s not even a way to respond to a review saying there’s a problem with the app with a solution, or a “that’s coming in the next update—hang tight.”
Rate On Delete: Apple is artificially creating needless bad ratings by asking users to rate an app when they delete it, which quite obviously only creates 1-star ratings. For example: iLaugh Lite 1.0 had over a third of a million users, and many of them were happy and kept coming back to the application, I could see from the analytics. Yet, my rating was 2 stars, because a couple thousands (out of a quarter of a million) users didn’t like the app and deleted it and rated it 1 star. The hundreds of thousands of happy users, though, didn’t delete the app and therefore were not asked to rate the app. This creates artificially low ratings.
Search is broken. Either you’ve got to put a whole lot of keywords in your application name, which sucks for plenty of reasons, or you’ll fall behind the ones who do. Often, you just won’t show up in search that should totally return you first. Advanced search is useless and impractical.
Top Apps Charts: These charts have so much effect on whether an application gets noticed and downloaded that whether you show up on these charts can decide the fate of your application. Which also causes the next point.
Ringtone ($0.99) Apps: As has been very well discussed by Craig Hockenberry on his furbo.org blog, app prices have become a race to $0.99. Since the charts are counted by downloads, no matter the price of the app, it means that a lower price which causes more downloads will make your app more likely to succeed.
Upgrades, Promotions, Variable Pricing: No way to offer paid upgrades, which is a HUGE problem. There’s still no way to give out copies of your app over the 50 promo codes limit, which only work in the US. You can’t do bundle promotions, discounts or anything of the sort either.
Customer Data: Your customer data is hidden. There’s no way you can promote another app by you or a paid 2.0 upgrade (since you’ll have to create a new app for that). There’s no way you can switch an app to another iTunes Connect account if it gets acquired, without losing all customers and not giving them any further updates. (Check out futuretap.com’s blog post.)
App Review:
Lack of Transparency: There is no communication between us and Apple. Apple doesn’t want communication. They specifically block communications. Emails to their support never get answered, and phone calls just tell us to email. Often, they reject apps on no grounds, or simply obscurely and vaguely referring to some TOS article that only partly applies to the situation, leaving you no way to communicate back and contest the decision.
Updates: Updates take ages to get approved. They sometimes get rejected while being only a bug-fix update to an app that got approved. (This has happened to me.) And even when they get approved, it takes forever, possibly leaving some critical bug or crash in your application and costing you tons of negative reviews and ratings. (Has also happened to me.) Garrett Murray posted a couple interesting articles on the topic.
Review Time: Apple often takes many weeks to review anything posted to them. Some of my reviews took up to three months. (No kidding!) This is just not viable. Period.
Arbitrary Rejections: There have been countless examples of arbitrary and unwarranted rejection. I have my very own. There have been countless more examples reported.
iTunes Connect: It is a piece of garbage. There is simply no other polite way to put it. It is painfully slow. It is awfully designed. For example, not too long ago I was editing the description for my application, iLaugh. I had opened iTunes Connect’s page for my application in one tab and in another tab I opened another of my application’s info for reference. When I was done, I submitted the changes and, to my horror, instead of updating the description as it should have it overwrote the info of the other application I had open in the other tab with what I had submitted in the first tab. This is just an example, but there are plenty more ways in which iTunes Connect constantly screws up. There’s no way to delete an application, or change an update’s version number. It also gave me erroneous sales reports a few days back. Overall, it easily wins as the worst web app I have ever used. Period.
If this list of complaints sounds oddly familiar, it should, because it’s surprisingly still relevant today. While Apple has made a few steps forward—for example, by getting rid of rate-on-delete—it has made an equal number of steps back. An example is the recent UDID fiasco.
But what’s even more scary, to me, than a mistake Apple might have made recently (such as its deprecation of UDIDs) is how relevant this old list of complaints remains. Remember, when I wrote this, the App Store was just one year old. I figured, they might just not have had time to get to these items, and that they’d improve as time went by. But, since then, they’ve had time to replay the entire life of the App Store thrice more, and for the most part, nothing has changed.
This indicates apathy. Apple just doesn’t care about its third-party developers. Their business, at the end of the day, is in selling hardware. They have no motivation to make it easy for developers to build a business on top of their platform. They don’t even care, it seems, about fostering innovation.
The App Store’s biggest flaw, at the end of the day, is that it is not a free market. It is not a meritocracy, and app success is slave to the whim of a corporate overlord that changes it mind without explanation more often than a 5 year old.
Disclaimer: this is my own opinion and in no way reflects my employer’s.
Rolling Stone’s Matt Taibbi:
At least Bank of America got its name right. The ultimate Too Big to Fail bank really is America, a hypergluttonous ward of the state whose limitless fraud and criminal conspiracies we’ll all be paying for until the end of time. Did you hear about the plot to rig global interest rates? The $137 million fine for bilking needy schools and cities? The ingenious plan to suck multiple fees out of the unemployment checks of jobless workers? Take your eyes off them for 10 seconds and guaranteed, they’ll be into some shit again: This bank is like the world’s worst-behaved teenager, taking your car and running over kittens and fire hydrants on the way to Vegas for the weekend, maxing out your credit cards in the three days you spend at your aunt’s funeral. They’re out of control, yet they’ll never do time or go out of business, because the government remains creepily committed to their survival, like overindulgent parents who refuse to believe their 40-year-old live-at-home son could possibly be responsible for those dead hookers in the backyard.
This is the one article that explains the motivation behind the Occupy Wall Street “movement” rationally and sensibly enough to not be an immediate turn off. On the contrary, this fantastic piece of journalism made me realize just how massive of a mess we have gotten ourselves into.
America is one of the most hospitable countries. The American people are genuinely nice: they give a lot to charity, they like to have fun, they smile. It’s hard to realize how much of a difference this makes until you spend some time living somewhere else. In Russia, for example, people seem sad and distant, while in South Africa the pleasantries feel much forced and status-driven, as if you were talking to a butler or a panhandler.
Only in America do tellers ask you if you’ve had a good experience finding what you needed, say “please” and “thank you,” and strike up conversations while scanning in your purchases. Only in America is it not inconceivable to share a cab or an umbrella with a perfect stranger—in fact, I did both of those things just yesterday.
What surprises me, then, is the disparity between that and the experience of actually getting here. The United States is notorious for its extremely paranoid and unfriendly security practices when it comes to travel and immigration control. Of all the countries I have travelled to or lived in (the list is quite large), the process for the United States has been and continues to be hands down the most painful I have experienced.
This realization came to me when reading Mark Vanhoenacker’s New York Times op-ed, in which he writes:
No country’s border staff is perfect, as every traveler knows. But America — a land where strangers greet one another in elevators, waiters act as if they like you, stores deploy professional greeters and government serves the people — should aim to be the best. That means a smile or “hello” as we approach every agent, a “please” and “thank you” to bookend every official request and an occasional “welcome” as we cross a secure border.