In the previous post I discussed how leaf inlining allows the Go compiler to reduce the overhead of function calls and extend optimisation opportunities across function boundaries. In this post I’ll discuss the limits of inlining and leaf vs mid-stack inlining. The limits of inlining Inlining a function into its caller removes the call’s overhead […]
2 May 2020
My first attempt at real 3D vector composition. The gap was initially added to hide the border between two papers, but it grew on me. Created: May 2020 Size: 83x30cm (2 x A3) Paper: Fabriano Bristol 250gsm Pens: Pigma Micron
Created: May 2020 Size: 83x30cm (2 x A3) Paper: Fabriano Black Black 300gsm Pens: Uni-ball Signo UM-153
1 May 2020
The other day, I was sitting at my work desk feeling too sedentary, too isolated, and altogether too down about my restricted life during this coronavirus pandemic. Then, an email popped into my inbox from one of my favorite Heroku customers. Active for Good was announcing their latest activity challenge starting on May 1st. Every […] The post A True…
30 Apr 2020
The Dart SDK provides developers a simple way to build client-optimized multi-platform applications using Dart with the Flutter Framework on PubNub.
The Dart SDK provides developers a simple way to build client-optimized multi-platform applications using Dart with the Flutter Framework on PubNub.
Code for this episode can be found here. I have not added any more code to the engine, but the client now has two features of great use to me; pressing space toggles whether the simulation is running or paused, … Continue reading →
Fuzzing, or fuzz testing, is an automated approach for testing the safety and stability of software. For the past 3 years, the Firefox fuzzing team has been developing a new fuzzer to identify security vulnerabilities in the implementation of WebAPIs in Firefox. This fuzzer leverages the WebAPIs’ own WebIDL definitions as a fuzzing grammar. The post Fuzzing Firefox with WebIDL…
What do payment service providers do? Read on to find out.
We’re introducing Jukebox, a neural net that generates music, including rudimentary singing, as raw audio in a variety of genres and artist styles. We’re releasing the model weights and code, along with a tool to explore the generated samples.
This blog post is adapted from a discussion during an episode of our podcast, Code[ish]. Over the last twenty years, software development has advanced so rapidly that it’s possible to create amazing user experiences, powerful machine learning algorithms, and memory efficient applications with incredible ease. But as the capabilities tech provides has changed, so too […] The post Evolving Alongside…
Toner, map style created a decade ago by a famous Stamen Design studio, is now available in vector tiles.
Toner, map style created a decade ago by a famous Stamen Design studio, is now available in vector tiles.
Imagine you are an owner of a small batch grape vineyard. You find yourself to be so successful that you are acquired by a large distributor who spans grocery stores, bakery and wine industries. Now being a part of a large organization that has many different types of consumers and ways of distribution, your grape vineyard is expected to meet…
When COVID-19 hit, entire workforces had to suddenly abandon their office infrastructure and work from home. For many companies, this has been a giant logistical nightmare which has driven their corporate virtual private network (VPN) and network appliances into meltdown and significantly impacted their ability to deliver.
29 Apr 2020
Telemedicine, telehealth, and mhealth are all healthcare technologies that allow medical information to be communicated remotely.
Telemedicine, telehealth, and mhealth are all healthcare technologies that allow medical information to be communicated remotely.
Your little Firebase project is getting bigger every day? Never underestimate the need to establish a solid and firm integration tests from the get go.
Find out how to measure customer loyalty and retention with our useful guide.
Ever seen a friend, coworker, or maybe even an accidental stranger- trying to solve a problem using a tool that you feel is completely unfit…
Learn more about the importance of requisition forms with our handy guide.
Our comprehensive guide for how to complete a VAT return.
When do you have to start paying taxes? Read our guide for more information.
28 Apr 2020
Learn more about the retained cash flow formula with our definitive guide.
Learn more about establishing a line of credit for small business, right here.
Show me your code: how buildkit can help integrating GoReleaser with multi-arch Docker manifests
Carlos BeckerA discussion with Tibor and Geanluca about Docker buildkit and GoReleaser.
A survey carried out as early as 2013 found ‘global pandemics’ to be one of the most important extreme risks for the insurance industry in the long term. And, we are seeing this scenario play out in the midst of the COVID-19 crisis.
This is the final part of the post series on inclusion. The first post is Inclusion Matters: [Part 1] Diversity matters while the second part is Inclusion Matters: [Part 2] Common Inclusion problems.
27 Apr 2020
I don’t need to tell you how important search engine placement is. You either earn it with quality content, loads of SEO work, paying for placement, or all of the above. And even we you achieve best placement, you need to be wary of your content becoming stale or someone else coming along with a better ranking. To keep aware…
Code for this episode can be found here. I have not updated the Life algorithm, but I have added a new feature to the client, namely, you can now resize the form and the display box will resize along with … Continue reading →
In the fall of 1999 I got the biggest productivity boost of my entire career as a software developer. In the October issue of IEEE Computer magazine, there was an article by Kent Beck called “Embracing change with extreme programming”. … Continue reading →
If you’ve had any form of relationship, you know that emotional intelligence is key to keep it functioning. And, when it comes to teams, Rosete and Ciarrochi (2005) [1] found that there is a correlation between leadership efficiency and emotional intelligence. If we want to construct ours, and help others do the same, communication, and specifically, regular feedback, is a…
A study on selective color from a predefined list, using CSS custom properties, a little bit of JavaScript, and some progressively enhanced CSS Houdini.
26 Apr 2020
On any given day, we handle around 15% of daily retail trading volume across all stock exchanges in India. Billions of requests generated in the process are handled by a suite of systems we have built in-house. Also, we are very particular on self-hosting as many dependencies as possible, everything from CRMs to large databases, Kafka clusters, mail servers etc.…
The middleware framework Middy reached version 1.0, bringing middleware capabilities to AWS Lambda. This allows cleaner handler code by extracting cross-cutting concerns into reusable middleware.
Explore MySQL InnoDB's buffer pool and its midpoint insertion strategy for efficient cache management and scan resistance.
What if I told you you can now automate the release of your libraries as well?
25 Apr 2020
This is a post about how the Go compiler implements inlining and how this optimisation affects your Go code. n.b. This article focuses on gc, the de facto Go compiler from golang.org. The concepts discussed apply broadly to other Go compilers like gccgo and tinygo but may differ in implementation and efficacy. What is inlining? […]
24 Apr 2020
At GitHub, working remotely has been in our DNA from the start. With over 80% of our engineers working remotely before COVID-19, the team has established some amazing best practices that foster a strong collaborative environment, inspire creativity, and a bit of levity with the ultimate goal of building trust within teams. What’s it like for GitHub engineers to work…
You're ready to use GoCardless. Next step - telling your customers how to start.
The base is white Bristol and the upper layer is tracing paper. I really like how it turned out, transparency gives it a nice sense of depth. But tracing paper is incredibly hard to work with, it has mind of it's own. Once it gets framed, I hope glass will press it evenly against the base layer. Created: April 2020…
This is the second part of our three part series on inclusivity. View part one here.
23 Apr 2020
Code for this episode can be found here. All right, let’s get into it. Since I want this series to concentrate on the algorithms and not the user interface, what I will probably do is make incremental improvements to the … Continue reading →
We are excited to bring WebGPU support to Firefox because it will allow richer and more complex graphics applications to run portably on the web. WebGPU is an emerging API, designed from the ground up within the W3C, to provide access to the graphics and computing capabilities of hardware on the web. The post A Taste of WebGPU in Firefox…
Want to know more about proration? Check out our prorated definition.
Want to stay safe? Explore our cyber security checklist for small business.
camaraderie /ˌkaməˈrɑːd(ə)ri,ˌkaməˈrad(ə)ri/ “mutual trust and friendship among people who spend a lot of time together.” When you work across time zones with someone for 8 hours a day, building a platform of trust and friendship is essential.
22 Apr 2020
Text-based communication has a long history weaved into the evolution of the Internet, from IRC and XMPP to Slack and Discord. And where there have been humans, there have also been chatbots: scriptable programs that respond to a user’s commands, like messages in a chat room. Chatbots don’t require much in terms of computational power […] The post Building and…
Find out more about interest and penalties for late payment of corporation tax.
Our comprehensive guide to perpetual licenses vs. subscription licenses.
Find out more about the direct method vs. indirect method of cash flow.
Introducing Success+: predict and manage failed payments with recurring payment intelligence
GoCardlessMade for payment success.
How we put data privacy at the core of Success+
Exceptions are a mainstay of programming languages. They are commonly used to handle anomalous or exceptional conditions that require special processing, breaking out of the normal flow of the application. Some languages, such as C++ or Java, use them liberally. But not every language follows that design. C# or Kotlin don't have checked exceptions.
Cloud is a crucial element of digital business. But to succeed, you need to avoid the pitfalls of treating purely as an infrastructure play.
21 Apr 2020
Here's an insider's look at Firefox's code quality toolchain that's been designed to manage the ongoing development and monthly releases of our desktop browser. This post explores the architecture, challenges, and ongoing evolution of the process for managing code quality and patches for dealing with 21 million lines of code. The post Engineering code quality in the Firefox browser: A…
Earnings before interest and taxes measures your company’s profitability.
ERP systems streamline business processes. Learn all about them here.
Framework Pro now supports automatic troubleshooting of HTTP APIs!
20 Apr 2020
Code for this episode can be found here. There are literally fifty years of articles explaining Conway’s Game of Life, starting with the one that introduced it to me: the October 1970 issue of Scientific American. Seems like a great … Continue reading →
A sneak peak in to some of the team's home office set ups.
This article defies a lot of trending patterns, like: React hooks, avoiding mutable data, traditional dependency injection, and full front-end testing. The post Reinventing Hooks with React Easy State appeared first on RisingStack Engineering.
Video games are always a fun time, something we desperately need during our COVID lockdown. A few years back I shared how to play retro games on Mac, as well as how to patch games to play popular ROM hacks like Grand Poo World and Invictus. One disadvantage that Macs have, however, is performance — your typical gaming PC has…
How do chargebacks work? Find out everything you need to know about chargebacks.
Join us for Earth Day Live 2020
The ongoing global COVID-19 pandemic has pushed the distributed model to the forefront, with remote work becoming the norm, even for teams that are usually co-located. This impacts everything, from an organization’s global footprint, to cultural aspects like prioritising communication, building autonomous teams, and valuing collaboration.
19 Apr 2020
Hard to believe that I’ve had the same PC case since 2011, and my last serious upgrade was in 2015. I guess that’s yet another sign that the PC is over, because PC upgrades have gotten really boring. It took 5 years for me to muster
Node Express web framework is a best solution to create RESTful APIs in quick time. Previously we published some concepts with different technologies like PHP and Java. This article will explain to you a more simple way to use external plugins to enrich your project APIs. Here you will find to create GET and POST requests with request payload validations…
Explore Finite State Machines (FSM) with Python coroutines. Learn to model FSMs for regex, divisibility, & SQL validation.
18 Apr 2020
On the second to last image, you can see one of my first attempts to simulate tearing. If I ever return to this algorithm, I'll make a new composition wider. Created: April 2020 Size: 42x30cm Paper: Kunstdruck Pens: Pigma Micron
17 Apr 2020
See what the providers of global market intelligence found in their study.
For years, a majority of Hubbers have been working remotely, including many of our senior leaders. As a result, GitHub naturally developed a culture centered around collaboration and communication. Today we continue our series to share how Hubbers are managing remote work. Our first post featured Kem Boggs, Head of Global Talent Acquisition at GitHub, who provided a unique perspective…
Web browsers have supported custom plug-ins and extensions since the 1990s, giving users the ability to add their own features and tools for improving workflow or building closer integration with applications or databases running on back-end servers.
16 Apr 2020
Explore common mistakes to avoid when setting up a business bank account.
Those of you who follow this blog know that not every blog post is an endorsement of a technique but simply a tutorial how to accomplish something. Sometimes the technique described is probably not something you should do. This is one of those blog posts. The Babel parser is an essential tool in the web stack these days. Babel helps…
5 steps to take from immediate action to building long term resilience.
We’ve contributed to a multi-stakeholder report by 58 co-authors at 30 organizations, including the Centre for the Future of Intelligence, Mila, Schwartz Reisman Institute for Technology and Society, Center for Advanced Study in the Behavioral Sciences, and Center for Security and Emerging Technologies. This report describes 10 mechanisms to improve the verifiability of claims made about AI systems. Developers can…
As the world battles to contain the COVID-19 pandemic, every organization is seeing unprecedented changes in patterns of customer demand. Mandated and organically adopted shifts in the movement of people have dramatically changed the ecosystem of our daily lives, and in turn, what roles organizations play in this. While many businesses are facing hibernation or closure, some are thriving, with…
15 Apr 2020
Our guide to reducing overhead costs in small businesses.
What are the most effective methods of solving cash flow problems?
Incluso en los actuales tiempos de aislamiento, nuestros equipos de ingeniería han sabido adaptarse, enfocarse y trabajar duro para ofrecer otra nueva y emocionante versión de Firefox al mundo. En lo que respecta a las herramientas para desarrollador, a partir de ahora encontramos un sistema de evaluación instantánea en la consola, puntos de interrupción de […] The post Firefox 75:…
即使在這段隔離的時期,我們的工程團隊也已經調整好步調,保持專注並努力工作,並獻上令人興奮的新版Firefox。在開發人員工具方面,你可以在網頁主控台中使用即時求值、WebSockets事件斷點以及許多其他功能。在網頁平台方面,新增的功能包括HTML延遲載入圖片、CSS min(),max()和clamp()函數、公開靜態類別屬性以及支援網頁動畫API附加功能等。 與往常一樣,請點擊下方閱讀重點,或在下文瀏覽所有新增功能的完整列表: Firefox 75 開發人員專區 Firefox 75網頁相容性 Firefox 75終端用戶專區 新增開發人員工具 讓我們先來看看Firefox 75中最有趣的開發人員新工具。 即時測試控制台表達式 在控制台中測試表達式是了解應用程序狀態、查詢DOM或試用JavaScript API非常便捷的方法。現在,利用Firefox控制台的多行模式使編寫較長的代碼更為容易,在使用上更為友善,且更貼近整合開發環境。 新的即時測試可以在輸入時預覽當前表達式的結果,有點類似Quokka.js編輯器。只要在Web控制台中鍵入的表達式沒有副作用,在輸入時便可以直接預覽結果。
即使在隔离时期,我们的工程团队也努力适应、保持专注并努力工作,为您带来又一个令人兴奋的新版Firefox。在开发人员工具方面,您会找到控制台中的即时评估、WebSockets的事件断点,以及其他许多功能。在网络平台方面,新增的功能包括图像的HTML延迟加载、CSS min()、max()和clamp()函数、公共静态类字段以及对Web动画API支持的补充。 请照例阅读重点内容或从以下文章中找到所有新增内容的完整列表: Firefox 75开发人员必读 Firefox 75的网站兼容性 Firefox 75最终用户发行说明 开发人员工具补充 我们首先来看看75最有趣的开发人员工具。 控制台表达式即时评估 控制台中的评估表达式是探索应用程序状态、查询DOM或试用JavaScript API的快速方法。现在,Firefox的多行控制台模式已经变得更友好、更像IDE,可用于更轻松地为更长的代码制作原型。 新的即时评估会在您键入时显示当前表达式的结果预览,类似于Quokka.js 这样的编辑器。只要在Web控制台中键入的表达式没有副作用,就会在您键入时显示结果预览。 为了使预览尽可能无缝,进行了
This is the first part of the post series Inclusion matters.
14 Apr 2020
As a huge fan of media on the web, I’m always excited about enhancements to how we can control our media. Maybe I get excited about simple things like the <video> tag and its associated elements and attributes because media on the web started with custom codecs, browser extensions, and Flash. The latest awesome media feature I’m excited about on…
We break down exactly how to do a cash flow forecast, and more.
Want to know how to do a profit and loss forecast? Read on.
We’re introducing OpenAI Microscope, a collection of visualizations of every significant layer and neuron of eight vision “model organisms” which are often studied in interpretability. Microscope makes it easier to analyze the features that form inside these neural networks, and we hope it will help the research community as we move towards understanding these complicated systems.
In Part I of the article, we summarized our observations of eXtended reality’s foundational blocks - AR, VR and MR. We also discussed the popular and most relevant tools and implementations of the new technology. In Part II of the article, we will be looking at a few accessible and novel implementations of the tech.
The way we interact with technology today is not too far from what was predicted by futuristic, sci-fi pop culture. We are living in a world where sophisticated touch and gesture based interactions are collaborating with state of the art wearables, sensors, Augmented Reality (AR), Virtual Reality (VR) and Mixed Reality (MR). And, this is eXtending user experiences to be…
13 Apr 2020
The mathematician John Horton Conway has died, apparently due to the covid-19 epidemic, at the age of 82. I never met him but by all accounts, he was a delightful person and brilliant mathematician; his charming book on introductory game … Continue reading →
Chris Coyier of CSS-Tricks is an amazing engineer and blogger. He’s not only creative but has always had the drive to put his thoughts to work, no matter how large. He also has a good eye for the little things that can make CSS-Tricks or your site special. One of those little things is his custom scrollbar — let’s have…
12 Apr 2020
Build a Chat Application using Swift, SwiftUI, ReSwift and PubNu - the real-time communication API for every industry
Build a Chat Application using Swift, SwiftUI, ReSwift and PubNu - the real-time communication API for every industry
Learn how to create a robust rating system using Bayesian Average to rank items effectively. Explore its advantages over arithmetic mean and cumulative ratings, and see how it can be applied using the MovieLens Dataset.
11 Apr 2020
Another Zappa, again generated by my Vertigo project. I still have this one lying around, I have to finally frame it. Created: April 2020 Size: 21x21cm Paper: Fabriano Bristol 250gsm Pens: Molotow Blackliner
10 Apr 2020
Welcome to yet another working-from-home pandemic episode of Fun For Friday Fabulous Adventures. Over the past while I’ve gradually been looking for music, movies and games I enjoyed as a teenager and seeing how they hold up. So I am … Continue reading →
The SQL MERGE statement is a device whose mystery is only exceeded by its power. A simple example shows its full power according to standard SQL. Imagine you have a production table for product prices, and a staging table from which you want to load the latest prices. For once, I’m using the Db2 LuW … Continue reading The Many…