~/devreads

11 Jun 2019

10 Jun 2019

ericlippert 9 min read

Last time on FAIC we implemented a better technique for estimating the expected value of a function f applied to samples from a distribution p: Compute the total area (including negative areas) under the function x => f(x) * p.Weight(x) … Continue reading →

uncategorizedfixing random

Dave Cheney 9 min read

This essay is a derived from my dotGo 2019 presentation about my favourite feature in Go. Many years ago Rob Pike remarked, “Numbers are just numbers, you’ll never see 0x80ULL in a .go source file”. —Rob Pike, The Go Programming Language Beyond this pithy observation lies the fascinating world of Go’s constants. Something that is […]

goprogrammingsmall ideasconstantserror handling

8 Jun 2019

1 min read

At Google, our organization designs, owns, and maintains a number of optimization models that automate the planning of Google’s datacenter growth and health. As is pretty standard in supply chain optimization and planning, these models are often integer linear programs. It’s a core competency of operations research, after all. One might think, “Large optimization problems? That sounds hard!” But it’s…

6 Jun 2019

lukaseder 1 min read

How to write a simple API is already an art on its own. I didn’t have time to write a short letter, so I wrote a long one instead. ― Mark Twain But keeping an API simple for beginners and most users, and making it extensible for power users seems even more of a challenge. … Continue reading How to…

javaapiapi designdependency injectionextensibility

5 Jun 2019

Matthew Green 7 min read

At Monday’s WWDC conference, Apple announced a cool new feature called “Find My”. Unlike Apple’s “Find my iPhone“, which uses cellular communication and the lost device’s own GPS to identify the location of a missing phone, “Find My” also lets you find devices that don’t have cellular support or internal GPS — things like laptops, … Continue reading How does…

appleprivacy

4 Jun 2019

Hidde de Vries 7 min read

Focus indicators make the difference between day and night for people who rely on them. Focus is something that happens between the interactive elements on a page. In this post I will explain what we mean by focus, show you how focus outlines make your site easier to use for anyone who relies on the keyboard, and share examples of…

featured articlea11yaccessibilityfocusfocus outlines

Ferenc Hámori 6 min read

A look back at what exactly happened to Node.js so far, from the point where it was born. The history of Node.js on a timeline: 2009-2019 The post History of Node.js on a Timeline appeared first on RisingStack Engineering.

node.jsedited

14 min read

If there is anything like a silver bullet for creating meaningful and actionable alerts with a high signal-to-noise ratio, it is alerting based on service-level objectives (SLOs). Fulfilling a well-defined SLO is the very definition of meeting your users’ expectations. Conversely, a certain level of service errors is OK as long as you stay within the SLO — in other…

3 Jun 2019

ericlippert 8 min read

Last time on FAIC I showed why our naïve implementation of computing the expected value can be fatally flawed: there could be a “black swan” region where the “profit” function f is different enough to make a big difference in … Continue reading →

uncategorizedfixing random

ryan.glover@cleverbeagle.com (Ryan Glover) 14 min read

Handling data in React can be treacherous if you don’t know your way around. Learn some common patterns for fetching, storing, and retrieving data in this guide to help you avoid messy code traps. React’s flexibility means you can handle data in a lot of different ways. This guide will teach you patterns for fetching, storing, and retrieving data in…

reactdatastatehooksrefs

trevor 7 min read

Hundredths of a second typically separate Gold medalists and Silver medalists in an Olympic track race, and as such, precise timing measurements are critical. Even if you’re not training for the next Olympic Games, you probably want an accurate estimate of distance and time when you go for a run. At Freeletics, we strive to make our app as precise…

2 min read

This post gives an overview of the recent updates to the Writing an OS in Rust blog and to the used tools. I was quite busy with my master thesis this month, so I didn’t have the time to create new content or major new features. However, there were quite a few minor updates. x86_64 Use cast crate instead of…

2 Jun 2019

31 May 2019

30 May 2019

ericlippert 2 min read

I’m continuing with my project to port over, reformat and update a decade of old blog posts. Today, a few days in mid-October 2003; this is still my second month of blogging and I am writing at what I would … Continue reading →

uncategorized

Jeff Atwood 6 min read

When I wrote about App-pocalypse Now in 2014, I implied the future still belonged to the web. And it does. But it’s also true that the web has changed a lot in the last 10 years, much less the last 20 or 30. Websites have

website performanceonline advertising

29 May 2019

Yulia Startsev 1 min read

In what ways can empirical evidence be used in the design of a language like JavaScript? At TC39, as stewards of the JavaScript specification, how do we answer questions about the design of JavaScript and help make it accessible to the thousands of new coders who join the industry each year? To answer this we need to experiment, and I…

featured articlejavascriptecmaecmascriptstandards

1 min read

Version management in maven (especially in multi-module projects) was not pleasant and required multiple build steps, some magic commands and maybe bash script here and there. With version 3.5.0 new cool feature has been added to maven. From this version you can easily customize your build number from build tools using simple properties like ${revision} ${sha1} and ${changelist}. Read more

28 May 2019

ericlippert 9 min read

Last time on FAIC we reviewed the meaning of “expected value”: when you get a whole bunch of samples from a distribution, and a function on those samples, what is the average value of the function’s value as the number … Continue reading →

uncategorizedfixing random

27 May 2019

26 May 2019

Henrik Warne 7 min read

The book Accelerate details the findings of four years of research on how DevOps affects various outcomes, such as software delivery tempo and stability, as well as the organizations’ profitability and market share. DevOps in this context means things like … Continue reading →

programmingtestingworkbookbook review

25 May 2019

jonskeet 3 min read

This morning I tweeted this: Just found a C# 8 nullable reference types warning in Noda Time. Fixing it by changing Foo(x, x?.Bar) to Foo(x, x?.Bar!) which looks really dodgy… anyone want to guess why it’s okay? This attracted more interest than I expected, so I thought I’d blog about it. First let’s unpack what … Continue reading Lying to…

c#c# 8evil code

23 May 2019

Nathan Egge 3 min read

With this week's release of Firefox 67, the new high performance royalty-free AV1 video decoder dav1d is now enabled by default on all desktop platforms (Windows, OSX and Linux) for both 32-bit and 64-bit systems. And work is in progress on rav1e, the Rust AV1 encoder. The post Firefox brings you smooth video playback with the world’s fastest AV1 decoder…

av1featured articlefirefoxperformanceresearch

Most programming languages evolved awkwardly during the transition from ASCII to 16-bit UCS-2 to full Unicode. They contain internationalization features that often aren’t portable or don’t suffice. Unicode is more than a numbering scheme for the characters of every language – although that in itself is a useful accomplishment. Unicode also includes characters’ case, directionality, and alphabetic properties. The Unicode…

22 May 2019

21 May 2019

admin 1 min read

This year’s Bazzarvoice Hackathon coincided with our annual all hands meeting in Austin. Our global offices took time to work on projects that focused on innovation, social integrations, and improved efficiencies. Teams across our departments participated This included: R&D, Product, Customer Services, and Knowledge Base. Hackathon teams took two days to work on their projects. […]

culture

Dan Callahan 4 min read

Firefox 67 is now available in general release, bringing a faster and better JavaScript debugger, support for CSS prefers-color-scheme queries, and the initial debut of WebRender in stable Firefox. Dan Callahan walks through the highlights of browser, platform, and tooling features. The post Firefox 67: Dark Mode CSS, WebRender, and more appeared first on Mozilla Hacks - the Web developer…

featured articlefirefoxfirefox releasesdarkmodewebrender

20 May 2019

ericlippert 5 min read

Last time in this series we saw that we could compute a continuous posterior distribution when given a continuous prior and a discrete likelihood function; I hope it is clear how that is useful, but I’d like to switch gears … Continue reading →

uncategorizedfixing random

6 min read

Nearly two years ago I posted this endless GIF that always shows the current time in UTC: Now looking at my GoAccess dashboard I can see that it is picking up in popularity rather suddenly: But strangely I can’t find anything about time.gif being linked on the web. So this might just be an attempted Denial of Service (DoS) attack?…

19 May 2019

18 May 2019

Dave Cheney 2 min read

I started working remotely in 2012. Since then I’ve worked for big companies and small, organisations with outstanding remote working cultures, and others that probably would have difficulty spelling the word without predictive text. I broadly classify my experiences into three tiers; Little r remote The first kind of remote work I call little r […]

small ideasremote work

17 May 2019

1 min read

Our second class of OpenAI Fellows has wrapped up, with each Fellow going from a machine learning beginner to core OpenAI contributor in the course of a 6-month apprenticeship. We are currently reviewing applications on a rolling basis for our next round of OpenAI Fellows Summer 2019.

company

16 May 2019

ericlippert 1 min read

We’ll get back to stochastic programming soon; I wanted to do a quick post about some updates to my earlier series on anti-unification. As I noted in the final part of that series, I spent a few months in 2018 … Continue reading →

uncategorized

Harald Kirschner (digitarald) 5 min read

Script debugging is one of the most powerful and complex productivity features in the web developer toolbox. Done right, it empowers developers to fix bugs quickly and efficiently. The DevTools Debugger team – with help from our tireless developer community – has just landed updates that significantly improve performance and reliability. The post Faster smarter JavaScript debugging in Firefox DevTools…

developer toolsfeatured articlefirefoxfirefox releasesperformance

3 min read

Suppose you have a text file and you need to remove all of its duplicate lines. TL;DR To remove the duplicate lines preserving their order in the file use: awk '!visited[$0]++' your_file > deduplicated_file How it works The script keeps an associative array with indices equal to the unique lines of the file and values equal to their occurrences. For…

linuxbashscriptsfileawk

15 May 2019

Josephine Lau 8 min read

In designing Mozilla WebThings, we have consciously insulated users from servers that could harvest their data, including our own Mozilla servers, by offering an interoperable, decentralized IoT solution. Learn about the user research that informs our project, and how we've engineered privacy by design into every aspect of Mozilla WebThings. The post Empowering User Privacy and Decentralizing IoT with Mozilla…

privacyiotmozilla webthingsprivacy by designwebthings

3 min read

“Can I get an encore, do you want more” - Jay-Z I recently read Ben Horowitz’s book, The Hard Thing about Hard Things. It’s really eye opening and creates a level of empathy in the reader for leaders that make hard decisions every day. It covers everything from how to know your company is toxic to how to do layoffs.…

4 min read

Looking for a job as a software developer can be scary, exhausting, or overwhelming. Where you apply and how you interview impacts whether you’ll get a job offer, and how good it will be, so in some sense the whole job search is a form of negotiation. So how do you learn to make a good impression, to convince people…

14 May 2019

Dave Cheney 4 min read

In previous posts and presentations I talked about how to test, and when to test. To conclude this series of I’m going to ask the question, why test at all? Even if you don’t, someone will test your software I’m sure no-one reading this post thinks that software should be delivered without being tested first. […]

programmingtesting

13 May 2019

ericlippert 8 min read

Last time on FAIC I posed and solved a problem in Bayesian reasoning involving only discrete distributions, and then proposed a variation on the problem whereby we change the prior distribution to a continuous distribution, while preserving that the likelihood … Continue reading →

uncategorizedfixing random

m@peka.la (Maciek Pekala) 7 min read

One of the things I enjoy the most about coding is discovering patterns. Being aware and mindful of the patterns emerging in your codebase can make it easier to keep that codebase consistent, readable and easy to navigate. Most patterns will remain unspoken, and some, that prove notably elegant, are named and promoted as best practices. Others might even be…

reactpatterns

1 min read

WebAssembly is getting more popular than ever. The use of WebAssembly outside the confinement of a web browser also starts to gain traction, as evidenced from projects such as WebAssembly Interface. Understanding the memory model of WebAssembly will be important in order to fully comprehend its power as well as its constraints.

1 min read

At Jane Street, for the last several years, we have been increasingly interested in machine learning and its many use cases. This is why it was exciting when earlier this year myself and a few of my colleagues had the opportunity to attend the AAAI 2019 conference. We’d like to take this space to share with you some of the…

12 May 2019

1 min read

TL;DR Prefer f(void) in C to potentially save a 2B instruction per function call when targeting x86_64 as a micro-optimization. -Wstrict-prototypes can help. Doesn’t matter for C++. The Problem While messing around with some C code in godbolt Compiler Explorer, I kept noticing a particular funny case. It seemed with my small test cases that sometimes function calls would zero…

11 May 2019

10 May 2019

ericlippert 6 min read

[It is] a spectacular vindication of the principle that each individual coin spun individually is as likely to come down heads as tails and therefore should cause no surprise that each individual time it does. Thus Guildenstern (or is it … Continue reading →

uncategorizedfixing random

1 min read

In the past, I’ve been doing various things with maven. Some of them were standard, some were more complicated and a couple of them were complex. For those complex solutions, I felt like I needed a plugin but I’ve never had enough time to write it properly. In this post, I’m going to explore the basics of writing maven plugin.…

9 May 2019

Eric Rescorla 12 min read

Recently, Firefox had an incident in which most add-ons stopped working. This was due to an error on our end: we let one of the certificates used to sign add-ons expire which had the effect of disabling the vast majority of add-ons. Now that we’ve fixed the problem for most users and most people’s add-ons are restored, I wanted to…

firefoxadd-ons

3 min read

If you’re tired of working long hours, a part-time—or even just 4 days a week—programming jobs seems appealing. You’ll still get paid, you’ll still hopefully enjoy your job—but you’ll also have more time for other things in your life. Hypothetically you could negotiate for more free time, but obviously no company would ever agree to a shorter workweek, right? And…

8 May 2019

8 min read

I gave a talk recently at GoTo Chicago on Why open source firmware is important and I thought it would be nice to also write a blog post with my findings. This post will focus on why open source firmware is important for security. Privilege Levels In your typical “stack” today you have the various levels of privileges. Ring 3…

7 May 2019

1 min read

Abstract In writer-priority reader/writer locks, as soon as a single writer enters the acquisition queue, all future accesses block behind any in-flight reads. Thus, if any readers hold the lock for extended periods of time, this can lead to extreme pauses and loss of throughput given even a very small number of writers. This phenomenon is well-known in certain systems…

Dave Cheney 11 min read

I’m a big fan of testing, specifically unit testing and TDD (done correctly, of course). A practice that has grown around Go projects is the idea of a table driven test. This post explores the how and why of writing a table driven test. Let’s say we have a function that splits strings: // Split […]

goprogrammingtestingunit test

6 May 2019

ericlippert 8 min read

Last time on FAIC we implemented a technique for sampling from a non-normalized target PDF: Find an everywhere-larger helper PDF that we can sample from. Sample from it. Accept or reject the sample via a coin flip with the ratio … Continue reading →

uncategorizedfixing random

4 May 2019

bohops 4 min read

Introduction Last week, I presented COM Under The Radar: Circumventing Application Control Solutions at BsidesCharm 2019. In the presentation, I briefly discussed COM and highlighted a few techniques for bypassing Windows application control solutions. One of those techniques takes advantage of an issue with catalog hygiene where old code often remains signed in updated versions […]

uncategorized

3 May 2019

13 min read

Maestro is a library we have developed to handle all playback across SoundCloud web applications. It successfully handles tens of millions of plays per day across soundcloud.com, our mobile site, our widget, Chromecast, and our Xbox application. We are considering open sourcing it, and this blog post is a technical overview of what we’ve achieved thus far with Maestro.

2 May 2019

Ramon 1 min read

I Recently complete a basic ncurses based terminal application for minglinng with bits. I’m working low level most of the times and need to tinker with bits, masks and to translate between number bases (hex to dec, and vice verse). As I’m working 99% of my time in a terminal, I found it very annoying […]

uncategorized

ericlippert 7 min read

Last time on FAIC we went through a loose, hand-wavy definition of what it means to have a “weighted” continuous distribution: our weights are now doubles, and given by a Probability Distribution Function; the probability of a sample coming from … Continue reading →

uncategorizedfixing random

7 min read

In this post we are going to manage nested objects of a document indexed with Elasticsearch. The nested type is a specialised version of the object datatype that allows arrays of objects to be indexed in a way that they can be queried independently of each other. – Nested datatype - Official Elasticsearch reference Prerequisites To follow this post you…

elasticsearchopensourcescriptshow-tonested objects

1 min read

Here’s a very opinionated tour of some of the various technologies available to individuals and companies. This is far from a complete list and the comments are based on my personal opinions which might not match your expectations, values or even experience. This first part will focus on programming languages. Programming languages Safe bets and my preferred languages Go https://golang.org…

1 May 2019

ericlippert 2 min read

I’m continuing in my efforts to move and update all my old content from my MSDN blog to ericlippert.com. Today, posts from early October of 2003. In, out, in-out, make up your mind already The late-binding code designed for OLE … Continue reading →

uncategorized

3 min read

When you’ve been deeply focused on a big project or a new job, you might poke your head up and feel lost. Like the tech world has moved beyond you. Did that time you didn’t spend learning new things finally catch up with you? And how can you close that gap? Study at home? Or learn at work? If you…

3 min read

Lot’s of things changed in the Writing an OS in Rust series in the past month, both on the blog itself and in the tools behind the scenes. This post gives an overview of the most important updates. This post is an experiment inspired by This Week in Rust and similar series. The goal is to provide a resource that…

Stanko 2 min read

This time I want to share a small range slider (progress bar) I built. Check the demo. Code and documentation are available here. Same story again, on a React project we needed a media progress bar, and I ended up writing one myself. Why I didn't like anything I found? Well, everything I tried was missing one of the things…

30 Apr 2019