Swizec Teller - a geek with a hatswizec.com

Senior Mindset Book

Get promoted, earn a bigger salary, work for top companies

Senior Engineer Mindset cover
Learn more

    Swizec - A geek with a hat

    I write articles with real insight into the career and skills of a modern software engineer. "Raw and honest from the heart!" as one reader described them. Fueled by lessons learned over 20 years of building production code for side-projects, small businesses, and hyper growth startups. Both successful and not.

    Subscribe below or keep reading 👇

    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.
    May 31st, 2023

    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.
    May 30th, 2023

    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.
    May 26th, 2023

    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.
    May 23rd, 2023

    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
    May 23rd, 2023

    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!
    May 20th, 2023

    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.
    May 17th, 2023

    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.
    May 11th, 2023

    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.
    May 5th, 2023

    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.
    May 3rd, 2023

    A backend service nobody can grok

    a little case study from an upcoming book I'm writing with Manning about software rewrites
    April 28th, 2023

    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.
    April 26th, 2023

    Your background won't get you the job

    Skills and experience matter more than prestigious schools and employers.
    April 18th, 2023

    Insights for interviews from Kahneman's Noise

    everything people say is bad about modern tech interviews is actually good 🤯
    April 14th, 2023

    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
    April 11th, 2023

    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.
    April 4th, 2023

    Software engineers, exercise, health, and productivity

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

    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 🚀
    March 28th, 2023

    Coding is the easy part

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

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

    Behind the scenes of a tiny bug that survive 919 days
    March 21st, 2023

    Done means Shipped

    Don't overthink, just ship
    March 17th, 2023

    Build semantic search in an afternoon? Yep 🤯

    Learn how to build a powerful semantic search engine in just 2 hours with the OpenAI API.
    March 15th, 2023

    "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.
    March 10th, 2023

    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.
    March 7th, 2023

    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
    March 3rd, 2023

    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
    February 14th, 2023

    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
    February 8th, 2023

    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
    February 3rd, 2023

    My biggest React App performance boost was a backend change

    Performance lives in the unlikliest of places. Follow the metrics.
    January 31st, 2023

    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.
    January 27th, 2023

    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
    January 24th, 2023

    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.
    January 20th, 2023

    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.
    January 16th, 2023

    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.
    January 14th, 2023

    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.
    January 10th, 2023

    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.
    January 6th, 2023

    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
    January 3rd, 2023

    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.
    December 9th, 2022

    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?
    December 3rd, 2022

    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?
    November 29th, 2022

    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?
    November 24th, 2022

    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
    November 22nd, 2022

    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.
    November 17th, 2022

    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
    November 11th, 2022

    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 😍
    November 8th, 2022

    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.
    November 5th, 2022

    Shipped code wins

    November 2nd, 2022

    Why PATCH endpoints matter

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

    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 ✌️
    October 26th, 2022

    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
    October 20th, 2022

    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!
    October 12th, 2022

    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.
    September 27th, 2022

    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 😱
    September 22nd, 2022

    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.
    September 20th, 2022

    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.
    September 16th, 2022

    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
    September 8th, 2022

    If it works together, it lives together

    Wherein I use LEGO to talk about organizing your code for ease of use
    September 5th, 2022

    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.
    September 1st, 2022

    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.
    August 27th, 2022

    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.
    August 23rd, 2022

    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?
    August 16th, 2022

    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.
    August 12th, 2022

    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.
    August 10th, 2022

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

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

    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
    August 3rd, 2022

    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
    July 29th, 2022

    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 🤔
    July 26th, 2022

    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?
    July 23rd, 2022

    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.
    July 19th, 2022

    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.
    July 15th, 2022

    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.
    July 11th, 2022

    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.
    July 8th, 2022

    Always have 3 answers

    How do you stand out as an expert amid tech layoffs?
    July 1st, 2022

    The audience loved my talk but I didn't

    A critical look at a conference talk that went great but felt a little off.
    June 24th, 2022

    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
    June 22nd, 2022

    A lesson on expertise from a great mafia movie

    You cannot make something good until you understand who you're making it for.
    June 16th, 2022

    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?
    June 7th, 2022

    There are no bad teams

    it’s the leader, not the team
    June 3rd, 2022

    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.
    May 25th, 2022

    The Italian foods theory of bad software design 🍝

    Spaghetti code – unstructured Ravioli code – too structured Lasagna code – layered wrong Minestrone software – unclear domains
    May 23rd, 2022

    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.
    May 13th, 2022

    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 👆
    May 7th, 2022

    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 😛
    April 28th, 2022

    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
    April 26th, 2022

    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.
    April 22nd, 2022

    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.
    April 20th, 2022

    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
    April 12th, 2022

    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?
    April 7th, 2022

    Promise.allSettled, a wonderful tool for resilient code

    The pros and cons of different approaches to writing resilient code that handles partial failures
    April 4th, 2022

    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
    March 29th, 2022

    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.
    March 25th, 2022

    A quick lesson in writing resilient code

    On the backend anything can and will fail. How do you deal with that?
    March 21st, 2022

    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.
    March 7th, 2022

    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 🤔
    March 7th, 2022

    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.
    March 4th, 2022

    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.
    February 25th, 2022

    Be their shit umbrella

    because if you go to bat for the team, the team goes to bat for you
    February 16th, 2022

    Immutability isn't free

    Or how we took an API endpoint from 16s to 3s.
    February 4th, 2022

    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 😱
    February 3rd, 2022

    How I used indie hacking to sponsor my own greencard

    The longest project of my life
    February 1st, 2022

    Quick tip for system design interviews

    What are system design interviews for anyway?
    January 28th, 2022

    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.
    January 25th, 2022

    Why other people's code looks weird

    Are you an organizer or a searcher? What about your team?
    January 22nd, 2022

    What is the goal of engineering?

    How can you know you're succeeding if you don't know where you're going?
    January 20th, 2022

    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%
    January 17th, 2022

    Try to work for a brand

    Brand helps your career in subtle ways.
    January 14th, 2022

    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.
    January 11th, 2022

    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
    January 6th, 2022

    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 🥳
    January 4th, 2022

    How I stopped chasing mice in 2021

    How a focus on long-term games changed my approach to everything and calmed down my life
    December 31st, 2021

    The Passion Paradox

    burnout doesn't work the way you think
    December 24th, 2021

    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.
    December 21st, 2021

    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
    December 16th, 2021

    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. 🤯
    December 14th, 2021

    When it’s okay to work overtime

    Not all overtime is bad overtime
    December 11th, 2021

    Why null checks are bad

    Every null or undefined check doubles the number of tests you need 😱
    December 10th, 2021

    Small choices can wreck your codebase

    wanna see the strangest looping construct I've found in production code?
    December 3rd, 2021

    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. 🤨
    November 30th, 2021

    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.
    November 25th, 2021

    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?
    November 19th, 2021

    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.
    November 15th, 2021

    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.
    November 8th, 2021

    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
    November 5th, 2021

    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
    November 3rd, 2021

    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.
    November 1st, 2021

    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.
    October 25th, 2021

    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 ✌️
    October 19th, 2021

    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.
    October 15th, 2021

    Learn TypeScript in 5 minutes

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

    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. 🙊
    October 1st, 2021

    There's two types of engineers

    Do you solve problems or execute tasks?
    September 27th, 2021

    Stop SHOUTING = 'shouting'

    A hill I will die on 👉 global CONSTANT = 'constant' are bad
    September 21st, 2021

    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.
    September 18th, 2021

    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.
    September 13th, 2021

    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.
    September 9th, 2021

    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.
    September 7th, 2021

    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.
    August 27th, 2021

    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 😱
    August 24th, 2021

    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 🤨
    August 21st, 2021

    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.
    August 17th, 2021

    Tech debt is a tool

    If your house was on fire, would you mow the lawn first?
    August 13th, 2021

    Complex vs. complicated

    Would you rather work with a complex system or a complicated system? 🤔
    August 3rd, 2021

    Pay yourself first

    Profit is not what's left after expenses, expenses are what's left after profit.
    July 30th, 2021

    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.
    July 27th, 2021

    Tips for a fulfilling tech career

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

    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.
    July 22nd, 2021

    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.
    July 16th, 2021

    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?
    July 14th, 2021

    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.
    July 9th, 2021

    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.
    July 7th, 2021

    How to own projects like a senior engineer

    The best skill you can learn is ownership. The second best is to let go.
    July 2nd, 2021

    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.
    June 29th, 2021

    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.
    June 24th, 2021

    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.
    June 23rd, 2021

    Do important work

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

    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
    June 16th, 2021

    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.
    June 11th, 2021

    Words that scare developers

    Words that scare developers are powerful tools that are not meant to be safe. That is a valuable lesson.
    June 7th, 2021

    A fun security bug with static rendering – CodeWithSwiz #31

    The flash of unlocked content is great fun for any paywall
    June 1st, 2021

    Software Engineering is the 2nd best job

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

    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. 🤨
    May 14th, 2021

    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. 💩
    May 12th, 2021

    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.
    May 7th, 2021

    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.
    May 4th, 2021

    the trashcan metaphor

    April 30th, 2021

    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.
    April 27th, 2021

    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?
    April 24th, 2021

    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 🤔
    April 20th, 2021

    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
    April 6th, 2021

    Your serverless questions, answered

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

    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.
    March 26th, 2021

    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.
    March 25th, 2021

    Serverless Handbook coming Mar 31st

    Serverless is the future. New book coming out Mar 31st and it's looking bomb
    March 23rd, 2021

    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 😅
    March 19th, 2021

    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
    March 18th, 2021

    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
    March 17th, 2021

    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.
    March 16th, 2021

    That time serverless melted my credit card

    Serverless is pretty cheap. But you *can* get it wrong.
    March 12th, 2021

    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
    March 10th, 2021

    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
    March 9th, 2021

    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.
    March 2nd, 2021

    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.
    February 26th, 2021

    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 🤘
    February 23rd, 2021

    A TypeScript trick for reusable hooks

    Reusable hooks are all fun and games until TypeScript starts yelling at you about incompatible types.
    February 19th, 2021

    React Bricks - visual blocks editor for NextJS #CodeWithSwiz 22

    Tried a new visual editor for NextJS and CreateReactApp. Got a site up in 20min 🤘
    February 9th, 2021

    The Magic Function principle

    Write functions, mostly magic.
    February 5th, 2021

    "silicon valley is like hollywood"

    and I don't mean Silicon Valley the place, I mean Silicon Valley the concept.
    January 29th, 2021

    [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.
    January 26th, 2021

    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.
    January 22nd, 2021

    [CodeWithSwiz 20] Adding Firebase support to useAuth, pt2

    Firebase continues to be 💩. No wonder people keep asking for support in useAuth. Almost there ✌️
    January 19th, 2021

    What computer science can teach us about vaccine distribution

    How would you rollout the covid vaccine for max fairness and speed?
    January 15th, 2021

    [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?
    January 12th, 2021

    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 🤨
    January 8th, 2021

    Reflecting on 2020

    The year that felt like a drag and ended in the blink of an eye.
    January 2nd, 2021

    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.
    December 2nd, 2020

    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 🤔
    November 26th, 2020


    These abbreviations are getting out of hand. It's like a bad interviewer's wet dream.
    November 24th, 2020

    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?"
    November 20th, 2020

    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.
    November 19th, 2020

    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?
    November 16th, 2020

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

    useAuth works without React Context! 🎉 here's how
    November 10th, 2020

    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.
    November 6th, 2020

    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.
    November 1st, 2020

    The ultimate test for your webapp: Airplane wifi

    Forget time to first byte and time to interactive. What's your time to useful?
    October 29th, 2020

    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
    October 28th, 2020

    How JAMStack helps you ship

    Common problem in engineering teams: Stepping on each other's toes. JAMStack can help.
    October 27th, 2020

    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 ...
    October 26th, 2020

    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.
    October 23rd, 2020

    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?"
    October 22nd, 2020

    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.
    October 19th, 2020

    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.
    October 13th, 2020

    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.
    October 9th, 2020

    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.
    October 8th, 2020

    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 ☹️
    October 2nd, 2020

    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 😍
    September 30th, 2020

    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 🤘
    September 25th, 2020

    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.
    September 24th, 2020

    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. ❤️
    September 22nd, 2020

    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.
    September 21st, 2020

    Using JavaScript to commit to Github – CodeWithSwiz 7

    Update code with a JavaScript function? Easier than you think 😍
    September 17th, 2020

    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
    September 13th, 2020

    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. 🤔
    September 11th, 2020

    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
    September 10th, 2020

    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.
    September 8th, 2020

    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 ❤️
    September 7th, 2020

    What if tech interviews aren't bullshit

    Every tech employee says interviews are broken. Every employer keeps interviewing. What gives?
    September 4th, 2020

    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.
    September 3rd, 2020

    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 🤘
    September 1st, 2020

    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.
    August 31st, 2020

    Why Understanding beats Knowledge

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

    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.
    August 27th, 2020

    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.
    August 24th, 2020

    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 …
    August 7th, 2020

    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
    July 24th, 2020

    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.
    July 21st, 2020


    June 22nd, 2020

    How to lie with facts

    June 5th, 2020

    Don't be weird

    May 8th, 2020

    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.
    April 27th, 2020

    Don't just wait around

    April 24th, 2020

    "I just need an idea"

    April 20th, 2020

    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?
    March 12th, 2020

    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.
    February 14th, 2020

    Ready to build your future?

    January 31st, 2020

    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
    January 23rd, 2020

    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.
    January 21st, 2020

    Thank you, friend 🦃

    November 27th, 2019

    What makes you a true master

    November 25th, 2019

    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. 🧙
    October 21st, 2019

    DO more _work_ less

    October 11th, 2019

    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?
    September 30th, 2019

    San Francisco v. Europe part 2

    September 16th, 2019

    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.
    August 22nd, 2019

    Friend, go offline

    July 12th, 2019

    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
    May 27th, 2019

    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 😛
    May 24th, 2019

    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. 🐱
    May 16th, 2019

    What a hockey legend can teach you about career development

    Say your boss gives you $1000 to grow your career. What do you do?
    May 9th, 2019

    Freedom from Obligation

    April 24th, 2019

    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. 😱
    April 17th, 2019

    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.
    February 13th, 2019

    Custom react hooks ❤️

    February 11th, 2019

    This kid is amazing

    January 25th, 2019

    Never give up

    December 14th, 2018


    October 26th, 2018

    I'm tired – a poem

    August 7th, 2018

    Hire these interns

    July 10th, 2018

    Tech intern job

    June 9th, 2018

    Coding is bad for you

    March 16th, 2018

    Benchmarking Vue

    March 5th, 2018

    Loops are the hardest

    February 15th, 2018

    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?
    February 1st, 2018

    Am I thinking too small?

    January 11th, 2018

    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.
    November 16th, 2017

    My love letter to Prettier

    November 8th, 2017

    How resumé-driven development shapes our industry

    All that once was new is old again
    October 19th, 2017

    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
    September 21st, 2017

    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_.
    September 14th, 2017

    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.
    May 11th, 2017

    Time is funny in Ruby

    March 29th, 2017

    It ain't stupid if it works

    February 1st, 2017

    This is Yak Shaving

    January 27th, 2017

    Nights and Weekends

    January 23rd, 2017

    60 seconds, 2000 miles

    January 4th, 2017

    Do you even need that bind?

    November 29th, 2016

    Fractals in React

    November 18th, 2016

    Modeling time in React

    November 9th, 2016

    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!
    November 1st, 2016

    Simple MobX-driven modals

    October 28th, 2016

    Histogram in D3v3 vs D3v4

    October 25th, 2016

    Go the fuck home

    October 20th, 2016

    WTF is X-Frame-Options?

    October 13th, 2016

    You don't need tests

    October 6th, 2016

    Magic shiny paint

    September 23rd, 2016

    Backbone → React – Step 1

    September 20th, 2016

    Publish every day

    September 13th, 2016

    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.
    September 9th, 2016

    It's a trap

    September 6th, 2016

    I Got Schooled

    September 2nd, 2016

    Backbone with ES6

    September 1st, 2016

    Slack lied to me

    August 25th, 2016

    It's Just Like Knitting

    August 24th, 2016

    Teaching beginners

    August 19th, 2016

    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.
    November 18th, 2015

    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.
    January 14th, 2015

    Code completion is bad mmkay

    November 14th, 2014

    I was wrong about AngularJS

    September 24th, 2014

    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.
    June 26th, 2014

    Why I love Tinder

    June 13th, 2014

    New Year's in New York

    January 6th, 2014

    You, take a break

    December 20th, 2013

    Getting lucky with Bitcoin

    November 19th, 2013

    My old code is atrocious

    November 12th, 2013

    Adventures in homelessness

    September 30th, 2013

    My new favourite pomodoro app

    September 20th, 2013

    A month on the road

    September 2nd, 2013

    Longtrip, surf's up dude

    August 19th, 2013

    Longtrip, On the road

    August 11th, 2013


    July 25th, 2013


    July 2nd, 2013

    An English pet peeve

    May 14th, 2013

    I love being a geek

    April 23rd, 2013

    Canada, eh?

    April 9th, 2013

    Da Vinci - The Genius

    February 26th, 2013

    In praise of the pass phrase

    February 14th, 2013

    The first Barcamp Sarajevo

    February 12th, 2013

    Numbers that baffle

    January 22nd, 2013

    My very own daily WTF

    January 10th, 2013

    The 10x developer in you

    December 20th, 2012

    The 10x programmer in you

    December 20th, 2012

    Being young and naive

    December 4th, 2012

    Testing socket.io apps

    November 30th, 2012

    Webcamp Zagreb report

    November 27th, 2012

    Cool thing Thursday: Leanpub

    November 22nd, 2012

    Game development in Webgl

    November 19th, 2012

    A week in Paris

    October 22nd, 2012


    October 2nd, 2012

    Cool thing Thursday: Ceylon

    September 27th, 2012

    On becoming a college dropout

    September 25th, 2012

    A roadtrip: fin

    August 6th, 2012

    A roadtrip: second leg

    July 31st, 2012

    A roadtrip: First leg

    July 27th, 2012

    What is leisure?

    July 3rd, 2012

    a post about this

    June 15th, 2012

    why I don't sleep

    June 9th, 2012

    Web page segmentation

    May 16th, 2012

    Making our irc bot talk

    April 25th, 2012

    A test post and a story

    March 25th, 2012

    I wish this existed

    March 23rd, 2012

    What Starting feels like

    March 21st, 2012

    Selling to girls

    March 20th, 2012

    Planica up close

    March 17th, 2012

    I'm a pro blogger now!

    March 1st, 2012

    The commonest javascript bug

    February 24th, 2012

    I made a steampunk costume

    February 23rd, 2012

    I walked all over a lake!

    February 18th, 2012

    Amazing air machines

    February 8th, 2012

    TEDxBled pitch

    February 2nd, 2012

    Three cool things

    January 31st, 2012

    Lychrel numbers

    January 27th, 2012

    A month wasted

    January 26th, 2012

    A visit to the dentist

    January 25th, 2012

    I Don't Know

    January 24th, 2012

    I Don't Know

    January 24th, 2012

    This Haskell is wrong. Why?

    January 20th, 2012

    Blogging, hats, stuff

    January 19th, 2012

    Are you a boy scout coder?

    January 17th, 2012


    January 16th, 2012

    The No brown M&M's rule

    January 10th, 2012

    Learning me a Haskell

    December 23rd, 2011

    The problem with threads

    December 21st, 2011

    A food experiment

    December 9th, 2011

    Fun javascript feature

    December 7th, 2011

    I wish my doctor was a vet

    December 1st, 2011

    Music and The Zone

    November 29th, 2011

    On writing every day

    November 24th, 2011

    TEDxYouth Ljubljana report

    November 22nd, 2011

    We are not generation sell

    November 15th, 2011

    TV's are now computers O.o

    November 14th, 2011

    fun vs. reason

    November 12th, 2011

    Sleep hacking

    November 3rd, 2011

    Poking a sleeping giant

    November 1st, 2011

    Beardvember. DOIT!

    October 31st, 2011

    Making a Möbius cake

    October 30th, 2011

    Notebook fetishism

    October 27th, 2011

    #WebcampLj was bitchin'

    October 23rd, 2011

    Weird feeds

    October 20th, 2011

    A technical post about cake

    October 14th, 2011

    What are you proud of?

    October 13th, 2011

    Crowdsourcing elegance

    October 10th, 2011

    Steve Jobs

    October 6th, 2011

    I want to analyze your blog

    September 30th, 2011

    NaN does not equal NaN

    September 27th, 2011


    September 24th, 2011

    Calorie counting is silly

    September 20th, 2011

    Mac OS X Lion and Wi-Fi

    September 18th, 2011

    KVM and the great outdoors

    September 11th, 2011

    The quickreading

    September 10th, 2011

    Why trolling is a art

    May 30th, 2011

    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.
    April 16th, 2011

    A case for multi-tasking

    January 24th, 2011

    Execution shapes ideas

    January 3rd, 2011

    The Internet at war

    December 9th, 2010

    Clients need deadlines too

    November 10th, 2010

    Clients need deadlines too

    November 10th, 2010

    A wit

    November 3rd, 2010

    A flight

    October 14th, 2010

    Barefoot running

    July 6th, 2010


    May 10th, 2010

    Tracking runs is fun! :D

    April 30th, 2010

    First hike of the season

    April 26th, 2010

    Do you memento mori?

    April 21st, 2010

    The Slavic Esperanto

    March 8th, 2010

    The real-time WebCamp bash

    February 21st, 2010

    Maths is purdiful

    February 4th, 2010


    January 23rd, 2010

    How Lisp changed my style

    January 11th, 2010

    Came up with a wisdom

    January 6th, 2010

    December 21st, 2009

    How the card is chosen

    December 18th, 2009

    The webcomics I love

    December 13th, 2009

    A quick quip

    December 11th, 2009

    Shaved! \o/

    December 1st, 2009

    The perfect woman [nsfw]

    November 24th, 2009

    A portfolio is born

    November 17th, 2009

    Grindhouse fucking rawks

    November 8th, 2009

    Open question, please help

    November 4th, 2009

    Yeah but you're weird

    October 6th, 2009

    A smart words I said

    September 19th, 2009

    Of London, Murphy and Seedcamp

    September 14th, 2009

    My room in "funny" pictures

    September 13th, 2009

    A season for catching colds

    September 6th, 2009

    Snow Leopards in mah rooms!

    September 2nd, 2009

    Running bloody hurts

    July 18th, 2009


    July 10th, 2009

    Internet memestalgia

    June 11th, 2009

    Coraline 3D was fab

    May 25th, 2009

    Debauchery at BcLj2

    May 16th, 2009

    A sonnet to Boob

    May 11th, 2009

    Videogame realism - ouch

    April 30th, 2009

    A man's straying eyes

    March 31st, 2009

    Followers don't matter

    March 31st, 2009

    Stupid users are a myth

    March 17th, 2009

    Moved to wordpress

    March 15th, 2009

    Dietary experiments

    March 10th, 2009

    The sixth photo

    March 2nd, 2009

    Online buzz is quite cool

    February 13th, 2009

    This is why I hate mornings

    February 10th, 2009

    God and science are in love

    February 5th, 2009

    Girls night and writing

    January 25th, 2009

    My barcamp Ljubljana report

    January 18th, 2009

    How to induce lucid REM

    January 14th, 2009

    Powernaps and gambling

    January 13th, 2009

    Bitter cold and Neil Gaiman

    January 12th, 2009

    A young boy named Jake

    January 7th, 2009

    Why being creative sucks

    January 4th, 2009

    And so it ends

    January 1st, 2009

    In year 2009 I will ...

    December 29th, 2008

    Seven christmas truths

    December 24th, 2008

    Photowalk #2

    December 7th, 2008

    My first weekly photowalk

    November 24th, 2008

    Old at one and twenty

    November 23rd, 2008

    History of Everything

    November 20th, 2008

    Clean Code and speed coding

    November 17th, 2008

    My twitter goals

    November 10th, 2008

    Took IQ test - found problem

    November 10th, 2008

    Obama wins

    November 4th, 2008

    Even good blogs need help

    November 2nd, 2008

    Dirty hacks are everywhere

    October 29th, 2008

    Late-night fun

    October 29th, 2008

    What blogs are all about

    October 25th, 2008

    Wien is nothing special

    October 22nd, 2008

    Vienna day two

    October 19th, 2008

    Vienna day one

    October 18th, 2008

    Blackberries are arsehats

    October 16th, 2008

    Drug use is not abuse

    October 13th, 2008

    Twitter solves massive bug

    October 13th, 2008

    Switching to feed readers

    October 8th, 2008

    17 hour workday Sunday

    October 6th, 2008

    Blog redone

    October 5th, 2008

    Sex, fun and games

    September 28th, 2008

    Eccentric does not mean genius

    September 23rd, 2008

    Dressing funnily

    September 17th, 2008

    The world is actually fair

    September 15th, 2008

    Hug a developer

    September 12th, 2008

    Who killed Amanda Palmer

    September 9th, 2008

    Spore is better than fucking

    September 7th, 2008

    Giving people space

    September 1st, 2008

    Getting readership

    August 28th, 2008

    Typing versus shouting

    August 22nd, 2008

    Plans and scams

    August 19th, 2008

    Divination by coin

    August 15th, 2008

    True love

    August 13th, 2008


    August 11th, 2008

    PhP conference

    July 7th, 2008

    The modern decadent

    July 1st, 2008

    Blogres is done with

    June 23rd, 2008

    Blogres 2k8

    June 21st, 2008

    Whiteboard of mind

    June 3rd, 2008

    IE6 can kiss my ass!

    May 30th, 2008

    IPSC 2k8

    May 26th, 2008


    May 24th, 2008


    May 21st, 2008

    Lord of the dance

    May 18th, 2008

    Blood fetish

    May 16th, 2008

    Fart fetish

    May 11th, 2008

    Code monkeys

    May 8th, 2008

    Fool of an april

    April 2nd, 2008

    My brain is a vector

    March 26th, 2008

    Blogorola's "Hot'a'lot"

    March 18th, 2008


    March 13th, 2008


    March 10th, 2008


    March 6th, 2008

    Death of Drnovšek

    February 23rd, 2008

    War on scientology

    February 11th, 2008

    Short penis

    February 5th, 2008

    The Angry Walk

    January 29th, 2008

    Public sex

    January 27th, 2008

    Opensource delight

    January 16th, 2008

    Exams and revolutions

    January 14th, 2008

    Blogolicious envy

    January 7th, 2008

    Death of Lestat

    January 2nd, 2008

    Entaggling the word

    December 31st, 2007


    December 29th, 2007


    December 24th, 2007

    In sickness and in death

    December 19th, 2007

    Maths and poetry

    December 9th, 2007


    December 4th, 2007


    November 7th, 2007


    November 7th, 2007

    Living statue

    November 1st, 2007

    First week

    October 7th, 2007

    Prvi teden

    October 7th, 2007

    London 7

    September 29th, 2007

    London 6

    September 27th, 2007

    London 5

    September 26th, 2007

    London 4

    September 23rd, 2007

    London 3

    September 21st, 2007

    London 3

    September 21st, 2007

    London 1

    September 19th, 2007

    London 1

    September 19th, 2007

    London 2

    September 19th, 2007

    London 2

    September 19th, 2007


    September 3rd, 2007


    September 3rd, 2007

    Povzetki in poljubčki

    August 21st, 2007

    Summaries and kisses

    August 21st, 2007


    August 7th, 2007

    She lives!

    August 7th, 2007

    Dane Cook

    July 30th, 2007

    Dane Cook

    July 30th, 2007


    July 23rd, 2007


    July 23rd, 2007

    Blade hunter

    July 20th, 2007


    July 20th, 2007

    Modern covers

    July 13th, 2007

    Moderne priredbe

    July 13th, 2007

    Shiny box

    July 12th, 2007

    Svetleča škatla

    July 12th, 2007


    July 9th, 2007


    July 9th, 2007

    Cyber Bullying

    July 4th, 2007

    Spletno nasilje

    July 4th, 2007

    Dusty death

    July 2nd, 2007

    Prašna smrt

    July 2nd, 2007

    Internet drama

    June 27th, 2007

    Internet drama

    June 27th, 2007

    And we're done

    June 23rd, 2007

    In smo opravili

    June 23rd, 2007


    June 19th, 2007


    June 19th, 2007


    June 14th, 2007


    June 14th, 2007

    Drugi Edo

    June 11th, 2007

    The Second Eddy

    June 11th, 2007

    The Willows

    June 11th, 2007

    The Willows

    June 11th, 2007

    Penguin species

    June 10th, 2007

    Pingvinske vrste

    June 10th, 2007

    Studying scrubs

    June 6th, 2007

    Deter heat

    May 30th, 2007

    Odstrani vročino

    May 30th, 2007

    Coffee interface

    May 30th, 2007

    17. Maj

    May 28th, 2007

    17. maj

    May 28th, 2007

    Memnoch the Devil

    May 26th, 2007

    Memnoch the Devil

    May 26th, 2007


    May 22nd, 2007


    May 22nd, 2007


    May 19th, 2007


    May 19th, 2007

    Je Suis Jalous

    May 17th, 2007

    Je Suis Jalouse

    May 17th, 2007


    May 16th, 2007


    May 16th, 2007


    May 15th, 2007


    May 15th, 2007

    Holly fuck

    May 10th, 2007

    Sveto govno

    May 10th, 2007

    Avstralci in mucke

    May 9th, 2007

    Aussies and kitties

    May 9th, 2007


    May 8th, 2007


    May 8th, 2007

    Naga Gora

    April 30th, 2007

    Nude mountain

    April 30th, 2007


    April 27th, 2007


    April 27th, 2007


    April 24th, 2007


    April 24th, 2007

    Fuck nonwhites?

    April 20th, 2007

    Bedroom golf

    April 18th, 2007

    Busy busy busy

    April 17th, 2007

    Busy busy busy

    April 17th, 2007

    Drevo za dva

    April 12th, 2007

    Tree for Two

    April 12th, 2007

    Stroj smo mi

    April 11th, 2007

    The Machine is us

    April 11th, 2007

    Reši Freda

    April 10th, 2007

    Save Fred

    April 10th, 2007

    New Phone

    April 9th, 2007

    Nov telefon

    April 9th, 2007

    ÄŒudna polka

    April 5th, 2007

    Weird polka

    April 5th, 2007

    Size and scale

    April 4th, 2007

    Velikost in razmerje

    April 4th, 2007

    Card projectile

    April 3rd, 2007

    Kartni izstrelek

    April 3rd, 2007

    Paper Cthulhu

    April 1st, 2007

    Papirnati Cthulhu

    April 1st, 2007

    Splash pages

    March 31st, 2007

    Vstopne strani

    March 31st, 2007

    Carovnik iz Oza

    March 28th, 2007

    The Wizard of Oz

    March 28th, 2007

    Pesem in ples

    March 27th, 2007

    Song and dance

    March 27th, 2007

    Kit na nebu

    March 25th, 2007

    Whale in the sky

    March 25th, 2007

    Papir ali elektroni

    March 20th, 2007

    Paper or electrons

    March 20th, 2007


    March 19th, 2007


    March 19th, 2007

    Malo deljenja

    March 14th, 2007

    Some sharing

    March 14th, 2007


    March 13th, 2007


    March 13th, 2007


    March 12th, 2007


    March 12th, 2007


    March 10th, 2007


    March 10th, 2007

    Nekaj fotk

    March 8th, 2007

    Some photos

    March 8th, 2007


    March 7th, 2007

    The Loremo

    March 7th, 2007

    More steampunk

    March 2nd, 2007

    Vec steampunka

    March 2nd, 2007


    March 1st, 2007


    March 1st, 2007

    Steampunk keyboard

    February 28th, 2007

    Steampunk tipkovnica

    February 28th, 2007

    Art of cool

    February 26th, 2007


    February 26th, 2007


    February 26th, 2007

    Pica je grozna

    February 26th, 2007

    Pizza is scary

    February 26th, 2007

    Zakon umetnost

    February 26th, 2007

    Video blog

    February 18th, 2007

    Video blogging

    February 18th, 2007

    Valentine's day

    February 14th, 2007


    February 14th, 2007

    Pobegla cerkev

    February 13th, 2007

    Run away church

    February 13th, 2007

    Heaven is full fool

    February 6th, 2007

    Nebesa so polna!

    February 6th, 2007

    Seating of the future

    February 4th, 2007

    Sedisce prihodnosti

    February 4th, 2007

    Viri have it hard

    February 3rd, 2007

    Virusom je tezko

    February 3rd, 2007


    February 2nd, 2007


    February 2nd, 2007

    Tsunami freeze

    January 31st, 2007

    Zmrznjen tsunami

    January 31st, 2007


    January 30th, 2007


    January 30th, 2007


    January 27th, 2007


    January 27th, 2007

    3D renderations

    January 25th, 2007

    3D slike

    January 25th, 2007


    January 25th, 2007


    January 25th, 2007


    January 24th, 2007


    January 24th, 2007


    January 23rd, 2007


    January 23rd, 2007


    January 21st, 2007


    January 21st, 2007


    January 20th, 2007


    January 20th, 2007

    Napadajoca hrana

    January 19th, 2007

    Attacking food!

    January 19th, 2007


    January 18th, 2007


    January 18th, 2007

    Pen chandellier?

    January 15th, 2007

    Pisalni lestenec?

    January 15th, 2007

    Black Sheep

    January 13th, 2007

    Crne ovce

    January 13th, 2007


    January 10th, 2007


    January 10th, 2007


    January 10th, 2007

    The norm

    January 10th, 2007


    January 8th, 2007


    January 8th, 2007

    Zombie death

    January 8th, 2007

    Zombi smrt

    January 8th, 2007

    Ecology in style

    January 7th, 2007

    Ekologija v stilu

    January 7th, 2007


    January 7th, 2007


    January 7th, 2007

    KDE 4.0

    January 5th, 2007

    KDE 4.0

    January 5th, 2007

    Test mark 2

    January 5th, 2007


    January 4th, 2007

    Neumna vsebina

    January 3rd, 2007

    Silly content

    January 3rd, 2007


    December 30th, 2006


    December 25th, 2006


    December 25th, 2006


    December 14th, 2006


    December 14th, 2006


    November 28th, 2006


    November 28th, 2006


    November 23rd, 2006


    November 23rd, 2006


    November 20th, 2006


    November 20th, 2006

    Fear and Loathing

    November 19th, 2006

    Strah in trepet

    November 19th, 2006


    November 16th, 2006


    November 16th, 2006


    November 15th, 2006


    November 15th, 2006

    15% manj

    November 12th, 2006

    15% off

    November 12th, 2006


    November 11th, 2006

    Impulse day

    November 11th, 2006


    November 10th, 2006


    November 10th, 2006


    November 8th, 2006


    November 8th, 2006

    Ah sranje

    November 7th, 2006

    Oh shit

    November 7th, 2006


    November 5th, 2006


    November 5th, 2006


    November 2nd, 2006


    November 2nd, 2006


    November 1st, 2006


    November 1st, 2006


    October 29th, 2006


    October 29th, 2006


    October 17th, 2006


    October 17th, 2006


    October 2nd, 2006


    October 2nd, 2006


    September 24th, 2006


    September 24th, 2006


    September 15th, 2006


    September 15th, 2006


    August 22nd, 2006


    August 22nd, 2006


    August 14th, 2006


    August 14th, 2006


    August 9th, 2006


    August 9th, 2006


    August 4th, 2006


    August 4th, 2006

    Holy Crap

    July 31st, 2006

    Kristusove gate

    July 31st, 2006


    July 17th, 2006


    July 17th, 2006


    July 12th, 2006


    July 12th, 2006

    Sketches of day

    July 8th, 2006

    Skice dneva

    July 8th, 2006


    June 26th, 2006


    June 26th, 2006


    June 10th, 2006


    June 10th, 2006

    Daily sketch #1

    June 7th, 2006

    Dnevna skica st1

    June 7th, 2006


    June 7th, 2006


    June 7th, 2006


    May 31st, 2006


    May 31st, 2006


    May 26th, 2006


    May 26th, 2006

    IPSC 2006

    May 18th, 2006

    IPSC 2006

    May 18th, 2006

    Comics and books

    May 14th, 2006

    Stripi in knjige

    May 14th, 2006

    Del 1

    May 12th, 2006

    Issue 1

    May 12th, 2006


    May 7th, 2006


    May 7th, 2006


    May 3rd, 2006


    May 3rd, 2006

    Ko je prost dan zaposlen

    April 27th, 2006

    When a free day is busy

    April 27th, 2006

    Going strong

    April 24th, 2006

    Se dogaja

    April 24th, 2006


    April 21st, 2006

    Site set up

    April 21st, 2006

    Created by Swizec with ❤️