- Programmer Weekly
- Posts
- Programmer Weekly (Issue 9 June 18 2020)
Programmer Weekly (Issue 9 June 18 2020)
Programmer Weekly - Issue 9
Programmer Weekly
Welcome to issue 9 of Programmer Weekly. Let's get straight to the links this week.
Quote of the Week
“Give a man a program, frustrate him for a day. Teach a man to program, frustrate him for a lifetime.” - Muhammad Waseem
News
GitHub getting on board legitimizes movement aimed at removing racially-charged language from software.
Facebook researchers say they’ve developed what they call a neural transcompiler, a system that converts code from one high-level programming language like C++, Java, and Python into another. It’s unsupervised, meaning it looks for previously undetected patterns in data sets without labels and with a minimal amount of human supervision, and it reportedly outperforms rule-based baselines by a “significant” margin.
The results of the fourth annual JetBrains Developer Ecosystem Survey 2020 based on the insights of almost 20,000 developers. Learn about programming languages, tools, technologies, and even developer lifestyles.
Build once. Integrate your blockchain everywhere.
In response to popular demand, Microsoft announced a new feature of the Windows Subsystem for Linux 2 (WSL 2) — GPU acceleration — at the Build conference in May 2020. This feature opens the gate for many compute applications, professional tools, and workloads currently available only on Linux, but which can now run on Windows as-is and benefit from GPU acceleration.
A look at how Chrome extensions affect CPU usage, page rendering, and browser memory consumption.
Quantum computing hardware continues to improve to the point where we may actually see real-world use cases in the next few years and so it’s probably no surprise that we are also seeing a steady increase in research projects that focus on how to best program these machines. One of the newest efforts in this space is Silq, a high-level programming language for quantum computers out of Switzerland’s ETH Zurich.
Reading List
A brief introduction to Go for programmers who haven't used Go before: Why use it? The standard library. And the language itself.
A lot of people get confused about updating their site’s DNS records to change the IP address. Why is it slow? Do you really have to wait 2 days for everything to update? Why do some people see the new IP and some people see the old IP? What’s happening? Here is a quick exploration of what’s happening behind the scenes when you update a DNS record.
Storing and managing secrets like API keys and other credentials can be challenging, even the most careful policies can sometimes be circumvented in exchange for convenience. We have compiled a list of some of the best practices to help keep secrets and credentials safe. Secrets management doesn’t have a one-size-fits-all approach so this list considers multiple perspectives so you can be informed in deciding to, or not to, implement strategies.
The New York Times R&D team built an experimental prototype to find out.
Find out the details behind a WebRTC video chat application and consider the challenges of a large scale video call
This article is part of a series of posts dedicated to helping web developers new to mobile development bridge the gap between building web apps and iOS using the common MVC pattern, as told by three developers at Songkick who have recently made the jump themselves.
Have you thought about contributing to an open source project, but you're too confused (or intimidated) by the process to even try? This step-by-step guide shows you the exact process you can use when contributing to a project on GitHub. If you follow this guide exactly, you can make your first open source contribution today!
Vulnerabilities that enable an unprivileged profile to make a service (that is running in the SYSTEM security context) delete an arbitrary directory/file are not a rare occurrence. These vulnerabilities are mostly ignored by security researchers on the hunt as there is no established path to escalation of privilege using such a primitive technique. This post shares how the author found such a path using an unlikely quirk in the Windows Error Reporting Service.
We evaluated PostgreSQL using Jepsen’s new transactional isolation checker Elle, and found that transactions executed with serializable isolation on a single PostgreSQL instance were not, in fact, serializable. Under normal operation, transactions could occasionally exhibit G2-item: an anomaly involving a set of transactions which (roughly speaking) mutually fail to observe each other’s writes. In addition, we found frequent instances of G2-item under PostgreSQL “repeatable read”, which is explicitly proscribed by commonly-cited formalizations of repeatable read.
How to come up with a plan that will resonate with non-technical people, in 7 concrete steps.
Most companies mistakenly apply value replication principles to discovery.
Looking for a rapid way to pull down unstructured data from the Web? Here’s a 5-minute analytics workout across two simple approaches to how to scrape the same set of real-world web data using either Excel or Python. All of this is done with 13 lines of Python code or one filter and 5 formulas in Excel.
In this series of posts, we will cover how to build an IoT weather station powered up by a web dashboard and Telegram bot. We will start from the birds-eye view first and cover the architecture of what we are going to make.
In this article, we will explore programming patterns that cause memory leaks in JavaScript and explain how to improve memory management.
CloudFormation is AWS’ offering for modeling infrastructure as code. Its purpose is similar to that of Salt or Terraform. This article covers some of the most fundamental topics related to CloudFormation. With this knowledge we will be able to understand most of the templates we find, write our own, and manipulate the stacks we create.
Watch and Listen
Gaining code execution using a malicious SQLite database.
This video looks at Azure Static Web Apps. Azure clearly noticed the trends in the JAMstack world and likely also figured out that just static file hosting is not enough. They offer way more features than Netlify for example. But is it good enough? Let's see...
A lot goes into writing an application that knocks it out of the park. One of the ways to look at the different components of success is to view programming as a story with three layers. In this episode, we dive into these separate, but very interlinked aspects that go into the storytelling of programming. We kick off the show with a look at the first layer, which is the story you, as a developer, tell the computer.
Code migration between languages is an expensive and laborious task. To translate from one language to the other, one needs to be an expert at both. Current automatic tools often produce illegible and complicated code. This paper applies unsupervised neural machine translation to source code of Python, C++, and Java and is able to translate between them, without ever being trained in a supervised fashion.
Books
This is a gentle step-by-step guide through the abstract and complex universe of Fragment Shaders.
Interesting Projects, Tools and Libraries
An API for accessing new AI models developed by OpenAI
Install Linux from a running Windows system, without need for a live USB.
Learn how to design large-scale systems. Prep for the system design interview. Includes Anki flashcards.
SQLancer (Synthesized Query Lancer) is a tool to automatically test Database Management Systems (DBMS) in order to find logic bugs in their implementation. We refer to logic bugs as those bugs that cause the DBMS to fetch an incorrect result set (e.g., by omitting a record).
JotFS is a deduplicating file storage engine backed by S3. It works by splitting incoming files into small content-defined chunks and only storing those chunks which it has not seen yet.
A collection of cheatsheets for tools related to pentesting organizations that leverage cloud providers.
Docker boilerplates a.k.a templates for most programming languages.
Personal Wiki for Vim.
Chakra UI is a simple, modular and accessible component library that gives you all the building blocks you need to build your React applications.
audino is an open source audio annotation tool. It provides features such as transcription and labeling which enables annotation for Voice Activity Detection (VAD), Diarization, Speaker Identification, Automated Speech Recognition, Emotion Recognition tasks and more.
Use your tablet as graphic tablet/touch screen on your computer.
Playwright is a Node library to automate Chromium, Firefox and WebKit with a single API. Playwright is built to enable cross-browser web automation that is ever-green, capable, reliable and fast.
DBCore is a code generator build around database schemas and an API specification. Included with DBCore are templates for generating a Go REST API and React UI.
Upcoming Events
Git Commit Show is the leading online tech conference where senior engineers, researchers, scientists and professors meet while being at home. A 2-day long, online meetup where carefully curated senior developers and researchers share their knowledge and breakthrough projects.
OpenJS Foundation’s annual event brings together the JavaScript and web ecosystem including Node.js, Electron, AMP and more. In 2020, we’re going virtual to learn and engage with leaders deploying innovative applications at massive scale.
Prisma Day is a two day, community-focussed online conference on modern application development and databases. It's a packed event for devs seeking to understand how to best work with data in the modern application stack.
This free, digital series is an opportunity to connect with our technical experts and deepen your awareness and knowledge of a variety of Google Cloud solutions including ML/AI, Serverless, DevOps, and many more.
Our Other Newsletters
- A free weekly newsletter featuring the best hand curated news, articles, tools and libraries, new releases, jobs etc related to Python.
- A free weekly newsletter for entrepreneurs featuring best curated content, must read articles, how to guides, tips and tricks, resources, events and more.