Articles by Tobias Barth, Web Freelancer from Berlin
Bundling your library with Webpack
Part 7 of the series "Publish a modern JavaScript (or TypeScript) library". In the last post we have established in which cases we may need to bundle our library – instead of just delivering transpiled files /modules. There are a few tools which help us to do so and we will look at the most important of them one after another.
How to bundle your library and why
Part 6 of the series "Publish a modern JavaScript (or TypeScript) library". At this point in our setup we deliver our library as separate modules. ES Modules to be exact. Let's discuss what we achieve with that and what could be missing.
Check types and emit type declarations
Part 5 of the series "Publish a modern JavaScript (or TypeScript) library". We want to know that there are no type errors in our code and we want to export type declarations.
Building your library: Part 1
Part 4 of the series "Publish a modern JavaScript (or TypeScript) library". The goal for our work here should be a fully functioning build chain that does everything we need for publishing our library.
Compiling modern language features with the TypeScript compiler
Part 3 of the series "Publish a modern JavaScript (or TypeScript) library". Instead of Babel like in the last post we can use the TypeScript compiler `tsc` to transpile our code.
Transpile modern language features with Babel
Part 2 of the series "Publish a modern JavaScript (or TypeScript) library". Babel can transpile JavaScript as well as TypeScript. I would argue that it's even better to use Babel instead of the TypeScript compiler for compiling the code (down) to compatible JavaScript because it is faster.
Publish a modern JavaScript (or TypeScript) library
Did you ever write some library code together and then wanted to publish it as an NPM package but realized you have no idea what is the technique du jour to do so? Which transpiler, which bundler, which other tools and why? You have found the right place.
Resize LVM on LUKS partition without messing everything up
I needed to shrink /dev/sda3, move it to the end of the SSD and grow /dev/sda2 as necessary. But I did not know if this was even possible with my setup.
Handle lid closing correctly in XFCE power settings
I always had problems with the power management settings on my laptop. It's running Manjaro Linux (Arch derivate). Regardless of what I set in the XFCE power settings, the actions that should happen on lid closing didn't work as expected.
Fix speed issue when writing to NAS system
I just fixed an issue with my FreeBSD home server. It is set up as a file server for Mac (AFP) and Linux Clients (NFS). My local network is Gigabit-based so the limitating factor on read/write speeds should be the hard disk drives in the server. But lately, it dropped amazingly to ~1MB/sec.
Execute Promise-based code in order over an array
I had a list of input data and wanted to execute a function for every item in that list. What I need is a way to traverse the array, execute the function for the current element, wait until the Promise resolves and only then go to the next element and call the function with it.
Set up a FreeBSD server - Part 2: Add user and firewall setup
Some initial setup work like adding a user, properly configuring SSH access and adding a firewall.
Set up a FreeBSD server on DigitalOcean with jails – Part 1
I have a few Droplets running on DigitalOcean (DO) for small puposes like Dropbox-replacement, private Git repositories and so on. Now I want to move my website and so, my webserver from another hoster to DO.
Ezjail und IPv6 alias Adressen
Ich habe vor Kurzem begonnen Jails in FreeBSD zu nutzen und auszuprobieren. Mein Digitalocean-Droplet läuft unter FreeBSD 11 und DO gibt mir eine public v4 IP-Adresse und ein /124 v6 Präfix. Für meinen privaten Kram interessiert mich IPv4 nicht, daher habe ich 16 öffentliche IPs, mit denen ich spielen kann.
Einfache Foto-Upload-App mit Node.js
Wir stellen einen WLAN-Router auf, mit dem sich alle verbinden. Er braucht keinen Internet-Uplink. Die Projektleiterin startet einen Node.js-Webserver auf ihrem Macbook, der eine Seite mit einem Webformular ausliefert, das nichts anderes tut, als einen Datei-Upload zu ermöglichen. Der Server speichert die hochgeladenen Files auf dem Laptop und das wars.
Node.js Performance und socket hangup
Ungewöhnlich viele "socket hang up"-Meldungen. Nicht so viele, dass wir ernsthafte Schwierigkeiten hätten, die auch sichtbar wären, aber, und das ist besonders interessant, es sind wesentlich mehr als bei anderen Webapps, die Java-basiert sind und dieselben Services bei jedem Request anfragen.
Mein Blog
Endlich habe ich es doch geschafft. Mein Blog ist funktionsfähig und online.
Vererbung von viewport-percentage lengths in Chrome
Ich stolperte neulich über ein Problem mit viewport-relativen Längen in CSS.
jQuerys scrollTop() und border-box
Der Fehler, den der Kunde berichtete, beruhte darauf, dass das ursprünglich verwendete `$(document).scrollTop()` nicht im IE8 funktionierte und nachdem er dies durch das funktionierende `$('html').scrollTop()` ersetzt hatte, lief es nicht mehr in Webkit-Browsern.
.htaccess-Spielereien
Mit .htaccess-Dateien kann man den Zugang zu den einzelnen Dateien oder Dokumenten auf seinem (Apache-)Webserver sehr bequem regeln. Es lassen sich zum Beispiel einzelne Verzeichnisse nur für Nutzer mit einer bestimmten IP freigeben. Oder man kann Passwörter für den Zugang vergeben. Vor ein paar Tagen habe ich herausgefunden, dass man mit ihnen auch wunderbar beliebige andere Servervariablen abfragen kann.