HappyNeal

HappyNeal

This is another test author with a profile background image

San Francisco
94 posts
WebsiteTwitterFacebook
Exercises

A Comprehensive Guide to the FizzBuzz-Problem

Lets explore the classic FizzBuzz-Problem. What is the problem? What is a potential solution? Should you use it in an interview context? The…

  • HappyNeal
Evergreen

Evergreen List of Sites to Learn Coding and other Skills (Updated 2021)

Tech Learning Microsoft Learn - Official Trainings from Microsoft Grow with Google - Offical Trainings from Google Google Digital Garage…

Exercises

Technical Interview - Find Pairs in Array

Here are my notes on a recent Frontend Dev - ReactJS job. There are a lot of lessons learned. Before the Interview I was asked that I…

Book

Notes on Greg McKeown -Essentialism - The disciplined pursuit of less

I found this book on a list of books to read to improve your life and structure your life. It is a really good read and I would recommend…

  • HappyNeal
Exercises

Riddler Challenge 01: The case with the switch

The riddler did it again. He used his superior knowledge of JavaScript to create this incredible piece of code: Take your time to appreciate…

Interview

Lessons Learned from an awkward Technical Interview

I recently had a rather odd interview with a fintech company. The main goal was to figure out what my React skills are. It was a online live…

Development

When Clients start to Estimate

You are having an estimation meeting with a special guest - the client. He is there to clarify features and any open questions. But during…

Exercises

A case of premature optimization?

Recently I ran into an interesting problem in a live coding session. The interviewer found a problem with my code and asked me to improve…

Newsletter

Edition 2

New Code and Chaos Articles Experimenting with ESBuild and TypeScript https://codeandchaos.com/blog/2020-02-22-Experimenting-With-EsBuild…

Blog

Experimenting with ESbuild

I am collecting a couple of helper functions into a library @codeandchaos/utility-belt. It is at the moment a library for my personal use…

Newsletter

Edition 1

Edition 1 Welcome to the Code and Chaos Newsletter. On regular intervals I will be sharing site updates, as well as interesting articles…

Blog

Notes on The Mythical Man Month

The mythical man month is a collection of essays about software engineering. Some articles cover topics that have barely changed over the…

Exercises

Job Interview - React Coding Challenge

I successfully completed this job interview coding challenge. It’s going to be interesting to look at the questions and solutions. I will go…

  • HappyNeal
Exercises

Interesting JavaScript Interview Question

What is the output of following piece of code? The simple answer for this question is: However to get to this answer you have to…

Exercises

CodeWars - Catching Car Mileage Numbers

Problem You need to identify “interesting” numbers. When the number is interesting return 2, if it is “near” an interesting number return…

Development

How many hours should I work (as a programmer)?

Uncle Bob in his book “The clean coder” has a very clear answer to his question: ”You should plan on working 60 hours per week. The first 4…

Evergreen

Evergreen List of Timeless Books (Updated 2021)

Code Steve McConnell - Code Complete: A Practical Handbook of Software Construction This book is a timeless classic about software…

Exercises

CodeWars - Unlucky Days

Problem The question is basically count the number of instances of Friday the 13th in a given year. Original Problem: https://www.codewars…

Evergreen

Complete Guide to Set up Visual Studio Code (Updated 2020)

This is my VSCode setup. I am working currently primarily with TypeScript and ReactJS. Last updated: May 2020 tl;dr Look and Feel Theme…

TypeScript

Better Function Signatures with the Destructuring Assignment

When writing a function sometimes you cannot avoid passing multiple arguments into the function. Lets take a look what is the cleanest way…

TypeScript

Case Study - Add Function - Writing Tests

Assuming we have a function . How can we ensure that the function is doing that what we expect it to do. Expected Result Tests The first and…

TypeScript

Case Study - Add Function in JS vs TS

We are going to take a look at how to implement the “add-numbers” function. The purpose of the “add”-function is to add two numbers, it…

TypeScript

Hello World - A full Tutorial

When you start programming, probably one of the first things you will learn is how to output “Hello World!“. The program is simple to write…

  • HappyNeal
TypeScript

VSCode TypeScript debugging

The VS Code debugger is pretty awesome. You can learn more about it in the official guide. If you want to debug typescript it does not work…

Evergreen

Programming Resources

News / Updates It is difficult to keep up with all developments in the tech field. I use the RSS Reader Feedly to subscribe to a several…

VSCode

Code Metrics - A red flag for overly complex code

When you are writing code your main focus should be solving the problem at hand - creating code that works. However this is only a very…

Tech

Tom Marrs - JSON at Work

The book “JSON at Work” by Tom Marrs, it is a great introduction on how to create and use JSON. It covers topics on how to quickly set up a…

VSCode

Snapshots with Polacode

Polacode makes beautiful images of your code. The snapshot will use your current vscode theme and fonts. You can get it from the VSCode…

TypeScript

Setting up TypeScript and Jest

We will take a quick look at how to set up a project using TypeScript and Jest. By adding Jest to the project from the beginning this should…

Development

What is good Code?

One of the biggest questions in programming. Everybody has an subjective answer to the question, as everybody develops their own style of…

TypeScript

Getting started with MOBX 5 and TypeScript 3, React 16.6

When looking around for example applications that use Mobx 5.x combined with Mobx-react 5.x and TypeScript 3.x I did not find any useful…

Code

Setting up a dev environment to learn TypeScript

TypeScript is basically JavaScript with types. When writing your code you must define the types of your variables and optionally the returns…

Development

Ranking Programming Languages

A recent article on InfoWorld titled Breakthrough: Python reaches Tiobe index Top 3 - Yey Python - But wait, what is being ranked? The TIOBE…

Blog

Gayle McDowell - Cracking the Coding Interview

The book “Cracking the Coding Interview” helps you to survive the famous ‘technical interview’. Major tech companies like Google, Amazon etc…

Exercises

CodeWars: Weekly Newsletter 02

8kyu - Logic Drills: Traffic light You need a function to handle each change from green, to yellow, to red, and then to green again…

Exercises

CodeWars: Weekly Newsletter

8kyu - positiveSum The first question is to sum up all the positive integers in an array. Basically two things need to be done: Filter out…

Java

Dealing with the new Java Release Schedule

Oracle has just announced that the End of Support for Java 8 is going to be in January 2019. This, in turn, means that every business using…

Code

HTML: How to control the Form ‘autofill’-autocompetion

Image Designed by Freepik The ‘autofill’ feature of browsers is a blessing and a curse. The feature enables the browser to reuse the data…

Code

MOBX to Redux-Toolkit

Ever since React Introduced Hooks it is more elegant to simply write functional components. Today I will transition my MOBX example Project…

Code

How to publish on Github Pages with create-react-app and react-router

Now I will be assuming a couple of things: You have a GitHub account and you created a repository for your app. You created a react app…

Exercises

CodeWars: 6kyu – Counting Bits

You got numbers, you want to know how many bits are flipped to a 1 Source: https://www.codewars.com/kata/bit-counting/train/python Approach…

Exercises

CodeWars: 7kyu – The Highest Profit wins

I am exercising to get back into Python. Even though the solution to this exercise is quite straightforward, you could tweak the code a…

Elementary

Things to do after installing Elementary OS 0.4.1 (Loki)

When you start out with elementary OS there are a couple of useful things that you should do to have a better experience working with your…

Exercises

Codewars: Sum Of Pairs

Given a list of integers and a single sum value, return the first two values (parse from the left please) in order of appearance that add up…

Development

The End of Life of Internet Explorer 11

Let me tell you the story about a little browser. In the beginning, there was a love for Internet Explorer, a deep and passionate love for…

NPM

NPM: windows-build-tools

node-gyp is really useful and annoying. fails if Python 2.7 and a C# Compiler is missing. You could use to get and install the missing…

Development

The Joel Test - 12 Steps to better Code

In essence, the test is a quick 12 yes/no Questions that allows you to quickly determine how good your development workflow really is…

Code

Puppeteer.JS - Using Headless Chrome for Site Crawling

PuppeteerJS essentially allows you to automate Chrome. Headless Chrome allows you to run Chrome without actually rendering the webpage…

Web Development

VSCode: Launch create-react-app and Chrome with launch.json

Developing React (with create-react-app) and Visual Studio Code you usually press and then . The script from create-react-app then…

Blog

DEV281x: Introduction to ReactJS

I took a quick look at Microsoft Introduction to ReactJS, not to actually learn React, but to evaluate how good the materials are for a…

Blog

edX - Microsoft DEV275x Writing Professional Code

The course DEV275x Writing Professional Code is a very short introduction to best practices when it comes to writing code. As usual, this is…

NPM

package.json: Updating Fixed Versions with npm-check

One of the common problems when running a larger project is that you need to use fixed versions in your package.json file. But at the same…

Elementary

Elementary: Changing the Layout of the Window Controls

While Elementary focuses a lot on UI and is beautiful to use. It is totally mind-boggling that they decided to remove the minimize button…

Tech

Notes on Course: Microsoft - Advanced CSS Concepts

My notes on the great course Microsoft - Advanced CSS Concepts on edx. Lesson 01 Responsive Layout Covers the basics of Responsive Layout…

NPM

Git: Hooks run `npm install` on checkout

When working on a project you usually install various packages from NPM. Of course, these packages are maintained and updated, adding more…

Code

Web Tooling and Automatization using gulp 4

Now working with Gulp you will discover that you run into a couple of minor problems. Especially in sequencing the different types of tasks…

Code

HTML 5: When to use <a> or <button>

tl:dr is used for page navigation is used for actions on the page is used in a form and the value is used in the form The Problem Let’s…

Java

JSP: Passing Variable Data to JavaScript

When you try to marry old JSP Technology with the modern wonders of Typescript/ES6. You will want to expose some data provided by the…

Code

Udacity: Web Tooling and Automatization

I recently took a look at the course materials for Web Tooling and Automatisation. Overall the course is very well structured and introduces…

NPM

NPM: Use Github Patch Instead of Repository

Recently I was playing around with the HEXO static site generator. For my setup, I was using Hexo in combination with Gitlab CI and the ftp…

Code

Continuous Integration (CI) for Gitbook using Gitlab and Gulp

Gitbook is a static site generator, that converts a collection of Markdown files into an HTML Site. Alternatively, it can also convert the…

Exercises

CodeWars Kata: File Path Operations

The problems in this Kata File-Path-Operations revolve around implementing common filename functions. Functions are needed to find the file…

Exercises

Exercise of the Day: Determine if String Halves Are Alike

Problem: You are given a string s of even length. Split this string into two halves of equal lengths. Two strings are alike if they have the…

Elementary

Elementary OS: Things to do after installing Elementary OS 0.4 (Loki)

When you start out with elementary OS there are a couple of useful things that you should do to have a better experience working with your…

Java

Notes on MITx: 6.005.1x Software Construction in Java (Week 2)

This week the course is covering another two very important topics: Testing and Specifications. LECTURE 3: Testing Testing is a very…

Elementary

Elementary OS: Windows Apps with Play on Linux

One of the major issues when using Linux is that you would like to use Software that was written for Windows. Thankfully more and more new…

Java

Notes on MITx: 6.005.1x Software Construction in Java (Week 1)

MITx has released a course titled “Software Construction in Java”. The course is aimed at more experienced Developers and is going to teach…

Elementary

Elementary OS: Loki

Elementary OS is a new Operating System that wants to be an alternative to Window or OSX. The team behind the project puts a high emphasis…

Blog

How to install Windows 10

Preparation You need a USB-Drive with a minimum 3GB free space. Installation Files Microsoft has released a download tool for Windows 1…

Blog

Free Computer Science courses

A new form of online learning is starting to emerge the Massive Open Online Course (MOOC). Major ivy league universities created these…

Web Development

Getting Started using AngularJS with Yeoman and Visual Studio Code

Typically to get started with a web-project you would start downloading libraries, configuring grunt etc. Yeoman is a project that takes…

Windows

Maximum Memory by Windows Services Configuration (BlackViper Settings)

There are a lot of tips and tricks on how to optimize your system memory. One of the main ways to get the most out of your system is to…

Blog

EdX: Introduction to Linux

I recently completed the course “Introduction to Linux” by the Linux Foundation on the edX platform. Instead of paying 2500USD for the…

Internet Explorer

Forcing IE 10 to render pages as IE 10

Now isn’t that a silly title, sadly it’s one of those things I never thought I would have to deal with. Especially as Internet Explorers…

Java

Java: Multiple Functions and one ErrorHandler

Let’s say you have function and function both functions are very similar and throw similar errors. If you have the possibility to avoid…

Hardware

Lenovo Docking-Stations: Automatically Power on Laptop

You start your day out by putting your laptop onto your docking-station and then go get your morning coffee - just to come back and find…

Blog

Lenovo Adjust Keyboardmapping (Fn/Ctrl and PageUp/PageDown to Home/End)

Swap the Ctrl and Fn Key Lenovo has awkwardly placed the Fn key as the first key of the last row instead of the “Ctrl”- keys like most…

Hardware

Lenovo T430 - Reduce fan noise

For some reason on some T430 laptops, the fan is always on even if the CPU has a 0% load. If you are running Windows here are a few…

Python

Google App Engine: Import CSV to Datastore

Processing CSV Data with the Google App Engine is a two-step process. First, you need to upload the data and store it in the blob store…

Windows

Windows: Password Recovery

Sometimes you run into the problem that someone has forgotten their password for their home PC. As a good friend you are going to help them…

Python

PySide: QPushbutton Text below Icon

Apparently using a QPushbutton with an Icon does not work. As alternative, I am going to use a QToolbutton.

Python

PySide: QVBoxLayout with QScrollArea

Here is an example that adds Scrollbars to a QVBoxLayout. The one thing that tripped me up was that you need to explicitly create a Widget…

Python

PySide: QTreeListWidget deleting an Item, editing an Item

This example creates a QTreeListWidget to display a folder-structure.

Python

PySide: Using standard system Icons

You can add Icons to many types of QWidgets. PySide provides you with a method to access the native system icons. A complete list of icons…

Python

PySide: QMessageBox with QCheckBox

The QMessageBox is very useful for creating standard filesystem dialogs (it even comes with alert sounds) and is limited to display an icon…

Windows

Windows 8.1: Boot to Desktop

Windows 8.1 finally gives you the option to boot directly to the desktop (without the need for a 3rd party program). You can enable this…

Python

PySide: Rightclick Button Menu

PySide (www.pyside.org) is an awesome Framework that allows you to use Qt with Python. Installation is as straightforward as typing I will…

Tech

Project Euler

Project Euler is a collection of challenging mathematical and computational problems. The first couple of problems are rather…

Windows

Windows 7: Quick and optimized install (Update)

Let’s speed up my original installation by using a powershell script instead of manually configuring windows. 1. Install 1.1 Win 7 SP…

Java

Java GUI: Using AbstractTableModel

When using the you need to store the table data as a Vector of Vectors. This is my helper function to insert new data. Here is the example:

Windows

Windows 7: Quick and Optimized Install

Currently I did not find the time to create a fully integrated automated Windows 7 Installation Disk. Here are my notes on how I would set…

Windows

Windows: Remove Security Warning Message from Downloaded Files

So you know what you are doing and have Antivirus installed, are not downloading crap and hate useless security warnings nobody cares about…

Windows

Windows: Add Support for Camera Raw Files

In order to preview Camera Raw files in your explorer you need to install two packages: Microsoft Camera Codec Pack Adobe DNG The “Microsoft…