Hi.

I'm Sophia Brandt, a tax officer who taught herself to code.

These are my notes on programming.

Latest stories

LLearning About Clean Code With Elixir

08/20/20191 Min Read — In Elixir, Lab

Today I found an excellent article about Cleaning up your Elixir Code . It shows how you can refactor your code and use best practices (hexagonal design with adapters/ports, dependency injection…

DDocker NGinx 405 POST Not Allowed

08/18/20191 Min Read — In Docker, React.js, DevOps

Today it took me over one hour to debug an error with Docker and Nginx. Every time I tried to submit a form with a POST method, NGinx gave me a 405 error: "405 Not Allowed". I originally thought that…

FFix npm Vulnerabilities with Yarn

08/17/20191 Min Read — In JavaScript, DevTools

Sometimes I get alerts on GitHub because my project's npm packages have security issues. With npm, you can use npm audit fix to update your packages. What about yarn? Yarn also has a command for…

FFriday Picks #14

08/16/20191 Min Read — In JavaScript, Lab

Here are some things I've found useful this week or that I enjoyed: GraphQL Recipes - Building APIs with GraphQL Transform Paged Out! #1 : a free magazine about programming Reef - a lightweight…

JJavaScript Generators, Getters and Setters

08/15/20191 Min Read — In JavaScript

I'm trying to wrap my head around JavaScript generators . One article that helped me to grasp its concepts is JavaScript Getter-Setter Pyramid by André Staltz. Another valuable resource is the…

SStill Learning TDD

08/14/20191 Min Read — In Lab, React.js

Nothing much to report. I'm still learning TDD with Python (Flask) and React.js. I'm using Jest and Enzyme for React. Testing React components feels very abstract to me. Kent C. Dodds wrote two…

TTool: Link Control

08/13/20191 Min Read — In DevTools

I found a browser tool on r/webdev today: Link Control ( Chrome / Firefox ). It's a simple browser extension which uses the web's localStorage API. It applies a new color to all visited links ( a…

RRemove Docker Containers And More

08/12/20191 Min Read — In DevOps, Docker

Here is a useful post that shows the commands to delete unused docker containers, images, volumes and networks: How To Remove Docker Containers, Images, Volumes, and Networks . That's the most useful…

TTIL: Jump to Next Paragraph in Vim

08/11/20191 Min Read — In Vim, DevTools

When I wanted to jump inside my VIM file, I always used line numbers, like so . But often, I only want to jump to the next paragraph in my code. For example, the next function. You can easily use…

FFriday Picks #13

08/09/20191 Min Read — In DevOps, LISP, Lab, Vim, React.js

Here are some things I've found useful this week or that I enjoyed: Production-ready Docker images - a guide to Docker with Python Programming Algorithms: A Crash Course in Lisp - a course on data…

DDeploying Docker with Travis to Heroku Woes

08/07/20191 Min Read — In DevOps, Docker

I'm trying to deploy my docker containers with docker-compose and Travis-CI to Heroku. I found two articles: Continuous Deployment con Docker + Travis + Heroku (article is in Spanish, but very easy…

TThe Odin Project and Full Stack Open

08/06/20191 Min Read — In Lab, JavaScript

I've read about The Odin Project a few times on reddit. People seem to be happy about this (free) curriculum, as it starts from zero, but doesn't hold your hands. They offer a Ruby course and a…

LLearning TDD

08/05/20191 Min Read — In DevOps, Python

I'm interested in learning test-driven development (and Domain-Driven Design, too). I find it a bit hard to find the right material to apply TDD in the context of building a full-stack web application…

SStop All Docker Containers

08/03/20191 Min Read — In DevOps, Docker

Today I had problems running a NGinx Docker container with docker-compose after a system update. So I wanted to reset all docker containers. Here are the relevant commands: Stop and remove all…

FFriday Picks #12

08/02/20191 Min Read — In Svelte.js, Python, Elixir, Phoenix, TypeScript, Node.js

Here are some things I've found useful this week or that I enjoyed: The Architecture of Open Source Applications - some free books on architecture! Use Svelte with SASS/SCSS in VSCode - add SASS to…

RReverse Proxy with Nginx Trouble

08/01/20191 Min Read — In DevTools

I'm trying to set up Nginx with my Docker containers. I want to route the standard listening port 80 to the port where my Docker runs my Django app. docker-compose proxies my app from port 5001 to…

DDocker and Python

07/31/20191 Min Read — In DevTools, Docker, Python

I'm trying to use Docker for my apps. I like the tool, and it also helps to have a stable dev environment when everything runs inside a container. But it adds another layer of complexity. Now, a lot…

VVIM: Use Visual Block

07/30/20191 Min Read — In DevTools, Vim

Yesterday I wanted to insert a character at the start of each line. Vim doesn't have multiple cursors like some popular text editors (VS Code, Sublime Text). But sometimes you don't need more than…

DDjango REST API Udemy Course

07/29/20191 Min Read — In Python

Yesterday I finished the course Build a Backend REST API with Python & Django - Advanced . Here is my review: Excellent course on TDD with Django. I especially like how we use Docker and Travis CI to…

DDocker Compose, Postgres and Travis CI

07/28/20191 Min Read — In DevOps, Docker, Python

Today I tried to set up a dockerized Flask app with Postgres database with Travis CI. It shouldn't have been difficult because I followed a tutorial. Setup Here is the docker-compose.yml : There is a…

FFriday Picks #11

07/26/20191 Min Read — In Lab, DevOps, CSS, Svelte.js, Python

Here are some things I've found useful this week or that I enjoyed: Becoming a Zsh (Oh My Zsh) Power User 10 docker-compose and docker commands that are useful for active development CSS - Center both…

LLessons in Problem Solving

07/25/20191 Min Read — In Lab

Here is a gentle introduction in solving problems for Algorithm challenges: How to think like a programmer — lessons in problem solving

FFree HTML Handbook by Flavio Copes

07/23/20191 Min Read — In HTML, Lab

I'm still handicapped by slow internet speeds. Learning to code is a bit difficult at the moment. I'm doing Udemy courses (React, CSS, and Django TDD) and watching videos is almost impossible right…

UUnknown Privileges

07/22/20191 Min Read — In Lab

I've never realized how lucky I am to live in an area with a good infrastructure. At home, I have a stable internet connection with decent speed. After I've tried to work remotely with a download…

DDjango TDD

07/21/20191 Min Read — In Python, Django, TDD

I've been taking a break from React and trying my hand at TDD. I found a good course that teaches Django API development with TDD principles. I'm not that familiar with Django. But I hope I can pick…

HHistory of VIM

07/20/20191 Min Read — In Vim

Today I found an insightful article about the History and effective use of Vim . If you're a Vim user, it's worth a read. The blog post also peeks behind the curtain and explains some of the inner…

FFriday Picks #10

07/19/20191 Min Read — In Lab, JavaScript, TypeScript, Node.js

Here are some things I've found useful this week or that I enjoyed: As a senior developer, how do I better mentor an intermediate developer who is struggling? - Reddit thread about mentoring (might…

CCurrently Working On

07/18/20191 Min Read — In Lab

I'm currently working on the Udemy course Complete React Developer in 2019 (w/ Redux, Hooks, GraphQL) by Andrei Neagoie and Yihua Zhang. So far, it's been an exciting journey, and I appreciate that…

WWrite More Professional Code

07/17/20191 Min Read — In Lab

I'm amazed about what you can learn for free on platforms like YouTube. For example, here are some tips on how to write more professional code by Dylan Israel: How to Code Like a Pro (with Dylan…

UUphill Conf 2019: How to Think

07/16/20191 Min Read — In Lab

Today I watched this talk: André Staltz - How to Think - Uphill Conf 2019 . And while the ideas were not new, it was still a good reminder about what it means to be a thinker in the context of being…

SState Machines and Statecharts in JavaScript

07/15/20191 Min Read — In JavaScript

A few days ago, I heard of using state machines in JavaScript. I've been listening to React Roundup podcast episode 069 The State Machines in React with David Khourshid . David wrote a JavaScript…

VVIM: Open a File In a Web Browser on Linux

07/13/20191 Min Read — In DevTools, Vim

Today I learned two neat tricks: Put your cursor on a link (in normal mode), and type gx . This will open the URL in a browser window. What if you want to open a file in a web browser? On Linux, you…

FFriday Picks #9

07/12/20191 Min Read — In Lab, JavaScript, Node.js

Here are some things I've found useful this week or that I enjoyed: Boilerplate Code - Starter projects in React, Vue, Python, Full-Stack - some useful boilerplates As a self taught developer, i feel…

AAWS User Group MeetUp

07/11/20191 Min Read — In Lab

Yesterday I attended the Amazon Web Services User Group Dortmund MeetUp . It was easy to travel to, very central in the city. Around 40 people attended this event. The organizers offered pizza and…

LLearning a Little Thing Every Day

07/10/20191 Min Read — In Lab

Today I learned about how to use Local Storage and redux-persist . Local Storage is part of the native Web Storage API and allows you to store data accross browser ressions (and refreshes). It's…

NNot Enough Time

07/09/20191 Min Read — In Lab

So much to do, not enough time. I'm interested in so many things, but I don't have the time to learn them all. Gatsby.js, Elixir & Phoenix (Phoenix LiveView!?), TypeScript, DDD, software architecture…

LLearn About Gatsby Themes

07/08/20191 Min Read — In Lab, JavaScript, React.js

Yesterday I finished Introduction to Gatsby , a beginners course by Jason Lengstorf, hosted by Frontend Masters. Gatsby is a static site generator for JavaScript/React.js. It pre-builds your website…

VVim: Close All Other Buffers

07/06/20191 Min Read — In Vim, DevTools

I emphasize using buffers over tabs in VIM. Buffers are the ideomatic way of using VIM. You can read more about that here: Vim Tab Madness. Buffers vs Tabs . I customized my settings with some…

VVim: Create a Directory

07/05/20191 Min Read — In Vim, DevTools

Let's say that you create a new file in a buffer: What happens if you didn't create the header directory first? What now? You can still create the directory and save the file. In NeoVim, you can use…

VVictor Mono Font

07/03/20191 Min Read — In DevTools

I've found a new programming font that I use with VIM and VS Code. It's a free font with font ligatures (those don't work in VIM, though). Check it out ! Here is the GitHub repository .

LLearning About State Management

07/02/20191 Min Read — In JavaScript, React.js, Lab

Today I listened to a React Podcast episode where Michel Weststrate was a guest . He talked about state management, MobX , and Immer , his new library. Listening to talk like these, and the ideas…

VVim Movement: Some Links

07/01/20191 Min Read — In Vim, Lab

Here are some links I found useful to level up my VIM skills: Fast movement and navigation inside Neovim Traversing text in Insert mode I've been switching between Vim and VS Code the last few days…

PPhoenix: Use Ecto to Recreate Your Database

06/30/20191 Min Read — In Elixir, Phoenix

Today I learned that it's a bad idea to drop a PostgreSQL table directly with PGAdmin. Afterwards, I got tons of errors, because the table was missing. I you want to re-create your database from…

FFriday Picks #8

06/28/20191 Min Read — In TypeScript, JavaScript, React.js, Node.js

Here are some things I've found useful this week or that I enjoyed: TypeScript Weekly - a newsletter for TypeScript How YOU can use Nest to build a GraphQL API - a tutorial that walks you through…

GGiving VSCode Another Try

06/26/20191 Min Read — In DevTools, Vim, VS Code

I've been reading posts on dev.to lately to stay up to date. I follow a few writers there, for example, Jaime González . Like me, Jaime is a big VIM fan and has even written two books about VIM…

SSimple Frontend Pagination in React

06/25/20191 Min Read — In JavaScript, React.js

I'm a big fan of Brad Traversy and this video is one of the reasons why: If you have some rudimentary knowledge of React.js, you should be able to follow Brad's instructions. As always, he offers…

RReact.js - How to Fetch Data

06/24/20191 Min Read — In JavaScript, React.js

If you want to know more about data fetching with hooks, you can read these two articles, too: A Complete Guide to useEffect & How to fetch data with React Hooks? . For a short video tutorial on…

LLearn NestJS

06/23/20191 Min Read — In TypeScript, Node.js, Lab

Currently, I'm working through the excellent Udemy Course: NestJS - Zero to Hero by Ariel Weinberger. There are still some coupons to get a discount for this course . I'm still excited about…

FFriday Picks #7

06/21/20191 Min Read — In TypeScript, JavaScript, React.js

Here are some things I've found useful this week or that I enjoyed: You don't need passport.js - Guide to node.js authentication - Santiago Quinteros explains how authentication in Node.js…

YYouTube Channels to Follow

06/20/20191 Min Read — In TypeScript, JavaScript

Here are some recommendation for useful YouTube channels for JavaScript and learning web development: Ben Awad - short videos about React.js, GraphQL, Node.js, JavaScript Dev Mastery - architecture…

NNestJS Is Fun

06/19/20191 Min Read — In Node.js, TypeScript, Lab

I'm learning about TypeScript and NestJS right now. There's an excellent course on Udemy by Ariel Weinberger . It shows how to develop a CRUD API. If you want to get a sense on how NestJS looks…

BBlown Away by NestJS

06/18/20191 Min Read — In Node.js, TypeScript, Lab

I just finished a Serverless React with AWS Amplify - The Complete Guide by Reed Barger today. I learned a lot about AWS and serverless functions. But now it's time for something different! What…

TTIL: How to Pass Props to React Router

06/16/20191 Min Read — In React.js, JavaScript

Just a short note: Today I learned that you shouldn't pass props to React Router with the component attribute, but with render . From the Docs : When you use component (instead of render or…

FFree Node API Book

06/15/20191 Min Read — In Lab, JavaScript

If you follow JavaScript Teacher on Twitter , you'll notice that he's giving away another book on web development: Node API Book - you have to provide an email address Further Reading JavaScript…

FFriday Picks #6

06/14/20191 Min Read — In Lab, CSS, TypeScript

Here are some things I've found useful this week or that I enjoyed: From doing tutorials to getting an actual job? (MPJ shows his Spotify application) - great video by funfunfunction Svelte Crash…

FFreeCodeCamp YouTube Channel

06/12/20191 Min Read — In Lab

Lately, I've been watching some videos from the freeCodeCamp YouTube Channel . Some of the videos are quite good. For example, the tutorials by Beau Carnes are enjoyable to watch. They don't go into…

AAutomate the Boring Stuff with Python (FREE)

06/11/20191 Min Read — In Lab, Python

Al Sweigert is the author of the beginner-friendly and highly rated Automate the Boring Stuff with Python . You can already read the text for free online. But at the moment, you can also snatch the…

GGoing Slow

06/10/20191 Min Read — In Lab

Today I spent most of my time with my kids. I got up at 5 am to make time for coding. But shortly afterward, my youngest woke up. Thus, I only managed to squeeze in a few minutes of programming. The…

FFriday Picks #5

06/07/20191 Min Read — In Lab, Vim, TypeScript

Here are some things I've found useful this week or that I enjoyed: Helsinki MOOC on full stack web development (and other free courses in English) - quality courses from a Finnish university in…

##60seconddev on Twitter

06/06/20191 Min Read — In Lab, JavaScript

At the moment I'm struggling with enabling CORS for an AWS Gateway API . I haven't found a solution yet . Meanwhile, I found the #60seconddev hashtag on Twitter. The original Instagram posts are…

FFrom Zero to App by Flavio Copes

06/04/20191 Min Read — In Lab, JavaScript

Today I found a new exciting video course by Flavio Copes : I am going to document the process of building an online diary Web App built using React, Node.js, GraphQL, Postgres. From zero (rough idea…

LLearning about Big O and Algorithms

06/03/20191 Min Read — In Lab, Python

Today I didn't have much time for studying. I read another chapter in A Common-Sense Guide to Data Structures and Algorithms . This is really an excellent beginner-friendly book. The illustrations…

CCommon Sense Algorithms and Problem Solving

06/02/20191 Min Read — In Lab, Python

I've tried several online courses on learning data structures and algorithms. But nothing seems to stick. Usually, video courses work well for me. I consider them more engaging than a book. But for…

TTips on How to Get a Job in Software

06/01/20191 Min Read — In Lab

At the moment I'm learning more about GraphQL with React (full-stack) with the help of Wes Bos's Advanced React course . But here are some tips on how to get a job in tech (from reddit): Tips on How…

FFriday Picks #4

05/31/20191 Min Read — In Lab, Vim, DevOps, TypeScript

Here are some things I've found useful this week or that I enjoyed: The Great Gatsby Bootcamp - Full Gatsby.js Tutorial Course Supercharging Vim: Blazing fast search and global replace · Matt Layman…

EESLint Parsing error: Unexpected token

05/30/20191 Min Read — In JavaScript

ESLint throws some errors: or, when using JSX: Per default, ESLint defaults to ES5 and doesn't understand the keywords import or const . You have to configure ESLint to use the correct parser…

HHazards of Being a Mom

05/29/20191 Min Read — In Lab

Today I got up to spend some time coding and improving my skills. During the day, I work as a tax officer, so I don't have time to program. I either have to get up early or spend my evenings learning…

EEgghead.io Sale

05/28/20191 Min Read — In Lab, JavaScript

One of my favorite online learning resources for JavaScript and front-end development is Egghead.io . They offer some free resources . But their premium tier is worth the money. At the moment, they…

RReact Components

05/27/20191 Min Read — In React.js, JavaScript

You can do a lot of nifty things with React when you think about how you can use functions in JavaScript. At the moment, I'm learning more about reusable components and composing components together…

LLearning About Thinking

05/26/20191 Min Read — In Lab

There are a few blogs I follow that don't teach you how to code. But they provide tools, models, and systems for learning how to think . I'm very focussed on learning the technologies and techniques…

##100DaysOfCode Finished

05/25/20191 Min Read — In Lab, 100DaysOfCode

I finished my first round of #100DaysOfCode! First immediate reaction: Let's do something more useful. Perhaps I've been doing it wrong. I didn't have a particular goal in mind. I just love coding and…

FFriday Picks #3

05/24/20191 Min Read — In Lab, JavaScript

Here are some things I've found useful this week or that I enjoyed: On Lisp in 15 minutes belly.io - A curated list of streamers SOLID Principles: The Software Developer's Framework to Robust…

MMay 2019 Update

05/23/20191 Min Read — In Lab

A quick check-in. I try to attend as many MeetUps I can. It's a bit difficult with two young kids and a job. But I'm lucky, and my husband supports me. I enjoy that I can always learn something new at…

SSvelte.js: First Impressions

05/22/20191 Min Read — In JavaScript, Svelte.js

In the last two days, I started learning Svelte.js . I'm positively surprised. Svelte is easy , and it works. React 's abstraction level is high, especially if you mix in JSX. With Svelte, you stay…

VVim and Svelte.js

05/21/20191 Min Read — In Vim, JavaScript, Svelte.js, DevTools

Yesterday I explained how you can add linting and formatting support for Svelte.js with ESLint and Prettier . But how can you integrate it into (Neo)Vim and ALE ? 1. Installation Follow the steps…

EEntwickelBar 4.0

05/19/20191 Min Read — In Lab

Yesterday I was at my first Unconference . It uses the Open Space Method . Nothing is planned. Participants can introduce new themes, give talks, or open discussion rounds. I liked the format, and…

NNavigate Vim With Windows, Tabs and Buffers

05/18/20191 Min Read — In DevTools, Vim

First of all, prefer buffers over tabs . Josh Davis wrote a comprehensive blog post which explains why: Vim Tab Madness. Buffers vs Tabs . I followed Josh's Solution #1 and added support for…

FFriday Picks #2

05/17/20191 Min Read — In React.js, JavaScript, ClojureScript

Here are some things I've found useful this week or that I enjoyed: The Ultimate Guide To Learning Code And Getting Paid: How To Find Your First Software Engineering Job in 2019 Reintroducing React…

FFree React Function Component Workshop

05/16/20191 Min Read — In JavaScript, React.js

There's an interesting (free) YouTube livestream about React today. It's by Michael Chan ( @chantastic ), React Podcast host. I liked it because it's beginner-friendly but still covers design…

PPhoenix LiveView Primer

05/15/20191 Min Read — In Elixir, Phoenix

I can't help myself - I'm too enamored with Elixir and Phoenix. If you want to see what's so exciting about Phoenix's new features, check out the videos linked below by Dennis Beatty. He shows how to…

HHave Better Conversations

05/14/20191 Min Read — In Lab

It's important to focus on problem-solving skills and on computer science fundamentals or on programming languages and frameworks. But it's equally essential to learn some soft skills…

ggatsby-mdx Error

05/12/20191 Min Read — In JavaScript

This blog runs on Gatsby with the Gatsby Starter: Minimal Blog by LekoArts . I recently upgraded some dependencies and ran into some issues. The repo switched from @mdx-js/tag to @mdx-js/react…

MMaking Slow Progress

05/11/20191 Min Read — In Lab

Learning to code proves to be a slow and steady journey. I wonder about those folks who claim that they were coding for 4 months and then got hired. I can imagine that they were very talented to grasp…

FFriday Picks #1

05/10/20191 Min Read — In React.js, JavaScript, Vim, ClojureScript

Here are some things I've found useful this week or that I enjoyed: Full Stack Radio: 114: Sebastian De Deyne - React for Vue Developers React Redux TypeScript Guide Intro to React Hooks Full Stack…

FFocus on JavaScript

05/09/20191 Min Read — In React.js, JavaScript

I've decided to dial back my interests and to focus on JavaScript/React.js, front-end tech, and clean code/architecture . Maybe I'll throw in some ClojureScript... Work has picked up and I have…

RReact useEffect Bug

05/08/20191 Min Read — In React.js

I've spent tons of hours trying to understand how the React Hook useEffect works and how I can avoid memory leaks. At this point, my best guess is that it's a bug. Related issues: setState hook…

WWeb Platform Course

05/07/20191 Min Read — In Lab

One of the people I follow is Flavio Copes . He's writing short and informative posts every day. His blog is beginner-friendly. At the moment, he's working on a Web Platform Course , and the first…

WWorking With Vim

05/06/20191 Min Read — In Vim

I found another excellent collection of Vim tips: Working with Vim Take it with a grain of salt. You can configure Vim/NeoVim to your liking, and these tips present what worked for the author. But…

PPersistence

05/05/20191 Min Read — In JavaScript, React.js

I'm still trying to figure out what causes a memory leak with my useEffect custom React Hook. I read tons of articles (I recommend Dan Abramov's ) but I haven't found the solution. My custom data…

RReact Hooks: useEffect Cleanup

05/04/20191 Min Read — In JavaScript, React.js

Currently I'm wrangling with cleaning up my data fetching functions with useEffect . I return a function that React can run when it unmounts, see React Documentation . In my example, I use the…

CCurrently Learning

05/02/20191 Min Read — In JavaScript, Lab

Right now I'm working on creating React apps with Hooks and AWS Amplify. I'm looking forward to take a peek at Gatsby.js and Next.js . I'm watching Deep JavaScript Foundations by Kyle Simpson…

GGrateful

05/01/20191 Min Read — In Lab

I realized today how grateful I am to be able to learn to code. It gives me so much joy to read about function closures, monads, software architecture, DDD, React Hooks, Elixir, recursion, etc…

LLearning More About React Hooks

04/30/20191 Min Read — In JavaScript, React.js

I'm extensively using React Hooks . There are new patterns to learn and some pitfalls to avoid. Here are some good resources that help with learning more about Hooks: A Simple Intro to React Hooks…

RReact useState Hook

04/29/20191 Min Read — In JavaScript, React.js

I'm now writing my React apps with Hooks . I'm accustomed to the way setState() worked: state updates may be asynchronous and updates were merged . That's why I used functions instead of…

221-Day Coding Challenge JavaScript

04/28/20191 Min Read — In JavaScript

I signed up for a free 21-Day Coding Challenge yesterday. If you're a Canadian citizen, you can win prizes, but that's not my motivation. I want to improve my coding skills. I learned about the…

MMy Favorite Front End Web Podcasts

04/27/20191 Min Read — In JavaScript, React.js

At my last MeetUp we talked about our favorite podcasts. Here is a list of web development podcasts for JavaScript, web development, React.js which I listen to. It might be useful for you. Front End…

AAdd RSS Feed to Gatsby

04/26/20191 Min Read — In JavaScript

Today I added a RSS feed to this blog. I'm not happy with it. This blog runs on Gatsby and uses mdx instead of Markdown. Adding a new plugin, the gatsby-plugin-feed , was easy. But it doesn't…

NNode.js Architecture

04/25/20191 Min Read — In Node.js, JavaScript

Two days ago I learned about Clean Architecture with Node.js . I still find it hard to create a well-designed program without polluting my business logic with implementation details. Today I found…

AAWS Amplify

04/24/20191 Min Read — In JavaScript, DevOps, Lab

Today I started working with AWS Amplify and React. I bought a Udemy course , and use it as a learning aid. Setting up AWS Amplify with JavaScript proved to be frictionless. Creating a new GraphQL…

CClean Code and Dev Mastery

04/23/20191 Min Read — In JavaScript, Lab

Today I watched one of my favorite YouTube channels, Dev Mastery , by Bill Sourour. I've heard the term Clean Code before but I didn't have a clear picture on what it meant. This video was helpful…

SSvelte 3 - JavaScript Framework

04/22/20191 Min Read — In JavaScript

I've read the announcement about Svelte 3 today and decided to look into it. Svelte is a front-end (JavaScript) framework that was once called "the magical disappearing UI framework." From the…

LLearn to Debug And Chrome Developer Tools

04/21/20191 Min Read — In Lab

Debugging is an essential skill for a developer. It's an area where I have room for improvement. So far I've gotten by with console.log statements. But the Chrome Developer Tools can be helpful for…

TThe Coding Train

04/20/20191 Min Read — In Lab

I've been feeling a bit under the weather so I haven't had the energy to tackle hard topics. For these kind of days, I always like watching videos on YouTube or Twitch, or listen to podcasts. You can…

RRun PostgreSQL in a Docker Container

04/19/20191 Min Read — In DevOps, Docker

I try to learn something new every day , and I find it surprising what cool things you can do with technology. Today I learned that you could run a PostgreSQL database in a docker container. I was…

DDOM Manipulation is Hard

04/17/20191 Min Read — In JavaScript

I realize: I'm accustomed to writing my front end with JSX or hyperscript-helpers. I programmatically generate HTML and stick functions to it instead of separating pure HTML from JavaScript. And pure…

HHow to enable CORS for apollo-server

04/16/20191 Min Read — In JavaScript, GraphQL, API

What Is Cross-Origin Resource Sharing (CORS)? See the MDN Docs : Cross-Origin Resource Sharing (CORS) is a mechanism that uses additional HTTP headers to tell a browser to let a web application…

JJavaScript Development: Run Concurrently

04/14/20191 Min Read — In JavaScript, Node.js

With the npm package concurrently you can run more than one command inside the same terminal. This comes handy when you simultaneously develop your front end and your back end in one project. Let's…

RReactive DDD - MeetUp

04/13/20191 Min Read — In Lab

On Thursday, I attended yet another tech-related MeetUp. The location, Unperfekthaus , is interesting. It's a space where you can meet and do (creative) projects. Attendees have to pay a flat fee for…

EExpress.js: Send Responses

04/12/20191 Min Read — In JavaScript, Node.js

At some point, you have to send data from your back end (Node.js/ Express.js ) over the wire to your front end. Express makes it easy for you. Let's say you have a GET request to a resource on the…

EExpress.js Security Best Practices

04/10/20191 Min Read — In Node.js, JavaScript

Today I deployed a full-stack example app . It's a toy app for learning purposes. But it's still important to think about security. Unfortunately, it's a topic that most tutorials don't cover. Here…

FFlutter Permission Denied

04/09/20191 Min Read — In Flutter

I've been playing around with Flutter lately. Flutter is a framework for app development based on the Dart language . I've always been interested in creating mobile apps but so far it's taken a…

EExcited Learning

04/08/20191 Min Read — In Lab

Here is a list of things I'm excited about and I'm currently learning or would like to learn: Flutter for mobile development a deep dive into Elixir and Phoenix (and Phoenix Liveview ) GraphQL Full…

WWorkshop Responsive Web Design

04/07/20191 Min Read — In Lab

Yesterday I went to a workshop about Responsive Web Design . I quite enjoyed it. As always I learned something new. Most of the workshop's agenda was aimed at beginners. That was ok and I expected it…

VVim autocomplete with ALE

04/06/20191 Min Read — In DevTools, Vim

ALE is a plugin that offers essential support for my coding workflow in Vim. ALE helps with linting and fixing the code you write. I also use ALE's autocomplete function, as described in the blog…

DDevOps and APIs MeetUp

04/05/20191 Min Read — In Lab, API

Yesterday I went to my second MeetUp organized by Softwerkskammer Ruhrgebiet . I met one of the co-organizers, Sandra. And it was totally cool to see another woman there. We also talked a little bit…

TTypeScript Node and TypeScript Deep Dive

04/04/20191 Min Read — In TypeScript

I still find it hard to get productive and hands-on experience with TypeScript. I understand the basics (they are not that hard anyway) but I'm not sure on how to use TS in a meaningful way. I'm going…

VVim Indent

04/03/20191 Min Read — In DevTools, Vim

I try to learn something new everyday but sometimes there are no big aha moments. That's why I'm falling back to writing a boring Vim post. I'm sorry. Today I wanted to indent a code block. Normally…

HHow I Learn Vim

04/02/20191 Min Read — In DevTools, Vim

Just today, I read an article Getting Productive with Vin in a Week without Hating It . Kudos to the author, Nick Janetakis, for coming up with a great title. The article chronicles Nick's journey of…

LLearning React TypeScript Patterns

04/01/20191 Min Read — In React.js, TypeScript

I'm learning TypeScript at the moment (as well as dabbling in other things like Elixir, React Hooks, GraphQL ...). But I find it hard to apply my knowledge. It's all fine and dandy to know what…

2256color $TERM With st, tmux and fish

03/31/20191 Min Read — In DevTools, Linux

It can be difficult to get your terminal colors working correctly between your terminal emulator, tmux and your shell. st , tmux and fish shell sometimes don't play nice together when it comes to…

VVS Code in the Cloud - Remote VS Code

03/29/20191 Min Read — In DevTools, VS Code

Although I'm currently a heavy Vim user, I still think that VS Code is one of the best editors available - and it's open-source and free to use. Traversy Media published a neat YouTube video…

VVS Code Key Binding Frustrations

03/28/20191 Min Read — In DevTools, VS Code, Vim

Today I switched back to the open-source editor Visual Studio Code . But I realized that I can now work better with Vim! I have my custom key bindings which flow naturally. You can edit settings in…

IImmutability in Elixir: Tuples and Lists

03/24/20191 Min Read — In Elixir

Let's talk about what I learned about immutability and Elixir today. This is from the book Elixir in Action, Second Edition by Saša Jurić. So far, the book has been a great tour of Elixir and its…

CCreating Protected Routes in React Router

03/23/20191 Min Read — In React.js

Yesterday I was wondering how I could protect routes in React.js. I have a back-end application written in Node.js which uses middleware ( Passport-Next and a requireLogin helper) to protect the…

GGreat Meetup at Softwerkskammer Ruhr

03/22/20191 Min Read — In Lab, GraphQL, API

I was at a wonderful tech meetup on Wednesday. This was one of my first meetups and it was so much fun! The organizer was super nice and approachable. I enjoyed the lecture about REST to GraphQL…

RRedux: Why?

03/21/20191 Min Read — In DevTools, JavaScript, React.js

Redux is a common tool that's used with React. It creates a central "store". This store holds your data (the React state). You can connect your React components to the store to read data or use…

EEgghead.io Courses

03/20/20191 Min Read — In Lab, JavaScript

One of my current favorite resources for JavaScript is egghead.io . This paid membership site provides tons of short video lessons for front-end developers. The quality differs a bit. Some courses…

CChain in Lodash and Ramda

03/19/20191 Min Read — In DevTools, JavaScript

The chain method in Ramda and in Lodash are totall different. Both Ramda and Lodash are utility libraries for JavaScript that make functional programming easier. I'm following a Udemy course…

NNeoterm Autoscroll

03/18/20191 Min Read — In DevTools, Vim

neoterm is a terminal wrapper for the inbuilt NeoVim terminal. It offers some convenient shortcuts and also comes with REPL integration. Unfortunately, sometimes the terminal doesn't show the command…

NNeoVim After 10plus Days

03/17/20191 Min Read — In DevTools, Vim

I got bitten by the Vim bug at the beginning of March. I can't exactly remember why and how. I spent some frustrating first days with this editor. I switched back and forth between (Neo)Vim and VS…

IInstalling Nvim-Typescript

03/16/20191 Min Read — In DevTools, Vim, TypeScript

Nvim-TypeScript adds TypeScript support for NeoVim. Why Nvim-TypeScript instead of Tsuquomi ? The author answers the question on github : tsuquyomi requires vimproc currently, which can be slow for…

DDeveloping with Elixir in Vim

03/15/20191 Min Read — In DevTools, Vim, Elixir

Using (Neo)Vim is surprisingly enjoyable after the initial hurdle . Language support for Elixir also works fine in Vim. Plugins I use minpac as my package manager. VimCasts has a good introduction…

OOpening, Saving and Deleting Files in Vim

03/13/20191 Min Read — In DevTools, Vim

If you want to open a new file in the same directory as the current file: :e for edit (opens a file) %:p:h for the current directory and the head of the file name If you want to save the current…

BBash and PATH

03/12/20191 Min Read — In DevTools, Linux

I was always confused about where to put my config for the bash shell on Linux. I shoved everything into ~./bashrc because that seemed to be the easiest solution. What is .bashrc ? .bashrc is a…

PPowerful Keymaps in VS Code Vim

03/11/20191 Min Read — In DevTools, Vim, VS Code

Today I learned that you can remap Vim keys with VS Code. In my NeoVim config I have some custom keybindings that I can now replicate with VS Code. The official VSCodeVim documentation has some…

VVS Code and Vim

03/10/20191 Min Read — In DevTools, Vim, VS Code

I'm slowly learning the power of Vim/NeoVim but the first steps are quite painful. If you're like me and would like to learn Vim gradually and still use VS Code in the meantime, you might want to take…

NNova Color Scheme

03/09/20191 Min Read — In DevTools

I found a new beautiful color scheme that's available for different platforms: Nova Colors : The (free) color scheme is available for Vim, tmux, Git, VS Code and other terminals and editors. It looks…

UUse the Terminal From Neovim and Vim is Hard

03/06/20191 Min Read — In DevTools, Vim

When you type in : you can run commands in Vim. And when you run :! you can run terminal commands. For example, :!ls gives you a list of the current directory. In Neovim, you can also start a…

LLearning (Neo)Vim

03/05/20191 Min Read — In DevTools, Vim

I use Visual Studio Code as my main editor at the moment. It offers great in-built features and because of its popularity, you can also enhance it with many plugins. I love it. I used Sublime Text…

LLearn Functional Programming, One Tab at a Time.

03/04/20191 Min Read — In DevTools

There is a useful free Chrome extension called FP Glossary . It explains functional programming concepts when you open a new tab in Chrome. For example: Currying The process of converting a function…

nnrepl Frustrations

03/03/20191 Min Read — In Clojure, Elixir

A few months ago I worked through the book Web Development with Clojure, 2nd Edition . The book was written in 2016 and some code is outdated. That was frustrating but I could get it to work by…

FFizzbuzz with Elixir

03/02/20191 Min Read — In Elixir

I'm reading Programming Elixir ≥ 1.6 right now and there are two interesting examples of coding Fizzbuzz . This is the output: Here the function upto is the trampoline for the function. It calls…

RReact: useEffect Hook - Yes/No?

03/01/20191 Min Read — In React.js

I'm learning how to handle React Hooks . The article Getting Hooked on React Hooks helped me clear up some misunderstandings. But I'm still not sure how to use the Effect Hook when it's supposed…

CColemak for Faster Coding

02/28/20191 Min Read — In DevTools

My computer uses the QUERTZ per default. From Wikipedia : [ The PC keyboard layout QUERTZ ] employs dead keys to type accented characters like “é”, and the AltGr key to access characters in the…

RRefactoring to React Hooks

02/27/20191 Min Read — In React.js

The new version of React, React 16.8 was released this month - and it finally has Hooks . From the official announcement : Hooks let you use state and other React features without writing a class…

SSetting up Fish Shell With Unicode Glyphs

02/26/20191 Min Read — In DevTools, Linux

Fish Shell is an interactive and user-friendly command shell for all platforms. The default shell on Linux (and macOS?) is bash. But fish is much nicer. It looks better, it has great autocomplete…

SSecret Keys in React

02/25/20191 Min Read — In React.js

Create-React-App allows you to set environment variables. This is often used to store secret keys, for example, API Keys. You need those to authenticate a request to a third party service (i.e. a…

NNetlify Hugo Sass Error

02/23/20191 Min Read — In Netlify, Hugo, DevTools

Yesterday I was working on my portfolio site . A local copy of Hugo , the static site generator written in Golang, worked fine on my machine. But when I tried to deploy the site to Netlify , the…

UUseful Elixir Learning Resources for the Beginner

02/22/20191 Min Read — In Elixir

I'm learning ELixix at the moment, to have some variety from coding in JavaScript. Elixir is a friendly, functional language with a syntax that is a bit similar to Ruby. This document gives a good…

##100DaysOfCode - a Recap After 15 Days

02/21/20191 Min Read — In Lab, 100DaysOfCode

I did some work on algorithm challenges and data structures, but am now back to coding a Javascript/Node app called feedbacky . I learned about authentication with Google OAuth using Passport-Next…

BBubble Sort in JavaScript

02/20/20191 Min Read — In JavaScript, Computer Science

I'm working on learning data structures and different algorithms. One of the first ones is Bubble Sort: Bubble Sort takes O(n^2) time in the worst case because you have two nested loops. This is a…

HHeroku Deployment Pitfall: Bind to $PORT

02/19/20191 Min Read — In DevTools, Node.js

During development, you set a port that Node listens to. That doesn't work with Heroku because Heroku binds your port and you cannot set it yourself. You'll get an error: Web process failed to bind…

DDoing vs Trying

02/16/20191 Min Read — In Lab

In the last few weeks, I've upleveled my coding skills. I've been coding every day for at least an hour and I've finally taken the step to break out of tutorial hell. Yes, I still learn with video…

CCSS Is Hard

02/15/20191 Min Read — In CSS

Every time I create a frontend project, I realize that CSS is hard. Especially layout (flexbox or grid). I'm glad that we have flexbox now and do not need to float and clearfix anymore. But still…

UUdemy Course Reflections

02/14/20191 Min Read — In Lab

I finished The Complete Web Developer in 2019: Zero to Mastery course a few days ago. I skipped some sections (HTML, CSS) which I plan to refresh later. Especially my CSS Grid and responsive design…

##100DaysOfCode

02/13/20191 Min Read — In Lab, 100DaysOfCode

I started the #100DaysOfCode a few days ago. The challenge sounds like a fun way to log my progress and participate in a greater community . The idea behind the challenge is to code at least for an…

CCycle.js

02/11/20191 Min Read — In Cycle.js

I've been trying to find a way to architect my projects in a functional way. When you're still a newbie programmer, it's hard to do. Most books and tutorials focus on the essentials and don't teach…

BBaby Steps

02/10/20191 Min Read — In Lab

I like the Kaizen technique: small, tiny baby steps towards a goal. Little improvements pile up and lead to big wins. Compound interest. Kaizen helps with breaking down a problem: to do it the Kaizen…

BBe Humble

02/09/20191 Min Read — In Lab

Sometimes I think I already know a lot about something. But often that's not true. You can always dig deeper. Often I'm ignorant about what I don't know because I know enough to get by. It's ok that I…

WWorse Days

02/08/20191 Min Read — In Lab

Some days are worse than others. Some days feel like you're making no progress. What you want to build doesn't work. You try to come up with a solution for a complicated function. It doesn't work. You…

MMojiScript

02/07/20191 Min Read — In MojiScript

Recently I discovered @joelnet on dev.to . He writes about functional Javascript. He created a new language called MojiScript that compiles to JS. It looks very interesting. What I like about it is…

YYou Can't Learn to Code for Free

02/06/20191 Min Read — In Lab

"Everyone should learn to code." and even "Coding is easy" are some statements floating around on the internet. There are tons of resources for budding learners. Some are low-priced, some are free…

CCode Project: the Process

02/05/20191 Min Read — In Lab

Things that nobody tells you but you somehow have to learn: the steps/how-to to code your app. With a frontend app, you have a combination of HTML, CSS, and Javascript and you have to address them all…

WWebpack 4 Woes

02/04/20191 Min Read — In DevTools, JavaScript

I wanted to have a basic working webpack configuration so that I could try out different things without a framework. Doesn't sound so hard, does it? Hours later, I came up with this Minimal Webpack…

RReturn Errors With Async/await Fetch

02/03/20191 Min Read — In JavaScript

I was wondering how one could display the error of a fetch Promise in React. Here is a an async fetch API call with a try/catch block. The function takes an input string, makes a POST request and…

UUse the Spread Operator to Update Objects

02/02/20191 Min Read — In JavaScript

In the past, Javascript only had objects but no maps . Objects were both used as records and as dictionaries. (From JavaScript for impatient programmers (beta) by Axel Rauschmeyer) : Records…

RRamda.js defaultTo

02/01/20191 Min Read — In JavaScript

A user submits text to your program with an input field. In Javascript, this is always a string. But sometimes you need a number: Ramda.js defaultTo This converts the input (string) to a number. If…

BBasic Particle.js Setup for React

01/29/20191 Min Read — In React.js

You can create stunning backgrounds with Particles.js . Luckily, a kind soul has implemented this library as a React component: react-particles-js . react-particles-js is easy to use but it can be…