We’ve all heard of cloud computing—but what does it really mean, and how is it changing the way we interact with the world?
1 Mar 2020
We’ve all heard of cloud computing—but what does it really mean, and how is it changing the way we interact with the world?
Suppose we have some codebase we’re considering applying some patch to, and which has a robust and maintained test suite. Considering the patch, we may ask, is this patch acceptable to apply and deploy. By this we mean to ask if the patch breaks any important functionality, violates any key properties or invariants of the codebase, or would otherwise cause…
Update Mar 14, 2020: I’m working on an update to the article based on all the feedback I’ve received so far. Stay tuned! I was reading Computer Systems: A Programmer’s Perspective the other day and in the chapter on Unix I/O the authors mention that there is no explicit “EOF character” at the end of a file. If you’ve spent…
After using Azure DevOps for a while, I am totally sold on its Auto Complete feature for pull requests. While it does not apply universally, I do believe that any development process should be at the level where merging pull requests, or generalizing it, integrating all forms of contribution, should be as automatic and as hassle-free as possible.
Programmers have a tendency to be superstitious. Particularly, when a programmer hears that copies are expensive, they start to see them everywhere, especially when they learn that, in Go, every assignment is a copy. Consider this code; x is three orders of magnitude larger than y, is the assignment of x to a more expensive […]
29 Feb 2020
This proposal sets the overall direction for the upcoming version numbering cycle and LTS.
28 Feb 2020
8 rituals to level up your programming skills! Learn how to code better, think faster, and build complex systems with these actionable tips.
Kubernetes Pod lifecycle does not cover everything just yet.
27 Feb 2020
My manager and I got off on a tangent in our most recent one-on-one on the subject of the durability of design mistakes in programming languages. A particular favourite of mine is the worst of the operator precedence problems of … Continue reading →
Learn all about this umbrella term for various bank-to-bank payments schemes.
Learn how to create an AWS HTTP API and set it up with a Cognito Authorizer.
26 Feb 2020
When WordPress keeps showing the installation screen after having installed WordPress, you have to check if the database tables of your WordPress installation do exist and are accessible. if you are missing permissions for your database tables. if your database tables are corrupted. Do you have every been presented with […] The post How to fix WordPress showing the install…
Intro Formatting is one of several concerns in the efforts to write clean code. There's a lot of other stuff we should be concerned about as…
DDD is hard I've seen many teams adopting domain-driven design (DDD), and I've seen things go wrong a lot. Frequently problems start in the very early stages.
25 Feb 2020
Edge has the potential to upend existing infrastructure and development architecture. Learn more about the future of this hybrid computing model.
Edge has the potential to upend existing infrastructure and development architecture. Learn more about the future of this hybrid computing model.
So, just to recap, I’m writing an explorer for my Roland V-Drums set (currently a TD-17, but with a TD-27 upgrade on the way, excitingly). This involves copying configuration data from the module (the main bit of electronics involved) into the application, displaying with it, editing it, then copying it back again so that I … Continue reading V-Drum Explorer:…
Protecting the security and privacy of individuals is a central tenet of Mozilla’s mission. While we continue to make extensive use of both sandboxing and Rust in Firefox to address security challenges in the browser, each has its limitations. Today we’re adding a third approach to our arsenal. RLBox, a new sandboxing technology developed by researchers at the University of…
Deprecation notice After encountering numerous problems building the jOOQ-refaster module in various JDK versions and after receiving no feedback from the community about this feature, we have decided to remove it again in jOOQ 3.15: https://github.com/jOOQ/jOOQ/issues/10803 Starting with jOOQ 3.13, we’re offering a new module called jOOQ Refaster, which provides refaster templates for automatic API … Continue reading Use the…
Over the years I’ve shared how to perform a number of actions with cURL: how to send POST data, how to retrieve headers, follow redirects, check GZIP encoding, and more. Another useful cURL directive is sending the user agent, as some servers respond with different content or headers depending on the user agent. Let’s have a look at how easy…
Pablo Dobarro writes a continuation to the Sculpt Mode Status Report from 2019.
The Serverless Framework now supports the AWS HTTP API - the v2 of API Gateway for HTTP APIs.
24 Feb 2020
Our full guide to net 30 payment terms for businesses.
What are the different types of start-up business investment? Find out here.
Well this is a first. Twitter user Plazmaz brought a scam github repository and web site to my attention; see his thread on Twitter for details. It’s a pretty obviously fake site, and there is some evidence in the metadata … Continue reading →
Automated invoice processing can make your company more efficient. Learn more.
Want to learn how to calculate annual churn rate? Find out here.
As someone that loves using UI tools, I do pride myself in learning how to accomplish the same feats from command line. Don’t believe me? Check out my Command Line tutorials section — I guarantee you’ll learn quite a bit. Recently I learned that you can view basic calendars from command line with the cal command: ~ $ cal February…
23 Feb 2020
Last summer I launched vulnerablecontainers.org to help shed light on the number of vulnerabilities in the 1,000 most popular containers on docker hub. While it was an interesting project, right after I launched the project I had multiple people ask if it was able to scan other public containers. Initially, it wasn’t but I wanted to offer the ability, so…
Deploying a Serverless GraphQL API with TypeScript is essentially the same as deploying one with JavaScript. The only difference is in the…
This article was derived from my GopherCon Israel 2020 presentation. It’s also quite long. If you’d prefer a shorter version, head over to the-zen-of-go.netlify.com. A recording of the presentation is available on YouTube. How should I write good code? Something that I’ve been thinking about a lot recently, when reflecting on the body of my […]
You know, I'm very proud to be a developer in 2020. The access we have to tools and services is impressive. The barrier to entry towards…
22 Feb 2020
Last week, I wrote about the mindset that computer systems can be understood, and behaviors can be explained, if we’re willing to dig deep enough into the stack of abstractions our software is built atop. Some of the ensuing discussion on Twitter and elsewhere lead me to write this followup, in which I want to run through a few classes…
Unfortunately, in GraphQL, you can't nest operations to apply better grouping (namespacing / separation of concerns) to your services. Here…
Learn how to calculate your business’s accounts receivable turnover ratio.
Intro When I first started building khalilstemmler.com, I stubbed out a component to present the current song that I was listening to on…
21 Feb 2020
A breakdown of everything you need to know when calculating ARR...
It’s amazing how sometimes small changes can make you very happy. This week I was looking at how DragonFruit does its entry point magic, and realized I had a great use case for the same kind of thing. Some of my oldest code that’s still in regular use is ApplicationChooser – a simple tool for … Continue reading New and…
Wednesday 4 March at 11 am (UK time)
How UK businesses and consumers prefer to pay, and what it means for you.
Customize your Python interactive shell prompt! Learn how to personalize and format your `>>>` and `...` prompts.
Can we have a private Helm repository using GCS as backend? Yes we can!
My one policy about blogging is “write the blog post you wanted to find in the search results”. I spent an inordinate amount of time yesterday trying to get typedoc to only show the docs for the files I’m actually exporting in my library, and didn’t find anything on the internet to help me, so here is the blog post…
20 Feb 2020
Our comprehensive guide to discounted cash flow models and analysis.
What is the accounts payable and receivable process? Learn more here.
We break down everything you need to know about levered free cash flow.
Opening a Microsoft Word documents can be extremly slow if the document uses a template (.dotx) which is no longer available. A tool like Word Template Corrector can automatically fix the template location of one or multiple Word (.docx) files. The reason why the opening of Word documents is slow […] The post How to fix slow opening Microsoft Word…
“Do the best you can until you know better. Then when you know better, do better.” ― Maya Angelou It’s a huge milestone for us today! Because today we will extend our interpreter to execute procedure calls. If that’s not exciting, I don’t know what is. :) Are you ready? Let’s get to it! Here is the sample program we’ll…
Planning on making an international payment in Europe? You might need an IBAN.
Wade Wegner is SVP of Product for Salesforce Platform. On a recent and all-too-short trip to London, I was humbled to have developers in the community spend time with me and other product managers at the UK Salesforce Tower. Building on the massively popular open dialogue with developers that we initiated at Dreamforce last year, […] The post Join us…
Jane Street has been posting tech talks from internal speakers and invited guests for years—and they’re all available on our YouTube channel:
Planet Earth vs. Jupiter. There is the same order of magnitude between the ratio of these two planets and the amount of code that defined…
I’d like to counter the popular opinion that interviewing is a tedious and time consuming process. I find the interactions with candidates not just interesting, but informative as well. This is one of the main reasons for me to enthusiastically accept as many interview requests as I can. From all of my conversations with potential Thoughtworkers, I have recognized a…
19 Feb 2020
When should businesses consider moving to a freemium business model?
Want to learn how to write an invoice email? Read on to find out.
We break down the best retention strategies to build relationships with clients.
Want to know how to start up a subscription box business? Find out more.
Going Global - Episode 1: Why your international expansion plan should prioritise payment preference.
GoCardlesswith special guest Paul Lynch, CEO Chargify
Back in the day when I worked on Polymer I got used to relying on a bunch of useful CSS classes that at the time we called iron-flex-layout. They were there partly because flexbox was a sadness on IE and you needed to say everything 3 times to maybe get it right twice, and add some very special flex-basis: 0.000000001px…
18 Feb 2020
With the RSA Conference less than a week away I figured I would spend a few minutes and write a quick post about what I am excited to see this year in San Francisco. Not At RSA Like most security conferences these days while the conference itself is the reason I go the auxiliary events end up providing a majority…
A walkthrough of what's new in the WebThings Gateway 0.11 release, which lets you build your own web things with the latest WebThings Framework libraries. The biggest change in this release is that we now reach WebThings Gateway users in 24 languages beyond English, thanks to translations from WebThings community members around the world. Thank you. The post WebThings Gateway…
If you read any personal finance forums late last year, there's a decent chance you ran across a question from someone who was desperately trying to lose money before the end of the year. There are a number of ways someone could do this; one commonly suggested scheme was to buy put options that were expected to expire worthless, allowing…
When I first discovered Thoughtworks via LinkedIn Job Search, I knew immediately that it was the right place for me. The diversity, sustainability, technical excellence, and social justice, as well as the fantastic range of projects described on the website made me really want to join this company. When after my interviews (the friendliest, least stressful and most educational interviews…
17 Feb 2020
Today, in the Advanced JavaScript Developers group, someone asked the question: Musing from a Noob: so if you were to write a translator…
The Firefox DevTools underlying code, which is written with JavaScript and HTML, is a complex application. Due to the complexity and amount of work going on, the DevTools team has done everything they can to load as little as possible. Furthermore the team has a system of lazily importing and initializing objects when they’re needed. I’ve taken a bit of…
Whether you’re an experienced pro or someone new to the industry, finding a great job can be a scary, stressful process. Engineers and designers get inundated with Hacker Rank tests, portfolio requests, and a variety of other queries. Vettery improves the experience for free agents by creating an atmosphere where businesses reach out to you! Quick Hits Vettery is an…
Being able to manage multiple different stages of deployment within different environments is essential, and Serverless Framework Pro shows you how
16 Feb 2020
Introduction This post attempts to describe a mindset I’ve come to realize I bring to essentially all of my work with software. I attempt to articulate this mindset, some of its implications and strengths, and some of the ways in which it’s lead me astray. Software can be understood I approach software with a deep-seated belief that computers and software…
14 Feb 2020
jOOQ 3.13 has been released with CockroachDB support, much more API and tooling for DDL management, and SQL:2011 temporal table support Starting with this release, we will further embrace our support for parsing, translating, executing, and now also interpreting DDL statements. The driving force is better code generation support, but in the future, also better … Continue reading jOOQ 3.13…
Introduction Microsoft Teams Rooms (MTR), formerly known as Skype Room System and Lync Room Systems, is the latest and greatest solution from Microsoft for managing online collaborative meetings. In many businesses across the globe, a Teams Rooms console (“Teams console”) is the lifeblood of the conference room. The console typically consists of a supported computer […]
Explore Rule 30, a cellular automaton, and its surprising application in pseudorandom number generation. Discover its chaotic patterns!
Thoughtworks University, our entry-level program for recent grads and career changers, preps new joiners from all corners of the globe for a consulting career at Thoughtworks. During these immersive five weeks, Thoughtworkers hone much more than just their technical skills: they learn the importance of cohesive teamwork, how to liaise with non-technical peers at client sites, and get exposure to…
13 Feb 2020
Just some of the reasons why 50,000 businesses use GoCardless.
As CEO of Disney, Michael Eisner had a policy that any employee could come to his office and pitch an idea. He believed that breaking down hierarchical barriers allowed innovative ideas to come from anywhere, and it worked. Disney invested in many of those pitches, some of which became the kernels for films like The […] The post Using Research…
In Part I of this two-part series, we talked about why governments should go agile. But, going agile is not as simple as switching over to another project management tool or having daily stand-up meetings. Agile is a cultural change that needs to be included from the moment governments start thinking about undertaking a technology project.
12 Feb 2020
In January 2010, a group of technologists at Thoughtworks got together to discuss their favorite topic: what was happening in the world of technology. They then summarized the talking points in a document, which became the first “Technology Radar”.
11 Feb 2020
Today we’ve released Firefox 73, with useful additions that include CSS and JavaScript updates, and numerous DevTools improvements. We’ve added to CSS logical properties, pushed performance forward in the Console and the Debugger, and improved the WebSocket inspector. Thanks to all for the ongoing DevTools feedback. The post Firefox 73 is upon us appeared first on Mozilla Hacks - the…
How we fixed performance problems in our API through the tools we use every day.
For years the only bit of feedback web developers could get was via alert("{str}") calls. These days we have the web console but, in rare cases, we don’t have a console and alert calls are our only window into a value at a given time. One problem: if an alert sneaks into production code, your site looks like it’s been…
Find out what deployment strategies Serverless Framework Pro's CI/CD feature gives us for managing deployments as a team
Which business owner, after dropping a cool couple of billions into R&D, wouldn’t want to predict her latest product’s success and profitability?
10 Feb 2020
This post covers what tools and techniques you have at your disposal when handling Node.js asynchronous operations. Learn how to avoid the callback hell ! The post Node.js Async Best Practices & Avoiding the Callback Hell appeared first on RisingStack Engineering.
A closer look at working with Preview Deployments in the Serverless CI/CD solution.
The launch and crash of the USA’s healthcare.gov website in 2013 is a watershed moment in the history of digital technologies for public services. What was intended to be an empowering platform for millions of uninsured Americans, ended up going through quite an embarrassing moment on the world stage.
7 Feb 2020
Explore function overloading in Python! Learn how to implement it using decorators and namespaces, despite Python's limitations.
Reaching 95%-ile isn't very impressive because it's not that hard to do. I think this is one of my most ridiculable ideas. It doesn't help that, when stated nakedly, that sounds elitist. But I think it's just the opposite: most people can become (relatively) good at most things. Note that when I say 95%-ile, I mean 95%-ile among people who…
My first six months at SoundCloud as an iOS engineer on the Recommendations team have just finished. In that time, I’ve already contributed…
6 Feb 2020
Cost reductions can occur when businesses increase production. Learn more here.
The Transport Layer Security (TLS) protocol is the de facto means for establishing security on the Web. The newest version, TLS 1.3, improves efficiency and remedies the flaws and weaknesses present in earlier versions. In October 2018, we announced our plans regarding TLS 1.0 and TLS 1.1 deprecation. Now's the time for us to make this change together and move…
One awesome web functionality we take for granted is geolocation. Based on geolocation data, we can get someone to their destination, provide them suggestions based on their location, and so on. One downside of native geolocation, especially in the browser, is that it’s limited in both input and output. That’s where an awesome service like positionstack comes in — positionstack…
I'm all about generative art these days. Today, I present you Metaballs, my latest creation. It is one of those projects that I visualized in my head and managed to pull it off exactly how I imagined it. Somehow I came up with an idea to generate spheres, smoothly merge them to get organic looking shapes, which then I would…
5 Feb 2020
I recently got a 4K display, and it didn’t work as I expected on my MacBook Pro. This is what I tried, what worked and what didn’t.
The retrospective is a time when the team looks back at a piece of work, reflects on what has gone well, solves problems and becomes happier. Well, that’s the story we tell ourselves. The reality is that retrospectives can often be tedious, ineffective and confusing. Many I’ve been part of seem to have become a box ticking exercise rather than…
4 Feb 2020
After a successful evaluation period, PostgreSQL 12 is now the default version for new Heroku Postgres databases and an available upgrade for existing databases. I want to emphasize a few key changes and improvements in Postgres 12: Native Table Partitioning Concurrent Operations Native Partitioning was introduced in PostgreSQL 10 and performance improvements for improved parallel […] The post PostgreSQL 12…
Naming git branches is something most of us have down to a science. My branch naming pattern is usually {issue number}-short-feature-description, though many developers prefer to lead with the description and end with the issue. Regardless of the pattern you use, having a feature like autocomplete can save you a lot of time typing or copy/pasting. Here’s how you can…
In this post, we will cover changes coming to Chrome (and other browsers) that affect how third-party cookies are handled—specifically SameSite changes, how to test to see if your site is impacted and how to fix it. ⚓️ What is SameSite and why the big change? ⚓️ Prepare for Chrome 80 updates ⚓️ Step 1: […] The post Chrome’s Changes…
Mobile applications have become increasingly important in business, transforming both the business and software development practices.
3 Feb 2020
Today we’re making it even easier to collect payment for your Xero invoices.