Posts tagged “web development”
I've been saying for years that there are no fundamentals of web development, and people keep pushing back. My argument is simple: "fundamental" means *necessary*, and no single skill, not HTML, not CSS, not JavaScript, is necessary to get a web page into the world. Gatekeeping helps no one.
I push back on Alex Russell's "Market for Lemons" post blaming JS frameworks and their advocates for poor mobile web performance. Developers aren't stupid or deceived: React dominates because of rational economics. Frameworks save developer time, enable hiring, and compound via ecosystems. Better frameworks, not fewer frameworks, is the answer.
Twenty years of blogging, from sandwich diaries to AWS takedowns, coming out (twice) to becoming American. The blog has outlasted Slashdot, nearly outlasted Twitter, and documented almost my entire adult life. I was right about who I am and what I do. Here's to whatever comes next.
The web stack is too vast and ever-changing for anyone to fully master. Instead of stressing about that, understand how standardization, packaging, and abstraction constantly reshape what developers actually need to know, pick your battles wisely, and embrace the fact that you'll never be bored.
I explain how databases actually work: what a DBMS is, why relational databases use tables, why NoSQL became a marketing term for mostly-in-memory stores, how your app connects to a database, and how replication and network topology affect consistency versus availability. A deep dive sparked by one friend's simple question.
A web standards cover of "Hands to Heaven" called "Hands to Boag" is a delightful piece of web history, made even better by the fact that one of the podcast hosts was actually in the original band. I rescued it from bit-rot so you can still enjoy it.
Yes, front-end development is absurdly complicated right now. But developers aren't adding complexity for fun - user expectations have exploded while timelines haven't. Today's frameworks are doing what jQuery did: showing browsers what developers need. It'll consolidate eventually. The mess is just evolution, and evolution is worth it.
Nolan Lawson's piece on progressive enhancement is great, but conflates two different use cases: web apps and multi-page sites. For apps, offline-first beats JavaScript-free. For content sites, progressive rendering is essential since half-loaded pages are nearly guaranteed. Graceful degradation means something completely different depending which you're building.
The web saved my life as a suicidal, closeted gay teenager in Trinidad, connecting me to people and information I desperately needed. It then taught me everything I know. That's why I've spent nearly 20 years building websites, and why I'm driven to make it easier for others to build them too.
After a slow six-month transition, I've stepped back from awe.sm. I remain an advisor, but I'm now a free agent for the first time in a decade, working on tools to make web development easier. Not job hunting, not in stealth mode, just coding.
The tech industry is broken: 3% unemployment for programmers, 20% for construction workers, and we're still hand-crafting websites like artisans. We need knowledge factories, training less-skilled workers to assemble standardized software products. Stop fetishizing craft. Build assembly lines. Fix the economy.
ORM looks great early in a project but breaks down as complexity grows, forcing you to learn SQL anyway. Relations aren't objects. Either use NoSQL for object-like data or write a model layer with real SQL. ORM's abstraction is leaky, its efficiency poor, and the alternatives are better.
I've been a die-hard PHP developer for a decade, but I can feel it dying the same death Perl died when PHP beat it. Rails seems like the obvious successor but it's too slow and ActiveRecord is a mess. The real problem: PHP's replacement simply doesn't exist yet.
PHP is dying the same death Perl did before it. Rails is the obvious successor, but after 7 months living in it daily, I can't recommend it: the performance costs are brutal, ActiveRecord is a mess, and Rails is just another framework bolted onto a language. PHP's true replacement doesn't exist yet.
I turned 29 yesterday. Unlike most people, I've never had to agonize over my path: the web found me at 15 and I've never looked back. I'm doing exactly what I always wanted, exactly where I want to be. I know how lucky that makes me.
SQL is ugly but powerful, ORM is genuinely dumb, and "NoSQL" should really be called OMADS: Obviously More Appropriate Data Stores. Start every project with an RDBMS, add specialized stores where they fit, and stop apologizing for using SQL. Forty years on, nothing beats it for ad-hoc questions about your data.
Today's my last day at Yahoo!. I joined to fulfill a literal teenage dream, and it delivered: I became a better developer, engineer, and teammate. But after four years of incredible growth, I've hit a wall. Time to go somewhere new and start growing again.
I've revived my old web development blog with a guide to promoting your website without resorting to spam or sleazy tactics. Yes, it says "Social Media Optimization," but I promise it's mostly douchebaggery-free.
2009 was a light year for blogging, with Twitter and Hacker News absorbing most of my output. Highlights included predicting Twitter's tagline change, writing a flawed but decent short story, and posts on journalism's death, immigration, the App Store, and Avatar.
Mint's $170M acquisition wasn't for their marketing or their tech stack (which was largely Yodlee's). They won because their user interface was beautiful and simple. For web companies, UI isn't a low priority. It's the only priority. You are nothing but your interface.
TechCrunch's misleading graph makes it look like Firefox is nearly tied with IE. The real picture: IE still dominates at 55%. The genuinely good news is IE6 finally dropped below 10% market share, but Firefox victory laps are premature.
Unit testing isn't about finding bugs, it's about preventing them. Tests written alongside code catch silly mistakes, document correct usage for other devs, and verify edge cases. Best of all, they provide certainty: after a refactor or dependency upgrade, passing tests mean everything still works.
I'm reclaiming "web developer" as a title worth owning. Bad ones build websites; good ones push the web forward as a medium, experimenting and iterating. Stop hiding behind "frontend engineer" or "web architect." If you develop the web, say so proudly.
I was wrong to dismiss semantic markup along with microformats. Microformats have real problems: poor tooling, awkward HTML class name hijacking, and limited extensibility. But adding meaning to web data is genuinely valuable. In my next post, I'll propose fixes.
Microsoft.com renders poorly in every browser, including their own. After years and hundreds of millions in losses, Microsoft still doesn't get the web. They're a software company, not a web company. That's okay. Stick to operating systems, admit defeat on MSN/Live, and stop pretending otherwise.
I mapped HTTP status codes to workplace conversation snippets. "404: I have no idea what you're talking about." "502: Bob is refusing to work with me on this." Now available as a poster. Note how the spec reveals programmers always blame the client.
I outline my wish list for Obama's national CTO: mandate that government IT actually improve efficiency, require open APIs so agencies can share data without redundant collection, move all paperwork online with real digital capture, and consolidate physical offices into universal "Department of Getting Stuff Done" service centers.
I built a Google Maps app to find your nearest San Francisco fire station after needing the info for renter's insurance. Took five hours, never actually bought the insurance. But hey, I learned the Maps API, practiced JavaScript, and helped the city. Worth it.
Started programming at 11 at computer camp in Trinidad, building shapes in GWBASIC. My first real program got me my first job. Best advice: program badly for a long time, and document everything. I love web development the way other people love sunlight.
After a few weeks with Chrome, it's fast and clever but not a game-changer for mainstream users. Its real value is strategic: a shot across browser makers' bows to innovate, and a source of ideas (especially V8) for others to adopt. Good browser, limited adoption ahead.
Built and launched a website in 32 minutes, from idea to live. Bonus SEO tip: link to your new site from a high-PageRank domain using keyword-rich anchor text. Like I'm doing right now.
The semantic web is a beautiful idea but it's not what's next. APIs are already the center of the web experience, and as they multiply and cross-pollinate, emergent behavior will produce explosive, unpredictable value. Build APIs, build meta-APIs, and for the love of all that is good, don't call it Web 3.0.
Fixed scratchpad links in the RSS feed and got Planet Afterlife working again, though it's a temporary fix that will eventually break.
Built a simple iPhone site and finally added the long-requested RSS feed that mixes in the scratchpad. Also made RSS feeds more visible and added autodiscovery.
After 8 months of brutal work, late nights and stress, I've launched the new Yahoo! Widgets site with Matt. We rebuilt it from scratch using Symfony, replacing three years of cobbled-together code with something bigger, faster and better in every measurable way. I'm exhausted but proud.
Curious whether Microsoft's own web developers secretly hate IE6 as much as the rest of us do.
GWT's cross-browser compilation idea is sound and inevitable, but its layout manager approach is dead wrong. Someone will eventually build a proper high-level language that compiles to universal HTML and CSS, and it needs to stay interface-first. Google's halfway there, which is as good as nowhere.
Got hit by comment spam that broke the comments section. Fixed now, though I'm baffled why anyone would bother writing a spambot to crack my simple spam protection.
I've relaunched Planet Afterlife on my own server using SimplePie and CodeIgniter instead of the flaky Planet Feed Reader. It's fast, except when it's updating every 20 minutes. Don't be that guy.
Hiring web devs for Yahoo! Widgets in California. Big, exciting greenfield project. The role is basically a clone of my job, which I love. Check out the listing and apply!
Surprise! Seldo.Com is rebuilt from scratch after five years on the same creaky backend. New features include tags, search, Twitter and Flickr streams, and human-readable URLs. The visual redesign isn't quite done, but the new system is live and I'll fix things as I go.
I built the badge maker tool behind Yahoo! Widgets badges, not the widget itself.
A CSS joke for gay web developers: `p.flag`. You either get it or you don't.
I just used Flickr to batch-resize photos for a friend's website gallery, not because I needed cloud storage or any web-specific feature, but simply because it was the easiest option available. That moment crystallized something: web apps are winning not on principle, but on pure user experience.
I "do the web": I surf it, build on it, theorize about it. Blogs, CMS, e-commerce, web architecture -- it's basically my whole life. I like it enough that that doesn't even seem sad to me anymore.
My weekly tech roundup: IE7 is actually a decent browser, fixing bugs that made my life miserable. But Microsoft is force-installing it as a "security update," which will confuse novices, anger power users, and break every Flash-based site on the web. Good product, terrible delivery. Typical.
Minor update to seldo.net: absolute URLs mean pictures now show correctly, inline CSS is stripped so images behave. Added a Music category too. Still working on per-user features.
I rebuilt Afterlife using CakePHP as a starter project, and the result is seldo.net, now in beta. It's faster, more robust, and comes with four feed channels. Per-user feeds and social features are coming. It's also laughably insecure right now, so please don't break it.
We're hiring PHP developers at Yahoo. Get in touch if you've got commercial experience and want to work at one of the web's biggest companies.
Survived ten days of hell: moving house while simultaneously launching the new Yahoo! UK and German mobile sites. Nothing revolutionary, but a massive amount of work. Now I can breathe. Go buy some ringtones.
I've started calculating RGB hex codes in my head, branching into pastels and secondary colours without looking anything up. I'm worried about what useful knowledge got displaced to make room for the ability to count in base 16.
I got a job at Yahoo. Here's the whole story, in probably more detail than you need, including the questionnaire they made me fill out, my answers, and the nail-biting wait for an offer. Short version: it worked out, and I'm thrilled.
Working on this web2 project keeps flooding my brain with cool ideas. It's draining my notebook budget and my sleep.
Been working on getting comments functional again, but spam remains an unsolvable nightmare. They're technically on, but hidden by default. Enjoy it while it lasts before the spammers inevitably kill the server again.
Being a web developer in 2005 fills me with smug satisfaction, wonder, and pure joy. The web is becoming mundane and everyday -- and that's a triumph. The exciting times are just beginning, and I have a proposal about how the next phase will unfold. Big dreams, but so was the Internet.
Back in 2003 I wrote a university project arguing the web was broken and proposing fixes. Two years later, everyone's building my ideas without me. So I'm finally implementing Web2 myself, publicly, before someone patents the whole thing.
Missed yesterday's post because I got lost building a feed manager for Planet Seldo. Redesign coming tonight. Also, "Virgins in the Valley" by Gabi and the Whoremoans is incredible; ask me for a copy.
I get paid to do work I genuinely love. Life is good. Also, my old room is up for grabs and my new living situation is shaping up to be brilliant.
Minor site upgrades: RSS feeds, per-entry comments, permalinks, and finally killed that annoying popup.
Finally launched my linklog (borrowed style from Tom who borrowed it from Kottke) and got my RSS feed working. Also fixed the end-of-month bug. Comments broke, then got fixed too.
I spent all weekend (Friday 8pm to Sunday 10pm, 10 hours sleep total) building a site full of circles I had to cut and paste manually. Never again. Also: Britney's new album is elevator music, Madonna showed her up, and my love life is exactly as empty as this post suggests.
Late to post this Friday Five, answering each question with increasing adjectives: my room is big, my coworkers are talented but annoying, web development is creative and amazing, my days are sleepy to engaged, and my ideal life ends with fame, Ian McKellan-style.
Exploring CMS options and related tools, collecting links on software integration ideas.
PHP 5 brings private functions and sensible inheritance, making OO development much nicer. I'm also building a Word-compatible report generator from scratch, working near Regent's Park, enjoying free cola and wireless networking, and slowly adjusting to London life, emacs, and the tube.
I moved to London, went job hunting, and almost immediately landed my perfect gig: PHP/SQL dev work in central London with great people and a solid salary. Starting August 11th. Now I just need to figure out where to live before my overdraft kills me.
Blame Steve, it was all his idea. Jamie and Carly have also jumped on the bandwagon. If the feed borks after a while just press refresh and it'll start again :-) (There is also a no-frills version if you have a tiny monitor. If you're quite sad, you may wish to use popup stalkervision which updates faster but needs a faster connection)
Sharing a simple text editor plugin for anyone who needs it.
Finally got the weblog back-end working, thanks to procrastination. If it's broken, you can't read this anyway.
Buggy browsers drive me crazy. Netscape and Microsoft spent the 90s in a petty tag-inventing arms race, deliberately breaking compatibility and ignoring the W3C, leaving web developers like me stuck building every damn page twice. Business people are insane. Here endeth the bile.
Curl is a new web language co-founded by Tim Berners-Lee that replaces the HTML/JavaScript mess with one clean, powerful solution. It needs a plugin now, but so did Flash once. If IE bundles it, this could be huge.