Blog (1964 posts)

You get what you hire

Hiring engineers is like deciding what kind of system you'll have. This seems obvious but surprised me to see first-hand.

Code is the easy part, or how we refactored half the business to fix a janky script

This is a classic startup war story: Someone had built a leaky rowboat. It worked! Then we started flying the rowboat as a Cessna. What we needed was an aircraft carrier.

Good software gets out of the way

Explore the art of invisible software and user-centric workflow design with Swizec and Kent C Dodds. Uncover what separates a good engineer from a great one in this insightful dialogue.

Relentlessly focus on the outcomes

AI makes it easy to focus inwards and feel impressed with all the churn and motion and output you're producing. But your users don't care.

Engineering levels aren't about skill anymore

Traditional engineering levels were about skill progression. I think this has changed. Everyone now is a mini staff engineer.

Just fix their PR

You know what's better than a code review comment? A fix.

"But if AI does it all, what's *my* job?"

On AI, mental load, and delegation

What you need to make an agent

I've been digging into agents for internal tooling and processes. Looking for how to scale without drowning in manual work. Here's what I found

Quick note on evals and putting AI in your resume

When candidates put AI on their resume, the key thing I try to find out is whether they used evals. How did you measure making improvements?

AI now writes 97% of my code. Here's what I learned

Forget the bullshit tips and tricks, just talk to it.

Just Read the Paper

Read more papers. You can learn the latest and greatest in your field in one chill afternoon.

Watch people work

We talk a lot about outcomes over outputs and how engineers are supposed to get us over the water, not blindly build a bridge because someone asked for a bridge. But how do you do that in practice?

Frustration Driven Development

Frustration is your greatest engineering asset. What do you do the 5th time someone asks for the same damn thing yet again?

Software engineer interviews for the age of AI

Maybe AI will replace engineers, I don't know. Self-driving cars were just around the corner for 50 years. Until then we've got shit to do and engineers to hire.

The best engineers just get shit done, sometimes with AI

The best engineers I know never talk about their AI setup. The worst engineers I know only talk about their AI setup.

Taming chaos is a learnable skill

How you approach software engineering makes it harder or easier to handle interruptions and other chaos. Writing a behavioral interview made me realize this is a learnable skill!

Put scope on your resume

Your resume titles don't matter. Just tell me what did you do.

Probably the realest thing I ever wrote

Users buy your service, not your code

You might enjoy this podcast episode. Sylvain and I talked about owning production in a world where AI writes the code.

GeLLMan amnesia

AI will automate every job except the ones I'm deeply familiar with

The 3 curves that make a scalable business

You want users and revenue to grow exponentially. Bugs per day to grow linearly. Support work to grow logarithmically. Your goal is to make this happen.

In praise of the stacked pull request

How fast you do code review is how fast you do everything. Your PR queue is the leading indicator of team velocity. Stacked PRs can help.

How you migrate is everything

Your code becomes legacy software when it works. You build something to solve a problem, then the problem changes. Or best practices evolve. Or you hire team members with more experience. Or the world changes. Or you have more people touching the same code and your beautiful architectural vision didn't translate.

The future of software engineering is SRE

When code gets cheap operational excellence wins. Anyone can build a greenfield demo, but it takes engineering to run a service.

A tough job market is the best time to start something

Here's how to navigate a tough job market from someone dumb enough to have done it before. Me.

Place good startup bets

You can't win every bet. Your goal is to be a little more right than wrong and keep playing

Small projects, clear scope

Minutes of planning save you days of programming. It is shocking how little planning it takes to make a big difference.

A better way to end-to-end test your webapp

End-to-end tests are the best way to test your webapp, but they're flaky and annoying to write. I'm trying a new agentic approach that fixes the issue.

2025 Year in Review

I called it a year in review but it's so much more.

Are you playing games you want to win?

As we enter the funny week-without-time between Christmas and New Year, it's a great time to reflect. Here's a framework I like to use.

How good engineering unlocks fast scaling

You're building systems and tools to help companies grow without drowning in work. This fuels your equity, career capital, and reputation.

Scaling Fast – my new book on software engineering through the hockeystick

After almost 3 years of writing, research, and editing Scaling Fast is now available in paperback and ebook wherever books are sold 🥳

What makes your resume stand out

What did you do, for whom, did it work

How to lead a project

you were asked to lead or own a project. Now what? Here are a few practical steps to help you succeed.

*People* detangle a ball of mud

Ball of mud is the world's most popular software architecture. The one we all use at work. But it sucks to work with. So what do you do?

AI fills my day with busywork

Remember when AI was gonna take our jobs? I've never felt busier. The more I get done, the more there is to do.

The unreasonable effectiveness of stack ranking

Stakeholders are silly people. Everything feels important and urgent. Stack ranking helps

Chesterton's true lesson

Too many engineers cry chestertons fence and never check why the code exists

The job behind the job [of a high level IC]

Advancing big goals while you stay on top of operational day-to-day fires _is the job_. This is hard. Here are a few tips I've found helpful.

Make sure it works first

Explore the importance of functionality over elegance in Swizec's latest piece. Learn from his experience of tripling an engineering team's size within a year.

Feedback is a strange thing

Performance oscillates around your mean. Your average is what matters.

React, HTMX, and TanStack/Start

More and more UI frameworks are ditching JSON as the transfer protocol and going back to server-rendered markup injected into your app

The grind won't get you there

Don't grind on something the company doesn't value. Hard work is not rewarded. **_Outcomes_** are rewarded.

Most history is fake myth building

Regimes come and go but the people stay. Observations from living through a socialism->capitalism transition

You may be looking for a useSyncExternalStore

When you see a `useEffect` that updates a `useState` and returns a value, you might be looking for a `useSyncExternalStore`. This is my current vendetta.

How to be witty and off-the-cuff as a slow deep thinker

Deep thinking is the super power of wit

Should you join an AI startup right now?

Beyond income there's 2 reasons to take any specific job: Invest in yourself or invest in the company. Both is best.

Leadership lessons from growing 3x in 1 year

So this talk is my attempt to step back and write down some of the things I've learned. Hope you find something to apply in your team.

Pair programming

Great for learning those little tricks of the trade you forgot you even learned

Yes it's like spinning plates

In a fast-growing company software engineering feels like spinning plates. Nothing ever stays fixed.

HTMX – Server Components without React

Let's be honest: Half the APIs you write are for a specific purpose in a specific component on a specific page. Re-usable in theory but you've never tried. That's where Server Components come in ... but what if your server isn't JavaScript?

Quick tips for distributed event-based systems

Hidden lessons painfully learned over the years.

Quick update on Scaling Fast, my next book

Your goal is not to write a book, it's to change how your reader thinks

These 3 alerts catch the most issues

Here's a few alerts I've found unreasonably effective over time

What makes a senior engineer

The base expectation for engineers is that you don't just build whatever you're asked.

A few more thoughts on mentoring

Wanted to share a few more thoughts on my mentoring philosophy and answer questions that readers asked

Cursor background agents in Slack changed my workflow

a couple weeks ago Cursor launched a Slack integration and ... wow. First time I can say AI *changed* my workflow

My mentoring philosophy

Yesterday I had lunch with a newly promoted lead and realized I have opinions on mentoring engineers. Here they are.

TechLeadConf 2025 in September

Dive into rapid tech team growth at TechLeadConf 2025, featuring lessons from Swizec's experience with Plasmidsaurus's explosive expansion. Explore tech debt, AI, and leadership insights from industry experts.

It's like surfing

The weird thing about engineering management is that you feel kinda useless. Yet if you stop, projects stop.

Why utils are bad, an example

Last week we ran into the perfect example of how utils-based code will smack you over the face at the worst moment. So much time wasted

Why AI won't replace you

Complexity.

3 sticky insights from 3 eng management books

Ever feel like your brain is blended and you can't even keep up with the things you're learning? Me too. But the good shit stays.

Software architecture IS Conway's Law

Can you even have architecture before there's a team?

You're a business

Quick thought from a conversation with friends

Common abstraction traps

Here's a few common abstraction traps that suck you in, look like they improve your code, then turn into bad ideas as your system grows.

DRY – a common source of bad abstractions

The worst and hardest to maintain code that I've seen or written has been in pursuit of DRY

Why websites and webapps are different

The website vs webapp debate is at least as old as my career. And it keeps coming up. One camp says "React is too complex you don't need any of that", the other camp goes "I don't understand how you live like this". Both are right.

Stateless decision making

Do you ever feel like your brain is full and there's so much going on you can barely keep up? Me too.

Your interview is a sales call

I've been doing hiring manager screens lately. Here's a few tips.

How do you find time for cleanup work

A reader asks how do you find time for technical cleanup work. If OKRs and bugs take priority, when will you make improvements?

Say no to abstract code

The trick, then, is to keep related code close together to reduce context boundaries and to limit the amount of relevant detail so it fits in your working memory.

re: The Industrialization of IT

I guess if AI is what it takes to finally get people to care about architecture and team structure then mission accomplished?

What to work on next?

Younger engineers keep asking how I prioritize in a chaotic environment. Here's my approach.

Always deploy at peak traffic

A hard-won lesson for ya: Always deploy when you've got lots of traffic.

10 years in America

10 years ago yesterday I moved to America with 1.5 suitcases, ~2k in the bank, a place to crash, and a freelancing client lined up. A few thoughts.

The difference between a product and a project

A project is something you do, a product is something you own.

Sprint vs Shape Up vs Kanban

Whenever I talk about sprints, someone mentions Shape Up. So you have 9 week sprints – what's the difference?

Why sprints

For the past few months I've been introducing sprints into a chaotic startup that's been growing so fast everyone's got whiplash. Since August, 5 engineers turned into 12. I think it's starting to work.

What I mean by "tests can be slop"

Tests may look like slop, but make them clear, not clever. Best practices are key: Test outcomes, not code. Name with intent. Keep tests independent. More straightforward tests beat fewer abstract ones.

AI writes good tests, actually

I've been using AI to write tests and it works surprisingly well! Here's how.

Principles of high output engineering teams

A few engineering principles I aim to instill in every team I join. Lead or not.

Talk to more users sooner

Debate less, ship more.

What I learned from Inspired

Products not projects. Outcomes not features. Iterate.

Depth takes time

It takes about 3 years to experience the consequences of your own decisions.

Code yourself out of the job

Let go of your legos and let others do the work.

I was wrong about databases

The best part about writing is that you get to learn new and exciting ways you were wrong. Databases are smarter than I thought!

*Why* the relational data model is so good

You've heard that array or list columns in a database are bad. But why? Yesterday it clicked for me

A pattern for composable UI in Flask

Turn your unwieldy Flask codebase into manageable, composable fragments with this UI pattern. Very close to HTMX.

How *do* you break down a large project? INVEST

Going from Big Vision to Series of Executable Steps is a key skill for senior+ engineers. PMs can help but they don't know everything.

How do you prioritize?

How do you choose what to work on first? As an empowered engineer that's a key skill.

Server-side React that renders as png, pdf, or interactive webapp

What if your React code could render as a PNG, PDF, static HTML, or fully interactive webapp just by changing the URL? I got a working demo! 😁

Build the abstraction first

Hardcoding logic when you're tight on time doesn't need to make a mess. You can build the abstraction first!

What I learned from Accelerate

Accelerate is the empirical research behind books such as The Phoenix/Unicorn Project and (parts of) Software Engineering at Google. I loved it.

Why you need a task queue

Task queues have been on my mind lately so here's a little primer on what they are, how they work, and why you need them when your project starts to grow.

Coaching AI to write your code

Working with AI is here and it's skill. Just like google-fu became important in the mid 2000's. A few things I've learned.

The score takes care of itself

Less talking more doing

Looking for beta readers

Wanna read my hardest engineering lessons learned? You're in luck!

Your next mountain, pt2

3+1 quick book recommendations to help you think about next year

What's your next mountain?

Life is a hill-climbing algorithm

Why system design is my favorite interview

Without reading their resume, you'll see if a candidate is fresh or has been doing this a while. And you'll know their blind spots and their strengths

Atoms, molecules, organisms

Here it is: 20+ years of programming experience distilled into 378 words. From the book I'm writing.

Smart core, thin interfaces

Here's an approach to writing code that I've been using for years and couldn't quite put into words until now. One of those _"This feels wrong but I can't explain why"_. Now I can!

Why learning and teaching the good stuff is hard

You can't learn to ride a bike from reading a book.

Empirical evidence for code modularity

Few of your engineering decisions matter long-term. Software is soft. You can change your mind. But how you structure your components is here to stay.

Why even care about code structure

As long as it works, right?

The anatomy of a React Island

A coworker asked how React Islands work and I realized it's a technique I've been using to modernize monolithic web codebases for years, but never wrote down how it works.

Finding modules in a big ball of mud

Pulling modules out of a big ball of mud is like grabbing a slice of cheesy pizza. It's kinda separate but also not really.

Why you need observability more than tests

Here's a short and sweet story about a Friday deploy. I love Friday deploys.

The swarm doc

Here's a doc I like to use to structure the pre-work design chat that makes later code review a breeze.

Big Ball of Mud – the world's most popular software architecture

Forget Gang of Four, here are the 7 architectural patterns real programmers use:

Why software only moves forward

At scale there are no rollbacks and no cut-overs. Your software only moves forward.

Don't judge tech just because you're old

Your favorite way of doing things may just be an expression of tech limitations at the time

"Yes caviar is great, here's a ham sandwich"

Why do some projects ship and others seem to drag on forever? You need 3 people to get this right.

Yes, AI will "take" your job. No, you won't mind

Is the job to get things done or to memorize trivia and solve cute coding puzzles?

It made me $500k but I think content is a bad business

Why I didn't become a full-time creator/educator

Make mistakes easy to fix

You can't prevent bugs. You'll burn out. Instead focus on making them quick to fix.

The Laws of Software Evolution

Manny Lehman was one of the first to notice that software is never done. It just continues to evolve forever.

The Series A inflection point

The Series A inflection point is the most fun time in a startup, if you ask me. Here's what it looks like

You can side-step a yak, they don't all need to be shaved

When yaks aren't procrastination, they might be tunnel vision. You're so focused on the right solution, you miss the good enough solution

Better is good

A small improvement that lands is better than a large improvement stuck in review

How big up-front design fails

A long design phase without shipping kills many software projects. Here's a story from production I haven't shared before.

The Tour of Duty approach to career

Quick note today to plant the seed of an idea I've always loved: The Tour of Duty.

Why software projects fail

5 common themes

What helps you ship confidently?

Been thinking about what needs to be in place for engineers to ship with confidence

Interviewing tips for experienced engineers

The way you interview changes as you go through your career. If you're grinding leetcode 10 years in, something's wrong.

Let small fires burn

You can't fix everything. Focus on the next big thing and let the small fires burn.

Tips from 8 months of TanStack/Router in production

On my last day at Tia I wrote a master vision doc for our TanStack Router app. Here are the parts I can share.

Some personal news

When you see a unicorn, you gotta hop on

Small change in big scary codebase?

Making small changes in large unfamiliar codebases is the job. That's what engineers do all day.

Why SQL is Forever followup

Yes SQL is super flexible. That is its strenght and its weakness

Why SQL is Forever

Never underestimate the power of good marketing for bad products. NoSQL was fun but SQL is here to stay.

90% of performance is data access patterns

Removing a single line of code slashed database CPU usage by 66% 🤘

DRY – the common source of bad abstractions

Swizec reveals the hidden pitfalls of overusing the DRY principle in coding, leading to bad abstractions. Discover how to write adaptable, efficient code that avoids these common traps.

Scaling Fast, my talk on lessons from tech startups

This talk from C3Fest summarizes the key lessons I've learned in the past ~15 years of working in tech startups. It's a high level overview of a new book I'm writing (60% done).

You can't side-quest a product

Here's a trap that talented engineers fall into all the time. It creates frustration, burnout, and the genre of tweets that read like "Why don't people care about the amazing work I'm doing".

6 books engineers should read

Here are 6 books I'd buy every engineer who joins my team, if I ran a team. You might like 'em too.

The dangers of spurious automation and how to automate anything

Discover the potential pitfalls of spurious automation and learn a foolproof three-step process to automate any task effectively. Don't miss out on understanding when automation is truly beneficial and when it can become a hindrance.

It’s okay to just do the work

Not everything needs to work forever. Start by solving the problem

Using AI to spark connections at a conference

We built an AI algorithm to help you find interesting people to talk to at a conference. And make sure it's not awkward

Notes for my Scaling Fast talk next week

Decided to publish my notes because they look pretty useful on their own. Although I hope my stage presence adds a little something something. Enjoy :)

How to use feature flags

All the hard lessons learned using feature flags in production. Skips the why and gets to the how.

Why useSuspenseQuery works

A reader asked 'Wtf why does this work?'

Cleaner components with useSuspenseQuery

Sick of complex states in your code? React Suspense can simplify your components for more readable, robust code!

Why you shouldn't use AI to write your tests

If you derive tests from your implementation, you can't apply the Beyonce rule. What if the code is wrong and that wasn't the programmer's intent? We'll never know. The bug now exists in both places.

Validate your assumptions early

here's war story from last summer. I've talked about it in workshops but haven't written it down before. It's for a book I'm working on.

A better roadmap solves many issues

Many engineering challenges start with your roadmap

Get us over the water, not build us a bridge

effective engineering teams should work *with* their product owner/manager, not *for* them

Outputs are not outcomes

Doing the work is not the same as getting things done

Coordinating at the end is too late

When working: sync first *then* async

43 years of the actor model

The actor model is now part of everyday tooling and ensures concurrency safety. Understanding the principles behind it helps you write less buggy code.

From trivial to complex – 4 software quadrants

You can classify software projects into 4 quadrants from trivial to complex

Coding is a brawl, not a battle of wits

Discover why coding is more like a boxing match, focused on delivering results rather than perfect technique. Learn how to navigate economic upheaval and prioritize business needs in this unexpected comparison.

Approve with comment

A shift in your code review process can boost your team's productivity. Empower authors to make the call.

The best engineering books get good 5 years into your career

The best engineering books aren't those you read at the start of your career. It's the ones you appreciate 5 years in.

Architecture is like a path in the woods

You're doing too much. Sit back, relax, see how people *want* to use the code. THEN build the abstraction.

How to start playing with generative AI

Generative AI is entering the early adopters phase of Moore's technology cycle. Lots of people have been asking me for the quickest and cheapest way to get started.

Code yourself out of the job

Don't get stuck being a critical member of the team.

The quickest way to kill a team

The answer to 5 soloists in a trench coat

Team dysfunction where everyone's a soloist? Try this fix: Force the team to work on ONE story at a time.

5 soloists in a trench coat

Ever felt like your software team is just soloists in a trench coat? You may be right!

The market always wins

No amount of growth hacking, investor money, or a/b testing will save you, if people don't want what you have.

Why you need a regular retro

Agile is something you are, not something you do.

Your resumé has a job

Is your resume a tech bingo card? Not great.

5 tips for effective standups

Talk about today, not yesterday

Can I get your opinion

Books start with a detailed outline that's easy to change. That's when they're easy to change and where you can help.

Onboarding to a new team

People are starting to cheat in interviews using ChatGPT. It's obvious, doesn't work, and wouldn't even be cheating if you did it right!

What interviewers look for in senior engineers

People are starting to cheat in interviews using ChatGPT. It's obvious, doesn't work, and wouldn't even be cheating if you did it right!

What being an expert looks like

The blue sweater scene in 'Devil Wears Prada' is a masterclass in expertise

When to stay at a company

Cap your down-side and think like an investor. Look for key metrics that can shape your career growth.

Ask me a question

Swizec is writing "Scaling Fast", a book about his journey in a 20x hyper-growth startup. Questions?

Be action oriented

Unearth the surprising connection between the CIA's Simple Sabotage Manual and your productivity, and learn how to transform tiny actions into big wins. Dive into Swizec's engaging exploration of how small actions can make a huge impact on your progress.

The Buxton Index – why some are hard to work with

The Buxton Index measures an entity's planning period and explains many of your work dynamics.

TanStack Router – modern React for the rest of us

TanStack Router puts the router in control of data, state, and UI and it's ... really good.

How I Added a Related Articles Feature on Swizec.com Using GPT-4 Embeddings

Making 15 years of blog archives easier to navigate with AI and cosine similarity to build a related articles featur

I'm a different engineer than I was 3 years ago

A reflection on engineering through The Hockeystick

The 3 budgets

Software engineering salaries come from one of 3 budgets. Which budget pays your salary shapes your day-to-day and influences your career trajectory

People like me are why you shouldn't run a hosting company

A daring adventure of manipulating GET parameters in a NextJS 14 project, pushing hosting limits and avoiding the need for data storage. Dive into the chaos of compressing inputs to keep the project delightfully storage-free.

Forget Bad Code, Focus on the System – React Summit talk

Wanna see me ride a flamingo wearing a cowboy hat? You're in luck! That was my outfit for a deeply technical talk to 700+ people at React Summit US 2023 🤘

What I learned from Do Hard Things

Do Hard Things is a recent book from an author of my favorite book about burnout (Peak Performance). It talks about why our traditional view of toughness is wrong.

Keeping a high engineering culture, tips from the field

I asked engineers how they keep a high quality culture. These are the takeaways

Askers vs. Guessers

Askers vs Guessers: the culture clash that explains half the conflicts you've ever had

Let juniors speak first

Want an engaged engineering team? Let juniors speak first.

Hard work doesn’t scale

Overtraining won't always get you to the finish line faster. Growth comes in cycles - rest, push hard, recover. Less can be more when it comes to achieving your goals

The efficacy of TypeScript

TypeScript may streamline code navigation and catch semantic errors, but it doesn't guarantee fewer bugs or faster fixes.

What to put on your resumé

Position yourself as an expert and stand out in the job market

Don't neglect your upgrades

Regular software updates may seem tedious, but they save you from the nightmare of a massive overhaul down the line.

How to go from Senior to Lead

Transitioning from Senior to Lead Engineer isn't just about technical prowess, but strategic thinking, soft skills, and going beyond your role. And remember, strong individual contributions matter!

I tried generative AI on lots of data and we're not quite there yet

Lessons learned from running GPT-4 on lots of data using the same task.

TypeScript runtime vs types at run-time

Understanding the nuances of TypeScript: it adds static types to JavaScript, reducing bugs by checking code validity pre-run. But imagine if we had types at run-time too - validating inputs, enhancing error messages. A dream, but a nice one.

Halfway there

Realizing I'm statistically halfway through life at 36. Time is the one thing you can't get more of

Bun – first impressions

I've been using Bun in a few side-projects and I like it a lot

When's the last time you tried something new?

Dive into this engaging exploration of hands-on learning from pottery to programming. Discover how embracing new experiences can enhance personal growth and improve your coding skills.

AI Engineer Summit report

AI is the easy part of the equation. The real game changers in #AIEngineering are mastering data engineering, handling non-deterministic outputs, and nailing product development.

A few thoughts on tRPC

Discover tRPC's potential in building end-to-end type safe RPC APIs in this insightful blog post. Perfect for developers seeking innovative solutions for server-client separation in webapp development.

Solve the problem, not a different more difficult problem

Solve the problem at hand, not the one you imagine might come next. A simple fix now often beats a complex one later.

Ways to ask but why

Better ways to handle situations where the code makes you go O.o

2274 miles in 9 days on a cafe racer

These pics are epic and you should see them

Trust your wings, not the market

Success in your career doesn't come from relying on the market or job stability. It comes from trusting your own wings - having a clear vision, treating work as a value exchange, leveraging your skills, and owning your path

Move the rock

it's about noticing the rocks that could trip others and taking the initiative to move them

Similarity search with pgvector and Supabase

Explore the power of pgvector and Supabase for efficient similarity search in this comprehensive guide. Keep vector data next to your business data for efficient queries and less overhead.

Why write

Regular writing is a secret superpower! Sharpens your thoughts, boosts your career, and helps you become an authority in your field. Don't pretend to be an expert, just share your experiences. Your insights are gold

Avoid spooky action at a distance

Shared state in programming isn't the enemy, it's unclear dependencies that tangle your code. Keep it clean with explicit state dependencies and strict access guidelines

More on how many years to senior

Lots of readers wrote in with questions and comments about How many years to senior engineer?. Here's some additional thoughts.

How many years to senior engineer?

Becoming a senior engineer isn't about clocking years, but about depth and breadth of experience. Work in diverse teams, stick with a codebase for 3+ years, and take on projects with real stakes.

Life is Poker

Certainty is an illusion, only probabilities are real

Finding modules in a Big Ball of Mud with ChatGPT

Detangling a Big Ball of Mud is hard. You have to find domain boundaries where none exist. Looks like AI can help 🤩

Followup answers to Forget complicated code, focus on the system

Why are utility files bad? How do you recognize architectural complexity? What the hell is a transitive dependency?

Forget complicated code, focus on the system

Clean code matters, but it's the architectural complexity that truly impacts your productivity and bug count. Focus on simplifying the system, not just the code.

Programming in Markdown

What if you could focus on the fun _engineering_ part of your job, not on coding? You can!

The Wally Reflector

Unleash the power of 'The Wally Reflector' to manage the influx of 'quick requests' and empower your team.

What I learned from Team Topologies

You can't escape Conway's Law. Might as well use it for good.

Working with product

A strong partnership with product is key to an enjoyable engineering life

Different worlds

Different lenses, different worlds. Your perspective is shaped by your experiences. Even in debates, all sides can be right in their own context.

You can't stop the business, or why rewrites fail

Rewriting code isn't a magic fix-all. Consider the opportunity cost, complexity of the old system, and estimation challenges. Instead of stopping all to rewrite or building new while maintaining the old, try incremental improvements and new code adoption.

Update state during render, better explained

A few readers wrote in to say that the React Can Update State During Render email last week made no sense. Here's a better explanation.

React can update state during render

An unexpected feature of React: updating state during render. It's a UX and performance optimization

Clarification on how ownership makes careers

Aa few readers wrote in with questions and objections to last week's Ownership makes careers email. Here's a few clarifications.

Ownership makes careers

Own shit. At least put your name on things. Yes, before it's successful.

When to throw away your code

Delete code when it stops providing value 💡 All code is a liability; context matters. Keep what solves problems, toss the rest.

JavaScript games and Wonderful tools

Discover the magic of HTML5 game development with Game Dev JS Weekly and level up your productivity by eliminating daily frictions with Wonder Tools

What does "solve problems" even mean

Focus on solving problems, not just doing work or writing code. Think creatively, question existing processes, and prioritize effective outcomes

Why taming architectural complexity is paramount

Unravel the hidden costs of architectural complexity in software engineering and learn practical strategies to tackle it. Boost productivity, reduce defects, and improve staff retention with insights from an MIT PhD thesis.

Effective standups

The secret to effective standups that don't suck

How one sentence guides your career

Unlock the secret to guiding your career with a powerful positioning statement. Learn to stand out in the job market and attract opportunities that align with your expertise and values.

What you can expect from the Senior Mindset Retreat

Unlock your true potential at the Senior Mindset Retreat! 🚀 Develop crucial soft skills for career growth and become the leader the tech world needs. It's not just about coding, it's about teamwork, ownership, and making an impact.

Two types of complexity and their impact

Complicated code slows down junior devs, while complex systems impact senior devs more. Focus on managing system complexity & dependencies, not just simplifying code.

How positioning makes you stand out from the crowd

Stand out in the job market with a strong positioning statement! Focus on the value you bring to organizations, not just tech skills. Be specific about what you do, for whom, and how.

Why a tech meltdown is the best time to invest in your career

Invest in your career growth. Seize the moment to develop new skills and prepare for a brighter future

How I turned 15 years of writing into a chatbot

What do you do with 15 years of your writing history when LLMs hit the scene? A chatbot!

Your manager can be a peer

This collaborative approach enhances both people and technical aspects of a team, leading to a more efficient work environment.

You can't fix the wrong abstraction

Unlock the secrets to combating architectural complexity in software development and learn to identify and fix the wrong abstraction. Boost productivity, reduce bugs, and retain more staff.

Eight things to know about LLMs

eightthings.pdf is the best paper I've read on what's going on in AI right now and why everyone is excited. Here's my summary.

Hug your manager

Behind every thriving team is a dedicated manager who shields them from corporate chaos, sacrificing their own well-being for the team's success.

A backend service nobody can grok

a little case study from an upcoming book I'm writing with Manning about software rewrites

Own the outcome, not the work

Efficient problem-solving in engineering with a shift in perspective – focusing on user outcomes can lead to innovative solutions and change your approach to system design.

Your background won't get you the job

Skills and experience matter more than prestigious schools and employers.

Insights for interviews from Kahneman's Noise

everything people say is bad about modern tech interviews is actually good 🤯

DRY vs SoC, a difficult choice

What is the essential difference between DRY and SoC principles in software engineering and how do you balance the two

I went to "AI Woodstock" and wow

"AI Woodstock" was a HuggingFace meetup showcasing groundbreaking AI projects and innovations. Here are some of my favs.

Software engineers, exercise, health, and productivity

Don't worry about the hype, just get some sun, some rest, and remember to hydrate.

The programming tutorial SEO industry is dead

20 years ago greybeards laughed at us for Googling. Now they laugh when we ask ChatGPT. But the leverage is 🚀

Coding is the easy part

Behind the scenes of a vendor migration project. What senior+ engineers do so you can focus on the code.

Are you annoyed by the extra space after your name [name|]?

Behind the scenes of a tiny bug that survive 919 days

Done means Shipped

Don't overthink, just ship

Build semantic search in an afternoon? Yep 🤯

Learn how to build a powerful semantic search engine in just 2 hours with the OpenAI API.

"If you're so good, why aren't you making 600k at BigTech?"

Swiz shares why he's not making the big bucks at a tech giant, from the soul-crushing grind of corporate to the funny money of tech compensation.

Clever technical hackery can't solve the wrong design

A simple change in perspective can help you overcome complex technical challenges and save time on future projects.

Own your career like an expert

You can achieve more with your career by leveraging your experience, advice, and ability to clear blockers, rather than just working hard. This approach of "force multiplying" your team can create more value than working alone

The backend iceberg

It takes an entire ecosystem to power the backend of a software system! Complex networks of processes, data storage, analytics, and more are often underestimated when looking at a software system from the frontend

Building browser extensions with NextJS

NextJS can be used to build browser extensions. This is a novel way of building extensions that allows developers to use familiar tools and technologies. Here's how

Why take a bigger role for no bump in pay

Luck is a function of the work you do and how many people know about it? Expand your visibility, take on impactful work, and increase your luck and career capital

My biggest React App performance boost was a backend change

Performance lives in the unlikliest of places. Follow the metrics.

Squash merge? Really!?

Learn why squash merging is your friend - from hating it to loving it! Squash merging helps you keep moving and focus on the work instead of recording the work.

Why trunk-based development is best

Merging finished work straight to main and deploying to production right away, scales to teams of thousands. This approach is counterintuitive to many engineers who may be used to working on their own

Start coding at the point of least certainty

Start coding at the point of least certainty: Learn how to approach projects when there is uncertainty and risk, and why it's beneficial to start with the hardest part first, instead of building a foundation and working up from there. This concept is illustrated through the analogy of training a monkey to jump through a hoop.

Reader question: How to grow 10+ years into your career?

For those wanting to stay hands-on, we recommend solving bigger better challenges with higher stakes and new problems.

Async React with NextJS 13

We look at React's native async support and how to use it in a NextJS 13 app. Learn how to use async components, parallel loading states, and caching with React.js and NextJS 13.

In case of layoffs

Advice on how to prepare for potential layoffs, how to support friends and colleagues who have been laid off, and how to find a new job after being laid off.

Building apps with OpenAI and ChatGPT

Generative AI has made big strides in recent years. Diffusion models make decent art and modern large language models can out-write even the best college student on a deadline. Over the holidays I tried it out by building an app.

2022 year in review

The days are long, but the weeks are short. In the wash of our daily grind, you lose sight of what a year can bring. Or a decade! I like to take a moment around the new year to reflect and make plans

Skin in the game

My engineering manager likes to say that he can give advice and warn us before a big mistake, but he can't tell us what to do. He doesn't live with the consequences.

Getting off twitter, an experiment

ole Musky bought Twitter and the tech community threw a collective shitfit. The atmosphere of ragequitting, hand wringing, and aloof defiance gave me time to reflect: Why am *I* here?

Scaling teams is a technical challenge

A founder friend asked me about growing pains on his team. How do you avoid stepping on each other's toes?

Can you stay a senior engineer forever?

Here's an idea that can take the pressure off your career: Yes, you can stay a senior software engineer forever. But how?

Stable Diffusion on an iPad 🤯

When's the last time a piece of tech blew your mind? I tried stable diffusion on my new ipad and wow

What I learned from Staff Engineer by Will Larson

Staff Engineer was one of the more impactful books I've read in recent months. Went through the audiobook soon after becoming tech lead so the timing was perfect.

Reader question: useReducer or XState?

Following up from my article about XState and Stately.ai, fellow reader S. asked if `useReducer` could ever be relevant when using state machines in React code. Yes! Here's how

When your brain is breaking, try Stately.ai

Two years ago I wrote about using XState after building a UI interaction so twisted my brain leaked out my ears. It helped. Now the creators have made something even better – Stately.ai 😍

On becoming tech lead

A few weeks ago I made tech lead, a type of staff engineer. Here are my thoughts on what that means, how it happened, and why you'd want such a thing.

Shipped code wins

Why PATCH endpoints matter

A painful lesson from production that brought several engineers almost to tears: *Please* add PATCH endpoints to your public APIs.

Over-engineering tweet embeds with web components for fun and privacy

A way to embed tweets in static sites with full pre-renders and live updates using just 9kB of client-side JavaScript, 2 HTTP requests, and full reader privacy ✌️

Reader question: Work at a big international or a local studio?

Fellow reader Frank writes in with a question about career moves and I thought my answer could help you too

Grow your career ... in this economy??

if you've been following tech news lately, things feel ... 😖 Between the layoffs, hiring freezes, investors suddenly caring about revenue, and whatever the heck stock markets are doing, we're in for a rough time. BUT!

How better data modeling fixes your code

When your code feels hard, 9 times out of 10, the problem is with your data model. The signs are subtle.

Reader question: Should you learn the latest hotness?

Great question. Common concern. *What if I get stuck in a technology that isn't hot??* Or worse, burn out re-learning every new thing 😱

Notes on A Relational Model of Data for Large Shared Data Banks

In 1970 a paper came out that changed the world of business computing. It laid the ground work for modern databases.

useCallback is a code smell

One of my favorite ways to simplify and de-gotcha React code is to rip out all the useCallback and useMemo drama. 90% of the time you don't need it.

The art of the cowboy merge 🤠

how do you catch a critical deadline that cannot be missed? We're talking external stakeholders, millions on the line, and it all hinges on *your* team getting it done on time. No overtime

If it works together, it lives together

Wherein I use LEGO to talk about organizing your code for ease of use

Why others' code is hard to navigate

Some people like to organize code in files and folders and neat categories. Others love search. When they work together, that's the challenge.

Reader Question: What do collaborative teams look like?

New members on our team invariably say 2 things: 1. Wow I've never seen a team move this fast 2. This approach feels weird. I'm uncomfortable Teams like this are not common.

What makes a real image?

What does a real image look like? The rise of modern AI photo editing and generation tools makes this an interesting question.

Your code doesn't matter

"Your code doesn't matter" is something experienced programmers say, between the lines, when they sound like complete lunatics. But what do they mean? Why does everyone say it?

What coding tutorials and teachers get wrong

Chatting about teaching and learning complex technical skills with an engineer I'm mentoring. She's a former chef. We shared the same frustration with online resources.

I stopped using Google Analytics after 15 years

swizec.com has been around since 2005. For 15 of those years, it's been running Google Analytics to give me a sense of "Is anyone out there?". No more.

Reader question: So about that perfect burndown chart ...

If your approach works so well, why isn't every team doing this?

Move your business logic into data

The quickest way to simplify a complex function with lots of logic is to turn it into data. A lesson from production

Nobody is coming to save you

How do you react when you don't like The Process at work? Most programmers complain on social media, make a wry joke, and ... suffer. Not great

You do have time to build it twice

My talk from React Summit is now online, if you're curious. It's about code rewrites in the context of hyper growth startups. The ultimate sin. Or is it 🤔

Reader question: Feeling guilt as a tech lead

Keep getting the guilt, that I'm not able to code, just running around for discussions and solving other issues, managing people. Any idea to manage all the fronts and get rid of this guilt?

You don't *have to* build it sloppy to go fast

My favorite mistake to make when I'm in a hurry is to think that I _have to_ build new features the sloppiest way possible. Find the quick fix and move on. But that's not true.

A work ritual that keeps me sane

A coworker asked me for tips on how to stay focused during the day. Here's what I said.

What makes a great software engineer?

In 2015 a group of researchers asked 59 experienced engineers at Microsoft "What makes a great software engineer?". Here's what they found.

Write abstractions, not just code

Wherein I use a silly example to show why you need more than small reusable single purpose functions to write good software.

Always have 3 answers

How do you stand out as an expert amid tech layoffs?

The audience loved my talk but I didn't

A critical look at a conference talk that went great but felt a little off.

Coding forces you to understand the problem

Programming translates fuzzy understanding into exacting specifications. That’s why it’s hard. The Illusion of Explanatory Depth reigns supreme

A lesson on expertise from a great mafia movie

You cannot make something good until you understand who you're making it for.

You are allowed to invent HTTP status codes

A fun problem for RESTful APIs: Did you get 404 because your URL is wrong or because the resource wasn't found?

There are no bad teams

it’s the leader, not the team

Writing software is like kicking a can

Writing software is a playful process of exploration and discovery. Like a game of kick the can on a Sunday walk.

The Italian foods theory of bad software design 🍝

Spaghetti code – unstructured Ravioli code – too structured Lasagna code – layered wrong Minestrone software – unclear domains

What microservices are for

Microservices are a pain in the ass. They turn every system into a byzantine mess of complexity. But this week ... they saved my butt.

Learnings about the future of the web from Reactathon

The first in-person conference in years! It was wonderful 🤩 - Remix is great - Serverless at edge is the future - GDPR does not play with 👆

Bad excuses to want a rewrite

Here's a sneak peek at a new book I'm writing about Refactoring and Rewriting. It's with a publisher so I might get in trouble for sharing this, but it's a first draft ... they own the final version 😛

The role of a senior+ engineer

"Every product org should have a senior+ engineer whose job it is to run around and make everyone else more productive" 🤔 That IS the role of a senior+ engineer

Quick tip about JavaScript's optional chaining operator

People on twitter loved this trick I learned from a coworker's pull request the other day. You might like it too.

Code Review Practices for Refactoring Changes

Do you review refactoring pull requests differently than you do others? An empirical study of OpenStack, an open source cloud platform, says that you do and finds 6 common criteria.

How we made the best burndown chart you've ever seen

My entire career I've never seen a sprint finished on time. The new manager said "Oh I think we can fix that" ... 18 months later he proved me wrong

When to join and leave a company, project, or trend

Timing changes everything. Who do you think has better engineers? The team that built Google from 9 million daily searches in 2000 to 1 billion in 2009, or the team that launched Google's 10th chat app last year?

Promise.allSettled, a wonderful tool for resilient code

The pros and cons of different approaches to writing resilient code that handles partial failures

Adding categories to a Gatsby blog (for better SEO)

One of my biggest frustrations since migrating swizec.com from Wordpress to Gatsby was that I never added categories. Always wanted to, never did. Thought it would be super hard. Gatsby made it painless

Saving time in UTC doesn't work and offsets aren't enough

Lessons from a painful outage with timezones, UTC offsets, and database clients that took a whole week to resolve.

A quick lesson in writing resilient code

On the backend anything can and will fail. How do you deal with that?

Are you the engineer who scoffs at high salary numbers?

Engineering compensation falls into groups so different that neither group even realizes the others exist. And they fight about it.

Why experts charge more

Ever noticed how an expert's job isn't that different from an apprentice's? Yet they can charge way more 🤔

How to give and receive feedback

Feedback can save an airplane from crashing, or upset everyone around you. But for you personally, honest feedback is the fastest way to become a better engineer. Fixing what you're bad at is where the gains hide.

A new VSCode extension makes state machines shine on a team

When you grok state machines, a new world of computational beauty and software design opens in front of your eyes. Things that used to be hard become easy. The impossible becomes possible. And you turn into that annoying team member.

Be their shit umbrella

because if you go to bat for the team, the team goes to bat for you

Immutability isn't free

Or how we took an API endpoint from 16s to 3s.

Why mentoring matters

Here's a funny video about Ivane, a construction worker with amazing productivity and work ethic. Imagine what Ivane could do if someone showed him how to use his tools 😱

How I used indie hacking to sponsor my own greencard

The longest project of my life

Quick tip for system design interviews

What are system design interviews for anyway?

How to add Typeform as a Gatsby source

Every year I ask readers if they're enjoying my newsletter. Then fail to use those responses 😅 This year I said heck it and built a /testimonials page that shows everyone's feedback raw from Typeform. Here's how.

Why other people's code looks weird

Are you an organizer or a searcher? What about your team?

What is the goal of engineering?

How can you know you're succeeding if you don't know where you're going?

Wow API Gateway v2 is fast

A story of how my performance hunch was totally wrong and the answer that sped up an AWS Lambda 33%

Try to work for a brand

Brand helps your career in subtle ways.

The quickest way to fail a tech interview

No it's not a wrong answer or floundering with algorithms. Not even being nervous or shy or having a language barrier. Culture fit is the least of your worries if you make this mistake.

What to do when bugs are whack-a-mole

What do you do when every bug you fix creates 5 new bugs? You could laugh and move on, or realize it's a sign of bigger issues

Using DynamoDB Streams with the Serverless Framework

DynamoDB Streams are a convenient way to react to changes in your database. And surprisingly easy to use 🥳

How I stopped chasing mice in 2021

How a focus on long-term games changed my approach to everything and calmed down my life

The Passion Paradox

burnout doesn't work the way you think

pg-mem and jest for smooth integration testing

The cult of TDD leads you down a dark and stormy path towards brittle code with a false sense of security. But there is a better way. A sweet spot between unit and heavy integration.

A mental framework that helps you code faster

What slows you down the most when you're coding or doing software engineering? I think it's how fast you make decisions

Datalist, the pure HTML typeahead you didn't know about

If you ever want to build a searchable typeahead field, `<datalist>` can do that for you. On all browsers. Across devices. Standards compliant. With no JavaScript. 🤯

When it’s okay to work overtime

Not all overtime is bad overtime

Why null checks are bad

Every null or undefined check doubles the number of tests you need 😱

Small choices can wreck your codebase

wanna see the strangest looping construct I've found in production code?

Better tooling won't fix your API

RESTful APIs are like Agile – everyone does it differently and if it isn't working, it's your fault for doing it wrong. 🤨

What to expect in senior level interviews

Interviews are terrible. Stressful, time-intensive, loosely correlated with on the job performance. They're the least terrible way we have to hire.

Getting from junior to senior

The difference in salary between a junior and senior engineer can be orders of magnitude. Many multiples at least. But what's the difference in mindset that gets you there?

How defensive coding leads to bloat

Defensive coding is an important lesson and over time and engineers it leads to massive bloat, if you're not careful.

Your job as an engineer is to make yourself unnecessary

You can use React Query for slow computation, not just API

You can use the ergonomics of React Query for any slow operation and it's wonderful.

Balancing serious sidehustles and full-time work

Erik, the author of Developer Hegemony and founder of Hit Subscribe, invited me to chat about balancing sidehustles and full-time work

Finding unresolved promises in JavaScript

JavaScript is a fantastic server-side language because it's async. That also makes it tricky. 💩 What happens when you swallow errors? Forget to resolve promises? Or run into a number of other anti-patterns

Why I'm excited about React 18 – talk

React 18 is coming soon. I hope 🤞 Here's a talk I gave exploring its implications and showing off demos with working code.

How to take ownership and make progress without explicit direction

25 lessons from 25 years of coding

Today is my birthday which means I've been coding for 25 years. A quarter century 😱 Here's 25 lessons I've learned about code. In no particular order.

How to configure Jest with TypeScript

Using plain Jest on a TypeScript codebase is kinda rough. No types in tests no thanks. Making Jest and TypeScript work together smoothly is something you do just rarely enough to forget the details. Hope this helps you and future me too ✌️

What's more productive, a team or a talented soloist?

Engineers *hate it* when you say it doesn't matter how good they are because a team will outcode them any day. But it's true, you can't build something big on your own.

Learn TypeScript in 5 minutes

TypeScript solves many of JavaScript's sharpest edges. You don't need much to get started ✌️

Meetings – a senior engineer's secret weapon

Boo meetings, yay code, right? There comes a time in your career when coding is no longer your highest impact contribution. Might even be holding you back. 🙊

There's two types of engineers

Do you solve problems or execute tasks?

Stop SHOUTING = 'shouting'

A hill I will die on 👉 global CONSTANT = 'constant' are bad

How to rewrite your app while growing to a $100,000,000 series B

When you're in a company desperately trying to meet demand, *ship*. You'll have money, time, and professionals to fix code later. Even if you start with jQuery.

Being a senior/junior engineer in 2021 – podcast

Last week I went on the PodRocket podcast to talk about engineering careers, serverless handbook, and the current job market.

A great engineer knows their tools

Earlier in my career when I thought I was god's gift to engineering but wasn't, I failed one of those stupid interview questions that "have nothing to do with the work". It was a great question.

Anything's a sorting problem if you squint hard enough

What's the most algorithmically fun code you've written recently? 🤔 Here's mine: A dataviz using a grid of triangles that fits into the client's logo.

How to ask for help

what makes a senior engineer stand out in an interview? No it's not the amount of side projects or their leetcoding speed. It's knowing how and when to ask for help.

Build simple backends with Gatsby Serverless Functions

Until recently adding a little backend to your Gatsby site meant 2 options: 1. Climbing the AWS learning curve 2. Rewrite with NextJS Now there's an /api directory 😱

WorkInProgress kills your progress

If it takes 6 engineers 10 days to complete 6 projects in parallel, why does it take 8 days when you work together 🤨

Reader question: "When do you fix tech debt?"

Long time reader Phil asks when do you fix the tech debt you used to ship faster. Heroic efforts don't work. The real answer is "always" – a mindset of gardening.

Tech debt is a tool

If your house was on fire, would you mow the lawn first?

Complex vs. complicated

Would you rather work with a complex system or a complicated system? 🤔

Pay yourself first

Profit is not what's left after expenses, expenses are what's left after profit.

You don't need a big team to automate your work

The opposite of folks who follow every FAANG trend and over-engineer their companies to death, are the folks who *never* take advice from the big boys.

Tips for a fulfilling tech career

When I dropped out of college to focus on freelancing back in 2012, I set 3 ground rules:

React 18 and the future of async data

Friend, I have glimpsed the future and it is amazing. React 18 is shipping with Suspense and startTransition for deferred component rendering, but not data loading. That's coming in a future 18.x version.

What I learned from Software Engineering at Google

When I first picked up Software Engineering at Google I thought it was another one of those FAANG books full of lessons that make no sense at human scale. I was surprised, lessons apply to teams as small as 5.

Your career needs a vision

In his book, The Art of Science and Engineering, Richard Hamming says the key to a great career is vision. What does that really look like?

Preventing RSI for programmers

I've been computering daily for 24 years, since I was 9, and managing RSI since high school. People often ask how it never gets bad. This is the article I always wish I had written.

Why a coding AI like Github Copilot won't take your job

It might. What's your job? If you're in the *"write code to exact specifications"* business ... now's a good time to start leveling up. The AI's not ready yet.

How to own projects like a senior engineer

The best skill you can learn is ownership. The second best is to let go.

Hacking the React AST for fun and profit – #CodeWithSwiz ep34

This is hold my beer level of hackery. It didn't work but we learned lots in the process.

A surprising feature of JavaScript optional chaining

This blew my mind, thought you'd like it too. You can do more with ?. than you thought.

Use Netlify's _redirects on Gatsby Cloud

Something always goes wrong when you change hosting providers. 😅 For me it was redirects. A vital feature of any site migration.

Do important work

Next time you finish a project, ask yourself: *"Might this work be important?"*. Add the polish.

A better React 18 startTransition demo

Demoing startTransition is hard. Modern computers are too fast 😅 – Dan Abramov, a React core team member, helped me fix it up. Here's what I learned

Trying out React 18 Alpha

I read everything about React 18 Alpha, trawled through the work group, and ran some experiments. Here's what you'll wanna know.

Words that scare developers

Words that scare developers are powerful tools that are not meant to be safe. That is a valuable lesson.

A fun security bug with static rendering – CodeWithSwiz #31

The flash of unlocked content is great fun for any paywall

Software Engineering is the 2nd best job

Ok so I've been doing lots of research into the Software Engineer job market – Some highlights 👇

Why you need a positioning statement

High value experts use positioning statements to say what they do for whom. Most engineers don't have one. 🤨

Build privacy-focused blazing fast tweet embeds – CodeWithSwiz 30

Twitter embeds every tweet on your page as an iframe. Loads 1.2MB of JavaScript, makes 20+ HTTP requests and uses 100+ DOM nodes. 💩

What matters in a senior engineer job interview

Degree matters if you have nothing better to show, consulting and BigTech backgrounds are negative, too many seniors can't code.

Twitter embeds without JavaScript, pt1 – #CodeWithSwiz 29

Continuing our quest for better Lighthouse scores, more reader privacy, and less JavaScript we attacked the next biggest culprit 👉 Twitter.

the trashcan metaphor

2 quick tips for 250% better Lighthouse scores – CodeWithSwiz 28

Your site may be fast for users, but Google don't care. Official metrics or bust.

Flow good for programming, not engineering

Friend, how good are you at your best? ... Nobody cares. How good are you at your average? What about your worst?

Serverless file upload to S3 with NextJS and AWS Lambda – CodeWithSwiz 27

The Girl loves her daily cute photos, but she's bored of repeats. What if adding images was easier 🤔

Send daily random photos from an S3 bucket using AWS Lambda – CodeWithSwiz 25

An experiment that sends daily photos from an S3 bucket to an IoT device using AWS Lambda

Your serverless questions, answered

When talk comes to serverless, engineers have lots of questions. Here are some answers 😊

Your luck & opportunity surface area

Here's a comment that resonated yesterday and you might like. It's about how to maximize the opportunity in your work.

How do you know if serverless fits your project?

The hallmark of a true expert is understanding about the pros and cons of your technical decisions.

Serverless Handbook coming Mar 31st

Serverless is the future. New book coming out Mar 31st and it's looking bomb

Different medium, different mindset

Ever wondered what it's like to make a physical book? It ain't as easy as shipping code lemme tell ya 😅

Go full-stack in 5min with your first cloud function

How *do* you build a JavaScript function that runs in the cloud serverlessly? Here's how to get started with Vercel, Netlify, or AWS Lambda

Can you automate love?

What's the laziest thing you've ever built? For me it's a bot that sends cute pictures every day

If you can JavaScript, you can backend

When you think of a backend or server developer, who comes to mind? A wizard of arcane magics. The future belongs to full-stack frontend engineers.

That time serverless melted my credit card

Serverless is pretty cheap. But you *can* get it wrong.

Why serverless fits side-projects perfectly

How do you provision servers for no load most days THEN ALL THE LOAD THIS MINUTE? That's how side-projects work and it's hard

How a $12 AWS bill powers a $50k business

my point is that running server code on the web has become ridiculously cheap *and* easy

Variants – a quick tip for better React components

Reusable components like to grow boolean props for different situations and complexity soon blows up. Variant props are the perfect solution.

Can you code faster?

What slows you down most while coding? It's not lack of skill. It's not lack of ideas. It's uncertainty. Fear.

Reverse engineer a GraphQL API to automate love notes – CodeWithSwiz 24

We used a man-in-the-middle attack to snoop an app's API traffic, replayed it in a GraphQL client, and successfully put it inside an AWS Lambda 🤘

A TypeScript trick for reusable hooks

Reusable hooks are all fun and games until TypeScript starts yelling at you about incompatible types.

React Bricks - visual blocks editor for NextJS #CodeWithSwiz 22

Tried a new visual editor for NextJS and CreateReactApp. Got a site up in 20min 🤘

The Magic Function principle

Write functions, mostly magic.

"silicon valley is like hollywood"

and I don't mean Silicon Valley the place, I mean Silicon Valley the concept.

[CodeWithSwiz 21] useAuth beta support for Firebase 🎉

It works! useAuth has beta-level support for Firebase Auth 🥳 I did not expect that to take 3 sessions.

Tech interview best practice that fails in life

Tech interviews have a magic answer: The hashmap. And it's not always best on the job.

[CodeWithSwiz 20] Adding Firebase support to useAuth, pt2

Firebase continues to be 💩. No wonder people keep asking for support in useAuth. Almost there ✌️

What computer science can teach us about vaccine distribution

How would you rollout the covid vaccine for max fairness and speed?

[CodeWithSwiz 19] Firebase Auth support in useAuth, pt1

Support for Firebase Auth is one of the most requested features for useAuth and I figured what the heck, how hard can it be?

Why you can't find an engineering coach

Wanna learn boxing? Join a gym, find a coach. Tennis player with a kink in your game? Find a coach. Software engineer with a missing skill? Google, random blogs, fun newsletters, dubious podcasts, noise on twitter 🤨

Reflecting on 2020

The year that felt like a drag and ended in the blink of an eye.

Deep work December

do you ever feel like you're working working working and nothing is happening? Like a game character running against an invisible obstacle? That's how I've been feeling lately. Stuck.

How *do* you standout as a developer?

Course creators are always telling you to learn this or that but how does any of it help *your* goals? That's the missing piece 🤔

SSR, SSRwR, SSG, CSR, WTFBBQ???

These abbreviations are getting out of hand. It's like a bad interviewer's wet dream.

You're not asking for a job, you're selling a service

You're not asking for a job, you're selling a service. The true question behind every interview is "How can you help us?"

Gatsby to NextJS pt1, server-side-render or server-side-generate?

Gatsby and NextJS do similar things differently. One is better for websites, the other for webapps. In episode 17 of CodeWithSwiz we explore the biggest difference.

Use private libraries to cleanup your codebase

You're using the many-small-repositories approach to work faster as a team. But where do you put shared code? How do you make it nice to use? How to publish and install private packages?

React context without context, using XState – CodeWithSwiz 14, 15

useAuth works without React Context! 🎉 here's how

What's your code for?

Perfect code that doesn't solve the problem is useless. Perfect metrics that don't serve the user are a distraction.

Reader question: How do you learn programming topics?

Nader writes in worried that he started coding too late and his progress is too slow. Here's my response.

Build better apps faster with the JAMStack

The ultimate test for your webapp: Airplane wifi

Forget time to first byte and time to interactive. What's your time to useful?

Learn Gatsby and NextJS with my new workshop

Think of the last time you started a new project. You spend the first few hours getting started. Ugh

How JAMStack helps you ship

Common problem in engineering teams: Stepping on each other's toes. JAMStack can help.

The mistake that strangles engineering teams

You work hard on a feature. Weeks of back and forth with designers, product managers, tech leads, and the rest of your team. Your feature is amazing and you're proud as heck! But then ...

How I use delegation to get more done

Productivity porn shows you how to pack more into your day. Productivity porn is wrong my friend. You need to remove things to grow.

Swap useReducer with XState – CodeWithSwiz 13

In Refactoring a useReducer to XState we talked about a 5 step process to turn a reducer into an XState state machine. Today answers "Ok now what?"

Sucking is the first step

You ever feel like you have no idea what you're doing? Everyone feels that way. Sometimes more, sometimes less.

How to write tests for XState – CodeWithSwiz 12

Once you know how to refactor a useReducer to XState, you gotta prove you did it right.

Should you take a pay cut for equity

Would you take some % of your salary in bitcoin? The joke is that compared to pre-IPO equity, bitcoin is predictable and has a known value.

Refactoring a useReducer to XState, pt1 – CodeWithSwiz 11

XState promises to be like useReducer+Context combined and the simplest way to handle complex state in React apps. But can it deliver? On this episode of #CodeWithSwiz, we gave it a shot.

Computer science is not software engineering

Wow, college was such a waste of time ... when did you ever invert a binary tree outside of an interview? Honestly I never inverted a binary tree in college either ☹️

Prefetch data with React Query and NextJS – CodeWithSwiz 8, 9

Prefetching lets you start React apps without loading spinners. Gatsby introduced this concept with `staticQuery`, react-query and NextJS make the pattern easier 😍

Why you should learn serverless cloud functions

Times are changing, the future of web development is here.Story time! 20 years of history in a 2min read, it's gonna be great 🤘

My favorite serverless project

When's the last time your first project in a new technology was also your favorite? Doesn't happen very often ...🤔 It happened to me in November 2018.

Modern backend is a JavaScript function

Many engineers think server-side code is the scary domain of True Engineers. Something newbies, juniors, and frontend engineers shouldn't touch. They're wrong. Modern backend is a joy. ❤️

A JavaScript function that makes $40,000+/year

What's the best code you ever wrote? Is it the most clever, or the cleanest. The most fun problem to solve, or the most impactful. The surprise throwaway everyone uses, or the love nobody noticed.

Using JavaScript to commit to Github – CodeWithSwiz 7

Update code with a JavaScript function? Easier than you think 😍

Why NextJS /api routes are fab – CodeWithSwiz 6

In this episode of CodeWithSwiz, we tried NextJS's support for /api routes – code running on the backend. In a word – Wow

Why senior engineers get nothing done

You start a new job and it's amazing. Code all day, clear objectives, easy guidelines, ship a bunch of features be a hero. Then something happens and suddenly you get nothing done. 🤔

Exploring NextJS with a headless CMS, pt4 – CodeWithSwiz

NextJS getStaticProps, environment vars, and why you shouldn't use yarn link – all in this episode of #CodeWithSwiz

Exploring NextJS with a custom CMS, pt3 – CodeWithSwiz

Friend, this episode of #CodeWithSwiz was a great example of why you want to start using TypeScript and how thermal load *destroys* computers.

How React Query gives you almost everything you thought you needed GraphQL for

GraphQL solves every problem you've ever had talking to APIs on the frontend. Mention a switch to GraphQL to your team and they think it's a joke. Rewrite our entire app? oh you jokester. React Query is the perfect middle ground ❤️

What if tech interviews aren't bullshit

Every tech employee says interviews are broken. Every employer keeps interviewing. What gives?

Building a small CMS with NextJS, pt2 – CodeWithSwiz

You're the computer, the CMS is your script. Starting small, trying NextJS, comparing microbundle vs. parcel for extracting libraries out of projects.

Your first NextJS app – CodeWithSwiz

On CodeWithSwiz ep2, we tried NextJS and built our first tiny app. Complete with a design system, static rendering, React Query to talk to AWS Lambda, and deployed to live 🤘

How to export a large Wordpress site to Markdown

Migrating from Wordpress to Markdown sounds easy. Mention it to any developer and they'll say "Pfft, an afternoon of work at worst". Suddenly it's 6months later and you're losing your mind.

Why Understanding beats Knowledge

Understanding beats knowledge every day. To have a strong career, learn to understand, not just to know.

CodeWithSwiz: Privacy-focused embeds for YouTube, Twitter, et al

A new old experiment 👉 regular livecoding. It's like a podcast with video, show notes, regular cadence, and we both learn something new.

Lessons from migrating a 14 year old blog with 1500 posts to Gatsby

After 4 years of putting it off, 1 year of tinkering, a month of work, and $1500 of hired help, my new blog is finally here 🎉 Here's what I learned.

You though computer science has no place in webdev? Here's a fun coding challenge

How to debug unified, rehype, or remark and fix bugs in markdown processing

How to debug unified, rehype, or remark and fix bugs in markdown processing

Tech in 2021 according to a VC

When your brain is breaking, try XState

In 2020's, what is "frontend"? 🤨

"He's a frontend guy, is this even a fair question to ask?" The head of engineering was worried about our systems design question …

Why react-hook-form is my new favorite form library

What if engineers were paid like athletes

Why engineers are worth so much

Engineers don't do the day to day work, they build assets the business can exploit for years to come. That's the magic

5 years of books & courses or how I made $369,000 on the side

5 years ago I moved to America to chase a dream 👉 stop selling time.

Path dependence or why existing code always looks bad

Build a new design system in a couple afternoons

Wormhole state management

How to grow as a senior engineer or why I got a new job

Hackers

Using scopes for elegant JAMStack permissions

How to lie with facts

Screw web performance, just wait a little 😈

Add granular role-based access to your JAMStack app

Looking for the perfect light work device

Don't be weird

What you do while waiting

The 3 types of scalability

Why you should build a form generator

Lemme guess, every project involves 1 or 2 forms and they're all the friggen same. You got forms coming out the wazoo. Render fields. Connect to state. Add field validation. Detect submit. Add form validation. Send fetch request. Repeat.

Don't just wait around

Your dumb ideas often work best

Announcing: Find Your Idea

You don't *have* ideas, you develop them

"I just need an idea"

How tests uncover hidden complexity in simple code

The surprising performance boost from changing gif embeds

My favorite lessons from Pragmatic Programmer

Configuring your JAMStack app for prod vs. dev

Stuck at home? Advance your career

How you can start using GraphQL today without changing the backend

GraphQL for new projects looks great ... buuuut how do you use it with that old backend cobbled together in Rails over the last bazillion years?

HOW great engineers hack The Process

Why great engineers hack The Process

Mocking and testing fetch requests with Jest

Connecting Gumroad to Auth0 for paywalled JAMStack apps

Why you should talk about engineering salaries

Why and how I built my own course platform

Why the heck did I build a course platform for ServerlessReact.Dev when services like Teachable, Podia, Thinkific, and such already exist? Because of friction my friend.

Imagine you could chat with the core of your industry for 5min

Ready to build your future?

5 apps with the modern web stack

How serverless beats servers

Announcing ServerlessReact.Dev – my new course on building apps from scratch

How GraphQL blows REST out of the water

Let's have a look at hyow GraphQL makes queries so much easier and more pleasant than REST

It's never been this easy to build a webapp

We live in exciting times my friend. It's never been this easy to build a webapp and make your first $1,000/month.

Most professional engineers can't build an app from scratch

5 crazy ideas that make $1,000/month

How can you make an extra $1,000 🤔

What could you do with an extra $1,000/month?

Famous last words: Pfft, that's easy

How my bank account went from $909 to $50,000 in 2019

A holiday CompSci reading list for you 🎅

A promises gotcha that will catch you out

How I answer the door with AWS Lambda and Twilio

Thank you, friend 🦃

What makes you a true master

"I’m a ocean of failure... so I swim"

Towards a Gatsby+Suspense proof-of-concept

Sometimes your worst code is your best code

Experimenting with the new React Concurrent mode

How to recession proof your career

How to succeed as a lead engineer – tactics and mindsets from practice

Is hot dog taco?

What if I told you modern tools let you build and launch a small webapp in 30 minutes? Complete with SSL, a .com domain, a database, a documented API, CDN hosting, fast static initial loads, and a hydrated SPA? That's the challenge I posed at Silicon Valley Code Camp this weekend. The audience didn't believe me, so it was time to perform some magic. 🧙

That time monkey patching took 2 days off my life

DO more _work_ less

REST API best practice in a GraphQL world

GraphQL is taking the world by storm and it is wonderful. But in the real world, you're still dealing with REST APIs aren't you?

"There's a YouTube video for everything"

Moving 13 years of Wordpress blog to Gatsby Markdown

Building software is a distraction

San Francisco v. Europe part 2

What happens when you push AWS credentials to GitHub

Thoughts on San Francisco after 2 weeks in Europe

The Big Mac index and Jest fetch testing

The Big Mac index is a purchasing power parity index published by The Economist. Jest fetch testing is a tech task so frustrating that it almost made me quit the industry. I'm writing this so you don't have to read 8234721 different blog posts, stack overflow answers, and GitHub threads with conflicting info on how to get Jest and fetch to play together.

useReducer + useContext for easy global state without libraries

useAuth – the simplest way to add authentication to your React app

Come hang out in Barcelona and learn GraphQL, Serverless, Gatsby, ...

The code is not the goal

Better engineer or More Effective engineer?

A short lesson in debugging complex systems

After 9 months of freedom, today I start a new job

The day I crashed production 4 times

The unreasonable difficulty of adding a feature to a Textarea

Friend, go offline

A whole new level of technical decision

Hustle, life, and Bernoulli trials

How to drive React state with D3 transitions for complex animation

A Drilldown Piechart with React and D3

Coders, protect your hands; you won't like coding without em

Build one to throw away

TypeScript's biggest flaw and how you can use ducks to fix it

Is JavaScript really getting too complex?

The Principle of Charity in tech

Getting the CSS out of rendered React components

TypeScript for serverless lambda backends 👌

A few months ago I inherited a Kotlin project. It was an unfinished prototype and all I had to do was wrap it up and deploy. Every time I touched the project, it broke. Nothing worked. Wouldn't run on my machine, wouldn't read API requests, couldn't get tests working, if I changed some code I broke it all. That's when I realized learning a new field is super hard

Just for fun 👉 React vs. jQuery vs. Svelte, same 🐱 app

I was bored Monday night and decided to see if I still know how to build with jQuery. Nothing better to do, no pressing ideas, a bit of fun. Also a favor for a friend who's preparing to talk about React to a bunch of people who've never seen it before 😛

Svelte takes the best of React and the best of Vue to make something awesome

The Phoenix Project recap

LOLCODE-to-JavaScript compiler babel macro

A fully functioning LOLCODE-to-JavaScript compiler implemented as a Babel macro. You never thought you wanted this and now here it is. You're welcome. 🐱

How to make what you're worth even if you're from the wrong country

What a hockey legend can teach you about career development

Say your boss gives you $1000 to grow your career. What do you do?

The web moves fast, how do you keep up?

comp sci ain't useless

Build better software with The Theory of Constraints

Freedom from Obligation

Finally, a practical use case for JavaScript generators!

JavaScript generators are amazing. They let you write infinite loops that terminate. Yield values from functions before they finish … and I bet you've never used a JavaScript generator even once did you? I FOUND A USE! A real world practical use-case where generators make your code better. 😱

4 years of coding in San Francisco, lessons learned

Serverless Chrome on AWS Lambda, the guide that works in 2019 and beyond

Custom markdown extensions with Remark and HAST handlers

Q1 2019 in Swizec LLC land #open

Trying the new ResizeObserver and IntersectionObserver APIs

What I loved about Reactathon 2019

How Grit superchargers your career

BrowserStack – a less painful way to test weird browsers

Fixing laggy UI with React.memo

useDimensions – a React Hook to measure DOM nodes

Learning a new field is super hard, I get it now 😅

Why dataviz does better for your career than TODOapps

Behind the curve ... of my bar donut chart 🤨

Pirates’ downfall causes global warming

JavaScript’s most popular dataviz library

Dinosaurs, software engineers, and cholera. What do they have in common?

Do you use any special time tracking software?

An experiment to merge React and Vue

Indie startup more profitable than Uber 😛

What makes you a senior software engineer anyway?

I used to think a senior engineer was someone who gets a project, understands the context, puts their head down, and gets it done. But no. A senior engineer does so much more than just write code and design systems.

Custom react hooks ❤️

Async, await, catch – error handling that won't drive you crazy

React, D3, and hooks 👉special livecode tonight 9:30pm

Why you don't have time to advance your career

Why CSS-in-JS is winning, an example

Tooltips and state across various d3 charts in a React dashboard!

This kid is amazing

How to set up Gatsby and Auth0 for easy authentication on your next project

When you don't think you're good enough

Delightful state management with hooks and Constate

A bunch of cool things and neat little tips

Focus on the process, not the goal

How to build a Remark plugin to supercharge your static site

DRY is a footgun, remember to YAGNI

When you code, write down everything

How to use React Context effectively

How I sidehustled $180k and why it almost killed my business

Logging 1,721,410 events per day with Postgres, Rails, Heroku, and a bit of JavaScript

Never give up

Tooltips ... tooltips are not so easy 🧐

Building a React dataviz with React hooks

Why you should write [code] every day

React for Dataviz Turkey 🦃 sale report for the curious

Oh the things you can learn with a fun weekend hack project 🏗

Waiting for Godot with callbacks, promises, and async

To experience true flow, try baking 👩‍🍳

Some life advice I learned from computer science

Announcing D3blackbox and useD3

Easy D3 blackbox components with React hooks

React hooks in a nut shell 🥐

31

Why you aren’t drowning in recruiters, too

Making a Node CLI both global and local

I built a node app to thaw my favorite snack 🥕

It Doesn't Have to be Crazy at Work – a review

Should you work at a startup

The joy of being a beginner

A lesson in sales from the guy who sold me $1500 of gear when all I wanted was a $100 pair of gloves

How I sponsored my own genius visa

Two days in New York with mum & sis ❤️

Online workshops are MORE interactive than in-person workshops

The most frustrating debugging experience I've had all year

How virtual memory saves lives, workshops, and your sanity

Build responsive SVG layouts with react-svg-flexbox

Lifestyle inflation after 3 years of San Francisco

I'm tired – a poem

ReactVR/react-360 is great, but maybe not quite there yet

Answering some common questions about React + D3 2018

Creating the perfect rounded edge with D3 curves

What a 3:36 marathon does to your body

Announcing: Big update to my best selling book and course, React + D3v4

How running a side business is a lot like running a marathon

The surprising benefit of hiring interns to write your code

Building a filterable log viewer with Downshift and match-sorter

What Richard Feynman taught me about joy

Hire these interns

The day I drove a Porsche 356 Speedster

I tried weed for performance enhancement and here's what I found

Upgrading to Gatsby v2 with the help of the hivemind 👌

What's an intermediate dev anyway?

You have permission to suck

Intern process part 2 – (my first) webinar, about React context

Tech intern job

Use ref callbacks to measure React component size

Tiny React & D3 flamegraph tutorial

Build an animated pure SVG dynamic height accordion with React and D3

Towards a WebRTC mesh network with RTCDataChannel

Some tricks I learned recording & publishing an educational video every day for 30 days

I tried VR on a plane and I'm a believer

How I prepare for a talk at an 8,000 people conference

Learning WebRTC peer-to-peer communication, part 2 – connecting 2 browsers on different devices

What I learned at MicroConf Growth 2018

Learning WebRTC peer-to-peer communication, part 1

Declarative D3 charts with React 16.3

Using YouTube as a data source in Gatsbyjs

Gratitude is hard – My first week with the Five Minute Journal

Does blogging really drive sales?

Declarative D3 transitions with React 16.3

Livecoding recap: Blockchain-redux now shares blocks between clients in real-time

What I learned from Sherry Walling's Keeping Your Sh*t Together

Blockchain-redux becomes useful, part 1

What I learned from Piketty's Capital in the 21st Century

Livecoding Recap: A new more versatile React pattern

Reactathon 2018 was a hoot ❤️

Coding is bad for you

How our engineering team got 12x faster using these 5 lessons about integrating 3rd-party services

Build a Chrome extension from idea to launch in an afternoon

Silky smooth Piechart transitions with React and D3.js

Working IN your career vs. ON your career

Make your things pretty with chroma-js

Seamlessly render a Preact component in a React project

Building an interactive DOM benchmark, preliminary results

Why everything must change every five years

What I learned making my first open source React component

The story of my family is the story of survivorship bias's other side

Loops are the hardest

3 key insights that make D3.js easy to learn

2018 is off to a rocky start

You don't want to build your own list virtualization

Chatroom is slow? I know, I'll just use list virtualization! List virtualization is hard, dear reader. So, how do you virtualize a list?

Fade in lazy loaded images with React and CSS – a quick guide

How to populate react-redux-form with dynamic default values

How to setup Gocommerce on a new Digital Ocean droplet

Don't say yes when you're happy

Am I thinking too small?

Always put side effects last

Blockchain Redux experiment, part 2

How I sidehustled $72,167 last year, and what I wanna do next

Advent of Code Day 24 – The A* Algorithm, I think

Advent of Code Day 22 – Sporifica Virus

Advent of Code Day 20 – Particle Swarm

Advent of Code Day 19 – A Series of Tubes

A blockchain-backed Redux clone in 105 lines of code

Advent of Code Days 17 & 18 – Spinlocks and Interpreters

Advent of Code Day 15 – Dueling JavaScript Generators

Advent of Code Day 14 – Disk Fragmentation

Advent of Code Day 13, Packet Scanners

My new 5K monitor – LG UltraFine 5K 😱

Teaching backend devs how to React and Redux at StubHub Boston

$2535 November sidehustle report

How to DDoS yourself with analytics –– a war story

Livecoding 52: First impressions of Vue

Arcane JavaScript knowledge still useful

How to add real web push notifications to your webapp

You've probably seen web notifications before. YouTube shows them when it goes to a new song, Facebook pings them when a new message comes in, scammy websites ask for permissions and you say no. The usual. You can fire those notifications from anywhere inside your JavaScript.

After a week I must begrudgingly admit VSCode is a better editor than Emacs

Livecoding 51: I did it! My first PR to a big OSS project \o/

My love letter to Prettier

Livecoding Recap 50: How newbie mistakes kill the flow

Why I won't be switching to VSCode any time soon

$16,863 October sidehustle report

That one time a simple for-loop increased conversions by 19%

How resumé-driven development shapes our industry

All that once was new is old again

What I learned from teaching StubHub about React and Redux

Livecoding Recap 48- Why contributing to big opensource projects is still hard

$9013 September sidehustle report – or why the React + D3v4 launch was not 6 figures or even 5

Livecoding Recap 48: JavaScript async/await and Morty's Mindblowers

Server-side rendering a D3 chart with React 16

JavaScript promises are just like monads and I can explain both in less than 2 minutes

There's a joke in functional programming that once you understand monads, it becomes impossible to explain them to others. The nuance is nuanced, the details are hard, let’s focus on practice

Livecoding Recap 47: Webpack build progress indicator for Mac Touchbar

How JavaScript linters cause bugs

I was doing code review for a coworker, and it soon became obvious that he used a linter and that the linter gave him a bright idea: _use strict comparisons_.

What it's like to be a statistical super minority in tech

Livecoding Recap #46: 3D is hard, WebAR defeats me

$2629 August sidehustle report

Livecoding Recap #45: Almost building a ballistic missile with React and AR.js

How you can translate any random D3 example to React

Livecoding Recap #44: Dipping my toes in AR.js

The two ways to build a zoomable dataviz component with d3.zoom and React

The story behind React + D3v4

How to think of your business logic as data

Livecoding recap #43: A landing page for React + D3v4

How I reverse-engineered Hacker News

$3426 July sidehustle report

From couch to sub 4 hour marathon in 4 short years

How to start a sidehustle

Best coding headphones: Bose QuietComfort 35

Hello, I'm Swizec, and I'm addicted to the approval of strangers on the internet.

Livecoding recap #42: HackerNews app where people are nice

What I learned from So Good They Can't Ignore You by Cal Newport

More messing with time: Deduping messages between iOS and JavaScript

$4093 June sidehustle report

Bernoulli's trials can tell you how many job applications to send

Livecoding recap #41: Towards declarative 3D scenes with React and Three.js

Initial Results of my Patreon Experiment

A dirty Webpack trick that reduced our gzipped bundle size by 55KB

First day with a new 2017 MacBook Pro

Livecoding recap #40: react-navigation with React Native

Exploring the AST with Babylon and Prettier

$2890 May sidehustle report

Livecoding #39: Towards an AI that writes JavaScript

What I learned from Cal Newport's Deep Work

Do you really need immutable data?

Livecoding #38 - A faux AI that writes JavaScript

The Best Goulash of your Life

Counting web sessions with JavaScript

How many touch points does your sales process require? Do you need 2 ad clicks or 5? Two shiny demos or one fat video? As an engineer, you might not care, but this is the stuff that keeps your CEO and growth lead and head of product up at night. A business owner that can answer that 👆 question reliably is god.

What happened to React + D3v4?

How I Got Boned by Taxes Two Years in a Row

$2529 April sidehustle report

Here's why you should never implement your own caching

Livecoding #37- Building a real life color picker

$5874 March sidehustle report

Why I don't write more Nightowls type stuff

A Fast Mutex Lamport Lock with JavaScript Promises

Time is funny in Ruby

A boutique React & D3v4 workshop – and my first vlog

The Internet is a Beautiful Place in the World's Most Exclusive Chatroom

Why People Read my Weekly Emails

N-body Collision Simulation with React, D3, and MobX

Livecoding #35 - A New Site for reactd3js.com

This is how I connected my Canon DSLR as a webcam

$3875 February sidehustle report

The Trouble with Vacation

Livecoding #34: A Map of Global Migrations, Part 3

Declarative `canvas` Animation with React and Konva

Livecoding #33: A Map of Global Migrations, Part 2

How We Used Webpack to Reduce Our JS Footprint by 50

A Dancing Rainbow Snake – An Example of Minimal React and D3v4 transitions

Livecoding #32: A Map of Global Migrations, Part 1

It ain't stupid if it works

Livecoding #31: Wherein we learn that datasets are hard and find 2 good papers

This is Yak Shaving

Nights and Weekends

Yet another hard lesson about time

Livecoding #30: Dipping my toes in React Native

Migrating to Webpack 2: some tips and gotchas

What I learned while 6x-ing my income in 4 years

60 seconds, 2000 miles

Animating 2048 SVG nodes in React, Preact, Inferno, Vue, Angular 2, and CycleJS – a side-by-side comparison

Livecoding #29: Optimizing React choropleth map rendering

Using HOCs to DRY up your code

If the first page of The Martian was written in different type systems

Dancing tree fractal with React

React Indie Bundle flopped. Here's why.

Fun surprise: UglifyJS can't ES6

Livecoding #28: Productizing the door-answering Slack bot, Part 1

One awkward thing about MobX: Complex models

Do you even need that bind?

Livecoding #27: New React Indie Bundle page almost done

Fractals in React

Fast, searchable dropdown inputs with React

I made a python script that converts SVG to React ?

Livecoding #26: A new page for a new React Indie Bundle

Let's talk about filter bubbles

Modeling time in React

These 19 Words are the Only Self-Help & Business Advice You Need

How to structure your MobX app for the real world

A tiny ES6 fetch() wrapper that makes your life easier

How to waste hours of life with fetch() and a bit of brainfart

Both superagent and fetch() enable you to talk to a server. The first produces clean code that gets nesty if you need many things. The second produces clean code that is Promis-y and sometimes cumbersome. The difference between superagent and fetch() isn't that one sends your headers as-given and the other lowercases their names. The difference is that superagent sends a cookie and fetch() doesn't!

Livecoding #25: Adding MobX to a vanilla React project

Simple MobX-driven modals

How to use MobX with create-react-app

I did an AMA, and it wasn't crickets.

Histogram in D3v3 vs D3v4

CSS classes don't work the way you think they work

Go the fuck home

The daring rescue of a parrot in the streets of San Francisco

How to make Slack and Twilio talk to each other

A trick to make your big dataviz load super fast

Why coding is more fun than engineering

WTF is X-Frame-Options?

How much do techie immigrants make?

My weekend at Forefront in New York

You don't need tests

Tying place names to county names with geonames.org

Livecoding #24: A choropleth in React.js

Some facts about US household income

Chrome's console.log is the slowest

My blog is the best resource online for "60*60"

Livecoding #23: Slackbots and OAuth

Magic shiny paint

Backbone → React: Handling state with MobX

Backbone → React: it's a people problem after all ?

Backbone → React – Step 1

Livecoding #22: A door-answering Slackbot

Firefox is slow, Lodash is fast

Object clone performance: preliminary results

Are You an Engineer or a Developer?

Publish every day

A puzzle in JavaScript objects

This is a puzzle you can run into if you’re not careful, and sometimes, despite your best efforts, even if you are careful. It happened to me when I had a settings object that I passed into a view. The view then did things. When I made a new view from the settings object, it looked like the view I had just cleared.

Work on React+D3js ES6 v2 begins in earnest

The one thing flexbox can't do

It's a trap

I Got Schooled

Backbone with ES6

How to add ESLint to your project

I added linting to a 3-year old project. You can totally guess what happened next.

Livecoding #21: Use Babel for libraries, not Webpack

After a year, my first business diary retires

Slack lied to me

It's Just Like Knitting

MacOS filesystem's annoying little quirk

Animated string diffing with React and D3

Livecoding #20: You can’t extend an object

Teaching beginners

The ES6 Cheatsheet story and results

Conway’s game of life in Google Docs

Livecoding #19: It’s hard to package a library

JavaScript can fetch() now and it's not THAT great

I broke AJAX in Chrome 52 ?

JS object optimization bug in Chrome 52

Livecoding #18: An abstract React transition component

Livecoding #17: Particle physics is hard

Probably the dumbest idea I ever had

Livecoding #16: canvas.drawImage performance is weird but magical

Livecoding #15: Reaching the limits of canvas redraw speed

Livecoding #14: Mostly-smooth animation up to 4,000 elements with React and canvas

Livecoding #13: rendering React components with canvas

The surprising difficulty of paying the US government

Livecoding #12: towards animating 10k+ elements with React

Things I learned from doing my first workshop

Why I switched to making products

Does it even make sense to move to San Francisco?

Using d3js transitions in React

How to Make a Piechart using React and d3

Animating with React, Redux, and d3

What I learned from Amanda Palmer's The Art of Asking

How I got a visa normally reserved for nobel laureates

Don't Worry; It's a Compiler Bug

React Indie Bundle report, or how we made $31k in a week

A day is not 60*60*24 seconds long

Days aren't 60*60*24 seconds long. They are 1 day long, which on most days maps to 60*60*24 = 86400 seconds. But not on all days.

There's a "bug" in ES6 modules

React+Flux can do in just 137 lines what jQuery can do in 10

The Evolution of a Freelancer: Lessons from the Hallway Track at DYFConf

What I learned from Kathy Sierra's Badass

Lesson learned, test your migrations on the big dataset

Last night I almost died. A Cadillac "parked" on my board

What I learned from Viktor E. Frankl's Man's Search for Meaning

React components as jQuery plugins

How I ran my first half marathon faster than 84% of participants

On Saturday I became a Spartan - a story in 23 gifs

Why offices are where work goes to die

I lost 2.5kg (5.6lbs) in a 3-day juice cleanse and it was the worst

Webpack lazy loading on Rails with CDN support

The Focus app reduced my decision fatigue

This weekend I rented my dream car

How a book I wrote in two weeks made $4,000 in its first month

How a book I wrote in two weeks made $4,000 in its first month

Temporarily homeless, a story in one dumb move

How to wait for DOM elements to show up in modern browsers

People can't spell "engineer" or "developer" even when applying for a visa

The worst software bug I've ever had to deal with as a user

It took me ten months to write a video course

How to run JavaScript tests in Chrome on Travis

Dear tech companies, this is not how you hire engineers

Javascript debugging [slightly] beyond console.log

My favourite tool for javascript debugging is `console.log`. I mean, I love `console.log`. If I ever get a programming tattoo, it's going to be `console.log` or some variation thereof. Simple to use, works every time, and every programming language I've used since I was 9 has had some variation of it.

This is how lifestyle inflation snuck up on me

What I learned about freelancing by getting a haircut

Thank you people of the internet

Code completion is bad mmkay

Kids, always remember to clear your intervals

It's good to be back, but I still don't know where I like it more

I was wrong about AngularJS

What happens when you stop saying No

I ran with the bulls and I survived

With 90k I could become a full-time author

My new favourite Javascript trick

Using returns and callbacks in the same function. Sounds like crazy talk I know, but hear me out, I have good reason. I think.

Why I love Tinder

(ab)Using d3.js to make a Pong game

Feedback my sample d3.js screencast

How to royally cock up as a freelancer

Week 20: Making ad-hoc polymorphism less ad hoc

Writey write about Write the Docs

Week 19: Relativity theory and time perception

How the internet saved my arse, and my longboard

After five months, my effective hourly rate with a publisher is 3eur/hour

Week 18: the role of diet in periodontal disease

Are introverts more creative?

Week 17: What happens when you only eat meat for a year?

I returned to Slovenia after 3 months and I am culturally shocked

Week 16: On the criteria to be used in decomposing systems into modules

Week 15: A tutorial on the expressiveness and universality of fold

When the universe tries to communicate, or how I almost didn't get home

Why I don't have a 5 year plan

Week 14, heuristic evaluation of user interfaces

Mixing mixpanel into backbone

Week 13, constructing logic circuits in mammalian cells

Cirque du Soleil blew my mind

Week 12: practical cold boot attacks that will make cryptonerds shit their pants

Week 11, Searching the Internet for evidence of time travelers

New Year's in New York

Week 10, The myriad virtues of Wavelet Trees

You, take a break

GoKarting is better than both sex _and_ bacon

Week 9: Life at low Reynold's number

The weirdest thing women say to me

Week 8: What a girl who plays rugby can teach organizational leaders

Week 7: Time, Clocks, and Ordering of Events in a Distributed System

After three years I finally have a phone number again

How I accidentally lost my social skills

Week 6, A query on confirmation

Getting lucky with Bitcoin

Week 5: Random Structures from LEGO Bricks and Analog Monte Carlo Procedures

LICEcap - best screen capture tool I've ever used

My old code is atrocious

Week 4: Tiny insects evolve anuclear neurons

Week 3: Of lion manes and human beards

I published a book with a publisher. Here's what the journey was like.

Week 2: Level 1 of Super Mario Bros. is easy with lexicographic orderings and

I give up, Apple will never understand dual screen as well as Linux

Week 1: Turing's On computable numbers

About achieving polymorphism in Javascript

Inspired by the 180 websites I will understand 52 academic papers in 52 weeks

Bayesian modeling for the perfect pizza

Adventures in homelessness

Lessons learned in a year of freelancing

My new favourite pomodoro app

Are map, reduce, and filter turing complete?

Why you should never write a book in .doc

This paragraph describes YOU perfectly

30 day fitness experiment with results

A month on the road

Longtrip, surf's up dude

Longtrip, On the road

Longtrip, barrieri di lingua

Writing modular Backbone with Backbone.SubRoute

Language

Always look for the gem

So I bought a GoPro ...

Okay publishers, I get the hint, nonacademics shouldn't cite original sources

CircleCI - sexy continuous integration for private repos

Age

Onboard a Delta transatlantic flight with tattered seats

Onboard a Delta transatlantic flight with tattered seats

Force users to add a facebook login with devise omniauth

Peeshkot - cookie warnings, go away!

The most important writing lesson I learned in 6th grade maths class

Facebook ads: good for likes, bad for sales

I infiltrated another Rails Girls event, #RailsGirlsMb

Dynamic languages have jumped the shark

How I became a 3 hour per day workout nutter

Follow up to The most pleasant job interview I have ever had

How Draft got me to pay for a free product

An English pet peeve

Write sitting down, edit standing up

Mouse movements in a day of coding

Videos from first Javascript meetup in Ljubljana

Writing a REST client in Haskell

I love being a geek

First JavaScript meetup in Ljubljana is right around the corner

How CamelCase ruined my day and my dev environment

The most pleasant job interview I have ever had

Canada, eh?

Why you don't have a flight transfer in North America

A tale about always-on DRM and web security

It takes about two months to write a technical book

Bring Ruby VCR to Javascript testing with Capybara and puffing-billy

Testing Javascript API calls with Capybara and puffing-billy

Sexy animated spirographs in 35 sloc of d3.js

The true difference between self publishing and using publishers

#ifihadglass - the app I want to build

Da Vinci - The Genius

Breaking bounds with BoundBreaker

In praise of the pass phrase

The first Barcamp Sarajevo

First impressions of Rails as a Javascripter

A geek goes surfing in the Adriatic

Vine - the crappiest app I can't help but love

First lessons learned about writing technical books

Cool thing Thursday: Contribute to opensource without leaving your browser

Numbers that baffle

Cool thing Thursday: Daleron Cold 3

The trials and tribulations of a large-ish dataset

My very own daily WTF

Project soundtracks - how I killed procrastination

A New Year's Eve in Belgrade

Testing Backbone apps with Mocha

Thoughts while munching green tea fortune cookies

Bacon muffins - a doomsday experiment in cooking

The 10x developer in you

The 10x programmer in you

Best TEDx event I've been to #tedxlj

I infiltrated #railsgirlslj, here's what it was like

Elegantly using socket.io in backbone apps

Cool thing Thursday: A 300 euro keyboard

Is writing the same as coding?

Cool thing Thursday: Emacs tramp-mode

Being young and naive

Testing socket.io apps

Cool thing Thursday: alertify.js

Webcamp Zagreb report

Cool thing Thursday: Leanpub

I made $730 by selling an unfinished book for 3 days.

Game development in Webgl

Cool thing Thursday: HelloSign

What writing a book feels like

Single page web apps: the worst of both worlds

Cool thing Thursday: iA Writer

A retrospective of an unproductive day

How to tell a phone your website is an app

Experienced developers can't solve this problem

Cool thing thursday: Pocket.co - feed your inner internetovore, keep your browser happy

Lessons learned after a month of freelancing full time

Symfony and the scary world of PHP

Apple just doesn't get it anymore

A week in Paris

Cool thing Thursday: Dream of Pixels

Why you can't focus on a single great idea

Simple trick that lets you code twice as fast

Aho-Corasick string matching algorithm in Haskell

Implementing the aho-corasick algorithm in Haskell

Cool thing Thursday: Fog of World

Elementary.

Quick scatterplot tutorial for d3.js

Cool thing Thursday: Ceylon

On becoming a college dropout

Markov chain poem trainer+generator in 29 sloc of Haskell

Cool thing thursday: in-browser 3D modeling with live preview

Fizzbuzz without ifs in 90 char. I will buy you a beer if you can do better.

Teleportation, would you use it?

Turns out I'll be writing a book

Waking up early - the best way to waste the day

DO benchmark yourself against normal

Monads, monads, monads, monads

I've hit a glass ceiling of coding productivity. Now what?

Services I want to pay for

Python and lazy evaluation

The birth of LISP - a summary of John McCarthy's original paper

Is there a freelancer friendly bank?

Amdahl's law in action - 27s to 0.03s by changing a function

Entrepreneurs, this is how much confidence you need

App.net put a price on early adopter pride. And it worked.

An elegant way to randomly change every list member in Haskell

Scraping with Mechanize and BeautifulSoup

My first longboarding event

Despite daily strength training I'm not fit enough for WW2

A roadtrip: fin

A roadtrip: second leg

A roadtrip: wherein Swizec is not to be trusted with important objects without supervision

A roadtrip: First leg

My first Pecha Kucha talk

If this is NSFW you should quit

Blackbox testing node.js apps

Why I will always suck at programming [Grega Stritar]

Geek at a music festival: Day 5

Geek at a music festival: Day 4

Geek at a music festival: Day 3

Geek at a music festival: Day 2

Geek at a music festival: Day 1

A history of my worst technical achievements

Levenshtein distance in Haskell

Fun with cheap iPhone lenses

Weather - the best thing about Silicon Valley

What is leisure?

Haskell and randomness

It’s tea o’clock: Why tea is better than coffee when it comes to office life?

Can you make a CAPTCHA to tell coders from non-coders?

Give me your guestpost and I will give you my love!

How to make the perfect iPad stand out of LEGO's

Why I still haven't learned Haskell

a post about this

Making statsd talk directly to a browser

The best 70 cents I have ever spent on the iStore

A patent for swinging on a swing

Why people making compilers are superheroes

there was an idea in this post

why I don't sleep

New Foursquare [screengrab porn]

Do waste many a single moment

Flotr2 - my favorite javascript graph library

As a power user, I want to punch you every time I change a setting

Natural Language Generation system architectures

Project Management Techniques to Help Start-ups

Programmers are optimists

This week, the future finally started

Can you pay one compliment to one stranger every day?

Disability, startups and loneliness

A year of 750words.com - with shiny graphs

Web page segmentation

Inside a Google onsite interview

Remember to feed your sysadmins

My brain can't handle OOP anymore

Steal my startup idea: Rent-a-mum

Skype does not an IDE make

Three benefits of trying to gain weight

Google sent me a "what to know in on-site interviews" email. Here it is.

Making our irc bot talk

There is no do or do not, only try

My impressions of Diablo 3

Does a new age of kings approach?

Comparing automatic poetry generators

The most fun you can have offline

Using Backbone to improve multiselects

Google+ redesigned into Facebook

What Refactoring is, and what it isn't

19 months from launch to $1,000,000,000 acquisition: Instagram

Tracking RSS readers with Google Analytics

A few thoughts on blogging inspiration

Would you subscribe to this service?

Online, real names provide anonymity

The exciting future Javascript

My language is better than yours

Science Wednesday: Defining poetry

An evil business model that works

A test post and a story

I wish this existed

I am a software developer, not a 15 year old

What Starting feels like

Selling to girls

Django and IE9 don't play well together

Planica up close

For better productivity, I watch 6 hours of TV a week

Closure and currying magic for cleaner javascript

The one book that gets me offline

Webdevs, you have no idea how much you know

Startup world, Y U SUCK AT MOTIVATE?

Science Wednesday: Towards a computational model of poetry generation

Why geeks think girls don't like them

How to make your django app slow

A Google phone interview

I'm a pro blogger now!

A talk that changes everything

Unit testing is for lazy people

The commonest javascript bug

I made a steampunk costume

FANN - neural networks made easy

I walked all over a lake!

Two business things Slovenia needs to change

Possibly the ugliest python ever to escape my brain

Study Break! What students do for mental breaks from studying

Why every entrepreneur should take up boxing

Amazing air machines

The greatest story I have to tell

Udacity - learn how to give an autonomous car its brain

Top 10 iPhone Apps for Web Designers

TEDxBled pitch

Everyone should learn [about] programming

Three cool things

Heroku, mongo, node.js - a problem

Lychrel numbers

A month wasted

A visit to the dentist

I Don't Know

I Don't Know

Appcelerator Titanium might've made it to my toolbox

This Haskell is wrong. Why?

Blogging, hats, stuff

Are you a boy scout coder?

Shoes

Why you don't exercise every day

Geeks of america, please start fighting SOPA

Minimum substring cover problem

The No brown M&M's rule

Collatz, Haskell and Memoization

A message from your future self

A message from your future self

Programmers are born not made

Deca - a cool systems programming language

Stypi - the perfect blogging tool

We take Carpe Diem too seriously

Sabbatical week day 3: Raining datatypes

Sabbatical week day 2: I fail at Octave

Sabbatical week day 1: Toshl and Toggl datasets

Learning me a Haskell

The problem with threads

Today I nearly died ... four times

5 months of blog traffic in 4 days

A lesson about client-side templating

Why programmers work at night

Why programmers work at night

Science Wednesday: Self-driving cars

The best $5 I have ever spent

Javascript's lack of strftime

A food experiment

Can I please take all my classes online?

Fun javascript feature

Stop being so fucking productive

I kicked myself in the balls

Simple trick for testing forms full of checkboxes with django

I wish my doctor was a vet

Shuush - perfect tool for all my twitter followers

Music and The Zone

A turing machine in 133 bytes of javascript

On writing every day

Nondeterministic turing machine simulator in 23 lines of JavaScript

TEDxYouth Ljubljana report

Best blogging week I have ever had

Strangest line of python you have ever seen

Why I only work with startups

I suck at implementing neural networks in octave

We are not generation sell

TV's are now computers O.o

fun vs. reason

Parsing JavaScript with JavaScript

Timekiwi - delicious timelines

I think I finally understand what a neural network is

Going to the dentist is like trying out a new opensource project

@donalddesantis is wrong about girls

First steps with Octave and machine learning

Sleep hacking

Handling timezones in python

Poking a sleeping giant

Beardvember. DOIT!

Making a Möbius cake

Notebook fetishism

"Startup rollercoaster" isn't even the half of it

The strange world of getting user data onto a piece of paper

#WebcampLj was bitchin'

postme.me - idea to sales in 3 days

Weird feeds

A for loop is not a for loop is not a for loop

Programmers are fucking lazy

Firefox's "funny" css3 image scaling quirk

Economy next on the noobs' list of things to ruin?

A technical post about cake

What are you proud of?

ml-class.org vs. real world ML class

Crowdsourcing elegance

Functional isn't always better

Steve Jobs

Quick and easy way to getting burned by nginx

I suck at [formal] education or does education suck?

Collect your data carefully, a lesson

I want to analyze your blog

Measuring vocabulary richness with python

NaN does not equal NaN

The end of my internet diet experiment

#Geeksonwater

Spending money online is crazy hard!

Calorie counting is silly

Mac OS X Lion and Wi-Fi

So how many readers _actually_ read a blog post?

Seems I am in love with learning

A longboard and a school system

KVM and the great outdoors

The quickreading

I learned two things today 9.9.

I learned four things today 8.9.

Our intuitive understanding of distance fails us

I learned two things today 5.8.

I learned two things today 4.8.

I learned two things today 3.9.

I learned two things today 31.8.

I went through YC as an intern, here's what I learned

I learned two things today 30.8.

I learned two things today 29.8.

I learned two things today 29.8.

I learned two things today 27.8.

I learned two things today 25.8.

Why don't computers understand timezones?

I learned a couple of things these days 22.8. 23.8. 24.8.

I learned two things today 21.8.

I learned two things today 20.8.

I learned two things today 19.8.

Why an internet diet and not cold turkey

I learned two things today 18.8.

I learned two things today 16.8.

I learned two things today 17.8.

My ideas are shitty so I'm going on an internet diet

I learned two things today 16.8.

I learned two things today 14.8.

How Ayrton Senna can make you a better anything

I learned two things today 12.8.

I learned two things today 10.8.

I learned two things today 11.8.

Software dev isn't just a logical process

I learned two things today 9.8.

I learned two things today 8.8.

I learned two things today 6.8.

I learned two things today 7.8.

I learned two things today 5.8.

The man you want to be does not matter

I learned two things today 2.8.

I learned two things today 1.8.

I learned two things today 31.7

I learned two things today 30.7.

I learned two things today 29.7.

WebPutty will make your CSS cry virgin unicorn tears of awesome

Somebody finally figured out how to do marketing on Twitter!

Someone finally figured out how to market on Twitter

Crayons ... best productivity hack ever?

I learned two things today

Going from Slovenia to Palo Alto ... what culture shock?

The entrepreneur's curse

Your Twitter bio sucks - I think I can fix it

First steps with OS X Lion

Circles? Fuck circles. Hangouts? Buy me beer and we can hang

JavaScript's native map reduce and filter are wrong

I couldn't get into YC so I joined a startup that did

Living life in 25min increments

Daemonizing node.js processes

I am not an entrepreneur, I am an indie web developer

Lifepath.me is the shiniest web thing

Using backbone.js for fun and profit

My new footer gives you a glimpse into my life

The Twitters pitched 5 products, why I chose the first

Doing a startup taught me the value of staying in school

Why trolling is a art

Implementing a weighed random choice in Clojure

node-unshortener can unshort any url

750 words a day keeps the insanity away

Using prime numbers to generate pretty trees

Being hacked killed a 6k traffic spike on my blog yesterday

Don't be a quiet professional

What Munchkins can teach us about entrepreneurship

Ubuntu's app management better than Apple's

Even with Narwhals ubuntu is still a bitch to install

The three types of projects worth your time

A cool JavaScript property you never noticed

A few years ago I was playing around with JavaScript trying to find the cleanest way to implement callbacks in functions. Primarily I wanted a readable way to make certain the last argument passed is a callback, withut having to rely on knowing how many arguments there are and so on. Instead I stumbled upon a pretty cool feature of how javascript handles function arguments.

Benchmarking node, tornado and django for concurrency

Comparing clojure and node.js for speed

Circadian rhythm meltdown

Checking for primes? Dumber algorithm is faster algorithm

Project euler is a fun way to become a better geek

I got punched in the face and survived

A case for multi-tasking

Tweet a photo every time your mac wakes up with a simple hack

Execution shapes ideas

DjangoCamp was bangin'! (before unseen epic last slide of my talk)

The Internet at war

Twitter censoring the WikiLeaks debate?

Evolving a poem with an hour of python hacking

Workflowy is to TODO as git is to svn

Clients need deadlines too

Clients need deadlines too

A wit

600 word essay on the positive merits of politeness

Some general impressions of the US

A flight

Doing nothing is the hardest thing ever

Hard work is a total waste of time

RSS not dead, just misunderstood

Apple's Ping is a big pile of steaming dung

On the buying of new hair and other silly stuff

The strangestest Hello World I ever made

Programatically uploading to blobstore in python

Django protip #2: Forms are awesome

The mountains are beautiful magnificent beasts

Django protip #1: A better App structure

Small trick for seamless base64 password storage in django

Barefoot running

Today was the worst day I've ever had

This summer a bunch of hackers might realize your crazy idea

List of things I need to do before I'm 30

The best post in the history of posting on the internets

The upcoming month right out from hell!

Študentske demonstracije? Pha! Prej farsa s smešnim izidom

Malo delo? Poserjem se na vas in vaše demonstracije

An engineer's view on philosophy

asfdasdf

Freelance teaching is great, or why C/Java/etc. are horrible teaching tools

Tracking runs is fun! :D

First hike of the season

Do you memento mori?

The sad state of BlackBerry apps

A little bit of burn out? Perhaps

Processing as-you-read in clojure

How long is your coding schlong?

How I justified a weekend of videogaming and gorging as an exercise in hardcore personal improvement

The creepiest fucking image ever!

Yay my blog is up and running again! :D

David Heinemeier Hansson is wrong! Startups work.

Pure Pwnage is the best show ever

Student+entrepreneur != hard

The bliss and curse of mindsets

The Slavic Esperanto

Philosophers are crazy people!

How Men Who Stare At Goats gave me a breakthrough

The real-time WebCamp bash

Splitting and merging django models with perfect transparency

Exam season eats time like women, internet and television combined

Maths is purdiful

Apple pulls another Newton with the iPad

Caek!

Why bigger penis == bigger confidence [nsfw-ish]

Python multiprocessing is fucking sweet

How ikigai has changed my style

How Lisp changed my style

The kind of professor we can all but hope to meet some day

How Ikigai has changed my style

Ljubljana hasn't heard of plows --> snow driving yayz!

The best copypasta ever copy pasted

Came up with a wisdom

The greatest casual game ever devised

3 pikchurs of a pretty goat

Kids, shrooms are fucking cool

Rape has never been so beautiful

Everybody should watch Children of Men

These are the times I love my job

Like Angelina and Scarlet having sex with your eyes

Brittany Murphy was really hawt

Holidays - finally some time to work!

How the card is chosen

How I discovered one of the greatest influences on my life

Switching from apache to nginx is a dream

The webcomics I love

A quick quip

A careless rant about human rights

Why the digital book revolution is stupid

Heaven is where your code lies

Lost a freelance project, but gained a knowledge

Shaved! \o/

DJ Dejan - a NSFW blast from the past

Webcamp Ljubljana was a blast

Google stoops to their level, fights freedom

Pirating Hulu et al. is fighting racism!

The perfect woman [nsfw]

NaNoWriMo day19, so not gonna make it

A portfolio is born

Humar bi moral postati legenda, pa ne bo

Howto convince the iStore you're from the US and circumvent regional copyright restrictions

NaNoWriMo day 12 - sloooowly, very slooowly

The power of 20 minutes - an inspiration

NaNoWriMo day 10 - where the fuck did the week go?

Grindhouse fucking rawks

Firefox personas - best thing ever

NaNoWriMo day 4+5, it just takes determination

Open question, please help

NaNoWriMo day3, when nothing happens

NaNoWriMo day2, time goes quick

Gonzo Steampunk Vampires, Halloween and Beards

NaNoWriMo day1, or how strange inspiration can be

Ubuntu release party, start:up and weed

Why people use IDE's (and how badly Win7 sucks)

What I learned of PHP by ignoring it for three months

A smart (funny?) words I said

You know what, I fucking love my faculty (FRI)

The university lecture structure is all wrong

My life is a derivative of a derivative

How I kicked my caffeine habbit in 10 painful steps

Yeah but you're weird

Drunk driving is manslaughter!

The nightmare of switching to openSUSE 11.0 from Kubuntu

First traditional pub&bar crawl 2009

A smart words I said

Of London, Murphy and Seedcamp

My room in "funny" pictures

A season for catching colds

Snow Leopards in mah rooms!

Fighting Twitter spam with bayes

Everyone should work out! (here's why)

Why is working out worth it?

The asinine pricing of Snow Leopard

From idea to seedcamp application in a week

Having discipline is painful

Do we rely on open APIs too much?

How MAFIAA killed itself and why Goth is undead

The ten pros and cons of unit testing

Why I hate working from home

Incapable of proper sunscreen use

Erasem's Knight's Tournament 2009 (with pics)

Running bloody hurts

jQuery imageless buttons a la Google get an update

Br

Linear algebra assistants are the RIAA

Our digital lives are empty and sad

Unit testing is anti-productive

Slovenia desperately needs more burlesque

New steampunk crap in my room

Internet memestalgia

I am a Groundbreaking Thinker ...

Slovenia php conference day2 (live blogging)

Slovenia Php Conference 2009 (live blogging)

The game of Quantum Wolf Hunt

Coraline 3D was fab

Stop making cars into living rooms and speeding won't be a problem!

Debauchery at BcLj2

A sonnet to Boob

Duke Nukem Forever is never

Mini Seedcamp Ljubljana finalists congratz

Videogame realism - ouch

Change is good, change we like

Time is short whey you're old

The failing economy paradox

A King was happy to give me his palace

The day my elaborate prank failed

A man's straying eyes

Battlestar Galactica - best video novel ever

Followers don't matter

Ville Depp and Johnny Valo

I swallowed a dead raccoon

Adobe AIR's javascript no eval or include is moronic

Stupid users are a myth

Man better transport than Car

Moved to wordpress

Dietary experiments

World of Goo is the third game I ever bought legally

The sixth photo

Safari 4 sucks. But how badly?

jQuery imageless buttons a la Google take two

jQuery imageless buttons a la Google

Online buzz is quite cool

This is why I hate mornings

God and science are in love

Paradigm shifts - where agile development fails

Algorithm for unlocking any man's heart

Why MAFIAA is fighting a losing battle

Girls night and writing

Exam season and analysis fail

Edgar Allan Poe was 200 yesterday

My barcamp Ljubljana report

How to induce lucid REM

Powernaps and gambling

Bitter cold and Neil Gaiman

How noobs are destroying the world

A young boy named Jake

Idiocy and overpolitisation

When you can't algorithm, photowalk

Why being creative sucks

And so it ends

In year 2009 I will ...

Seven christmas truths

Ljubljana Kabaret vs. London Cabaret

iFart is making me want an iPhone

Klok - the missing PIM application

What does The Picture of Dorian Gray mean

Human rights day and why it shouldn't exist

Photowalk #2

How to drive an 800% traffic spike to your blog

Five reasons a developer should avoid Adobe AIR

Five reasons you should develop in Adobe AIR

My first weekly photowalk

Old at one and twenty

The underwear your girlfriend really wants you to wear

History of Everything

I are officially kind of smart

Clean Code and speed coding

My twitter goals

Took IQ test - found problem

Moo cards - best thing since kitten litter

Obama wins

Upgrading to ubuntu 8.10 hurts

Even good blogs need help

Dirty hacks are everywhere

Late-night fun

10 questions you thought were polite but aren't

What blogs are all about

Wien is nothing special

Vienna day two

Vienna day one

Blackberries are arsehats

Drug use is not abuse

Twitter solves massive bug

The mind of a wandering software poet

Switching to feed readers

17 hour workday Sunday

Blog redone

God and science don't matter

Boston Legal is a huge time hog

Sex, fun and games

Thoughts of a lonesome writer on a Thursday cocktail

Eccentric does not mean genius

The farce of parliamentary election

Stock markets collapsing - buy buy buy buy!

Dressing funnily

The world is actually fair

Hug a developer

Who killed Amanda Palmer

Spore is better than fucking

Computers used to work in the 90's

Importance of good office equipment

Giving people space

Getting readership

Dieting with results in a week

Typing versus shouting

Plans and scams

Divination by coin

True love

Writing

WebDAV, girlfriends and linux

A physics analogy to anger

Perl will solve your bug!

The fabled, but lazy, day

Coding, farting and bicycles

And that's how holidays destroyed the world.

Still an idiot, but with a sexy desktopo now

I'm an idiot, but a merry one

Dude! The blog is read :O

Setting up a server only takes a while

How life sucks the fun out of all

<insert deity> bless opensource

PhP conference

We love the bugzilla and she loves us

The modern decadent

Firefox 3.0 release party

Blogres is done with

Blogres 2k8

Victims of modern education

The pain of a dead domain

Whiteboard of mind

IE6 can kiss my ass!

The carnival the carnival

IPSC 2k8

Procrastination

Bewbs

Lord of the dance

Blood fetish

The Dresden Dolls Insanity

Fart fetish

Code monkeys

The chronicles of a dead blog

Fool of an april

Knowing how to fight can be very helpful

A random deterministic process

My brain is a vector

Blogorola's "Hot'a'lot"

Multiculture

Emotions

Chatslaves

Heading for dystopia or utopia?

Death of Drnovšek

Girflriend doesn't mind my love affair

War on scientology

Life is simpler without love

Short penis

The Angry Walk

Public sex

Appaling customer service at Harvey Norman

Opensource delight

Exams and revolutions

Blogolicious envy

Death of Lestat

Entaggling the word

Dreamhosting

Workaholic

In sickness and in death

Maths and poetry

Punk

Autumn

Jesen

Living statue

First week

Prvi teden

London 7

London 6

London 5

London 4

London 3

London 3

London 1

London 1

London 2

London 2

Fitnes

Gym

Povzetki in poljubčki

Summaries and kisses

Živi!

She lives!

Dane Cook

Dane Cook

Medievalness

Srednjeveškost

Blade hunter

Propelovilec

Modern covers

Moderne priredbe

Shiny box

Svetleča škatla

Bookses

Knjigce

Cyber Bullying

Spletno nasilje

Dusty death

Prašna smrt

Internet drama

Internet drama

And we're done

In smo opravili

Dissatisfactions

Nezadovoljstva

Gertrude

Gertrude

Drugi Edo

The Second Eddy

The Willows

The Willows

Penguin species

Pingvinske vrste

Å tudirati Mlade zdravnike

Studying scrubs

Coffee interface

Deter heat

Odstrani vročino

17. Maj

17. maj

Memnoch the Devil

Memnoch the Devil

Licenca

LIcense

Doggy?

Kuža?

Je Suis Jalous

Je Suis Jalouse

Extortion

Izsilstvo

Battles

Bitke

Holly fuck

Sveto govno

Aussies and kitties

Avstralci in mucke

Pwnage?

Pwnage?

Naga Gora

Nude mountain

ÄŒaj

Tea

Reality?

Resničnost?

Fuck nonwhites?

Bedroom golf

Busy busy busy

Busy busy busy

Drevo za dva

Tree for Two

Stroj smo mi

The Machine is us

Reši Freda

Save Fred

New Phone

Nov telefon

ÄŒudna polka

Weird polka

Size and scale

Velikost in razmerje

Card projectile

Kartni izstrelek

Papirnati Cthulhu

Splash pages

Vstopne strani

Carovnik iz Oza

The Wizard of Oz

Pesem in ples

Song and dance

Kit na nebu

Whale in the sky

Paper or electrons

Papir ali elektroni

Sneg

Snow

Malo deljenja

Some sharing

Bob

Bob

Tabu

Tabu

Droge!

Drugs!

Nekaj fotk

Some photos

Loremo

The Loremo

More steampunk

Vec steampunka

Kernel?

Kernel?

Steampunk keyboard

Steampunk tipkovnica

Art of cool

Kissybook

Kissybook

Pica je grozna

Pizza is scary

Zakon umetnost

Video blog

Video blogging

Valentine's day

Valentinovo

Pobegla cerkev

Run away church

Heaven is full fool

Nebesa so polna!

Seating of the future

Sedisce prihodnosti

Viri have it hard

Virusom je tezko

Nepomembnost

Significance

Tsunami freeze

Zmrznjen tsunami

Backstabbing

Izdajstvo

Inventar

Inventory

3D renderations

3D slike

Bored?

Dolgcas?

Secrets

Skrivnosti

Design

Izgled

Kip(i)

Statue(s)

Samurai

Samurai

Attacking food!

Napadajoca hrana

Raziskava

Research

Pen chandellier?

Pisalni lestenec?

Black Sheep

Crne ovce

Normala

Propan

Propane

The norm

Posodobitve

Updates

Zombi smrt

Zombie death

Ecology in style

Ekologija v stilu

Ideas

Ideje

KDE 4.0

KDE 4.0

Test mark 2

Testin'

Neumna vsebina

Silly content

Boobies

Cookies

Piskoti

Cold

Mraz

Now&Anon

Takoj&Zdaj

Pen

Intuos

Intuos

Fear and Loathing

Strah in trepet

Hobby

Hobi

Napredek?

Progress?

15% manj

15% off

Impulse day

Impulzivnost

Lepo

Pretty

Jecanje

Slurring

Ah sranje

Oh shit

Opa

Wow

Ironija

Irony

Trebuchet

Trebuchet

NaNoWriMo

NaNoWriMo

October

Oktober

Gledališče

Playhouse

Moods

Razpoloženja

Art

Umetnost

Pirati

Pyrates

Cthulhu

Cthulhu

©kodljivo?

Harmless?

Brushes

Èopièi

Holy Crap

Kristusove gate

©topanje

Hitchhiking

Sleep

Spanje

Sketches of day

Skice dneva

ÄŒasovov

Timenessness

Opa

Whoa

Daily sketch #1

Dnevna skica st1

Sketches

Skice

Stvarce

Thingies

Empires

Imperiji

IPSC 2006

IPSC 2006

Comics and books

Stripi in knjige

Del 1

Issue 1

Barvanje

Colouring

V

V

O pingvinih in OS-ih

Of penguins and OSes

Ko je prost dan zaposlen

When a free day is busy

Going strong

Se dogaja

Instalacija