Not every principle herein has to be strictly followed, and even fewer will be universally agreed upon. These are guidelines and nothing more, but they are ones codified over many years of collective experience by the authors of Clean Code.
This repository is an overview of what you need to learn penetration testing and a collection of hacking tools, resources and references to practice ethical hacking. Most of the tools are UNIX compatible, free and open source.
From late 2012 to the present I have been writing backends (server-side code) for web applications. This document summarizes many aspects of how I write these pieces of code.
I’m writing this lore down for three purposes:
- Share it with you.
- Systematize it for future reference and improvement.
- Learn from your feedback.
A failed docking attempt, a dramatic reentry, and a first genuine fender-bender in orbit—what does it all have to do with modern web development? Andrey Sitnik is about to tell you…
What exactly is a software architect, anyhow?
A software architect is a software expert who makes high-level design choices and dictates technical standards, including software coding standards, tools, and platforms. (Source: Wikipedia: Software Architect)
If that’s something you’d like to do (or are doing, but want to do it better), then this is a great resource for you. It covers the levels of architecture, important skills to obtain, books to read, and a technology roadmap.
Here’s a fun project attempting to explain what exactly is happening under the hood for some counter-intuitive snippets and lesser-known features in Python.
While some of the examples you see below may not be WTFs in the truest sense, but they’ll reveal some of the interesting parts of Python that you might be unaware of. I find it a nice way to learn the internals of a programming language, and I believe that you’ll find it interesting too!
This is awesome! I hope it’s a huge hit and is quickly emulated by other successful tech companies.
Dev Degree is a 4-year, work-integrated learning program that combines hands-on developer experience at Shopify with an accredited Computer Science degree from either Carleton University or York University.
Working closely with our university partners, students take three university courses on campus each term and spend ~25 hours each week at Shopify.
This is 4,500+ hours of work experience paired with 4,000+ hours of academic experience. You earn $160k in salary, tuition, & vacation AND there’s a built-in 50/50 gender parity in the program.
In this GitHub repository, I’m documenting my journey to write a self-compiling compiler for a subset of the C language. I’m also writing out the details so that, if you want to follow along, there will be an explanation of what I did, why, and with some references back to the theory of compilers.
But not too much theory, I want this to be a practical journey.
Join Warren on his journey and learn a lot along the way.
This is an NES emulator and a work in progress. The CPU, PPU, and APU mostly work, though there are still at least a couple bugs. I’ve mostly tested on Donkey Kong and Super Mario Bros. so far. There are plenty of full-featured emulators out there; this is primarily an educational project but I do want it to run well.
If you’re interested in learning about Rust and/or emulators, this is for you.
I’ve had never really come into contact with hardware programming, working mostly in python or C#, until a friend of mine asked me for some help with programming a simple controller for RGB strips using Arduino Nanos.
We’d, of course, fail spectacularly.
Not only did our hardware not work quite like intended and a few Nanos died in the process(but that’s a story for another time), but I actually learned a lot from this and similar projects.
And I want to tell you some of my mistakes, what I learned by making them and how to prevent them.
If you’re coming out of your education (whether that is self taught, a university degree, or bootcamp), it’s important to know that your expectations for your career in the tech workforce may not align with actual industry practice and culture.
A few of these are obvious, but there are some nuggets in here for sure.
An activity diagram to describe the resolution of HTTP response status codes, given various headers, implemented via semantical callbacks.
This would look cool hanging on your wall (or the wall of a special web developer in your life 😉).
Below is a handful of software projects that taught me a lot. In fact, they’re great because you could build them multiple times and learn new things each time. So whenever I don’t know what to build or I want to learn a new programming language or framework, I start with one of these
Can’t go wrong with 2D Space Invaders…
If you’re looking for a thorough primer of Go modules, Bill Kennedy has you covered:
In this post, I will focus on the transition from GOPATH to modules and the problems modules are solving. Along the way, I will provide just enough of the semantics so you can have a better understanding of how modules work at a high level. Maybe more importantly, why they work the way they do.
When you’re done with this, check out part 2 of the series about projects, dependencies, and
This booklet covers four main steps of designing a machine learning system:
- Project setup
- Data pipeline
- Modeling: selecting, training, and debugging
- Serving: testing, deploying, and maintaining
It comes with links to practical resources that explain each aspect in more details. It also suggests case studies written by machine learning engineers at major tech companies who have deployed machine learning systems to solve real-world problems.
This week we chatted with Kahlil Lechelt about mentorship. What types of mentorships are there, what makes a successful mentorship, and where can you find a mentor?
We are going to rewrite React from scratch. Step by step. Following the architecture from the real React code but without all the optimizations and non-essential features.
If you think you’ve seen this before, look again. This post is based on React 16.8, which means it uses hooks and drops all the code related to classes.
Today we have a very special show for you – we’re talking with Quincy Larson the founder of freeCodeCamp as part of a two-part companion podcast series where we each celebrate our 5 and 10 year anniversaries. This year marks 5 years for freeCodeCamp and 10 years for us here at Changelog. So make sure you check out the freeCodeCamp podcast next week when Quincy ships our episode to their feed. But, on today’s episode we catch up with Quincy on all things freeCodeCamp.
Inspired by a similar post by Ben Boyter this a list of useful command line tools that I use. It’s not a list of every tool I use. These are tools that are new or typically not part of a standard POSIX command line environment.
By “illustrated” he means there’s a screencap of the tools in action.
Includes interview questions, notes, and useful links to other resources to continue your learning.
Congrats to Quincy and everyone who has joined his mission with freeCodeCamp on an astounding rise:
More than 40,000 freeCodeCamp graduates are now working in tech at companies including Apple, Google, Microsoft, Amazon, and Spotify.
Millions of people watch freeCodeCamp’s YouTube channel each month.
Millions of people read freecodecamp.org/news each month.
And people ask - and answer - thousands of tech-related questions each month on freecodecamp.org/forum.
freeCodeCamp.org is now one of the most-used technology sites on the entire web.
The future is bright. Click through to read what they accomplished in 2019 and how they’re up and running on a JAMstack.
New to back-end/infra development? Just need a refresher? Here’s an intro to some common data storage options and when you might use them.
This is a great resource to have at your disposal while reading the official Elixir docs.
While working throughout the guide - there were multiple positions where the ideolog seemed overwhelming resulting to various logical bugs because of shorthand syntax mismatch. There is no repository available to cross-check your results either to fix your bugs. Hence - I thought it would be nice to have this as a reference guide to how you need to implement your project.