rssed

a collection of dev rss feeds - blogroll

Add a new feed

+

162 feeds


oida.dev | TypeScript, Rust

Posts

Tokio: Macros ๐Ÿ”—

tokio::join! lets you run multiple futures concurrently, and returns the output of all of them. For JavaScript developers: Promise.all is a good equiv [...]

Tokio: Channels ๐Ÿ”—

This is a long section. Here are some anchors to jump to the respective part: [...]

Tokio: Getting Started ๐Ÿ”—

Letโ€™s get started with our first Tokio app. Create a new project using Cargo and add the tokio dependency either to your Cargo.toml file or directly o [...]

Network Applications on the Tokio Stack ๐Ÿ”—

This guide is a collection of articles and exercises covering how to write network applications with Tokio. Its base is a workshop I gave over the las [...]

Remake, Remodel, Reduce. ๐Ÿ”—

Welcome to my new website! I have wanted to create a new and updated version of this page for a long time. In fact, I feel that the old one kept me fr [...]

The `never` type and error handling in TypeScript ๐Ÿ”—

One thing that I see more often recently is that folks find out about the never type, and start using it more often, especially trying to model error [...]

5 Inconvenient Truths about TypeScript ๐Ÿ”—

Iโ€™m writing books about TypeScript and I do workshops and trainings online and in-house. Every time I meet a new group of developers there are some Ty [...]

Refactoring in Rust: Introducing Traits ๐Ÿ”—

In the same codebase as last time, we extract data from a HashMap<String, String> called headers, presumably dealing with something similar to HTTP he [...]

Refactoring in Rust: Abstraction with the Newtype Pattern ๐Ÿ”—

The following piece of code takes a PathBuf and extracts the file name, eventually converting it to an owned String. [...]

Announcing the TypeScript Cookbook ๐Ÿ”—

Oops, I did it again! Iโ€™m writing another book, and itโ€™s again about TypeScript. Iโ€™m happy to announce The TypeScript Cookbook, to be published in 202 [...]

TypeScript: Iterating over objects ๐Ÿ”—

There is rarely a head-scratcher in TypeScript as prominent as trying to access an object property via iterating through its keys. This is a pattern t [...]

The road to universal JavaScript ๐Ÿ”—

Universal JavaScript. JavaScript that works in every environment. JavaScript that runs on both the client and the server, something thinking about for [...]

10 years of oida.dev ๐Ÿ”—

I missed a little anniversary. Roughly 10 years ago (on April 8, 2012), I started blogging on oida.dev! Time flies! I think this is my longest-running [...]

Rust: Tiny little traits ๐Ÿ”—

Rustโ€™s trait system has a feature that is often talked about, but which I donโ€™t see used that often in application code: Implementing your traits for [...]

The TypeScript converging point ๐Ÿ”—

Usually, when doing TypeScript talks, I just open up a code editor and hack away some cool types that help in a certain scenario. This time, I was ask [...]

How not to learn TypeScript ๐Ÿ”—

โ€œTypeScript and I are never going to be friendsโ€. Oh wow, how often have I heard this phrase? Learning TypeScript, even in 2022, can be frustrating it [...]

Getting started with Rust ๐Ÿ”—

Learning and teaching Rust has been a big part of me in the last couple of years. Interest in the Rust programming language has brought me to found th [...]

Introducing Slides and Coverage ๐Ÿ”—

Thereโ€™s a new section on this website! Since today, youโ€™re able to see full coverage of my workshops and talks in the new slides and coverage section. [...]

TypeScript: The humble function overload ๐Ÿ”—

With the most recent type system features like conditional types or variadic tuple types, one technique to describe a functionโ€™s interface has faded i [...]

TypeScript + React: Children types are broken ๐Ÿ”—

Update April 2022: With the update to React 18, a lot of those problems have been fixed. See this pull request for more details [...]

TypeScript: In defense of any ๐Ÿ”—

A couple of days ago I found this beauty on the internet: Give up and use any. Thatโ€™s a fantastic website, absolutely hilarious! It also shows how muc [...]

Rust: Enums to wrap multiple errors ๐Ÿ”—

This is a follow-up to Error handling in Rust from a couple of days ago. The moment we want to use error propagation for different error types, we hav [...]

Dissecting Deno ๐Ÿ”—

I had the chance to toy around with Deno recently. And with โ€œtoy aroundโ€ I mean dissecting it into little pieces and see how the sausage was made. So, [...]

Error handling in Rust ๐Ÿ”—

I started doing university lectures on Rust, as well as holding workshops and trainings. One of the parts that evolved from a couple of slides into a [...]

TypeScript: Unexpected intersections ๐Ÿ”—

Sometimes when writing TypeScript, some of the things youโ€™d usually do in JavaScript work a little different and cause some weird, and puzzling situat [...]

Upgrading Node.js dependencies after a yarn audit ๐Ÿ”—

Itโ€™s Tuesday! The day of your weekly dependabot alerts from GitHub! A nice reminder to check on your projects, and usually just a few clicks worth of [...]

TypeScript: Array.includes on narrow types ๐Ÿ”—

The Array.prototype.includes function allows searching for a value within an array. If this value is present, the function returns true! How handy! Of [...]

TypeScript + React: Typing Generic forwardRefs ๐Ÿ”—

If you are creating component libraries and design systems in React, you might already have fowarded Refs to the DOM elements inside your components. [...]

shared, util, core: Schroedinger's module names ๐Ÿ”—

I do a lot of architecture work lately, and one thing that seems to appear more often than I thought it would be are module names that have generic-so [...]

Learning Rust and Go ๐Ÿ”—

My blog is a chronicle of learning new things. Most of the articles I write are notes on how I solved problems that I found in my everyday work. And e [...]

TypeScript: Narrow types in catch clauses ๐Ÿ”—

When you are coming from languages like Java, C++, or C#, you are used to doing your error handling by throwing exceptions. And subsequently, catching [...]

TypeScript: Low maintenance types ๐Ÿ”—

I write a lot about TypeScript and I enjoy the benefits it gives me in my daily work a lot. But I have a confession to make, I donโ€™t really like writi [...]

Tidy TypeScript: Name your generics ๐Ÿ”—

My book TypeScript in 50 Lessons features interludes. Short texts on TypeScript culture that provide room to breathe between heavy, technical tutorial [...]

Tidy TypeScript: Avoid traditional OOP patterns ๐Ÿ”—

This is the third article in a series of articles where I want to highlight ways on how to keep your TypeScript code neat and tidy. This series is hea [...]

Tidy TypeScript: Prefer type aliases over interfaces ๐Ÿ”—

This is the second article in a series of articles where I want to highlight ways on how to keep your TypeScript code neat and tidy. By nature, this s [...]

Tidy TypeScript: Prefer union types over enums ๐Ÿ”—

This is the first article in a series of articles where I want to highlight ways on how to keep your TypeScript code neat and tidy. This series is hea [...]

My new book: TypeScript in 50 Lessons ๐Ÿ”—

Iโ€™ve written a new book! On October 6, the pre-release of TypeScript in 50 Lessons started. Itโ€™s 450 pages, published by the wonderful people at Smash [...]

Go Preact! โค๏ธ ๐Ÿ”—

You might have heard of Preact, the tiny 3KB alternative to React. It has been around for a while, and since its inception, it claims to be API and fe [...]

this in JavaScript and TypeScript ๐Ÿ”—

Sometimes when writing JavaScript, I want to shout โ€œThis is ridiculous!โ€. But then I never know what this refers to. [...]

TypeScript and ECMAScript Modules ๐Ÿ”—

Working with real, native, ECMAScript modules is becoming a thing. Tools like Vite, ES Dev server, and Snowpack get their fast development experience [...]

TypeScript + React: Why I don't use React.FC ๐Ÿ”—

Update: React types for version 18 changed a lot! If you encounter problems described in this article, make sure you update to the latest version! [...]

TypeScript + React: Component patterns ๐Ÿ”—

This list is a collection of component patterns for React when working with TypeScript. See them as an extension to the TypeScript + React Guide that [...]

TypeScript: Augmenting global and lib.dom.d.ts ๐Ÿ”—

Recently I wanted to use a ResizeObserver in my application. ResizeObserver recently landed in all major browsers, but when you use it in TypeScript โ€” [...]

Vite with Preact and TypeScript ๐Ÿ”—

Update: Please note that this article already has some age and Vite has seen significant updates. Also, the Preact team has created their own preset f [...]

TypeScript: Union to intersection type ๐Ÿ”—

Recently, I had to convert a union type into an intersection type. Working on a helper type UnionToIntersection<T> has taught me a ton of things on co [...]

11ty: Generate Twitter cards automatically ๐Ÿ”—

For the redesign of this blog, I created Twitter title cards that are generated automatically. So whenever people share my stuff on social media, they [...]

Are large node module dependencies an issue? ๐Ÿ”—

The other day, I had some friends frowning over the 800KB size of a node application. This brought to my attention that I never really worried about t [...]

TypeScript: Variadic Tuple Types Preview ๐Ÿ”—

TypeScript 4.0 is supposed to be released in August 2020, and one of the biggest changes in this release will be variadic tuple types. And even though [...]

TypeScript: Improving Object.keys ๐Ÿ”—

Note: Be very careful with this technique. Better checkout my new approach. [...]

Remake, Remodel. Part 4. ๐Ÿ”—

I originally wanted to launch my new website on June 1st, but there were more important things happening at the moment than relaunching a tech blog. T [...]

TypeScript + React: Typing custom hooks with tuple types ๐Ÿ”—

I recently stumbled upon a question on Redditโ€™s LearnTypeScript subreddit regarding custom React hooks. A user wanted to create a toggle custom hook, [...]

TypeScript: Assertion signatures and Object.defineProperty ๐Ÿ”—

In JavaScript, you can define object properties on the fly with Object.defineProperty. This is useful if you want your properties to be read-only or s [...]

TypeScript: Check for object properties and narrow down type ๐Ÿ”—

TypeScriptโ€™s control flow analysis lets you narrow down from a broader type to a more narrow type: [...]

Boolean in JavaScript and TypeScript ๐Ÿ”—

boolean is a fun primitive data type in JavaScript. In TypeScript, it allows for a total of four values Wait, four? [...]

void in JavaScript and TypeScript ๐Ÿ”—

If you come from traditional, strongly typed languages you might be familiar with the concept of void: A type telling you that functions and methods r [...]

Symbols in JavaScript and TypeScript ๐Ÿ”—

symbol is a primitive data type in JavaScript and TypeScript, which, amongst other things, can be used for object properties. Compared to number and s [...]

Why I use TypeScript ๐Ÿ”—

You might well see that my blog starts to center around TypeScript a lot recently. This might look like a strong deviation from what I usually blog an [...]

TypeScript + React: Extending JSX Elements ๐Ÿ”—

React typings for TypeScript come with lots of interfaces for all possible HTML elements out there. But sometimes, your browsers, your frameworks or y [...]

TypeScript: Validate mapped types and const context ๐Ÿ”—

Mapped types are great, as they allow for the flexibility in object structures JavaScript is known for. But they have some crucial implications on the [...]

TypeScript: Match the exact object shape ๐Ÿ”—

TypeScript is a structural type system. This means as long as your data structure satisfies a contract, TypeScript will allow it. Even if you have too [...]

TypeScript: The constructor interface pattern ๐Ÿ”—

If you are doing traditional OOP with TypeScript, the structural features of TypeScript might sometimes get in your way. Look at the following class h [...]

Streaming your Meetup - Part 4: Directing and Streaming with OBS ๐Ÿ”—

Now that we have everything wired up, itโ€™s time to record, direct and stream! If you missed the previous parts, check out the table of contents to qui [...]

Streaming your Meetup - Part 3: Speaker audio ๐Ÿ”—

We successfully set up the projector in the first chapter. We are able to record the speakerโ€™s video as described in the second chapter. Now let there [...]

Streaming your Meetup - Part 2: Speaker video ๐Ÿ”—

We successfully set up the projector in our last chapter. Now itโ€™s time to record the speaker himself. Iโ€™ll show you a couple of options how you can r [...]

Streaming your Meetup - Part 1: Basics and Projector ๐Ÿ”—

When we did Scriptโ€™18 in January 2018, we borrowed an A/V equipment worth of 35.000 EUR to make sure we get kick-ass videos. A+ camera, an A/V mixer a [...]

TypeScript and React Guide: Added a new styles chapter ๐Ÿ”—

CSS in JS! In all possible ways. Or at least, in 5 of them. I collected a list of popular ways on how to style React components: emotion, styled compo [...]

TypeScript and React Guide: Added a new render props chapter ๐Ÿ”—

This took me exactly one year. But mostly due to not finding a lot to talk about. Typings for React render props are extremely easy and show through t [...]

TypeScript and React: Styles and CSS ๐Ÿ”—

Is there any topic in the React space that has spawned more controversy than styling? Do everything inline vs rely on classic styles. Thereโ€™s a broad [...]

TypeScript and React: Render props and child render props ๐Ÿ”—

Render props is, according to the offical docs, a technique for sharing code between React components using a prop whose value is a function. The ide [...]

TypeScript and React: Prop Types ๐Ÿ”—

React has its own, built-in way of type checking called โ€œprop typesโ€. Together with TypeScript this provides a full, end-to-end type-checking experien [...]

TypeScript and React ๐Ÿ”—

Welcome to this little primer on TypeScript and React! A match made in heaven! [...]

TypeScript and React: Hooks ๐Ÿ”—

Hooks have been announced at React Conf 2018. Check out this page for more details. I think theyโ€™re pretty awesome. Probably game-changing! Hooks heav [...]

TypeScript and React: Context ๐Ÿ”—

Reactโ€™s context API allows you to share data on a global level. To use it, you need two things: [...]

TypeScript and React Guide: Added a new prop types chapter ๐Ÿ”—

React has a built-in way of type checking called prop types. This works at run time and is a great accompanying feature for TypeScript. Iโ€™ve added a s [...]

TypeScript without TypeScript -- JSDoc superpowers ๐Ÿ”—

One way to think about TypeScript is as a thin layer around JavaScript that adds type annotations. Type annotations that make sure you donโ€™t make any [...]

TypeScript: Mapped types for type maps ๐Ÿ”—

Factory functions are a popular tool in JavaScript to create a diversity of objects with a single call. Thereโ€™s a particular factory function that you [...]

JAMStack vs serverless web apps ๐Ÿ”—

JAMStack seems to be one of the most trending topics right now. So are serverless web apps. Hot and loved! Iโ€™ve seen some tweets, articles and even li [...]

The Unsung Benefits of JAMStack Sites ๐Ÿ”—

This post originally appeared on dev.to [...]

TypeScript: Ambient modules for Webpack loaders ๐Ÿ”—

When you work on modern JS apps you most likely use Webpack. Webpack always looked like a very complicated build tool to me, until I realised that itโ€™ [...]

My most favourite talks in 2018 ๐Ÿ”—

Itโ€™s that time of the year again! For the fourth time in a row, Iโ€™m sharing my most favourite conference talks of the year! And again I found some inc [...]

TypeScript and React: Events ๐Ÿ”—

Web apps are really boring if you donโ€™t interact with them. Events are key, and TypeScriptโ€™s React typings have great support for them. [...]

TypeScript and React Guide: Added a new context chapter ๐Ÿ”—

Reactโ€™s context API has be slumbering inside for a while. With one of the latest releases, they decide to open this API to everybody. Itโ€™s very nice t [...]

TypeScript and React: Getting Started ๐Ÿ”—

TypeScript is a natural fit for React, not only because TypeScript is a full fledged JSX compiler. Which means that you donโ€™t need a huge building set [...]

TypeScript and React: Further reading ๐Ÿ”—

Hereโ€™s a couple of resources that help you getting more out of TypeScript and React: [...]

TypeScript and React: Components ๐Ÿ”—

Components are at the heart of React. Letโ€™s see what we can do to get better error handling and tooling for them! [...]

TypeScript and React: Children ๐Ÿ”—

JSX elements can be nested, like HTML elements. In React, children elements are accessible via the children props in each component. With TypeScript, [...]

TypeScript: Built-in generic types ๐Ÿ”—

TypeScript comes with a ton of built in generic types that ease your development workflow. Hereโ€™s a list of all built-in generic types, with examples! [...]

TypeScript: Type predicates ๐Ÿ”—

Type predicates in TypeScript help you narrowing down your types based on conditionals. Theyโ€™re similar to type guards, but work on functions. They wa [...]

JSX is syntactic sugar ๐Ÿ”—

If you follow me you know that Iโ€™m super late to the React game. It was not until functional components showed up that I got really interested in the [...]

TypeScript and React Guide: Added a new hooks chapter ๐Ÿ”—

Hooks are a new feature in React that I personally find pretty exciting. Shortly after their release in React 16.7., people started developing TypeScr [...]

Getting your CfP application right ๐Ÿ”—

We just started the Call for Presentations for the upcoming DevOne conference, and I couldnโ€™t be more excited. Last yearโ€™s proposals where excellent a [...]

FAQ on our Angular Connect Talk: Automating UI development ๐Ÿ”—

Iโ€™m writing these lines as I fly back from an excellent Angular Connect. I started public speaking a couple of years ago, and this particular talk wil [...]

TypeScript and Substitutability ๐Ÿ”—

When starting with TypeScript it took not much time to stumble upon some of the type systemโ€™s odds. Odds that make a lot of sense if you take a closer [...]

Debugging Node.js apps in TypeScript with Visual Studio Code ๐Ÿ”—

When developing, thereโ€™s three things that I absolutely enjoy: [...]

From Medium: Deconfusing Pre- and Post-processing ๐Ÿ”—

This post was originally published on Medium in 2015. I decided to carry it over to my blog to keep it safe [...]

From Medium: PostCSS misconceptions ๐Ÿ”—

This post was originally published on Medium in 2015. I decided to carry it over to my blog to keep it safe [...]

Saving and scraping a website with Puppeteer ๐Ÿ”—

For some of my performance audits I need an exact copy of the webpage as it is served by my clients infrastructure. In some cases, it can be hard to g [...]

Cutting the mustard - 2018 edition ๐Ÿ”—

The other day I was holding a workshop on performance optimisation for single page applications. For this workshop I needed an example that I could op [...]

Wordpress as CMS for your JAMStack sites ๐Ÿ”—

The almighty JAMStack brings you fast and secure static websites, and with things like headless content management systems they become even easy to ed [...]

My most favourite podcast episodes in 2017 ๐Ÿ”—

After my most favourite tech books and my most favourite tech talks I want to conclude my yearly review with some of podcast episodes I really enjoyed [...]

My most favourite talks in 2017 ๐Ÿ”—

So it IS finally a tradition. After my most favourite talks of 2015, and the top talks to watch in 2016 โ€“ the conference videos strike back!, we compl [...]

My most favourite books in 2017 ๐Ÿ”—

I started taking reading seriously again in 2017. I had highs where I read about 10 books a month (phew), and also lows where I havenโ€™t touched a page [...]

The Best Request Is No Request, Revisited ๐Ÿ”—

I had the incredible privilege to work with the fine folks at A List Apart on a text concerning resource bundling in the age of HTTP/2. Using the powe [...]

Not so hidden figures - Organizing ScriptConf ๐Ÿ”—

I met Laura from Travis Foundation a couple of years ago at a conference in Austria, and we had some good time and nice chats together. Itโ€™s not easy [...]

My podcast journey to ScriptCast ๐Ÿ”—

I love podcasting. I started back in 2009 and hosted a literature podcast for roughly two years. Thatโ€™s where I made my first steps in producing non-w [...]

Grid layout, grid layout everywhere! ๐Ÿ”—

One of the great things about Microsoft Edge is that as a developer, you always know what to expect from an upcoming version. Communication is key! Th [...]

#scriptconf and #devone ๐Ÿ”—

About two years ago, Sebastian and I had our first chats about having a JavaScript conference in our town of Linz. And this January, we made our visio [...]

Object streams in Node.js ๐Ÿ”—

Iโ€™m really good friends with the people at Rising Stack in Budapest. I had lots of fun when they invited me to JSConf Budapest back in May, and enjoy [...]

Guest post in "Human and the machine": Get the gist ๐Ÿ”—

Back in the day I was an avid reader of The pastry box. You can imagine how super happy I was when Alex, the projectโ€™s creator asked me to contribute [...]

I was a guest on the Perfbytes podcast ๐Ÿ”—

The Perfbytes crew was live at this yearโ€™s Perform conference, interviewing crew, attendees and speakers. I had the chance to have a few minutes with [...]

Change case to lowercase for committed files ๐Ÿ”—

Itโ€™s super-annoying that the Macโ€™s file OS is case insensitive. Especially if you have a *NIX based server that canโ€™t read your images and things like [...]

This was Script'17 ๐Ÿ”—

Sebastian and I gathered together a list of links and lots of coverage to our conference we held in January. Lots of great blogs, podcasts, images and [...]

Real user speed index and visually complete ๐Ÿ”—

This is a somewhat personal post today. Iโ€™m currently in Las Vegas (which would be a story on its own) to speak and attend our companyโ€™s Perform confe [...]

Plumbin' Pipelines with Gulp.js (Workshop) ๐Ÿ”—

Now that my book is out, I dug up an old workshop I held almost one and a half years ago in Belgium at Devoxx. Devoxx is a special type of conference, [...]

My most favorite talks in 2016 ๐Ÿ”—

Letโ€™s make this a tradition! I love to watch conference talks. Be it live or on tape. And just like last year I try to collect the talks that I loved [...]

Script'17 JavaScript conference ๐Ÿ”—

After years of attending conferences and gathering lots of impressions from around the world, my buddy Sebastian and I decided to do our own thing. We [...]

PortoTechHub 2016 ๐Ÿ”—

I rarely talk about attending or speaking at conferences, but sometimes you just have to point out some extraordinary events. [...]

Jekyll filter: Use Liquid in front-matter ๐Ÿ”—

Jekyllโ€™s template language Liquid is pretty powerful. We especially use Liquid objects to access different data across all pages, like [...]

Using a Static Site Generator at Scale ๐Ÿ”—

Iโ€™m so incredibly happy to have my first article published on Smashing Magazine. Itโ€™s a 6000 word long story about how we managed to bring roughly 200 [...]

Create progressive JPEGs with graphicsmagick in Node.js ๐Ÿ”—

We want to convert all our header images to progressive JPEGs to give a good impression of the content to come, rather than having everything line by [...]

Video and Slides to: Speed Index, Explained! ๐Ÿ”—

I gave a talk on the beloved โ€œSpeed Indexโ€ metric at this yearโ€™s Topconf in Tallinn. I managed to put the video on Youtube, for all of you to enjoy: [...]

Topconf Linz 2016 is a wrap ๐Ÿ”—

So, Linz has a software conference. One thatโ€™s supposed to stay. I think itโ€™s about time. Linz has a wonderful IT community, with lots of great compan [...]

Tales from the Browser Wars: Mozilla Stomps IE ๐Ÿ”—

Recently I did some โ€œThe History of the webโ€ talks for various institutions. While preparing the story to tell, I remembered one specific tale from 19 [...]

You can extend CoffeeScript classes with ES6 classes ๐Ÿ”—

TL;DR: If you want to extend from CoffeeScript written classes, you can use the ES6 class syntax to do so. [...]

The best thing about NPM scripts ๐Ÿ”—

TL;DR: NPM Scripts render global installations of NPM command line tools useless. [...]

Jekyll table of contents per page ๐Ÿ”—

This filter creates a table of contents list based on all h2 tags that are on your site. [...]

Gulp and Promises ๐Ÿ”—

The Gulp task system does not only work with streams alone, but also with other asynchronous patterns. One of those are well known Promises! Find out [...]

My most favorite talks in 2015 ๐Ÿ”—

I enjoy being at conferences, however I canโ€™t be on all of them. Which is sad, because judging from all the videos one misses a lot! Turns out, my mos [...]

Gulp: Grab files from your CDN and add them to your build pipeline ๐Ÿ”—

This one is a shorty, but thatโ€™s what it makes it so nice. Imagine that you have only one dependency in your project, which is some third party librar [...]

Gulp 4: The new task execution system - gulp.parallel and gulp.series ๐Ÿ”—

One of the major changes in Gulp 4 is the new task execution system. In this article, I want to show you whatโ€™s new and how you can migrate the best. [...]

Stay focused with Webmonitoring (ruxit.com) ๐Ÿ”—

Another article I wrote for the blog over at my employer. When we switched our login from a purely JavaScript based to a progressively enhanced one, w [...]

Node.js 4.0.0 and Gulp first aid ๐Ÿ”—

Node.js 4.0.0 just got released! The jump from 0.12.x to 4.0 is a huge one, especially since it incorporates lots of changes that happened over at the [...]

Gulp 4: Incremental builds with gulp.lastRun ๐Ÿ”—

Incremental builds are a good way of speeding up your build iterations. Instead of building everything again with each and every iteration, you just p [...]

Gulp 4: Passthrough source streams ๐Ÿ”—

Another nice addition to vinyl-fs that will end up in Gulp 4 is the possibility of having โ€œpassthroughโ€ source streams. This basically allows gulp.src [...]

JavaScript 101: Arrays ๐Ÿ”—

This was the first contribution Iโ€™ve ever made at GitHub, belonging to the original learn.jquery.com website. The original article is now offline, but [...]

Gulp 4: Built-in Sourcemaps ๐Ÿ”—

One really cool feature on the Gulp 4 roadmap is the inclusion of native sourcemaps. A commit roughly two weeks ago at the vinyl-fs package makes this [...]

Custom Jekyll Includes Directory ๐Ÿ”—

If you want to have a custom _includes directory, and maybe more than one _includes directory, you can easily achieve this by adding a new tag to your [...]

I'm writing a book: Front-End Tooling with Gulp, Bower and Yeoman ๐Ÿ”—

Okay, lovely people, this is huge for me. Iโ€™m actually in the midst of writing a book. Itโ€™s called โ€œFront-End Tooling with Gulp, Bower and Yeomanโ€, an [...]

Wordpress: Remove Admin bar in Theme ๐Ÿ”—

The admin bar in Wordpress can be annoying sometimes, hiding some of your design and even having certain side effects you donโ€™t want. With this snippe [...]

Book Review: CSS Secrets by Lea Verou ๐Ÿ”—

In 2012 I saw one of Lea Verouโ€™s talks for the first time. And if you every had the opportunity of seeing her, you know that you are in for a treat. H [...]

Deconfusing Pre- and Post-Processing (ext) ๐Ÿ”—

Some sort of follow-up to my first Medium article โ€“ PostCSS Misconceptions โ€“ this one deals with the terms pre- and post-processing in general. Well [...]

How we sped up ruxit.com ๐Ÿ”—

The first time I wrote something for my new Job at Ruxit.com. We spent about three weeks to push the siteโ€™s loading performance to a possible max, wit [...]

PostCSS Misconceptions ๐Ÿ”—

I tried out Medium as a publishing platform recently. The result is a short rant on how people few PostCSS. While I love the tool and use it everyday, [...]

beyond tellerrand 2015 ๐Ÿ”—

Last week I attended this yearโ€™s beyond tellerrand in Dรผsseldorf. It was now my third or fourth time (memories are actually really fuzzy โ€ฆ but then ag [...]

Gulp Recipes - Part Two: You might not need this plugin ๐Ÿ”—

One month has passed, many questions on StackOverflow have been answered, so hereโ€™s yet another round of common Gulp issues with a simple and repeatab [...]

Interview with bugtrackers.io ๐Ÿ”—

I had the sincere pleasure of doing an interview with the guys at bugtrackers.io. We talked a lot about my journey as a web developer for the last 15 [...]

Gulp Recipes - Part One ๐Ÿ”—

In the last two weeks I spent a good deal of time on StackOverflow, trying to solve every open Gulp question there is. The reasons for that are manifo [...]

Gulp: Creating multiple bundles with Browserify ๐Ÿ”—

With the ever-changing eco system of Node.js tools, a short version disclaimer. This article has been created using [...]

Running an on-demand PHP server with BrowserSync and Grunt/Gulp ๐Ÿ”—

Quite a while ago I wrote a little article on connect middleware and how to run PHP with it. While the article was originally intended to introduce th [...]

Delete a commit on your remote ๐Ÿ”—

Assume you have pushed a commit and regret it now. Or you did want to have that commit in another branch, for development reasons. Itโ€™s rather easy to [...]

Revisiting LESS ๐Ÿ”—

Back in 2011 when we started using preprocessors at our company the decision fell very quick to LESS. The reasons for that where mannifold: [...]

Reverting a single file ๐Ÿ”—

You can do the following to revert a single filename to its previous status. [...]

Frontend-Tooling Workshop in March - Slides inside ๐Ÿ”—

I happen to hold my third iteration of the โ€œFrontend Tooling with Grunt and Yeomanโ€ workshop at this years JavaScript Days in March. Itโ€™s in Munich, [...]

Changing compatibility view settings for IE via htaccess ๐Ÿ”—

Those lines send compatibility view instructions with the HTTP Header: [...]

Show only user's posts in post overview ๐Ÿ”—

This one restricts authors to only view their own posts in Wordpressโ€™ post overview: [...]

Show only user's images in media library ๐Ÿ”—

This short snippet restricts authors to only view the files from the media library which they have uploaded: [...]

My contribution to Christoph Rumpel's "10 things that will make you a better developer" ๐Ÿ”—

I did a small contribution to Christophโ€™s blog on โ€œ10 thing that will make you a better developerโ€. Be sure to check out the entire article. This one [...]

Introduction to Yeoman ๐Ÿ”—

A few weeks ago I did a short talk on Yeoman at the Linzer edition of Codeweek and how it helps us in our daily workflow. For the first time I tried t [...]

Running NPM without sudo ๐Ÿ”—

Several ways to fix the problem of running node tools and npm without sudo (which probably always results in an error). [...]

The Fine Print ๐Ÿ”—

This one gets overlooked the most, I guess. If you have any legal disclaimer, a so called fine print or small print (The ambitious โ€œKleingedruckteโ€ in [...]

Removing Byte Order Marks ๐Ÿ”—

One special version of Excel for instance still adds those nasty buggers. [...]

Calling Dynamic Functions with Dynamic Paramters ๐Ÿ”—

Useful for wrapper APIs or communicating with external interfaces: [...]

Making dragonquest.at Open Source ๐Ÿ”—

No tutorials or tech guides today, this is something rather personal! Yesterday while waiting for the launch of Netflix I got an E-Mail that the origi [...]

CSS levels up: the HWB colour model ๐Ÿ”—

HWB is short for โ€œHue, Whiteness, Blacknessโ€ and is a new colour space format, which is now proposed in the current CSS Colours Module Level 4 working [...]

Formular One - or - How to style &lt;select&gt; elements ๐Ÿ”—

Remember those days where developers made the most amazing forms in Flash because they both had to do everything from scratch due to lack of being clo [...]

Lesser known Grunt.js features: Renaming of files ๐Ÿ”—

Recently I had to deploy some static sites for some client, whose server didnโ€™t allow to automatically redirect to index.html when accessing a directo [...]

Gulp, Sass, Autoprefixer, Sourcemaps! ๐Ÿ”—

Update 2016/02: This is old. This might not be up to date anymore! [...]

kod.io Linz ๐Ÿ”—

Last Saturday the very first developer conference of Linz was held at the Ars Electronica Center. A place I havenโ€™t visited for 10 years. It was calle [...]

noPrefixes flag in Modernizr ๐Ÿ”—

More than half a year ago I had some little rant on why we should drop using vendor prefixes as a whole. Main points were: [...]

Create manageable Sass components (to use with Bower, etc.) ๐Ÿ”—

Having a set of reusable and ready software components is a great thing. And for a multitude of reasons, like ensuring DRY development or boosting eff [...]

Remake, Remodel! Part Three: How to switch from Wordpress to Jekyll ๐Ÿ”—

Even tough I was pretty satisfied with my old blog, and especially its design, I felt the need to go into another round of updating not only the look, [...]

The magic of grunt-contrib-connect, and how to run PHP with it ๐Ÿ”—

Note: This article is rather old. If you want to know more about `connect`, proceed, if you just want to have a PHP sever with livereload for your Gru [...]

Topconf Tallinn 2013 ๐Ÿ”—

Last week I attended Topconf in Tallinn, Estonia. It was my very first time in Estonia and also my first time at a conference which wasn't targeted to [...]

Content vs. value ๐Ÿ”—

Titleโ€™s for all content strategists out there who expect something really meta and with a lot of additional bla bla. Well, this is about HTML Content [...]

Great Scott! Five lesser known shortcuts for Emmet.io that rock! ๐Ÿ”—

I'm a huge fan of Emmet. It allows you not only to create markup in no-time by using a CSS-like syntax in your most favourite code editor (e.g. ul>li* [...]

It's all about the content! ๐Ÿ”—

You know parallel scrolling websites? The kind where big sunglasses assemble themselves, break through rocks and crash your browser? The kind everyone [...]

Digital Visions 2013 ๐Ÿ”—

Last friday Jรผrgen Liechtenecker and company held the Digital Visions conference in Vienna for the second time. I was invited to speak and got the ama [...]

Using grunt-connect-proxy ๐Ÿ”—

Update 2014/01/13: The interface of grunt-contrib-connect has slightly changed. Please check my article on how to add middleware. The proxy middleware [...]

Using assemble.io with yeoman.io's webapp Gruntfile ๐Ÿ”—

With Effeckt.css I discovered assemble.io, a node-based static site generator for ... well ... assembling HTML files from different parts. [...]

Basic SVG path tweening with SMIL ๐Ÿ”—

<p></p> <p></p> [...]

Preparing for an unprefixed future ๐Ÿ”—

I realized recently that I don't have to use "-webkit" on the transition property anymore for Chrome. Actually, to use transitions in modern desktop b [...]

Caring for Sharing: Social share URLs ๐Ÿ”—

I truly hate social media share buttons. Especially those plugins which not only are coded badly but also create heavy traffic and performance issues. [...]

Preserving aspect ratio for embedded iframes ๐Ÿ”—

Update 2021: This has been one of my most read articles for some time. And now I'm happy to proclaim: It's outdated. There's a property in CSS! [...]

beyond our own noses - the "beyond tellerrand 2013" ๐Ÿ”—

Not one single line of JavaScript code? At a conference where web developers visibly outnumbered the rest of the audience? Yes, they can: Dรผsseldorf's [...]

Remake. Remodel. Part 2 ๐Ÿ”—

@grigs said I should blog, so I'm going to take this thing seriously now. I spent the last few days (finally) creating a new look for my website. With [...]

Nobody wants HTML5 apps ๐Ÿ”—

There's much buzz going on about HTML5 being just the wrong way of developing apps. Facebook switched to "kind of native" a while ago (and still has a [...]

"Techยญnoยญlogieยญplauschยญerl" at Netural ๐Ÿ”—

On Thursday we held the "Technologieplauscherl" at Netural for the first time. The "Plauscherl" (which translates to technology talk, but is unrelated [...]

Preventing FOUT in IE9 ๐Ÿ”—

FOUT is an abbrevation for flash of unstyled text (or type) and is one of those really nasty bits in modern frontend development. Summarized it means [...]

Remake, Remodel. ๐Ÿ”—

Let's face it: ModX -- even with the Articles Plugin -- isn't suitable for fast blogging. At least not in the way I need it. So I switched back to Wor [...]

Forcing browsers to print all pages in grayscale ๐Ÿ”—

Slightly updated on 2014/05/27 [...]

Of mice and touches ๐Ÿ”—

Unbelievable, but true: Imagine you bought a new Windows Phone 7 (e.g. Nokia Lumia or Samsung Omnia) with "Mango" on it and try to get your mobile web [...]

Robust (but hacky) way of portrait / landยญscape detection ๐Ÿ”—

On mobile devices it's pretty easy (and in some cases also pretty cool) to change the look of your website respectively to the orientation of your dev [...]

HTML5 Audio on mobile devices ๐Ÿ”—

HTML5 Audio on desktop browsers is a mess. But you haven't experienced true pain and suffering until you try to get HTML5 audio done on mobile devices [...]