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…
6 Feb 2020
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.
4 Feb 2020
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…
3 Feb 2020
Today we’re making it even easier to collect payment for your Xero invoices.
At this point in my career, I’ve worked on at least three projects where performance was a defining characteristic: Livegrep, Taktician, and Sorbet (I discussed sorbet in particular last time, and livegrep in an earlier post). I’ve also done a lot of other performance work on the tools I use, some of which ended up on my other blog, Accidentally…
When we set up a schedule on a computer, such as a list of commands to run every day at particular times via Linux cron jobs, we expect that schedule to execute reliably. Of course we’ll check the logs to see whether the job has failed, but we never question whether the cron daemon itself will function. We always assume…
Announcing the general availability of Serverless CI/CD in Serverless Framework Pro, a continuous integration and deployment service you can use for free.
2 Feb 2020
Let’s explore the use cases of combining real-time WebRTC video and voice communication with the Internet of Things.
I recently fell into a trap using Traefik as the ingress controller in one cluster. I decided to write about it with hopes it maybe help someone else.
1 Feb 2020
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: Move #[global_allocator] into allocator module Update many_boxes test to scale with heap size New post about allocator designs 🎉 Provide multiple implementations…
31 Jan 2020
For over a decade Mozilla has been using to publicly chat with anyone interested to join the community. Recently, we’ve launched a replacement for it by creating a . I will be focusing on simply documenting what the process looks like to join in as a community member (without an LDAP account/Mozilla email address). For the background of the process…
This week, Chang Xu and I are running our very first Braintrust LA event. While the event is private and we won’t talk about who’s presenting and who’s attending, I wanted to share with you a note we wrote to the attendees. The idea of organizing Braintrust LA came to us when we discussed what we could do to help…
Our comprehensive guide the most popular SaaS pricing models and strategies.
We break down the main business structures and help you choose the right one.
Looking to motivate your team? Our top 6 tips for effective employee management.
“The user has not been granted the requested logon type at this computer.” when accessing Windows 10 network resources
SchakkoA few years ago, I stumbled upon the same issue with Windows 7 and already blogged about it. But the error “The user has not been granted the requested logon type at this computer.” can still occur in Windows 10 when accessing network resources like shared folders. The reason for […] The post “The user has not been granted the…
Uncover anomalies with Isolation Forest, an unsupervised algorithm. Learn its core principles, tree construction, and scoring for anomaly detection.
30 Jan 2020
Web performance issue — reoccurrence In June we discovered that Treeherder’s UI slowdowns were due to database slow downs (For full details you can read ). After a couple of months of investigations, we did various changes to the RDS set up. The changes that made the most significant impact were doubling the DB size to double our IOPS cap…
The term ‘work-life balance’ isn’t just a trendy buzzword, it’s a seriously ...
Find out how to calculate, measure, improve renewal rates for your Saas business
Neil Morgan highlights the big opportunities in the global subscription economy.
We are standardizing OpenAI’s deep learning framework on PyTorch.
The new version of our open-source map publishing project OpenMapTiles 3.11 adds support for disputed borders, roads under construction and adds two new languages.
A large portion of an Android app’s build time can consist of Dagger annotation processing, and most developers agree that productivity is…
29 Jan 2020
Here's our checklist, with five of the most important things you must do.
If your business is seeking investment, you need to understand private equity.
PCI DSS compliance is crucial when taking card payments. Here's how to do it.
Taking card payments over the phone? Here are 4 security considerations.
Thinking about moving to the cloud? Here are the pros and cons.
Once you've delivered your product or service, you need to invoice. Here's how.
LTV. Churn. MRR. What else are you missing?
Payment preference matters. Learn how SaaS businesses can win more subscribers.
Sometimes people ask me what my setup looks like for remote work. I decided to try and keep a more-or-less updated list of the hardware and software I’m using.
25 Jan 2020
Luciano Mammino reflects on his 2019 tech career achievements including conference talks, career moves, open source contributions, and blog posts. He also sets realistic goals for 2020 like finding a new job, releasing Middy 1.0, and getting an advanced AWS certification.
24 Jan 2020
While watching the first episode of the new Star Trek series just now I noticed a nice little Easter egg: Admiral Picard (retired) apparently has the same 1982 science fiction book club edition of The Complete Robot handy on his … Continue reading →
This is the second in an indefinite series of posts about things that I think went well in the Sorbet project. The previous one covered our testing approach. Sorbet is fast. Numerous of our early users commented specifically on how fast it was, and how much they appreciated this speed. Our informal benchmarks on Stripe’s codebase clocked it as typechecking…
MapTiler is partnering with MIERUNE and opnes for business in Japan with maps adapted to the Japanese market.
Find out how we go about debugging and troubleshooting our Serverless APIs with Serverless Framework Pro
A look at our Knative Integration and the context around it.
Learn how to use the Serverless Framework to deploy your first Knative service on a Kubernetes cluster running in Google Cloud.
23 Jan 2020
BIC and SWIFT codes can be confusing, here is our simple guide.
Expanding into Canada? An overview of Canadian business bank account essentials
Need to know the rules around taking card payments? We've got you covered.
Expanding into Europe? Without GC you might need to open business accounts...
Expanding into the States? An overview of US business bank accounts...
On Monday I had to put my beloved cat, Irida, to sleep. Who is Irida Iris) after a server in my university. It worked well for me that everybody thought the name was given due to her special look. Living with Irida The sickness Squamous cell Carcinoma on her jaw. What now I cried a lot, I am in pain…
How to build a mobile Android chat app with Cordova/PhoneGap and AngularJS, then turn it cross-platform for mobile and web devices.
22 Jan 2020
Security, Privacy and Trust will be major themes in 2020. Looking at this arm report, 30% of surveyed folks were more concerned in 2019 over data privacy and security than they were in 2018. Add the elections, legal actions against Google & Facebook, Apple and others pushing for less tracking and safer data and we are going to see a…
Recently I started playing with generative art. I'm new to the whole thing and I'm absolutely enjoying it. Today I want to show you the first generative art project I'm satisfied with. It is called Neon and you can check it out here or by clicking on the image below. I will try to explain in detail how Neon works,…
In the past few years, we’ve seen a lot of change and diversion in regard to web technologies. In 2020, I foresee us as a web community heading toward two major trends/goals: extensibility and interoperability.
21 Jan 2020
November 2019 was a busy month for the Mozilla Developer Roadshow, with stops in five Asian cities —Tokyo, Seoul, Taipei, Singapore, and Bangkok. Today, we’re releasing a playlist of the talks presented in Asia, with subtitles available for all these talks in languages spoken in the countries on this tour: Japanese, Korean, Chinese, Thai, as well as English. We covered…
GoReleaser’s journey begins in December 21, 2016: the day I made its very first commit. It has been a long road since then.
20 Jan 2020
In this tutorial we show how you can generate a static site with Hugo and Netlify in an easy and fast way. The post Generating a Static Site with Hugo + Netlify in 15 minutes appeared first on RisingStack Engineering.
An IP address is a simple, numeric piece of information that gets passed to a server, but that IP address can provide a wealth of information with ipdata. With ipdata you can learn user location, language, currency, and much more! Quick Hits ipdata is an IP Geolocation and Threat Intelligence API. It helps you locate users by IP Address and…
Here are more good programming quotes I have found since my last post. Microservices “Microservices are just dynamic linking over HTTP” via @mononcqc “kubernetes – turning things off and on again, at scale” @decimalator Full stack “A full stack developer … Continue reading →
We recently updated MapTiler Satellite all over France with high-resolution aerial imagery.
When I’ve first learned that there is something more than printing things to console log4j was state of the art solution. Then SLF4J joined the party and improved where log4j was lacking. The new version of LOG4J is available for some time already and I didn’t have a chance to look at what if offers. Let’s examine what’s possible with…
This post explains how to implement heap allocators from scratch. It presents and discusses different allocator designs, including bump allocation, linked list allocation, and fixed-size block allocation. For each of the three designs, we will create a basic implementation that can be used for our kernel. This blog is openly developed on GitHub. If you have any problems or questions,…
At KotlinConf 2019, I talked about the power of types. In essence, I discussed limiting the number of primitives we use in our code in favor…
19 Jan 2020
Testing and feedback loops This post tries to set out one mental model I have for thinking about testing and the purpose testing serves in software engineering, and to explore some of the suggestions of this model. As mentioned in an earlier post, I think a lot about working in long-lived software projects that are undergoing a lot of development…
17 Jan 2020
I had a lot of fun writing blog posts in the past about my home lab and some of my personal infrastructure so I thought I would do the same as we built out our office. Much like moving into a new place, the first thing I always plan to have setup on move-in day is internet. We did the…
Explore image steganography - Hide secret messages within images! Learn techniques, from LSB substitution to JPEG methods.
16 Jan 2020
One of my personal projects this year is to understand and build a SLAM (Simultaneous localization and mapping) robot. To get started I bought the Xaxxon OpenLidar and after a few struggles getting it to work correctly in a VM I finally did and decided to throw together my build notes for future reference. Virtual Platform While I would have…
The HIPAA Security Rule requires companies and individuals that handle PHI to protect data with a series of physical, technical, and administrative safeguards.
The latest update to our density guidelines includes a new systematic approach to applying density and spacing in digital products.
15 Jan 2020
Chances are you should instead be investing in data engineering so you can take a deep look at your properly labeled and processed data instead of throwing hundreds of thousands of dollars in Machine Learning (ML). ML isn’t magical, you need a lot of clean, labeled data. Then you need a specific use case to design and deploy a great…
Improve your accounts receivable processes with objectives and goals...
Where to start when creating invoices for your freelance work...
Our top customer retention strategies to keep customers engaged with your brand.
A behind-the-scenes look at the evolution of the Picture-in-Picture player for the Firefox Desktop browser. This feature is now available for MacOS, Linux and Windows users. From the beginning, it's been shaped by your feedback and inputs, with user agency as a core principle of our design and development. The post How we built Picture-in-Picture in Firefox Desktop with more…
We make Direct Debit accessible to small businesses.
We break down everything you need to know about CHAPS payments and transfers.
There are a number of ways to improve Cash Flow, here are 7 top tips.
Churn reduction is one of the biggest challenges in Saas, here are our top tips.
A guide to small business grants and how to apply for them.
14 Jan 2020
Step by step instructions on creating your first invoice...
Developers have an efficient and effective way to build/manage their mobile push notification architecture for Apple devices with new APNS2 support
Recently my employer (Google) forced me to switch to Mercurial instead of my usual version control system, git. The process of switching sparked a few discussions between me and my colleagues about the value of various version control systems. A question like “what benefit does git provide over Mercurial” yielded no clear answers, suggesting many developers don’t know. An informal…
13 Jan 2020
In 2017 and 2018, I (along with Paul Tarjan and Dmitry Petrashko) was a founding member of the Sorbet project at Stripe to build a gradual static typechecking system for Ruby, with the aim of enhancing productivity on Stripe’s millions of lines of Ruby, and eventually producing a useful open-source tool. I’m very proud of the work we did (and…
New business owners shouldn’t underestimate the cost of setting up a company...
What are the risks, advantages and drawbacks to outsourcing payroll?
When should businesses consider moving to a subscription model?
For many businesses, late payments aren’t the exception, they’re the rule.
How much does it cost to outsource payroll? We’ve crunched the numbers...
Cash flow and profit are very different, and if you’re a business owner...
Our top 8 tactics for improving your business' Accounts Receivable processes.
10 Jan 2020
Explore Python's arbitrary-precision integers! Learn how it handles large numbers internally, from storage to operations like addition.
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.
Sometimes it’s good to have an option to try something out on the live environment. Checking things against production like traffic is the most reliable way to gather real-life metrics. In this post, I’m going to try and set up spring cache with a toggle. It’ll be possible to turn it off and on during application runtime possibly using external…
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.
7 Jan 2020
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.