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.
7 Jan 2020
Happy New Year! This post gives an overview of the recent updates to the Writing an OS in Rust blog and the corresponding libraries and tools. blog_os The repository of the Writing an OS in Rust blog received the following updates: Update x86_64 dependency to version 0.8.1. This included the dependency update itself, an update of the frame allocation code,…
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.
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
We have released our new Allas object storage service. We firmly believe it will play a growing role for data management, at CSC and for the whole academic field in Finland. Alas, the road to Allas was not completely without pain. Replace cPouta object storage with Allas Make sure all the user data from cPouta object storage moves over. Make…
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.
On almost every job interview there are questions about frameworks, programming principles, maybe some coding or whiteboard architecting. On the other side, there is the way you work. Tools and skills you use on a daily basis which define how you work. No one really asks about those things but I find them quite important. Read more
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…
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…
20 Dec 2019
Roses are red Violets are blue I have stuck in vim And so have you. Vim ain't for newbies But I'm a curious soul So I went down That shell rabbit hole. I tried to edit hosts Everything went wrong The file remained open For two hours long. When I found the magic Semicolon double-u q The file was readonly…
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…
18 Dec 2019
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.
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.
[others]: Variable names must be descriptive. [me]: $help-help-help: #F1F1F1;
At work, we are slowly breaking down the monolithic application into smaller manageable services. Some time ago we had a very interesting issue which proved that microservices are hard to implement. It’s especially true if you are not there yet but somewhere in the middle. When you need to introduce intermediate solutions which will enable you to work further on…
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…
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…
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 →
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
For the last couple of months, Prashanth Chandrasekar has been getting settled in as the new CEO of Stack Overflow. I’m still going on some customer calls… Read more "So, how’s that retirement thing going, anyway?"
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.
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 […]
Me: $ git commit -m "Closes issue #13" * Remove obsolete reference to core entity * Refactor module generating values * Log every ac... Colleague: “Hey, the pizza is heeeere” Me: * backspaces * $ git commit -m "Fixes"
AWS just announced support for HTTP APIs in AWS API Gateway v2.
3 Dec 2019
I am talking to my code but according to my cat, this is the least worrying.
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
WE STARTED A COMPUTER COMPANY!! You have no idea how long I’ve been waiting to say that! I guess some context would help… Steve Tuck, Bryan Cantrill, and I officially started the Oxide Computer Company. Since then, we’ve been working on closing up fundraising, getting an awesome office, and hiring! You are probably thinking “a computer company? that’s outrageous!”.. well…
This post gives an overview of the recent updates to the Writing an OS in Rust blog and the used libraries and tools. I moved to a new apartment mid-October and had lots of work to do there, so I didn’t have the time for creating the October status update post. Therefore, this post lists the changes from both October…
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.…
28 Nov 2019
With many businesses shutting down early this year, here are five ways to make sure you're paid in time for Christmas.
27 Nov 2019
You need to negotiate at a new job: for your salary, or benefits, or my personal favorite, a shorter workweek. You’re not sure what to do, or how to approach it, or what to say when the company says “how much do you want?” or “here’s our offer—what do you say?” Here’s the thing: that final conversation about salary might…
Some time ago we had a problem with performance caused by generating big reports for users. During one of the firehouse meetings, there was an idea to generate reports from the replica database. We’ve solved the issue differently but the idea got me interested. In this post, I’ll configure spring-boot based application to use the replica database for all read-only…
26 Nov 2019
AWS recently announced several new features for Lambda that you might want to take advantage of.
25 Nov 2019
I’ve been immensely privileged to be invited to speak at various international developer conferences, and until now I’ve usually tried to accept the majority of those invitations. I’ve had a wonderful time, and made many dear friends – who I’ve often then caught up with at other events. However, I’ve recently found that travelling has … Continue reading Reducing my…
22 Nov 2019
Roses are red Violets are blue I was looping forever And then I found you. i was your name I think j was next to you Born inside a for Died in there too. I saw you getting bigger Loop over loop over loop And j was getting smaller You were a great group. And then you just vanished You…
I recently faced some issues when trying to update a nested document’s type via nested attributes using the mongoid gem. Bare with me if this sentence doesn’t make any sense yet. Use case Suppose we have a document named Person that embeds a document that can be any of the types Book or BoardGame which inherit from the class Item.…
21 Nov 2019
Multi-value is a proposed extension to core WebAssembly that enables functions to return many values, among other things. It is also a prerequisite for Wasm interface types. Nick Fitzgerald has been adding multi-value support all over the place recently, started with the Rust and WebAssembly toolchain. Next he added support to the Wasmtime runtime, and the Cranelift code generator it’s…
We’re releasing Safety Gym, a suite of environments and tools for measuring progress towards reinforcement learning agents that respect safety constraints while training.
MapTiler opens local branch in Lyon, France.
Tag your Lambdas to track errors and debug serverless applications. If you’re using NodeJS or Python, we’ll help you find even the trickiest serverless application errors faster.
A look at the past, present, and future of AWS Lambda runtimes.
20 Nov 2019
Firefox 71, now available in Developer Edition and Beta, is an exciting release for fans of CSS Layout. Recently, we covered the arrival of subgrid in Firefox, but there is another property that we've also been keeping an eye on. Firefox 71 implements column-span from Multiple-column Layout. In this post Rachel Andrew describes the progress of the Multiple-column Layout specification.…
Discover our key takeaways from Xerocon London 2019.
MapTiler appeared in the Swiss National TV (SRF1 channel) broadcasted in the main Friday news at a prime time.
Tag your Lambdas to track errors and debug serverless applications. If you’re using NodeJS or Python, we’ll help you find even the trickiest serverless application errors faster.
19 Nov 2019
Version 0.10 of Mozilla’s WebThings Gateway brings support for extension-type add-ons. Released last week, this powerful new capability lets developers modify the user interface (UI) to their liking with JavaScript and CSS. We also provide libraries for writing UI extensions in Python or node.js if you prefer. Let us know what you build! The post Creating UI Extensions for WebThings…
Everything you need to know about PSD2, and what it means for your business.
What does 3DS2 do and what does it mean for your business?
MapTiler.nl launched in cooperation with Webmapper in the Netherlands.
18 Nov 2019
Why we are using Github Token Scanning and what it means for you.