Abstract

This page contains a collection of links to various useful computer science and software engineering articles.

Software Engineering (SE)

UI & UX

  • 125 Easy Tweaks to Optimize Your Website’s UX/UI Today. A collection of some tips and simple diagrams that show you some minor tweaks you can apply to produce a better design. Although there are a lot of diagrams, they are all very easy to understand and will give you a good idea of how to improve UX for your users.
  • Little UI Details. This page has a lot of neat tips about getting typography, space, and colors right. Personally, I think tweaks like this are what gives your design that "professional" look.
  • 7 Practical Tips for Cheating at Design. This article compliments the link above - it covers the same topics, but from a slightly different perspective.

Git

This section will be useful for those who are new to Git. It might also serve as a nice refresher for some Git commands, but if you use Git every day you probably won't find it that useful.

  • What is Git?. Brief technical introduction to what Git is and how it works.
  • git - the simple guide. A dead simple introduction to Git commands. I like this guide, but it doesn't really tell you what Git is for (if you know nothing about it). I suggest you quickly Google what Git is and then refer to this link for some guidance.
  • How to Write a Git Commit Message. Writing good Git commit messages helps other developers understand what you did. This article is a bit long but it tells you about all of the best practices in writing Git messages. If you want something nice and short instead, check out this post.
  • Oh, shit, git!. This article covers different scenarios where working with Git can go wrong. It's very helpful if you're a beginner trying to understand how to fix common Git issues and mistakes.
  • A successful Git branching model. This post is a bit more advanced. It talks about a branch structure that you can use for your repository to make developing large (team) projects easier.

Web development

This section talks about everything that can be called web design, including both frontend and backend development.

JavaScript

One could say that Node.js and general JavaScript development belong in the Web development section. Personally, JavaScript is my favourite language so I feel like it deserves a separate category.

  • denysdovhan/wtfjs. This repository demonstrates some example of weird and unexpected JavaScript behaviour. It's a fun thing to read, but I wouldn't say it's particularly useful - some of the scenarios are quite extreme and are very unlikely to occur in actual code. Nevertheless, there are some interesting edge cases you might wanna check out.

Machine learning

Computer vision and image processing

  • Camera Calibration and 3D Reconstruction. This page is a part of OpenCV documentation, but it gives a nice and quick introduction to the pinhole camera model and some types of distortion, which is useful even if you're not using OpenCV. Note that some conventions might vary in OpenCV vs. the rest of computer vision community.
  • Camera Post-Processing Pipeline. A set of slides that talks about different techniques used to improve image quality on ISP level.
  • Gamma Correction Explained. A pretty old article about gamma correction, but the concepts covered in it are relevant to this day.
  • How to Convert Temperature (K) to RGB. Description of an algorithm for converting Kelvin temperatures for black body illumination into RGB values.

Accessibility

A lot of (hobby) web designers make websites that lack basic accessibility features. This section aims to help people understand what accessibility is about.