Software Development
Last updated
Last updated
#video - "In this video I explain the 7 habits of successful software developers from my interactions and observations with some very skilled developers."
#thread - "Founders if you ever come across this rare breed of engineers, grab them. If you have a 10x engineer as part of your first few engineers, you increase the odds of your startup success significantly." .
Bayesian Methods for Hackers: Probabilistic Programming and Bayesian Inference #book
Think Bayes: Bayesian Statistics in Python #book
#video - "Learning any new skill is challenging and I've definitely noticed a recurring theme that most everybody faces: how to stay motivated when progress seems to be non-existent (also know as the intermediate plateau). There's is no easy answer or magic pill but I definitely laid out a few pieces of advice of how to overcome it."
#article - Wikipedia. "Database normalization is the process of structuring a in accordance with a series of so-called in order to reduce and improve . It was first proposed by as part of his ."
- "Scalable, end-to-end management for third-party code, license compliance and vulnerabilities."
- "frp™ is a reliable Enterprise level face recognition system for commercial use"
- A collection of the most-read and most-popular books on software development on GoodReads.
#article - "Pseudocode is an informal high-level description of a computer program or algorithm. It is written in symbolic code which must be translated into a programming language before it can be executed."
#software - "The goal of the project is to create a beautiful and extensible experience for command-line interface users, built on open web standards. In the beginning, our focus will be primarily around speed, stability and the development of the correct API for extension authors."
- "Increment is a print and digital magazine about how teams build and operate software systems at scale."
#software - "A Lean GitHub Gist Client"
- "Lobsters is a computing-focused community centered around link aggregation and discussion, launched on July 1st, 2012. The administrator is ("pushcx"), contact him with any support issues. Lobsters was created by with some specific design goals in mind to avoid problems faced by other link aggregation sites." .
#article - "When developing a package for say, , you’d want to incorporate that package into your vendor folder so that you can test its integration into the project and how it would behave as if someone had pulled it from ."
#article - Wikipedia. "In , a monorepo ("mono" from Greek μόνος, mónos, 'single, alone' and "repo" short for ) is a software development strategy where code for many projects is stored in the same . As of 2017 some forms of this software engineering practice were over a decade old, but the general concept had only recently been named. Many attempts have been made to differentiate between and other, newer forms of monorepos. "
Amazon Web Services
Google Cloud Platform
Build in public
Project Euler
StackOverflow
Write a blog
#article - "It should come as no surprise to anyone who reads this blog that I love to program "by hand." I happen to practice a degree of ascetical programming practices, and I believe that they help me to more deeply internalize and understand problems, ultimately delivering higher quality solutions. One of the ways that I do this is the use of paper programming."
“Show a man a program and frustrate him for a day. Teach a man to program and you frustrate him for a lifetime” (via ).
#video - Great advice on running an effective site reliability team and software teams in general.
#webapp - "**swimlanes.io** is a simple online tool for creating _sequence diagrams_."
- "The developer dashboard . Open source editor plugins for metrics about your programming."
#video - "When I was a teenager, I wrote some terrible code. Here's why." #algorithms
#article - "Yagni originally is an acronym that stands for "You Aren't Gonna Need It". It is a mantra from that's often used generally in agile software teams. It's a statement that some capability we presume our software needs in the future should not be built now because "you aren't gonna need it"."
#article - Wikipedia. "In , an abstract syntax tree (AST), or just syntax tree, is a representation of the structure of written in a . Each node of the tree denotes a construct occurring in the source code."
#webapp - "Paste or drop some JavaScript here and explore the syntax tree created by chosen parser. You can use all the cool new features from ES6 and even more. Enjoy!"
#article - "Because Python is a “batteries included” language, the tools you need to use ASTs are built into the standard library."
#software - "jscodeshift is a toolkit for running codemods over multiple JavaScript or TypeScript files."
- "The module helps Python applications to process trees of the Python abstract syntax grammar. The abstract syntax itself might change with each Python release; this module helps to find out programmatically what the current grammar looks like."
#software - "Recast exposes two essential interfaces, one for parsing JavaScript code (require("recast").parse
) and the other for reprinting modified syntax trees (require("recast").print
)."
#webapp - Product intelligence. "See how Amplitude helps you use customer data to build great product experiences that convert and retain users."
- "Create powerful dashboards from your company’s data and quickly discover insights with Chartio."
#webapp - "The easiest way to mock REST APIs! (Check out )"
#software - "Simplifies API Development. Get easy, API-First solutions with the industry's only complete API Development Environment."
- "Beautiful static documentation for your API"
- "Swagger open source and pro tools have helped millions of API developers, teams, and organizations deliver great APIs."
- "Monitor serverless apps on AWS."
- "The Open Source Q&A Platform." . .
- "Learn from the founders behind hundreds of profitable online businesses, and connect with others who are starting and growing their own companies."
- "The home of the maker community. Makerlog is where 4,000+ indie hackers & makers get things done together."
- "Spectrum makes it easy to grow safe, successful online communities that are built to last." Has a lot of developer communities.
- "We are a community of makers"
- "Automate deployments with CircleCI orbs A fast, out-of-the-box solution for integrating with AWS Lambda, GCP, Kubernetes, and other deployment services."
- "AWS CodePipeline is a fully managed service that helps you automate your release pipelines for fast and reliable application and infrastructure updates. CodePipeline automates the build, test, and deploy phases of your release process every time there is a code change, based on the release model you define. This enables you to rapidly and reliably deliver features and updates. You can easily integrate AWS CodePipeline with third-party services such as GitHub or with your own custom plugin. With AWS CodePipeline, you only pay for what you use. There are no upfront fees or long-term commitments."
- "Continuous Integration (CI) is a development practice that requires developers to integrate code into a shared repository several times a day. Each check-in is then verified by an automated build, allowing teams to detect problems early. ❡ By integrating regularly, you can detect errors quickly, and locate them more easily."
#video - "Continuous Integration is when a software development team has a habit of doing multiple merges per day and have an automated verification system that checks those merges for problems. Our team does this in order to waste less time hunting down problems in monster merges."
- "Static analysis at ludicrous speed. Find bugs and enforce code standards"
- "Support for Open Source Software. A community with 75,087 members hunting for bounties and earning rewards"
- "Code Kata is an attempt to bring this element of practice to software development. A kata is an exercise in karate where you repeat a form many, many times, making little improvements in each. The intent behind code kata is similar. Each is a short exercise (perhaps 30 minutes to an hour long). Some involve programming, and can be coded in many different ways. Some are open ended, and involve thinking about the issues behind programming. These are unlikely to have a single correct answer. I add a new kata every week or so. Invest some time in your craft and try them."
- "Improve your skills by training with others on real code challenges"
#video - Most practical stuff starts 30 minutes in. She talks about different exercises for practicing how to read and understand confusing code. These practices could be done in a deep manner.
#article - Wikipedia.
#article - "Effortful study means constantly tackling problems at the very edge of your ability. Stuff you may have a high probability of failing at. Unless you're , you're probably not growing professionally. You have to seek out those challenges and push yourself beyond your comfort limit." #deep_work
#video - "What happens when things break? What happens when software fails? We regard it as a normal and personal inconvenience when apps crash or servers become unavailable, but what are the implications beyond the individual user?"
#video - "Handling errors in programs is tricky. We want to write systems that work reasonable well even if there are errors in the code. This is possible, and the results have been used in production systems for many years. This talk outlines the do's and don'ts of error handling. Things you should do if you want to write fault tolerant code, and things you should not do."
- "Sentry provides self-hosted and cloud-based error monitoring that helps all software teams discover, triage, and prioritize errors in real-time."
- "The Hub for Feature Flag Driven Development"
- "Fast and reliable feature management for the modern enterprise."
- "Below are the tactics and technique representing the MITRE ATT&CK Matrix™ for Enterprise covering cloud-based techniques. The Matrix contains information for the AWS platform."
- "Below are the tactics and technique representing the MITRE ATT&CK Matrix™ for Enterprise. The Matrix contains information for the following platforms: , , , , , , , , ."
- "The NVD is the U.S. government repository of standards based vulnerability management data represented using the Security Content Automation Protocol (SCAP). This data enables automation of vulnerability management, security measurement, and compliance. The NVD includes databases of security checklist references, security-related software flaws, misconfigurations, product names, and impact metrics."
#article - Wikipedia. "STRIDE is a model of threats developed by Praerit Garg and at for identifying . It provides a for security threats in six categories."
#article - Wikipedia. "Threat modeling is a process by which potential threats, such as or the absence of appropriate safeguards, can be identified, enumerated, and mitigations can be prioritized. The purpose of threat modeling is to provide defenders with a systematic analysis of what controls or defenses need to be included, given the nature of the system, the probable attacker's profile, the most likely attack vectors, and the assets most desired by an attacker. Threat modeling answers questions like “Where am I most vulnerable to attack?”, “What are the most relevant threats?”, and “What do I need to do to safeguard against these threats?”."
#video - "What are state machines? How are they helpful? In this episode, David Khourshid () walks us through refactoring a React component to use xstate, which helps us clear up some bugs and add more predictability."
- "Explore how your product should work, before building it. Sketch.systems helps software designers think about complex product behavior. Sketch out states, add prototypes, and clarify questions quickly."
- "Statecharts are a precise, visual way of modeling the behaviour of complex reactive systems. They describe how things work, and can help you get your code doing exactly what you want."
- "Put simply, a statechart is a beefed up . The beefing up solves a lot of the problems that state machines have, especially that happens as state machines grow. One of the goals of this site is to help explain what statecharts are and how they are useful."
- "JavaScript State Machines and Statecharts"
#blog - "by Robert C. Martin (Uncle Bob)"
#video - "Write code that sings. Elevate your skill with software training videos for impassioned developers."
#blog - by Jeff Atwood. "Programming and human factors"
#video #channel - “I make tutorials based on your requests. I will cover any topic you can imagine. I upload new programming videos on Saturday and Wednesday morning. I Live Stream at 8PM EST on Monday and at 7PM EST on Tuesday, Thursday and Friday.”
- "DEV is a community of software developers getting together to help one another out. The software industry relies on collaboration and networked learning. We provide a place for that to happen."
- "Hi there! I am Felienne. I am associate professor at the at , where head the that researches programming education. I am fascinated by the question how we can teach all people to program. In my PhD I studied how we can help people working with spreadsheets better, by repurposing methods from software engineering." Author of .
- "Trending repositories from GitHub, HackerNews & Reddit"
#podcast - "A career in technology is full of choices. We’re here to help you make smart ones. In each episode, we meet a software developer who needs to make an if/else choice. From important technical decisions to sticky career challenges, we cover the hard and soft skills you need for a sustainable and rewarding career in tech… at any stage of your career. Hosted by Mayuko Inoue, if/else is an original podcast from CTO.ai, the makers of The Ops Platform."
- "Increment is a print and digital magazine about how teams build and operate software systems at scale. "
- "Software development is a young profession, and we are still learning the techniques and building the tools to do it effectively. I've been involved in this activity for over three decades and in the last two I've been writing on this website about patterns and practices that make it easier to build useful software. The site began as a place to put my own writing, but I also use it to publish articles by my colleagues."
#blog
Robert Martin #article - . "Robert Cecil Martin, colloquially known as "Uncle Bob", is an American and instructor. He is best known for being one of the authors of the and for developing several software design principles. He was also the editor-in-chief of magazine and served as the first chairman of the Agile Alliance" ().
#podcast - "The World Through the Lens of Software"
#podcast - "Software Engineering Radio is a podcast targeted at the professional software developer. The goal is to be a lasting educational resource, not a newscast. Three to four times per month, we publish a new episode talking to experts from the software engineering world about the full range of topics that matter to professional developers."
#podcast - "A Tasty Treats Podcast for Web Developers."
#blog
/ - "A curated list of awesome newsletters."