Skip to content

Instantly share code, notes, and snippets.


Alex Burghardt aal89

View GitHub Profile

The Skills Poor Programmers Lack

A friend and I had a discussion about the basic skills that are often lacking in experienced programmers. How can a programmer work for ten or twenty years and never learn to write good code? So often they need close supervision to ensure they go down the right path, and they can never be trusted to take technical leadership on larger tasks. It seems they are just good enough to get by in their job, but they never become effective.

We thought about our experiences and came up with three fundamental skills that we find are most often missing. Note that these are not skills which take a considerable amount of talent or unique insight. Nor are they "trends" or "frameworks" to help you get a new job. They are basic fundamentals which are prerequisites to being a successful programmer.

Understand how the language works

Programmers cannot write good code unless they understand what they are typing. At the most basic level, this means they need to understand the rules of

lhorie /
Last active Nov 11, 2019
What's the longest keyword sequence in Javascript?
View C++ Templates vs Java

Templates in C++ vs Generics in Java

Templates and generics allow us to achieve very similar results using very similar code syntax in C++ and Java respectively. But despite that, the implementation of these two features and their semantics are vastly different under the hood.

Syntax and Usage


Let us consider first the case of a template called Pair in C++.

View gist:a6105154becce4c0530da38e723c2330
This file has been truncated, but you can view the full file.
fntlnz /
Last active May 13, 2021
Self Signed Certificate with Custom Root CA

Create Root CA (Done once)

Create Root Key

Attention: this is the key used to sign the certificate requests, anyone holding this can sign certificates on your behalf. So keep it in a safe place!

openssl genrsa -des3 -out rootCA.key 4096
RobSeder / .bashrc
Created Sep 19, 2015
Default .bashrc from Raspian/Debian Linux on Raspberry Pi
View .bashrc
# ~/.bashrc: executed by bash(1) for non-login shells.
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
# for examples
# If not running interactively, don't do anything
case $- in
*i*) ;;
*) return;;
jeffmcfadden / IPCameraView.swift
Created Jul 2, 2014
A UIView Subclass For Displaying An IPCamera Stream (MJPEG)
View IPCameraView.swift
class IPCameraView: UIView, NSURLSessionDataDelegate {
var imageView:UIImageView
var url: NSURL
var endMarkerData: NSData
var receivedData: NSMutableData
var dataTask: NSURLSessionDataTask
init(frame: CGRect) {
tedmiston / nodejs-tcp-example.js
Last active May 12, 2021
Node.js TCP client and server example
View nodejs-tcp-example.js
In the node.js intro tutorial (, they show a basic tcp
server, but for some reason omit a client connecting to it. I added an
example at the bottom.
Save the following server in example.js:
var net = require('net');
colindean /
Last active Mar 13, 2021
Bitcoin address generator in bash
# This is free and unencumbered software released into the public domain.
# Requires bc, dc, openssl, xxd
# by grondilu from
base58=({1..9} {A..H} {J..N} {P..Z} {a..k} {m..z})
bitcoinregex="^[$(printf "%s" "${base58[@]}")]{34}$"