~/devreads

31 Jul 2020

30 Jul 2020

ericlippert 5 min read

We now have enough gear to make a naïve “proto-QuickLife” implementation as a test to see (1) does it work at all? and (2) what is the performance compared to our other implementations at various levels of sophistication? Code for … Continue reading →

conwayslife

29 Jul 2020

28 Jul 2020

Florian Scholz 7 min read

Firefox 79 offers a new Promise method, more secure target=_blank links, logical assignment operators, tooling improvements for better JavaScript debugging, and many other updates of interest to web developers. In addition, shared memory is back at last, with a safer implementation. The post Firefox 79: The safe return of shared memory, new tooling, and platform updates appeared first on Mozilla…

developer toolsfeatured articlefirefoxfirefox releasesjavascript

27 Jul 2020

1 min read

Understanding the Nacha operating rules is important for managing ACH payments.

ericlippert 6 min read

We’re continuing with our deep dive into Alan Hensel’s QuickLife algorithm, rewritten in C# with an emphasis on clarity. When last we left off we had the following established: A Quad2 is an immutable wrapper around a ushort A Quad3 … Continue reading →

conwayslife

26 Jul 2020

1 min read

In my book, A Programmer’s Introduction to Mathematics, I describe the Taylor Series as a “hammer for every nail.” I learned about another nail in the design of modern smartphone accelerometers from “Eight Amazing Engineering Stories” by Hammack, Ryan, and Ziech, which I’ll share here. These accelerometers are designed using a system involving three plates, which correspond to two capacitors.…

24 Jul 2020

David Walsh 7 min read

A portfolio site is one of the best marketing and sales tools you as a web developer have in your arsenal. And if it’s set up right, it’ll save you a bunch of time having to: Chase down new clients, Spend time convincing them to work with you, Answer questions about your experience as a coder and what you can…

1 min read

We’re busy preparing for our software engineering fall hiring season. Over the years we’ve done our best to make our interview process more transparent to candidates. While many candidates show up knowing something about what our interviews look like, much of the information floating around on the internet is outdated or wrong. These past few months have also changed a…

23 Jul 2020

Jeffrey Mew 2 min read

We are pleased to announce the release of our new experimental extension, Gather! Gather is a notebook cleaning tool that analyzes and determines the necessary code dependencies within a notebook and performs code cleanup, automating this difficult and time-consuming task. The post Gather: A New Way To Clean Notebooks appeared first on Microsoft for Python Developers Blog.

pythonvisual studio code

ericlippert 6 min read

Last time on FAIC we saw how we could start with nine 2-quads — a 12×12 grid of cells — and with only a handful of ands, ors and table lookups we could get an 8×8 grid of cells of … Continue reading →

conwayslife

Henrik Warne 5 min read

To check if a program is doing what it should, you can inspect the output from a given input. But as the system grows, you also need logging to help you understand what is happening. Good log messages are crucial … Continue reading →

debuggingprogramminglogging

Chris Mills 12 min read

MDN Web Docs turns 15 years old! This celebratory article highlights fifteen big wins of the last five years. With initiatives like the browser compatibility data project, learning areas and new pathways for beginning devs, interactive examples, as well as the Product Advisory Board, the Web DNA Report, and the MDN Swag Store, the MDN community has been busy sharing…

featured articlemdncommunitycontenthackonmdn

22 Jul 2020

lukaseder 1 min read

I just fixed a bug. The fix required me to initialise an Object[] array with the init values for each type, instead of just null, i.e. false for boolean, 0 for int, 0.0 for double, etc. So, instead of just doing: I needed: For the subjective 8E17th time, I wrote a loop. A loop that … Continue reading Could we…

javaaplarrayloopset

21 Jul 2020

Anne van Kesteren 5 min read

At Mozilla, we want the web to be capable of running high-performance applications so that users and content authors can choose the safety, agency, and openness of the web platform. Shared-memory multi-threading is an essential low-level building block for high-performance applications. However, keeping users safe is paramount, which is why shared memory and high-resolution timers were effectively disabled at the…

domfeatured articlefirefoxjavascriptperformance

20 Jul 2020

David Walsh 1 min read

One of my favorite and most essential Function method is bind, a function we added to MooTools when it wasn’t featured in the JavaScript language itself. We often think of using bind to simply bind a method’s call to its host object, but did you know you can also bind arguments with the host object? You’ve probably done something like…

ericlippert 7 min read

Let’s crisp up the problem from last episode. The problem for today’s episode is to write a method that takes these nine 2-quads: Computes these sixteen 1-quads: And returns these four 2-quads: Those four 2-quads form a 3-quad; I haven’t … Continue reading →

conwayslife

Schakko 3 min read

rsync access can be restricted with a custom wrapper script or an official script named “rrsync”. Access to your remote filesystem should always be restricted so you won’t leak any information in case of a security breach. I’ve used GitHub Actions a lot in the last few months. For web […] The post Restrict SSH to rsync for deploying files…

ci cd

Stanko 1 min read

Generative process allows me to work with huge number of elements and tiny details. These details are sometimes impossible to plot, as they would just get lost in the process. That's why I love large format prints - they allow tiny details to be seen and shine through. Created: July 2020 Size: 60x84cm (can't remember for the small one 🙈)…

19 Jul 2020

jonskeet 8 min read

This is a blog post rather than a bug report, partly because I really don’t know what’s at fault. Others with more knowledge of how the console works in .NET Core, or exactly what the Travis log does, might be able to dig deeper. TL;DR: If you’re running jobs using .NET Core 3.1 on Travis … Continue reading Travis logs…

c#diagnosticsgeneral

1 min read

Bitcask was introduced as the backend for a distributed database named Riak in which each node used to run one instance of Bitcask to hold the data that it was responsible for. In this essay, we take a detailed look into Bitcask, its design, and find the secret sauce that makes it so performant.

17 Jul 2020

Joe Minichino 10 min read

You need a Data Lake. The Context Teamwork has been around for more than 10 years. Starting out as a project management and work collaboration platform and later expanding into other areas, such as help-desk, chat, document management and CRM software. As the company has grown and evolved, data has grown, changed, expanded, diversified, fragmented, then changed again. Analytics in…

awsdata-lakebig-data

16 Jul 2020

ericlippert 5 min read

When last we left off we had representations for 0-quads — a single bit — 1-quads — four bits in a row — and 2-quads — a wrapper data structure around an unsigned short that could extract single cells or … Continue reading →

conwayslife

The goal I want to create emails that look their best in all mail clients, whether graphical or text based. Ideally I’d write a message in a simple format like Markdown, and generate the final email from the input file. Additionally, I’d like to be able to include fenced code snippets in the message, and make them available as attachments.…

15 Jul 2020

1 min read

Summary: Read about my efforts to solve the game of Ultimate Tic Tac Toe. It’s been a fun journey into interesting algorithms and high-performance parallel programming in Rust. Backstory Starting around the beginning of the COVID-19 lockdown, I’ve gotten myself deeply nerdsniped by an attempt to solve the game of Ultimate Tic Tac Toe, a two-level Tic Tac Toe variant…

Armen Zambrano 2 min read

If you use Treeherder on repositories that are not Try, you might have used the backfill action. The backfill action takes a selected task and schedules it nine pushes back from the selected task. You can see the original work and the follow up .herehere In the screenshot above you can see that the task mdaturned orange (implying that it…

ericlippert 1 min read

I went out to Shilshole Bay Marina Tuesday night to get a few photos of the comet; it is quite spectacular! If you’re going stargazing this week, bring binoculars, look to the northwest about an hour after sunset, below the … Continue reading →

uncategorized

14 Jul 2020

13 Jul 2020

ericlippert 7 min read

This series is getting much longer than I expected, but I’m having a great time, so let’s keep it going. I want to look at two more algorithms; for the next few episodes we’ll look at the brilliant and subtle … Continue reading →

conwayslife

1 min read

We’re approaching the first anniversary of when I stepped down from my operating role at Splice. The company kept on growing rapidly and be impactful, I am very proud of what the team is doing to change things from within the music industry. I had a blast during my time off: I worked on a great project with Grimes which…

David Walsh 1 min read

We’ve known for a decade that lazy loading resources like JavaScript, CSS, and especially images is a massive performance win for web pages. At first we used tricks and JavaScript to do the lazy loading, but more recently native image lazy loading has debuted in browsers. Did you know that you can also lazy load IFRAMEs using the same loading="lazy"…

12 Jul 2020

David Walsh 1 min read

The stock market is wild right now, at least in the United States. Between pandemic, political events, and everything else going on, the stock market is one swing after another. There are a host of services that give you stock quotes but I don’t trust them; I feel like they delay information, good or bad, so they can get their…

jonskeet 28 min read

Blazor and the Web MIDI API Friday, 9pm Yesterday, speaking to the NE:Tech user group about V-Drum Explorer, someone mentioned the Web MIDI API– a way of accessing local MIDI devices from a browser. Now my grasp of JavaScript is tenuous at best… but that’s okay, because I can write C# using Blazor. So in … Continue reading V-Drum Explorer:…

v-drums

11 Jul 2020

Stanko 1 min read

Plotted in two takes on a single paper. White could be a little stronger, I still regret not doing two passes for each layer. Created: July 2020 Size: 70x40cm Paper: 200gsm Pens: Uni-ball Signo UM-153

10 Jul 2020

David Walsh 1 min read

Working on an open source project with a thriving contribution community is one of the great joys I have at Mozilla. In leading this charge, I get to meet amazing people of all different skill sets and interests, as well as different points of view. In the end I receive hundreds of pull requests of varying size. One drawback of…

9 Jul 2020

ericlippert 7 min read

Code for this episode is here. So far in this series every algorithm we’ve attempted has been either O(cells) or O(changes) in time, and O(cells) in space. Going with a straightforward “big square with dead cells surrounding it” approach tends … Continue reading →

conwayslife

Andrew Halberstadt 12 min read

A browser is an enormously complex piece of software, and it's always in development. About a year ago, we asked ourselves: how could we do better? Our CI relied heavily on human intervention. What if we could instead correlate patches to tests using historical regression data? Could we use a machine learning algorithm to figure out the optimal set of…

artificial intelligencefeatured articlefirefox development highlightscimachine learning

8 Jul 2020

Sid Unnithan 4 min read

The VS Code team is excited to announce releases of the Azure Machine Learning extension which aims to help you manage your core machine learning assets from directly within your favourite editor! The post Enhance your Azure Machine Learning experience with the VS Code extension appeared first on Microsoft for Python Developers Blog.

azureazure machine learningvisual studio codeazure machine learning extensiondata science

7 Jul 2020

Zeke Medley 11 min read

When we talk about the contrast of a page, or contrast between web elements, we’re assessing how color choices impact readability. For visitors with low vision, web pages with low or insufficient contrast can be hard to use. In this article, we’ll walk through the design and implementation of the prefers-contrast media query in Firefox, and look at why it's…

cssfeatured articlefirefoxfirefox development highlightsmedia queries

Janos Kubisch 6 min read

Learn how to distribute and run Jmeter tests along multiple droplets on DigitalOcean using Terraform, Ansible, and bash scripting - to automate the process. The post Distributed Load Testing with Jmeter appeared first on RisingStack Engineering.

devopsedited

6 Jul 2020

ericlippert 4 min read

Last time on FAIC I said that we were done with Stafford’s algorithm, but right after that went up I received a thoughtful email from David Stafford himself; he then introduced me to Michael Abrash and Terje Mathisen, who was … Continue reading →

conwayslife

David Walsh 2 min read

Accurate shipping and location information is well worth the price you need to pay for it. You can sell that information, you can target consumers to perfection, and save yourself loads of frustration when it comes to shipping. Creating your own location API isn’t worth the time — there are amazing APIs that can do that job for you, like…

5 Jul 2020

1 min read

Unlock 10x engineer potential - Simplify complex problems, own your work, and prioritize business impact. Learn key traits for career growth.

3 Jul 2020

Armen Zambrano 1 min read

At the beginning of this year we landed a new feature on Treeherder. This feature helps our users to filter jobs using test paths or manifest paths. This feature is useful for developers and code sheriffs because it permits them to determine whether or not a test that fails in one platform configuration also fails in other ones. Previously, this…

2 Jul 2020

Sarah Schneider 9 min read

ICYMI: docs.github.com is the new place to discover all of GitHub’s product documentation! We recently completed a major overhaul of GitHub’s documentation websites. When you visit docs.github.com today, you’ll see content from the former help.github.com and developer.github.com sites in a unified experience. Our engineering goals were two-fold: 1) improve the reading and navigation experience for GitHub’s users; 2) improve the…

ericlippert 4 min read

In today’s episode I want to again pause for a moment — this time, to verify that our allegedly O(change) implementation of Stafford’s algorithm really does have its performance gated on the number of cells changing in a tick. Here’s … Continue reading →

conwayslife

1 Jul 2020

Marcos Caceres 2 min read

As part of Mozilla’s ongoing commitment to improve the privacy and security of the web platform, over the next few months, we will be making some changes to the Gamepad API. Starting with Firefox 81, the Gamepad API will be restricted to what are known as “secure contexts.” The post Securing Gamepad API appeared first on Mozilla Hacks - the…

featured articlehtmlsecurityweb apisgamepad api

30 Jun 2020

David Walsh 1 min read

SVGs are such an amazing tool for creating custom fonts, animations, size-reduced graphics, and more. They’re part HTML, part image, and all awesome. Many websites have moved toward SVG instead of JPG, GIF, and PNG due to the flexibility that SVG provides. Whats one example of that flexibility? Did you know that you can embed JavaScript directly in your SVG…

Florian Scholz 9 min read

Firefox 78 heads heads out the door with a new regex engine, updates to the ECMAScript Intl API, new CSS selectors, enhanced support for WebAssembly, some important WebExtensions API updates, and many improvements to the Firefox Developer Tools. The post New in Firefox 78: DevTools improvements, new regex engine, and abundant web platform updates appeared first on Mozilla Hacks -…

featured articlefirefoxfirefox development highlightsfirefox releases

34 min read

Any time you have a benchmark that gets taken seriously, some people will start gaming the benchmark. Some famous examples in computing are the CPU benchmark specfp and video game benchmarks. With specfp, Sun managed to increase its score on 179.art (a sub-benchmark of specfp) by 12x with a compiler tweak that essentially re-wrote the benchmark kernel, which increased the…

29 Jun 2020

ericlippert 13 min read

Code for this episode is here. Today we can finish off our C# implementation of Stafford’s algorithm. Last time we turned the first pass into a table lookup; it might be a bit harder to optimize the second pass. Let’s … Continue reading →

conwayslife