Most jOOQ users use the jOOQ DSL API, which provides compile time type safety and an easy way to write dynamic SQL. But occasionally, this DSL get in the way, because it might be In such cases, you can still benefit from jOOQ’s many secondary features, including for example its nice integration with the Stream … Continue reading Using Java…
5 Mar 2020
4 Mar 2020
Explore cloud computing: what it is, how it can impact and benefit your company, and how it's transforming the world around us.
Optimizing the integration of Firefox Developer Tools with the SpiderMonkey JavaScript engine has resulted in many benefits, including the new asynchronous call stack tracking now available in Firefox Developer Edition. In this post you can learn how that was done, down to detailed changes to memory management. The post Future-proofing Firefox’s JavaScript Debugger Implementation appeared first on Mozilla Hacks -…
jOOQ supports a vast amount of SQL syntax out of the box. As such, most users will not think of resorting to string concatenation like in the old days when writing dynamic SQL with JDBC. But every now and then, a vendor specific feature is not supported by jOOQ (yes, it happens). In that case, … Continue reading Never Concatenate…
Explore the importance of the revenue recognition principle for SaaS businesses.
CloudPush technology offers manipulation with files on cloud services that are both fast and extremely easy-to-use.
3 Mar 2020
My current clunky “put all the code in the view” approach to V-Drum Explorer is creaking at the seams. I’m really not a WPF developer, and my understanding of MVVM is more theoretical than practical. I’ve read a reasonable amount, but quite a lot of aspects of V-Drum Explorer don’t really fit with the patterns … Continue reading V-Drum Explorer:…
Our guide to payment gateways vs. payment processors vs. merchant accounts.
It appears that our recent beginner SQL articles explaining SQL syntax were quite popular. These include: A Beginner’s Guide to the True Order of SQL Operations A Probably Incomplete, Comprehensive Guide to the Many Different Ways to JOIN Tables in SQL 10 Easy Steps to a Complete Understanding of SQL How SQL DISTINCT and ORDER … Continue reading 5 Ways…
Developers met at the Blender HQ for a two-day User Interface workshop and planning session.
Our comprehensive guide to calculating customer acquisition cost.
My hobby: opening up McIlroy’s UNIX philosophy on one monitor while reading manpages on the other. The first of McIlroy's dicta is often paraphrased as "do one thing and do it well", which is shortened from "Make each program do one thing well. To do a new job, build afresh rather than complicate old programs by adding new 'features.'" McIlroy's…
The topic of datasets is not new, and they have been successfully used at SoundCloud for analytics purposes for a long time. In this blog…
2 Mar 2020
A step-by-step tutorial to create your own real-time React Native app with PubNub, the real-time communication platform
Forecasting cash flow can help you make important investment decisions...
Having a default commit message is really useful for a number of reasons: It can formalize your commit messages It serves as a good reminder for the information you should add to your commit message, like issue number If you set it to “Drunk AF, don’t accept this” To set a default commit message on your local machine, start by…
A very common misconception I often encounter with SQL users is the idea that DISTINCT is something like a function, and that it can take parenthesised arguments. Just recently, I’ve seen this Stack Overflow question where the OP was looking for a way to express this in jOOQ: Notice the parentheses around (emp.id), which look … Continue reading SQL DISTINCT…
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: Mention potential bump allocator extensions Don’t panic on overflow in allocator; return null pointer instead Update Allocator Designs post to signal OOM…
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.
At work, we are splitting the monolithic application into smaller services. From time to time we have some challenges in doing it the right way. Lately, most of the splitting is focused on cutting out frontends to be outside of the monolith. It gives solid results as we are getting logic and business rules in one place. The downside is…
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…
When you upload photos to Instagram, back up your phone to “the cloud”, send an email through GMail, or save a document in a storage application like Dropbox or Google Drive, your data is being saved in a data center. These data centers are airplane hangar-sized warehouses, packed to the brim with racks of servers and cooling mechanisms. Depending on…
25 Feb 2020
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…
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 […]
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…
Learn how to calculate your business’s accounts receivable turnover ratio.
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.
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…
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…
17 Feb 2020
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…
There are now CentOS-8 images available in Pouta! There are some minor issues with the upstream CentOS8 images, so, for now, they are considered to be in "tech preview". docs.csc.fi One issue is that /etc/resolv.conf sometimes has a nameserver defined from the build of the image. There is an open CentOS bug report about this: https://bugs.centos.org/view.php?id=16948
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!
In this post, I’d like to show you how I’ve started with writing this blog. How the process evolved during 3 years of writing. How I’ve finally managed to set up everything in a way that works for me now. If you don’t blog yet this might help you out with technical details on how you can start easily. If…
13 Feb 2020
Just some of the reasons why 50,000 businesses use GoCardless.
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…
This isn’t part of the series on Stack Overflow’s architecture, but is a topic that has bitten us many times. Hopefully, some of this information helps you sort out issues you hit. You’re probably here because of an error like this: Could not load file or assembly ‘System.<…>, Version=4.x.x.x, Culture=neutral, PublicKeyToken=<…>’ or one of its dependencies. The system cannot find…
Find out what deployment strategies Serverless Framework Pro's CI/CD feature gives us for managing deployments as a team
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.
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…
Yesterday I saw a great command that finds the palindrome dates between now and x days ago. The command was posted on Twitter by @climagic (a great account to follow if you want to find awesome command line stuff). In this post we are going to break it down and explain how it works. What is a palindrome Palindrome is…
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…