Reinventing wheels

redesign the wheel, stop re-branding it.
one of my complaints about the ‘big boys’ in silicon valley is that they are constantly redesigning and reinventing wheels internally, and not feeding anything back to actually redesign the wheel for everyone.

tech companies have a certain advantage in this situation, because so much of the product is controlled and not allowed to be examined. if you buy a mercedes, you can tear it apart to find out how it works. you cannot tear facebook’s backend apart and find flaws or see how they have solved problems, to learn from it.

a few examples. twitter reportedly uses a heavily modified bittorrent protocol to do speedy infrastructure deployments. facebook has their own content delivery network, directly competing with companies who are single-mindedly focused on improving and advancing CDN tech. all of the larger companies have proprietary solutions for datacenter deployment and management and alert monitoring.

if all of these things were open source, innovation would skyrocket. suddenly startups would be able to roll out a datacenter in under 6 months, and get to the real work of being a startup; innovation.

this is why i don’t want to work in a startup. i do not want to waste my cycles considering age old problems that for reasons unknown to me have no standard or agreed upon solutions.

maybe this means there is a niche for companies specifically geared toward building datacenter infrastructure for fledgling companies. it’s all they do, so when you pay them to set you up, they get you set up, provide you documentation and support, and bam, you’re off.

now you don’t have need for a NOC team, because this company probably provides a contract for that support. you don’t need to hire so many junior admins, because they can get work at those companies, until they earn their chops and can dive into specific areas.

i was explaining github to someone new to revision control last night, and i was making the point about how you can contribute back to a project that you believe in, you just have to fork it, make your changes, submit them upstream, and move along.

most people forget to push upstream though, so there isn’t a ‘master’ project anywhere, there’s 1000s of forks of the same project with the same changes in different ways by code, and it’s a cluster-fuck.

why? because people want recognition for their work, and their authorship of a commit to a larger project doesn’t seem as satisfying as making it yourself, the way YOU want it, and then taking full credit for it.

grow up people, the historians will know who did what, you don’t need to work so hard to make a name for yourself. collaboration and contribution to a project is far more noteworthy in my opinion, than writing a new version of the wheel that only you find useful.

added when posting to facebook; this idea has been begging to come out of my head for a while, but when i was sitting out having a smoke and noticed a Yellow Pages van go by that was delivering the Yellow Pages residentially, when i thought… why isn’t USPS or UPS or FedEx or DHL or … ANY other delivery service not delivering those.

it must be cheaper in some way, but you get what you pay for. if you have to maintain a fleet of vehicles and drivers to distribute your useless phone directory… i might think about the cost difference a little harder, and the quality of service.

key points, using CDN as an example:

when a large company stops using a CDN to build their own, they do a few things:

1. support and funding for development are taken away from a company that specializes 2. poach specialized talent from the specialized companies, to have for themselves. 3. remove incentives for companies to specialize and provide higher quality service. 4. leaves the smaller companies with tools that are mediocre and not as efficient.

this means that as more companies make their own CDNs, the companies that at one time did it really well, because they had the means and resources, are now out of business, and if you are a small company, you have to use Facebook’s CDN service.

why do we need these mega companies that do all things? it doesn’t make anything easier, it reduces our options as consumers and in the end, hurts all of us, except the people with accounts in the cayman islands.

if, instead of deciding to ‘do it yourself’ because your CDN isn’t providing what you need, you provide them feedback to let them know how they are failing you, so they can improve their service, we end up with a handful of companies that specialize in CDN and do it really well.

Keep It Simple, Stupid.

anyone can use grep. how they use it is a reflection of their skill.

anyone can, in my utopia, use a CDN. if you provide them with the proper arguments, you will get results you want. skill is required to use a tool. all the tools should be available to anyone who want use them. access for all.

collaborate and work together to develop awesome solutions to old problems.

people do not think like that here, by and large.

that is why i want to leave and that is why i want to make it clear to any employers who don’t have their blinders on yet, what i offer.

if someone can see value in me before December 31st, i’ll stick around…

google/apple/microsoft mapping
first, why is it that companies like Garmin and Magellan are not providers of online mapping and navigation tools? seriously, you can stop reading right there, fire up your email client, and send me your thoughts on that issue, before continuing any further. if my question doesn’t make any sense, let me know.

the other day, i was having coffee with a friend of mine, sitting out front along-side the street. a woman pulled up, to ask for help. she was looking for the mountain view high school. since i’m not a local, i deferred to the person having coffee with me, since he’d lived in SF all his life, or at least longer than i.

i said i didn’t know, i could check my phone though, to see. she told us she had already used her phone, she was using the “new” mapping feature on iphone (don’t even get me started on my grief about how long that simple advancement took… turn-by-turn navigation was available in android 1.6).

my companion also had an iphone, but since we’re technical, there’s a chance she missed something, so he was confirming her result. his phone also told him that mountain view high school was somewhere in the castro street area of mountain view.

before he got to his answer, though, i finally pulled out my android based phone, and looked up ‘high school’ on my maps, and eventually found it, at 3535 Truman Avenue. not AT ALL the address that the iphone maps had provided.

so, i was able to give the lady directions and an address, and we both smiled and laughed at the goofiness of technology.

to go further, i was with my dad grabbing dinner tonight, and afterwards, we wanted some coffee. we were on murphy avenue, in sunnyvale, and i am not very familiar with that area. so when he asked where we should get coffee, i suggested my new favorite coffee shop, because the place i was loyal to spit on me, but then i asked what time it was.

it was 19:00, on a saturday. i predicted there would be a lot of parking issues in downtown mountain view, so i recommended a peet’s, since they’re a chain, and the coffee is reasonably good, and i just wanted to sit down and keep talking with my father.

so. after watching my dad struggle to use the iphone to find a coffee shop on the absolutely horrendous att 3g network, and since the fonts are too small and screen too small for his gently used eyes, i took the phone from him, and took over.

i looked for a peet’s, i searched the maps, and the closest i could find was in mountain view, i knew where the spot was, so we hopped in the car and i directed him. on our way, we spotted a peet’s that had been less than a mile from our location.

it hadn’t shown up on apple’s maps.

i’m not making any statements here, i’m just related my experience, what you take from it is your choice. i strongly suspect if 3rd parties were responsible for mapping tech, both android and iphone would have AMAZING turn by turn navigation and mapping abilities.

not only that, but the interface would be uniform across platform and a breeze to use.

so. tell me with a straight face that google doing their own thing for maps, and apple doing their own thing for maps, and microsoft doing their own thing for maps is good for any of us. please, i don’t see it, and if you do, i want to see it too.

google is a search engine, apple is an OS manufacturer and hardware giant, microsoft is an OS company.

none of them were started to do mapping like Garmin or Magellan were.