Dope Linux based projects
Scratch Your Own Itch
Configure the LAMP Stack
Deploy an Open Source Application
Configure Common Services – Client AND Server
Configure Monitoring
Create a Build System
Create a Centralized Syslog Server
System Automation
Cluster All The Things
Build a NAS
Practice Migrating Data
Create and Manage Users
Configure a Backup Server
Configure a Firewall
Learn LVM
Configure a Proxy Server
Learn Revision Control
linux  training  projects  SRE  DevOps 
13 days ago
Database Application with U of Helinski
This material is intended as a material for Database Application (4 ECTS) of the University of Helsinki practical work course. Course Database Application Prerequisite Courses are Programming Basics (TKT-10002), Advanced Programming Course (TKT-10003), and Database Introduction (TKT-10004).

The course assumes a significant effort in self-study of additional information, and the material is far from covering everything relevant to the course.
database  python  helinski  application 
13 days ago
Serverless Machine Learning with Tensorflow on GCP
This one-week accelerated on-demand course provides participants a a hands-on introduction to designing and building machine learning models on Google Cloud Platform. Through a combination of presentations, demos, and hand-on labs, participants will learn machine learning (ML) and TensorFlow concepts, and develop hands-on skills in developing, evaluating, and productionizing ML models.
serverless  machinelearning  GCP  ML 
22 days ago
GAN Dissection by CSAIL
The #GANpaint app works by directly activating and deactivating sets of neurons in a deep network trained to generate images. Each button on the left ("door", "brick", etc) corresponds to a set of 20 neurons. The app demonstrates that, by learning to draw, the network also learns about objects such as trees and doors and rooftops. By switching neurons directly, you can observe the structure of the visual world that the network has learned to model. (Try it here.)
GAN  machinelearning  neuralnetwork  AI 
22 days ago
Learn How to Build a Database
This site hosts the lessons for LearnDB, a project that teaches you how to create a database system from scratch with Node.js and JavaScript.
database  javascript  nodejs  fundamentals  SQL 
22 days ago
Write your own virtual machine
In this tutorial, I will teach you how to write your own virtual machine (VM) that can run assembly language programs, such as my friend's 2048 or my Roguelike. If you know how to program, but would like to gain a deeper understanding of what is going on inside a computer and better understand how programming languages work, then this project is for you. Writing your own VM may sound a little scary, but I promise that you will find it to be surprisingly simple and enlightening.
virtualmachine  C  computerscience  fundamentals 
22 days ago
AES Encryption of files in Go
An amazing blog/site for software engineering
go  golang  encryption  software  softwaredesign 
22 days ago
Bytecode compilers and interpreters
Two fun things happened recently and the proximity of the two made something go click in my head and now I think I understand how bytecode interpreters work.

I went to a class at work called “Interpreters 101” or something of the sort. In it, the presenter walked through creating a dead-simple tree-walking Lisp interpreter. Then he ended by suggesting we go out and re-implement it as a bytecode interpreter or even a JIT.
I joined a new team at work that is working on something Python related. Because of my new job responsibilities, I have had to become rather closely acquainted with CPython 3.6 bytecode.
Since learning by writing seems to be something I do frequently, here is a blog post about writing a small bytecode compiler and interpreter in small pieces. We’ll go through it in the same manner as my lisp interpreter: start with the simplest pices and build up the rest of the stack as we need other components.
bytecode  compiler  interpreter  C  fundamentals  fundamental 
22 days ago
Pathfinding for Tower Defense
The A* algorithm for games and tower defense
gamengine  games  towerdefense  algorithm 
22 days ago
Programmer's Compedium
A list of fundamental knowledge for programmers
programming  blogs  fundamental  fundamentals 
22 days ago
Network Protocols: For Anyone Who Knows a Programming Language
The network stack does several seemingly-impossible things. It does reliable transmission over our unreliable networks, usually without any detectable hiccups. It adapts smoothly to network congestion. It provides addressing to billions of active nodes. It routes packets around damaged network infrastructure, reassembling them in the correct order on the other side even if they arrived out of order. It accommodates esoteric analog hardware needs, like balancing the charge on the two ends of an Ethernet cable. This all works so well that users never hear of it, and even most programmers don't know how it works.
networking  network  protocols  networkstack  stack  fundamentals 
22 days ago
On lists, cache, algorithms, and microarchitecture
I’ve been writing a small library of intrusive data structures recently. Singly-linked and doubly-linked lists, being the simplest were also the first ones I implemented. Once I considered the potential for container-specific optimisations by specialising generic algorithms like for_each, transform, and accumulate I’ve realised that there is more to it than just the fact that “lists are slow” and a closer look at them can be quite an educational experience. After all, there’s a lot of code that is not a vectorised loop working with a structure of arrays that fits entirely in the cache and achieves 4 instructions per cycle.
lists  cache  algorithm  microarchitecture  fundamental  fundamentals  datastructure 
22 days ago
Style-based GANs – Generating and Tuning Realistic Artificial Faces9
Generative Adversarial Networks (GAN) are a relatively new concept in Machine Learning, introduced for the first time in 2014. Their goal is to synthesize artificial samples, such as images, that are indistinguishable from authentic images. A common example of a GAN application is to generate artificial face images by learning from a dataset of celebrity faces. While GAN images became more realistic over time, one of their main challenges is controlling their output, i.e. changing specific features such pose, face shape and hair style in an image of a face.
GAN  neuralnetwork  AI 
22 days ago
Computer Graphics in Scratch
TL;DR: This book will not teach you how to use OpenGL or DirectX; instead, it can teach you how OpenGL and DirectX work. In practice you won’t write a software renderer for production use, but understanding how and why a renderer works will let you use OpenGL and DirectX more effectively.

Computer Graphics is a fascinating topic - how do you make Toy Story out of algorithms and some geometric data? Interestingly enough, it’s a mysterious topic not only for the average cinema fan, but also for world-class engineers who just haven’t been exposed to it.
computergraphics  graphics  fundamental  raytracing 
22 days ago
Let's Build a Simple Database
This dude builds a dope database!

You may find MIT's Database Systems course helpful, the labs consist of building several db components in Java (and the prof is Stonebraker, of Postgres fame):
https://ocw.mit.edu/courses/electrical-engineering-and-compu...
https://youtu.be/F3XGUPll6Qs
http://blog.marcua.net/post/117671929
"Database Design and Implementation" by Sciore
database  fundamental  C  javascript  java 
22 days ago
Writing a Procedural Puzzle Generator
This blog post describes the level generator for my puzzle game Linjat. The post is standalone, but might be a bit easier to digest if you play through a few levels. The source code is available; anything discussed below is in src/main.cc.
project  puzzlegenerator  procedurl  games 
22 days ago
Deep Learning Tutorials in Python
NEW - Computer Vision - Convolutional Neural Networks - 7 Day Free Trial, $49/mo

NEW - PyTorch for Deep Learning and Computer Vision - $9.99-$199.99

Deep Learning and Computer Vision A-Z™: OpenCV, SSD & GANs (Udemy) - $9.99-199.99

Python for Computer Vision with OpenCV and Deep Learning (Udemy) - $9.99-199.99

Deep Learning Computer Vision™ CNN, OpenCV, YOLO, SSD & GANs (Udemy) - $9.99-199.99 (NOTE Rajeev supplied me with a $10 for this post)

Master Computer Vision™ OpenCV4 in Python with Deep Learning (Udemy) - $9.99-199.99 (NOTE Rajeev supplied me with a $10 for this post)

Deep Learning: Advanced Computer Vision (Udemy) - $9.99-199.99

Deep Learning For Computer Vision (PyImage Practitioner) - $236 (20% off sale) (NOTE Adrian provided a 10% Coupon: reddit)
python  deeplearning  neuralnetwork 
22 days ago
DIY Amps: A Roadmap for Beginners
Make your own amps! stop paying the man
amp  hack  audio 
22 days ago
Startup Idea Checklist
I’ve been tinkering with different startup ideas and needed a good checklist to think through them. There are great templates for this already: The YC application, Amazon’s internal press release, and Sequoia’s Writing a Business Plan. I found myself mixing and tweaking these templates because they don’t exactly match my model of the world, so I wrote up my own list.

I use this list both to develop ideas and filter them. If you adopt it, be careful about using it as a filter. Remember that in the early stages, good ideas are very easy to kill.
startups  fundamental  idea 
22 days ago
Mastery with SQL: Learn Modern SQL with Postgres
Packed with high quality videos, practical examples, and interesting and challenging exercises to practice what you've learned. The course is broad and deep, taking you from beginner level to mastery with SQL and doing it in a way that creates a deep understanding of what you've learned. My goal is to give you the practical tools and skills you need to get your job done.
SQL  postgresql  database 
22 days ago
Building a Simple Interpreter
Learn by building an interpreter dawg!
interpreter  project  fundamental  linux  C 
22 days ago
Why am I Interested in Elixir?
Why? What makes it so interesting to me? It is just a programming language and I try not to be religious in these matters. I’ll try to outline what attracted me to Elixir, made me keep yearning for it and what I’ve been digging into recently as I’ve made time to actually get more comfortable with it.
web  webdev  elixir  functional  erlang 
22 days ago
TLS Performance: Rustls versus OpenSSL
Rust TLS vs OpenSSL... another speed test!
rust  TLS  OpenSSL  ssl 
22 days ago
NSFW GIF Viewer Thing
ahhahaha pretty funny. Probably something I can learn from.
web  webdev  fullstack 
22 days ago
How to run your own small social network for your friends
Why to NOT run a small social network site [...] If you choose to run a site like this, it means that people will now depend on you for something that's important to them.
socialnetworking  programming  webserver  web  webdev 
22 days ago
How to Debug
Cool blog post on how to debug, and lots of comments in addition to for debugging
debug  debugging  programming  fundamentals 
22 days ago
Best way to get into embedded programming
How to get into embedded programming. Lots of cool ideas
embedded  embeddedsoftware  arduino 
22 days ago
Let's Build a Web Server
Tutorial on building a web server! Lots of fun!
python  web  webdev  servers  webserver 
22 days ago
Think in Math, Write in Code
Programmers love to discuss programming languages. Besides debating their own merits, we integrate them into our identities and even infer things about others who use them. Some even defend a form of Linguistic Determinism that thinking is limited to what is typable.

Since we spend so much time using languages, an interest in making them better is justified. However, the character of these debates suggests that we think of them as something more. Perhaps we have forgotten their primary role. Programming languages are implementation tools, not thinking tools. They are strict formal languages invented to instruct machines in a human-friendly way. In contrast, thoughts are best expressed through a medium which is free and flexible.
programming  math  fundamentals  firstprinciples 
22 days ago
Data ETL & Analysis Workflow
I created a GitHub repository explaining the complete process of gathering data, transforming it, getting insights and making plots using pandas, NumPy, Matplotlib and Seaborn.
numpy  pandas  matplotlib  python  data  datascience 
22 days ago
Compiled List of Web Dev and Web Design
A long list of tutorials and resources for full stack web dev
web  webdev  javascript  fullstack 
22 days ago
Great CS Books with Solutions
Math
Concrete Mathematics - Knuth et al (solutions in book)

Discrete Math - Rosen (separate solutions book)

Book of Proof - Hammack (solutions in book)

Programming
SICP (solutions all over github)

Cracking the Coding Interview - McDowwell (solutions in book)

C Programming Language - Kernighan + Ritchie (official solution book + unofficials online)

Intro to Algorithms - Cormen et al. (instructor's manual)

The Art of Computer Programming - Knuth (solutions in book)

Elements of Programming Interviews - Aziz et al (test your solutions)

Programming language theory
Software Foundations - Pierce (solutions in book)

Types and Programming Languages - Pierce (solutions in book)

An Invitation to Applied Category Theory: Seven Sketches in Compositionality - Fong + Spivak (solutions in book)

Theory of Computation
Intro to Automata Theory, Languages, and Computation - Hopcroft (solutions on book web site)

Introduction to the Theory of Computation - Sipser (instructor's manual)

Systems
The Elements of Computing Systems, Nisan + Schocken (test your solutions)

OSTEP (Operating Systems) - Arpaci-Dusseau (test your solutions)

Computer Systems: A Programmer's Perspective - Bryant + O’Hallaron (solutions in book)

Cryptography
Understanding Cryptography - Paar and Pelzl (solutions online)

AI
Artificial Intelligence: A Modern Approach - Russell + Norvig (solutions in book)
computerscience  books  software  softwaredesign 
22 days ago
How Good are you at programming?
A table and a web application about skills and levels that discern your programming potential
programming  software  softwaredesign 
22 days ago
Easy Scientific Programming Problems!
From a site called Project Lovelace, a website for learning science and programming
programming  software  softwaredesign  science 
22 days ago
Teaching my Buddy Linux! Some great ideas
Buddy of mines working at geek squad that I went to high school with, I'm currently in a linux systems engineer role so it's something I'm very familiar with. Nonetheless trying to go back in time and figure out a way to teach him pulls some blanks.
linux  learning 
22 days ago
A book on Python Expressions
My book titled "Python re(gex)?" is free to download through this weekend [1][2]
The book covers both 're' and 'regex' modules, has plenty of examples and chapters also have cheatsheets and exercises.

Code snippets, exercises, sample chapters, etc are available on GitHub repo [3]

I used pandoc+xelatex [4] to generate the pdf.

[1] https://gumroad.com/l/py_regex

[2] https://leanpub.com/py_regex

[3] https://github.com/learnbyexample/py_regular_expressions

[4] https://learnbyexample.github.io/tutorial/ebook-generation/customizing-pandoc/
python  regex 
22 days ago
Build a P2P File Sharing networking from scratch
It's a dope article!, Learn about distributed hash tables and sharding
network  networking  sharding  p2p  DevOps  SRE  softwaredesign 
22 days ago
Rust in Production
List of sites being using Rust in production
Rust  production  DevOps 
22 days ago
Architecture of Open Source Applications
An awesome site with reviews of popular open source projects
opensource  architecture  software  softwaredesign 
22 days ago
Learn Python By Building Fun Projects
Building your own CamScanner

Building and Deploying a Flask Application

Building your own Object detector

Setting up a local file server

Detecting Cars in a video using OpenCV

Sending Emails in python with SMTPLib

Building Decision Trees and Random Forests

Building a voice recognizer

Working with APIs, parsing JSON

Building a PDF Extractor

OCR with Tesseract Engine
python  software  softwaredesign  intermediate 
22 days ago
Deep Dive Into Modern Web Development
From University of Helinski. Built with React, Redux, Node.js, MongoDB, and GraphQL
web  fullstack  nodejs  react  mongodb  graphql  redux  helinski 
22 days ago
Free DevOps Twitch Channel
Some dude teaching DevOps on live for free!
DevOps  SRE 
22 days ago
Product Engineers vs Software Engineers in Startups
Lists differences between working on the product vs. being a software engineer
software  softwaredesign  SWE  product 
22 days ago
Ten Principles for Growth as an Engineer
Lots of hints and advice on becoming a better engineer
SWE  software  softwaredesign 
22 days ago
My recent interview experiences (DevOps)
A list of interviews and in-person interviews from an engineer's recent experience.
DevOps  SRE  interview 
22 days ago
Things I learned from a Senior Dev
Really cool list of dope software engineering hints!
software  softwaredesign 
22 days ago
SCS: A session manager for Go
Looks pretty neat for a session manager built in Go
go  golang 
27 days ago
Monitorama PDX - Computer are a Sadness, I am the cure
Hilarious talk, lots of stuff on observability
SRE  DevOps 
27 days ago
Writing a Simple Event Bus in Go
Sounds like a cool project to rebuild something like Kafka/Rabbit
go  golang 
28 days ago
Great Article on Go Interfaces
breaks is down with examples and includes examples from the standard library
go  golang  interface 
5 weeks ago
« earlier      

Copy this bookmark:



description:


tags: