2024 (4 articles)
-
November 5, 2024 |
Talk,
Slides,
Rust
Unsafe for Work
-
June 20, 2024 |
Talk,
Slides,
Rust
Refactoring Rust
-
March 5, 2024 |
TypeScript
The `never` type and error handling in TypeScript
-
February 6, 2024 |
Talk,
Slides,
Rust
Async Rust and Asnyc Functions in Traits
2023 (6 articles)
-
November 8, 2023 |
Talk,
Slides,
Rust
Eternal Sunshine of the Spotless Programming Language
-
July 17, 2023 |
TypeScript
5 Inconvenient Truths about TypeScript
-
March 22, 2023 |
Workshop,
Talk,
Slides,
TypeScript
Advanced TypeScript Techniques
-
March 2, 2023 |
Rust,
Practical Rust
Refactoring in Rust: Introducing Traits
-
February 21, 2023 |
Rust,
Practical Rust
Refactoring in Rust: Abstraction with the Newtype Pattern
-
February 2, 2023 |
Talk,
Slides,
Rust
Microservices with Rust and Tokio
2022 (11 articles)
-
November 7, 2022 |
TypeScript,
Books
Announcing the TypeScript Cookbook
-
August 1, 2022 |
Talk,
Slides,
Rust
Introduction to Tower
-
May 31, 2022 |
Talk,
Slides,
Rust
Rust for Java Developers
-
May 11, 2022 |
TypeScript
TypeScript: Iterating over objects
-
May 9, 2022 |
JavaScript
The road to universal JavaScript
-
April 27, 2022 |
Website
10 years of oida.dev
-
April 15, 2022 |
Rust
Rust: Tiny little traits
-
March 25, 2022 |
Talk,
Slides,
WebAssembly,
Rust
Introduction to WAGI
-
January 31, 2022 |
Talk,
Slides,
TypeScript
The TypeScript converging point
-
January 10, 2022 |
TypeScript
How not to learn TypeScript
-
January 3, 2022 |
Workshop,
Talk,
Slides,
Jamstack
Jamstackin'
2021 (21 articles)
-
December 23, 2021 |
Rust
Getting started with Rust
-
December 15, 2021 |
Workshop,
Talk,
Slides,
TypeScript
The TypeScript Masterclass
-
December 14, 2021 |
Rust,
Workshop,
Talk,
Slides,
Serverless
Serverless Rust
-
December 14, 2021 |
Rust,
Workshop,
Slides
Network Applications using Tokio and Rust
-
December 14, 2021 |
Slides,
Workshops,
Talks,
Remake,
Website
Introducing Slides and Coverage
-
December 13, 2021 |
Rust,
Workshop,
Slides
Idiomatic Rust
-
November 30, 2021 |
TypeScript
TypeScript: The humble function overload
-
September 15, 2021 |
TypeScript,
React
TypeScript + React: Children types are broken
-
September 14, 2021 |
TypeScript
TypeScript: In defense of any
-
September 9, 2021 |
Rust
Rust: Enums to wrap multiple errors
-
September 8, 2021 |
Rust,
Serverless,
TypeScript
Dissecting Deno
-
September 7, 2021 |
Rust
Error handling in Rust
-
July 21, 2021 |
TypeScript,
JavaScript
TypeScript: Unexpected intersections
-
July 7, 2021 |
JavaScript,
Node.js,
Tooling
Upgrading Node.js dependencies after a yarn audit
-
July 6, 2021 |
TypeScript,
JavaScript
TypeScript: Array.includes on narrow types
-
April 13, 2021 |
TypeScript,
React
TypeScript + React: Typing Generic forwardRefs
-
March 15, 2021 |
TypeScript,
JavaScript,
Architecture
shared, util, core: Schroedinger's module names
-
March 3, 2021 |
Rust,
Go
Learning Rust and Go
-
March 2, 2021 |
TypeScript
TypeScript: Narrow types in catch clauses
-
January 20, 2021 |
TypeScript
TypeScript: Low maintenance types
-
January 7, 2021 |
TypeScript,
JavaScript,
Tidy Typescript
Tidy TypeScript: Name your generics
2020 (20 articles)
-
November 24, 2020 |
TypeScript,
JavaScript,
Tidy Typescript
Tidy TypeScript: Avoid traditional OOP patterns
-
November 20, 2020 |
TypeScript,
JavaScript,
Tidy Typescript
Tidy TypeScript: Prefer type aliases over interfaces
-
November 19, 2020 |
TypeScript,
JavaScript,
Tidy Typescript
Tidy TypeScript: Prefer union types over enums
-
October 12, 2020 |
TypeScript,
Books
My new book: TypeScript in 50 Lessons
-
August 24, 2020 |
Preact,
React
Go Preact! ❤️
-
August 19, 2020 |
TypeScript,
JavaScript
this in JavaScript and TypeScript
-
August 14, 2020 |
TypeScript,
JavaScript,
Preact
TypeScript and ECMAScript Modules
-
July 30, 2020 |
TypeScript,
React,
Preact
TypeScript + React: Why I don't use React.FC
-
July 28, 2020 |
TypeScript,
React,
Preact
TypeScript + React: Component patterns
-
July 17, 2020 |
TypeScript
TypeScript: Augmenting global and lib.dom.d.ts
-
July 6, 2020 |
TypeScript,
Preact
Vite with Preact and TypeScript
-
June 29, 2020 |
TypeScript
TypeScript: Union to intersection type
-
June 25, 2020 |
Eleventy,
Jamstack
11ty: Generate Twitter cards automatically
-
June 22, 2020 |
Node.js,
Serverless
Are large node module dependencies an issue?
-
June 19, 2020 |
TypeScript
TypeScript: Variadic Tuple Types Preview
-
June 17, 2020 |
TypeScript
TypeScript: Improving Object.keys
-
June 16, 2020 |
Remake,
Jamstack,
Website
Remake, Remodel. Part 4.
-
March 25, 2020 |
TypeScript,
JavaScript,
React
TypeScript + React: Typing custom hooks with tuple types
-
February 6, 2020 |
TypeScript,
JavaScript
TypeScript: Assertion signatures and Object.defineProperty
-
February 3, 2020 |
TypeScript,
JavaScript
TypeScript: Check for object properties and narrow down type
2019 (26 articles)
-
September 10, 2019 |
TypeScript,
JavaScript
Boolean in JavaScript and TypeScript
-
September 6, 2019 |
TypeScript,
JavaScript
void in JavaScript and TypeScript
-
September 4, 2019 |
TypeScript,
JavaScript
Symbols in JavaScript and TypeScript
-
August 28, 2019 |
TypeScript
Why I use TypeScript
-
August 27, 2019 |
TypeScript,
React,
Preact,
JSX
TypeScript + React: Extending JSX Elements
-
August 26, 2019 |
TypeScript
TypeScript: Validate mapped types and const context
-
August 19, 2019 |
TypeScript
TypeScript: Match the exact object shape
-
August 15, 2019 |
TypeScript
TypeScript: The constructor interface pattern
-
August 6, 2019 |
Conferences,
Meetups
Streaming your Meetup - Part 4: Directing and Streaming with OBS
-
July 30, 2019 |
Conferences,
Meetups
Streaming your Meetup - Part 3: Speaker audio
-
July 25, 2019 |
Conferences,
Meetups
Streaming your Meetup - Part 2: Speaker video
-
July 24, 2019 |
Conferences,
Meetups
Streaming your Meetup - Part 1: Basics and Projector
-
July 19, 2019 |
TypeScript
TypeScript and React Guide: Added a new styles chapter
-
July 18, 2019 |
TypeScript
TypeScript and React Guide: Added a new render props chapter
-
July 17, 2019 |
TypeScript
TypeScript and React: Prop Types
-
July 17, 2019 |
TypeScript
TypeScript and React
-
July 17, 2019 |
TypeScript
TypeScript and React: Styles and CSS
-
July 17, 2019 |
TypeScript
TypeScript and React: Hooks
-
July 17, 2019 |
TypeScript
TypeScript and React: Render props and child render props
-
July 17, 2019 |
TypeScript
TypeScript and React: Context
-
July 17, 2019 |
TypeScript
TypeScript and React Guide: Added a new prop types chapter
-
July 16, 2019 |
TypeScript
TypeScript without TypeScript -- JSDoc superpowers
-
July 15, 2019 |
TypeScript
TypeScript: Mapped types for type maps
-
May 30, 2019 |
Jamstack
JAMStack vs serverless web apps
-
May 9, 2019 |
Jamstack
The Unsung Benefits of JAMStack Sites
-
February 13, 2019 |
TypeScript
TypeScript: Ambient modules for Webpack loaders
2018 (20 articles)
-
December 27, 2018 |
Review
My most favourite talks in 2018
-
December 17, 2018 |
TypeScript
TypeScript and React: Events
-
December 16, 2018 |
TypeScript
TypeScript and React Guide: Added a new context chapter
-
December 12, 2018 |
TypeScript
TypeScript and React: Components
-
December 12, 2018 |
TypeScript
TypeScript and React: Getting Started
-
December 12, 2018 |
TypeScript
TypeScript and React: Further reading
-
December 12, 2018 |
TypeScript
TypeScript and React: Children
-
December 12, 2018 |
TypeScript
TypeScript: Built-in generic types
-
November 29, 2018 |
TypeScript
TypeScript: Type predicates
-
November 21, 2018 |
React,
TypeScript,
Vue.js
JSX is syntactic sugar
-
November 15, 2018 |
TypeScript
TypeScript and React Guide: Added a new hooks chapter
-
November 14, 2018 |
Conferences
Getting your CfP application right
-
November 8, 2018 |
Angular
FAQ on our Angular Connect Talk: Automating UI development
-
March 16, 2018 |
TypeScript
TypeScript and Substitutability
-
March 14, 2018 |
Tools,
TypeScript
Debugging Node.js apps in TypeScript with Visual Studio Code
-
March 6, 2018 |
Tooling,
CSS
From Medium: Deconfusing Pre- and Post-processing
-
March 5, 2018 |
Tooling,
CSS
From Medium: PostCSS misconceptions
-
February 20, 2018 |
JavaScript,
Tooling
Saving and scraping a website with Puppeteer
-
February 13, 2018 |
JavaScript,
Progressive Enhancement
Cutting the mustard - 2018 edition
-
January 8, 2018 |
Node.js,
SSGs,
Jamstack
Wordpress as CMS for your JAMStack sites
2017 (15 articles)
-
December 31, 2017 |
Review
My most favourite podcast episodes in 2017
-
December 30, 2017 |
Review
My most favourite talks in 2017
-
December 28, 2017 |
Review
My most favourite books in 2017
-
November 29, 2017 |
articles
The Best Request Is No Request, Revisited
-
August 9, 2017 |
articles
Not so hidden figures - Organizing ScriptConf
-
July 11, 2017 |
podcast,
Personal
My podcast journey to ScriptCast
-
June 27, 2017 |
CSS,
grid,
layout
Grid layout, grid layout everywhere!
-
June 3, 2017 |
Conferences
#scriptconf and #devone
-
April 19, 2017 |
articles
Object streams in Node.js
-
March 20, 2017 |
articles
Guest post in "Human and the machine": Get the gist
-
February 22, 2017 |
Conferences
I was a guest on the Perfbytes podcast
-
February 20, 2017 |
Git
Change case to lowercase for committed files
-
February 16, 2017 |
Conferences
This was Script'17
-
February 7, 2017 |
Conferences,
Performance
Real user speed index and visually complete
-
January 15, 2017 |
Conferences,
Gulp
Plumbin' Pipelines with Gulp.js (Workshop)
2016 (12 articles)
-
December 31, 2016 |
Review
My most favorite talks in 2016
-
October 26, 2016 |
Conferences
Script'17 JavaScript conference
-
October 9, 2016 |
Conferences
PortoTechHub 2016
-
August 9, 2016 |
Jekyll
Jekyll filter: Use Liquid in front-matter
-
August 8, 2016 |
articles,
SSGs,
web ops
Using a Static Site Generator at Scale
-
May 25, 2016 |
Node.js,
JPEG,
Performance
Create progressive JPEGs with graphicsmagick in Node.js
-
February 7, 2016 |
Conferences
Video and Slides to: Speed Index, Explained!
-
February 5, 2016 |
Conferences
Topconf Linz 2016 is a wrap
-
January 28, 2016 |
articles,
Browser,
netscape
Tales from the Browser Wars: Mozilla Stomps IE
-
January 27, 2016 |
ecmascript,
JavaScript,
Node.js
You can extend CoffeeScript classes with ES6 classes
-
January 25, 2016 |
npm,
Tools
The best thing about NPM scripts
-
January 12, 2016 |
Jekyll
Jekyll table of contents per page
2015 (29 articles)
-
December 21, 2015 |
Gulp,
Tools
Gulp and Promises
-
December 12, 2015 |
Review
My most favorite talks in 2015
-
November 10, 2015 |
Gulp,
Workshop,
Slides
Gulp Workshop
-
October 13, 2015 |
Gulp,
Tools
Gulp: Grab files from your CDN and add them to your build pipeline
-
September 29, 2015 |
Gulp,
Tools
Gulp 4: The new task execution system - gulp.parallel and gulp.series
-
September 14, 2015 |
articles,
monitoring
Stay focused with Webmonitoring (ruxit.com)
-
September 10, 2015 |
Gulp,
Tools
Node.js 4.0.0 and Gulp first aid
-
September 9, 2015 |
Gulp,
Tools
Gulp 4: Incremental builds with gulp.lastRun
-
September 7, 2015 |
Gulp,
Tools
Gulp 4: Passthrough source streams
-
September 4, 2015 |
JavaScript
JavaScript 101: Arrays
-
September 3, 2015 |
Gulp,
Tools
Gulp 4: Built-in Sourcemaps
-
September 1, 2015 |
Jekyll
Custom Jekyll Includes Directory
-
August 26, 2015 |
Tools,
Gulp,
Yeoman,
Books
I'm writing a book: Front-End Tooling with Gulp, Bower and Yeoman
-
August 25, 2015 |
Wordpress
Wordpress: Remove Admin bar in Theme
-
August 24, 2015 |
CSS,
Books
Book Review: CSS Secrets by Lea Verou
-
August 13, 2015 |
articles,
CSS,
Tools
Deconfusing Pre- and Post-Processing (ext)
-
August 12, 2015 |
articles,
Performance
How we sped up ruxit.com
-
August 11, 2015 |
articles,
Tools,
CSS
PostCSS Misconceptions
-
May 16, 2015 |
Conferences
beyond tellerrand 2015
-
May 3, 2015 |
Gulp,
Tools
Gulp Recipes - Part Two: You might not need this plugin
-
April 27, 2015 |
Personal
Interview with bugtrackers.io
-
April 4, 2015 |
Gulp,
Tools
Gulp Recipes - Part One
-
March 25, 2015 |
Gulp,
Browserify,
Tools
Gulp: Creating multiple bundles with Browserify
-
March 21, 2015 |
PHP,
Tools,
BrowserSync,
Gulp,
Grunt
Running an on-demand PHP server with BrowserSync and Grunt/Gulp
-
February 25, 2015 |
Git
Delete a commit on your remote
-
February 13, 2015 |
Tools,
LESS,
Sass,
Preprocessors
Revisiting LESS
-
January 5, 2015 |
Git
Reverting a single file
-
January 4, 2015 |
Tools,
Workshop,
Yeoman,
Grunt,
Gulp,
Slides
Frontend-Tooling Workshop in March - Slides inside
-
January 2, 2015 |
Server
Changing compatibility view settings for IE via htaccess
2014 (17 articles)
-
December 30, 2014 |
Wordpress
Show only user's posts in post overview
-
December 29, 2014 |
Wordpress
Show only user's images in media library
-
December 10, 2014 |
Guest post
My contribution to Christoph Rumpel's "10 things that will make you a better developer"
-
December 9, 2014 |
Tools,
Yeoman,
Talk,
Slides
Introduction to Yeoman
-
December 8, 2014 |
Node.js
Running NPM without sudo
-
September 19, 2014 |
HTML
The Fine Print
-
September 18, 2014 |
PHP
Removing Byte Order Marks
-
September 18, 2014 |
JavaScript
Calling Dynamic Functions with Dynamic Paramters
-
September 17, 2014 |
Personal
Making dragonquest.at Open Source
-
July 13, 2014 |
CSS
CSS levels up: the HWB colour model
-
June 5, 2014 |
CSS
Formular One - or - How to style <select> elements
-
May 27, 2014 |
Tools,
Grunt
Lesser known Grunt.js features: Renaming of files
-
April 10, 2014 |
Tools,
Sass,
Gulp
Gulp, Sass, Autoprefixer, Sourcemaps!
-
March 2, 2014 |
Conferences
kod.io Linz
-
February 20, 2014 |
CSS,
Browser,
Modernizr
noPrefixes flag in Modernizr
-
January 13, 2014 |
Tools,
Sass,
bower
Create manageable Sass components (to use with Bower, etc.)
-
January 2, 2014 |
Jamstack,
Remake,
Jekyll,
Wordpress,
CMS,
Website
Remake, Remodel! Part Three: How to switch from Wordpress to Jekyll
2013 (15 articles)
-
November 17, 2013 |
JavaScript,
Tools,
Workflows,
Grunt
The magic of grunt-contrib-connect, and how to run PHP with it
-
November 13, 2013 |
Conferences
Topconf Tallinn 2013
-
October 21, 2013 |
CSS,
HTML5
Content vs. value
-
October 16, 2013 |
CSS,
Tools
Great Scott! Five lesser known shortcuts for Emmet.io that rock!
-
October 11, 2013 |
Rant
It's all about the content!
-
October 10, 2013 |
Conferences
Digital Visions 2013
-
September 20, 2013 |
JavaScript,
Tools,
Workflows,
Grunt
Using grunt-connect-proxy
-
September 2, 2013 |
Tools,
Workflows,
Grunt,
Yeoman
Using assemble.io with yeoman.io's webapp Gruntfile
-
July 16, 2013 |
SVG
Basic SVG path tweening with SMIL
-
July 2, 2013 |
CSS3,
Feature Detection,
HTML5,
Mobile
Preparing for an unprefixed future
-
June 17, 2013 |
HTML5
Caring for Sharing: Social share URLs
-
June 16, 2013 |
CSS,
Mobile
Preserving aspect ratio for embedded iframes
-
June 6, 2013 |
Conferences
beyond our own noses - the "beyond tellerrand 2013"
-
April 30, 2013 |
CMS,
Remake,
Website
Remake. Remodel. Part 2
-
April 24, 2013 |
HTML5,
Mobile
Nobody wants HTML5 apps
2012 (7 articles)
-
November 26, 2012 |
Barcamp,
CSS,
General,
JavaScript
"Technologieplauscherl" at Netural
-
November 16, 2012 |
CSS,
Webfonts
Preventing FOUT in IE9
-
November 15, 2012 |
CMS,
Remake,
Website
Remake, Remodel.
-
June 11, 2012 |
CSS
Forcing browsers to print all pages in grayscale
-
May 1, 2012 |
Browser,
Mobile
Of mice and touches
-
April 16, 2012 |
HTML5,
JavaScript,
Mobile
Robust (but hacky) way of portrait / landscape detection
-
April 8, 2012 |
Browser,
HTML5,
Mobile
HTML5 Audio on mobile devices
1970 (0 articles)