Low-code is often heralded as an enabler of digital transformation. But its promise can only be realized if you're aware of the pitfalls.
10 Jan 2020
2019 was a massive year for me. I like to reflect on the year and set some goals for the future.
9 Jan 2020
Inside a native Linux environment the error UNPROTECTED KEY FILE always means that the permissions of private key file are way too open. The error usually occurs if you are trying to connect with SSH and a private key to a remote host. As Ansible does also use SSH, you […] The post Fixing “UNPROTECTED KEY FILE” when using SSH…
I didn’t fly until I was 25 years of age — I was hopeless in knowing I had to be there early, the process of security, and the whole gate structure. Now that I’ve flown dozens of times for Mozilla, I feel much more comfortable with the process of flying, but feel less comfortable about expectations of delays and knowing…
We prepared a new, 5-days-long training agenda for engineering teams who'd like to dive deep into Node.js, but have little to none experience with it. The post Production Ready with Node.js Training appeared first on RisingStack Engineering.
AngularJS 101: From zero to angular in 60 seconds (ie. 99 lines of code). Full tutorial and all the code you need.
AngularJS 101: From zero to angular in 60 seconds (ie. 99 lines of code). Full tutorial and all the code you need.
8 Jan 2020
Insights on payment preferences from over 4,000 businesses around the globe.
We surveyed 4,990 businesses across 9 markets to determine which payment methods businesses prefer for different use cases.
Every frontend framework has their own opinionated way to solve the same three problems. 1. Data storage Defining the shape, changing, and…
Senior Consultant Developer Tiffany Leung recently joined Thoughtworks, moving 16,000km away from Boston, USA to settle into a new home in Sydney, Australia. Interested to hear what her experience was like, we asked her to share her journey to landing a job at Thoughtworks and starting an international career. Tell us a little bit about you
The required steps to build security into your products from the ground up. The goal is to create a product that is resilient against defects from the inside and attacks from the outside.
7 Jan 2020
Health Insurance Portability and Accountability Act (HIPAA) protects patient health data. Learn how HIPAA affects business and staying compliant.
Health Insurance Portability and Accountability Act (HIPAA) protects patient health data. Learn how HIPAA affects business and staying compliant.
Looking back at the last 10 years, two specific trends are very clear to me, here they are highlighted by Fred Wilson: “The massive experiment in using capital as a moat to build startups into sustainable businesses has now played out and we can call it a failure for the most part.” “The big four tech companies own monopolies or…
Though we are moving to a more frequent four-week browser release cycle, the Firefox 72 release is feature-rich and full of goodies. It includes many requested DevTools' updates and improvements. We also introduce Shadow Parts and the CSS Motion Path, and useful new JavaScript features. Plus, Picture-in-picture for video is now enabled for Mac and Linux users too! The post…
Where should your search for the perfect payment method start? That depends on what you’re offering - or more specifically, how you’re offering it.
The failure of B2B payments to be truly borderless is at odds with the very exercise it is primarily designed for - buying and selling things.
What exactly is a developer advocate, and how do they connect developers and companies around the world? Why is the area of developer relations set to explode? Can anybody with a passion for tech become a developer advocate? What are the keys to success on a global scale? How does a developer advocate maintain authenticity when balancing the needs of…
6 Jan 2020
The first breath after my return to Sydney felt as relieving as I imagined it would. The sweet scent that reminded me of tree sap and freshly mown grass was a good contrast to the exhaust fumes that filled the Xi’an air. The flight had been on time, but my mind was still soaking on five weeks of memories. Day…
5 Jan 2020
Thanks to the MSYS2 project, now there is an easy way to utilize Clang to build C/C++ application on Windows. This works equally well for both 32-bit and 64-bit programs.
This is part five of a series on the Random Oracle Model. See here for the previous posts: Part 1: An introduction Part 2: The ROM formalized, a scheme and a proof sketch Part 3: How we abuse the ROM to make our security proofs work Part 4: Some more examples of where the ROM … Continue reading What is…
When I ask people at trendy big tech companies why algorithms quizzes are mandatory, the most common answer I get is something like "we have so much scale, we can't afford to have someone accidentally write an O(n^2) algorithm and bring the site down"1. One thing I find funny about this is, even though a decent fraction of the value…
4 Jan 2020
In the book club at work, I just finished reading Grokking Deep Learning by Andrew Trask. It is an introduction to deep learning, but there are some problems. It spends a lot of pages on the basics, and in the … Continue reading →
3 Jan 2020
Explore Python internals by tweaking its source code! Learn how I made addition unpredictable and the challenges I faced.
2 Jan 2020
At the time of writing this, I've been on Earth for about ~2.4 decades. That means that ten years ago, I was the very tender age of fourteen…
31 Dec 2019
Last time I wrote one of these recaps was in 2016. Not sure why I waited three years to write another, and from now on I'll try to do these annually. 2019 was a good year for me, and I want to highlight a couple of things. Blog # I'm really proud of my blog. And judging by the analytics,…
30 Dec 2019
One last post for this decade. There has been some discussion on tech twitter lately on the subject of whether it is possible to be “successful” in the programming business without working long hours. I won’t dignify the posts which … Continue reading →
29 Dec 2019
About a year ago I was experimenting with local functions and reflection, to improve my unit tests and the way to write BDD specs. I had been using Machine.Specifications and Machine.Fakes for years. MSpec has served me well, but the lack of async support made me look for alternatives. The experiment with local functions in tests led to the release…
27 Dec 2019
There are several ways to design systems. When I first starting building applications, I would start out with the database. Eventually, I…
In this tutorial, learn how to use Raspberry Pi to create the IoT prototypes of your dreams. Check out our step-by-step process and get started today.
In this tutorial, learn how to use Raspberry Pi to create the IoT prototypes of your dreams. Check out our step-by-step process and get started today.
26 Dec 2019
As the 2010s come to an end I started to think about what security stories from the last ten years changed how we think about security in this decade and the next. While this list is in no way complete these are the ten stories that I think had a lasting impact on security in the last decade and the…
25 Dec 2019
When Heroku launched in 2007 there was only a single Ruby version that could be used on the platform. In 2012 Heroku began to support multiple Ruby versions. Since then, we’ve had a holiday tradition of releasing the new versions of Ruby on the same day they come out, which always happens on Christmas day […] The post Ruby 2.7.0:…
24 Dec 2019
While talking about thinking about tests and testing in software engineering recently, I’ve come to the conclusion that there are (at least) two major ideas and goals that people have when they test or talk about testing. This post aims to outline what I see as these two schools, and explore some reasons engineers coming from these different perspectives can…
23 Dec 2019
I have two 4K TVs at home, one in the bedroom and one in my living room. Both have consoles attached. One has a PS4 Pro and one has a Nintendo Switch and both are great. However, I also have a gaming PC in my office, which is quite powerful compared to any home console Mine is equipped with a…
19 Dec 2019
Generate CPD credits, and make new contacts to learn from and generate new work.
Find out how managing payment is impacting SMBs this Christmas.
The first annual MDN Developer Needs Assessment aims to represent the voices of developers and designers working on the web. We've analyzed the data provided by more than 28,000 completed surveys, and we've identified 28 discrete needs, sorted into 14 different themes. Four of the top ten needs relate to browser compatibility, our #1 theme. Documentation, Testing, Debugging, and Frameworks…
This blog post is adapted from a lightning talk by Ben Fritsch at Ruby on Ice 2019. There can be a number of reasons why your application performs poorly, but perhaps none are as challenging as issues stemming from your database. If your database’s response times tend to be high, it can cause a strain […] The post Slow Database…
Update: On closer inspection, the lock type was not on the table, but on a tuple. For more information on this locking mechanism see the internal Postgresql tuple locking documentation. Postgres does not have lock promotion as suggested in the debugging section of this post. I maintain an internal-facing service at Heroku that does metadata […] The post The Curious…
I recently finished the excellent book Kochland. This isn’t my first interest in Koch—I read The Science of Success by Charles Koch himself a couple of years ago. Charles Koch inherited a tiny company in 1967 and turned it into one of the world’s largest ones. That’s impressive! Just a quick disclaimer just to get it out of the way.…
18 Dec 2019
This blog post is adapted from a talk given by Julián Duque at NodeConf EU 2019 titled “Let it crash!.” Before coming to Heroku, I did some consulting work as a Node.js solutions architect. My job was to visit various companies and make sure that they were successful in designing production-ready Node applications. Unfortunately, I […] The post Let It…
Update, September 2025 # Replaced path.toShapes(true) with SVGLoader.createShapes(path) because toShapes misses some of the SVG-specific logic implemented in the loader. Thanks to forresto who pointed it out. Also updated the demo to use a fresh version of ThreeJS. These days I'm playing with three.js again. I'm not an expert but I enjoy playing with graphics. Conveniently, a friend of mine…
17 Dec 2019
Mozilla Hacks covered plenty of interesting territory in 2019. Our most popular posts introduced experiments and special projects, and described the evolution of groundbreaking platform technologies like WebAssembly and WASI. Mozilla WebThings continued to engage attention and adoption. And interest in Firefox releases and Firefox DevTools was stronger than ever. Read on. The post Mozilla Hacks’ 10 most-read posts of…
Payment terms remove uncertainty around when you'll get paid, helping cash flow.
Find out about new security changes to our API.
We searched for the most-asked questions about churn. Here are the answers.
Add position of your shop in the city, hiking trails with related points of interest, electric power grid or any other vector data on a map with a few clicks.
16 Dec 2019
We searched for the most-asked questions about growth. Here are the answers.
With Xerocon over for another year, here are the big takeaways distilled down into something more practical.
The bank holiday dates for the European Central Bank in 2020
The cover image is based on Jupiter family by NASA/JPL.
14 Dec 2019
Quite honestly, I don't know if I really enjoy writing optimization code. I'm not saying that I don't like optimized code- I'm saying that…
13 Dec 2019
12 Dec 2019
I had a new years resolution to Read More Books this past year and actually read around 20 books this year. Out of those books here is a quick list of some of my favorites from the past year that I really enjoyed. Stillness Is the Key This book was probably one of the most impactful books I read this…
26 reasons to become a digital accountancy practice.
Pricing models explained and top tips for a winning pricing strategy.
Hear from our CRO, Erez Mathan, on his vision for the Risk team at GoCardless.
11 Dec 2019
You might recall that before my immensely long series on ways we could make C# a probabilistic programming language, I did a short series on how we can automatically computed the exact derivative in any direction of a real-valued function … Continue reading →
How GoCardless helps your business take payments more simply
Another Catalina rant, this time about Ruby. As far as I know, on MacOS, it is advisable to leave system Ruby version to the OSFor example users don't have write permission on the system's gems folder. , and install a separate version for development. I had one installed via Homebrew, and never had any issues with it. But after Catalina…
Having a culture that inspires and challenges people is not easy. At Thoughtworks, we could easily walk down the path of competitiveness and control. Instead, we walk in the opposite direction. We value a safe and autonomous environment where we cultivate each other in order to foster technical excellence.
To compete businesses need to make innovation a core activity — and not just rely on Eureka moments
10 Dec 2019
Have you ever wanted to know where properties on objects are read or set in your code, without having to manually add breakpoints or log statements? Watchpoints are a type of breakpoint that provide an answer to that question. They are new in the updated Debugger, available now in the Firefox 72 Developer Edition release. The post Debugging Variables With…
MapTiler Desktop 10.3 significantly improve rendering maps from PDFs or GeoPDFs and adds support for the Dutch RD New Tile Grid.
how-to-create-a-landing-page-with-serverless-components
Yesterday I updated my work laptop to MacOS Catalina.To be able to use AirPods Pro with it :/ Apple made a change and switched the default shell to zsh (instead of bash). From what I have read, the reason is a licensing issue. Bash is not gone and everything will work like it used to. But every time you open…
9 Dec 2019
Just a quick note that my team is always hiring at Better. A lot of new people have been joining the team here in NYC lately—the tech team has actually grown from 35 to 60 in just ~3 months. We are primarily looking for senior software engineers and/or engineering managers. But we would love to talk if you have less…
8 Dec 2019
A few weeks ago, U.S. Attorney General William Barr joined his counterparts from the U.K. and Australia to publish an open letter addressed to Facebook. The Barr letter represents the latest salvo in an ongoing debate between law enforcement and the tech industry over the deployment of end-to-end (E2E) encryption systems — a debate that … Continue reading Can end-to-end…
A few weeks ago I spoke at the EuroSTAR software testing conference in Prague. The conference had one and a half days of tutorials, followed by two and a half days of talks. Around a thousand people attended. I was … Continue reading →
Some thoughts on your skill level compared to the people you work with
This is a thought experiment in API design. It starts with the classic Go unit testing idiom: func TestOpenFile(t *testing.T) { f, err := os.Open("notfound") if err != nil { t.Fatal(err) } // ... } What’s the problem with this code? The assertion. if err != nil { ... } is repetitive and in the […]
6 Dec 2019
I spent the last week at AWS re:Invent 2019 in Las Vegas with over 65,000 other AWS users. This conference is always jammed packed with announcements and interesting discussions with people both inside and outside of my normal security bubble. Overall I really enjoy this conference even though it is ridiculously large and I spent over 6 hours on the…
How GoCardless helps your business process payments successfully.
Updates and a New Run
5 Dec 2019
The Machine Learning team at Mozilla continues work on DeepSpeech, an automatic speech recognition (ASR) engine which aims to make speech recognition technology and trained models openly available to developers. In this overview of recent improvements, we'll show how DeepSpeech can transform your applications by enabling client-side, low-latency, and privacy-preserving speech recognition capabilities. Find out how you can participate. The…
We show that the double descent phenomenon occurs in CNNs, ResNets, and transformers: performance first improves, then gets worse, and then improves again with increasing model size, data size, or training time. This effect is often avoided through careful regularization. While this behavior appears to be fairly universal, we don’t yet fully understand why it happens, and view further study…
If, like me, you’re a commercial aviation otaku, this walkthrough of an enthusiast built 747 cockpit simulator should be highly relevant to your interests.
A step-by-step guide to become a Full Stack Developer
How GoCardless helps your business save money.
MapTiler opens local branch in Brno, Czechia.
Did you know that you can build custom dynamic color themes without the use of JavaScript or a CSS preprocessor!? Read on!
4 Dec 2019
Take heed of your customers' payment preferences to get paid on time.
Is your cash flow causing you stress? We asked more than 1,000 businesses across the UK which payment methods they prefer to use, so you know which to offer them to get paid on time.
Wasmtime, the WebAssembly runtime from the Bytecode Alliance, recently added an early preview of an API for .NET Core, Microsoft’s free, open-source, and cross-platform application runtime. This API enables developers to programmatically load and execute WebAssembly code directly from .NET programs. Although .NET Core is already a cross-platform runtime, there are good reasons for .NET developers to take a closer…
Last year I had the opportunity to watch Cat Swetel’s presentation The Development Metrics You Should Use (but Don’t). The information that could be gleaned from just tracking the start and finish date of work items was eye opening. If you’re using an issue tracker this information is probably already (perhaps with some light data […]
AWS just announced support for HTTP APIs in AWS API Gateway v2.
Everyone has their own secrets to keep — and sometimes, they're things we want to share. Here's an illustrated guide to secret sharing. It explores the concepts of crytography, some history and provides a neat insight into the ideas behind RSA.
3 Dec 2019
Please welcome Firefox 71 to the stage! This time around, we have a plethora of new developer tools features including the web socket message inspector, console multi-line editor mode, log on events, and network panel full text search! And as if that wasn’t enough, there are important new web platform features available, like CSS subgrid, column-span, Promise.allSettled, and the Media…
We’re releasing Procgen Benchmark, 16 simple-to-use procedurally-generated environments which provide a direct measure of how quickly a reinforcement learning agent learns generalizable skills.
If you were trying to use Lambda in a use case that was very latency sensitive, cold starts were probably your greatest concern. AWS has heard the concerns
The release of the Amazon RDS Proxy at re:Invent removes one of the main objections to using relational databases in serverless applications. Read this post to understand why.
2 Dec 2019
A quick look at a simple workflow I use to prototype a web page
If what we ship to our server is a single executable file or script that runs our entire application in one process, we have a monolith on…
Not at AWS re:Invent? That's ok; we're compiling all the most important serverless announcements and updates. Updating live all week.
The EventBridge Schema Registry helps document your event schemas and add discoverability to the event domain. See why it's useful here.
1 Dec 2019
A year ago today I self-published “A Programmer’s Introduction to Mathematics” (PIM). In this short note I want to describe the success it’s had, summarize the complaints of some readers and the praise of others, and outline what’s next. Since publication PIM has sold over 11,000 copies. A rough chart showing the sales of paperback and ebook copies of PIM.…
I love easter eggs in software. You may have noticed the keyboard image in the background of my blog. This thing on the right side of the screen. Those with a keen eye figured out it highlights keys as you are typing. It has been here for some time now, and on my colleague's request, I'll explain how it works.…