~/devreads

29 May 2020

MapTiler 1 min read

Are you creating a mobile app or website with dark mode and looking for a map to fit the design? Try Dark and Night maps and create your own!

28 May 2020

ericlippert 5 min read

Source code for this episode is here. Just as a reminder: I am developing my C# version of Stafford’s “QLIFE” algorithm by taking Abrash’s “keep the neighbour counts around” algorithm and gradually adding optimizations. That’s much easier to understand than … Continue reading →

conwayslife

27 May 2020

Landon Schropp 5 min read

“You’re not really a developer. Sooner or later people are going to realize you don’t know what you’re talking about. You’re just not good enough.” You’ve probably had thoughts like these at one point or another. You’ve never heard someone else tell you that you’re not a developer, but you’re still thinking it. You may be thinking along these lines…

Stanko 1 min read

I always liked the flow on this one, it feels natural. Created: May 2020 Size: 30x36cm Paper: Fabriano Bristol 250gsm Pens: Pigma Micron

26 May 2020

ericlippert 6 min read

Code for this episode can be found here. Exciting news for the client; I have added a play/pause button. I suppose I could have added that single line of code earlier, but hey, better now than later. Last time on … Continue reading →

conwayslife

25 May 2020

3 min read

My mom has a tendency to buy these really terribly spec’d Windows machines. She’s been doing it for as long as I’ve been alive. I was surprised when on one of our latest Zoom calls she said “You know what, I’m beginning to think that size matters.” I’ve only been telling her this for years! Here’s the problem. There are…

Mohan Pierce 4 min read

Steganography. The art of hiding something right under your nose. For as long as humans have been alive, we’ve been trying to hide things — whether it’s our last slice of pizza or the location of a buried treasure. Do you remember the cool invisible lemon ink trick, where we’d write the secret message with lemon and heat the paper…

LibreSSL is a fork of OpenSSL that improves code quality and security. It was originally developed for OpenBSD, but has since been ported to several platforms (Linux, *BSD, HP-UX, Solaris, macOS, AIX, Windows) and is now the default TLS provider for some of them. When debugging a program that uses LibreSSL, it can be useful to see decrypted network traffic.…

24 May 2020

Schakko 4 min read

There are situations in which you want to use your own Artifactory server for resolving Maven dependencies. Maybe you have private artifacts or are not yet in the process of migrating from Artifactory to GitHub Packages. What is the goal of this blog post? This blog shows you how you […] The post How to use a private Maven repository…

ci cd

Dave Cheney 2 min read

Per the overlapping interfaces proposal, Go 1.14 now permits embedding of interfaces with overlapping method sets. This is a brief post explain what this change means: Let’s start with the definition of the three key interfaces from the io package; io.Reader, io.Writer, and io.Closer: Just as embedding a type inside a struct allows the embedded type’s […]

goprogrammingcompilerinterfaces

22 May 2020

1 min read

In my book I discuss the importance of context in reading and writing mathematics. An early step in becoming comfortable with math is deciphering the syntax of mathematical expressions. Another is in connecting the symbols to their semantic meanings. Embedded in these is the subproblem of knowing what to call the commonly used symbols. The more abstract you go, the…

21 May 2020

ericlippert 14 min read

Source code for this episode is here. I’ve added a panel to the UI that moves as the UI is resized; I’ll add some controls to it in future episodes. Back in 1994 I made a photocopy of an article … Continue reading →

conwayslife

20 May 2020

Vicent Martí 25 min read

.gist table { margin-bottom: 0; } Although GitHub.com is still a Rails monolith, over the past few years we’ve begun the process of extracting critical functionality from our main application, by rewriting some of the code in Go—mostly addressing the pieces that need to run faster and more reliably than what we can accomplish with Ruby. Last year, we deployed…

Matt Bryant 9 min read

Firefox Profiler is a powerful web-based performance analysis interface featuring call trees, stack charts, flame graphs, and more. All data filtering, zooming, slicing, and transformation actions are preserved in shareable URLs. FunctionTrace is a low-overhead profiler that runs on unmodified Python applications. Integrated with Firefox, it's a new breed of analysis tool project built conveniently on top of the Firefox…

featured articlefirefoxfirefox development highlightsperformancefirefox profiler

19 May 2020

srinivas.tamada@gmail.com (Srinivas Tamada) 1 min read

Are you interested to create and publish NPM packages/libraries to enrich Angular functionality? Take a quick look at this post. You can share solutions with other developers. A simple package can solve many problems and resolve the issue quickly. If you are working with multiple applications? Package approach will help you to solve the components problems easily. In this post…

angularbootstraplibrarynodenpm

18 May 2020

jgamblin 1 min read

I have been spending a lot of time over the last few weeks looking at the OSQuery to get a better understanding of what it can do since it seems every major security tool from Sophos to Cisco to CarbonBlack is building it into their product. I have also been looking at Juypter notebooks for machine learning and data science…

uncategorized

ericlippert 7 min read

Last time on FAIC I discussed a technique for parallelizing computation of Life grids by using SIMD instructions to handle 256 bits worth of grid state truly in parallel. Today I’m going to not present an implementation, but rather discuss … Continue reading →

conwayslife

5 min read

When you’re looking for a new programming job, how do you explain your value? The usual approach is a long list of technologies, but this leaves out a critical skill: your ability to solve problems. If you can convey your level of skill at problem solving, you can get: More job offers. Jobs with technologies you don’t know. A higher…

17 May 2020

1 min read

This essay is a slightly modified version of the closing chapter of A Programmer’s Introduction to Mathematics. We are no longer constrained by pencil and paper. The symbolic shuffle should no longer be taken for granted as the fundamental mechanism for understanding quantity and change. Math needs a new interface. –Bret Victor, “Kill Math” Math is a human activity. It’s…

1 min read

The Second Edition of A Programmer’s Introduction to Mathematics is now available on Amazon. The second edition includes a multitude of fixes to typos and some technical errata, thanks to my readers who submitted over 200 errata. Readers who provided names are credited in the front matter. I also added new exercises, and three new appendices: a notation table to…

Stanko 1 min read

Real elevation data but with applied exponential scale to emphasize the relief. I made three plots, all three a little bit different. They ended up in three different countries. Created: May 2020 Size: 42x30cm Paper: Fabriano Bristol 250gsm Pens: Pigma Micron

16 May 2020

Dave Cheney 5 min read

A few days ago Fatih posted this question on twitter. I’m going to attempt to give my answer, however to do that I need to apply some simplifications as my previous attempts to answer it involved a lot of phrases like a pointer to a pointer, and other unhelpful waffling. Hopefully my simplified answer can […]

goprogrammingjson

15 May 2020

Armen Zambrano 3 min read

In the last few months I’ve worked with contributors who wanted to be selected to work on Treeherder during this year’s . The initial proposal was to improve various Treeherder developer ergonomics (read: make Treeherder development easier). I’ve had three very active contributors that have helped to make a big difference (in alphabetical order): , and .Google Summer of CodeShubhamShubhankSuyash…

David Walsh 1 min read

The relationship between HTML and CSS is special: mixing content via HTML with presentation from CSS to make an awesome presentation. Sometimes, however, you need to employ CSS tricks solely to enhance functionality. This could be one of those cases. When browsing through the Firefox DevTools console code, I noticed a really clever technique for hiding text on screen but…

14 May 2020

ericlippert 7 min read

Code for this episode can be found here, which — unusually — is not my GitHub repo. Last time on FAIC I mentioned that there were two basic techniques for improving raw performance: keep the algorithm the same but find … Continue reading →

conwayslife

7 min read

Another week has passed, and another 3 million people in the US have filed for unemployment. While the current situation hasn’t impacted programming jobs quite as much, it’s just a matter of time before the economic damage hits most everywhere. There will be layoffs, and plenty of them, and occasionally whole companies shutting down. So even if your job is…

MapTiler (Petr Pridal) 1 min read

The very sucessful open-source project OpenMapTiles is used by 250 millions users every month. Here are the plans for the future.

13 May 2020

Chris Mills 7 min read

Hola amigos, espero que todos estén bien y se mantengan sanos y salvos. Cada nueva versión de nuestro navegador favorito viene siempre con una buena pizca de expectación, ¡y ya estamos aquí con Firefox 76! El soporte de la plataforma web recibe algunas excelentes novedades en esta actualización, como los worklets de audio y ciertas […] The post Firefox 76:…

firefox

David Walsh 1 min read

I convinced myself six months ago that I needed to give the Apple Watch a try. While I wear it every day and enjoy a few features, I’ve felt a bit let down by the experience. I do, however, believe that the Apple Watch makes notifications and other “little things” easier. One of those little things is unlocking my Mac…

12 May 2020

bohops 9 min read

Introduction Lateral movement techniques in the wonderful world of enterprise Windows are quite finite. There are only so many techniques and variations of those techniques that attackers use to execute remote commands and payloads. With the rise of PowerShell well over a decade ago, most ethical hackers may agree that Windows Remote Management (WinRM) became […]

uncategorized

David Walsh 2 min read

During my early years in web development, one of the most costly and annoying tasks was securing and installing security certificates on client websites. Most providers charged hundreds of dollars for SSL certs and getting them configured properly was a huge source of stress. Securing sites is much easier these days, thanks to services like ZeroSSL. With ZeroSSL you get…

Chris Mills 1 min read

Firefox 76 在 Web 平台上提供很棒的新功能,例如改善 JavaScript 的 Audio Worklets 和 Intl。此外,我們也在 Firefox 的開發工具中添加許多新工能,使開發的過程更加輕鬆且便利。 The post Firefox 76: Audio worklets 以及其他更新 appeared first on Mozilla Hacks - the Web developer blog.

Chris Mills 1 min read

Firefox 76为Web平台支持带来了新的出色功能,如Audio Worklet和JavaScript的Intl改进等。另外,Firefox DevTools中也添加了诸多一流改进,让JavaScript调试和开发变得更加轻松快捷。 The post Firefox 76:Audio Worklet和其他诀窍 appeared first on Mozilla Hacks - the Web developer blog.

Stanko 1 min read

Mobile iOS Safari doesn't display preview thumbnail until you tap on the video. My go-to solution was to define a poster attribute and move on. But today I learned I could use something called Media Fragments. Media Fragments specify a way of sharing parts of audio and video files by simply adding url params. Browser support varies, but fortunately support…

11 May 2020

ericlippert 5 min read

Last time on FAIC we took a look at Scholes’ extremely concise Life algorithm, which treats a grid as an array that you can treat as a mathematical value with some unusual but entirely straightforward manipulations. We didn’t get the … Continue reading →

conwayslife

10 May 2020

9 May 2020

kevin 3 min read

Let's revisit one of the most humiliating (and expensive) moments of my life. It happened a decade ago and even today I cringe and seethe when I think about it. I was one of 25 finalists for a $20,000 scholarship in my junior year of college. The last step was an hour long interview with […]

claremont mckennatechnology

Dave Cheney 5 min read

Conventional wisdom dictates that the larger the number of types declared in a Go program, the larger the resulting binary. Intuitively this makes sense, after all, what’s the point in defining a bunch of types if you’re not going to write code that operates on them. However, part of the job of a linker is […]

goprogramming

8 May 2020

Brujo Benavides 4 min read

Or how to use Pattern-Matching for Tests While acting as a mentor on the FutureLearn MOOC about Erlang I presented an idea that folks like Adolfo Neto loved ( he even tweeted about it 🧡). It is, in fact, the way I introduce people to pattern-matching when I’m teaching them Erlang. It’s a way to write tests that let you…

erlangtest-driven-development

MapTiler (Dalibor Janak) 1 min read

High-resolution aerial imagery and official government map data of entire Japan is now available to the global audience via Maps API. It becomes possible thanks to a partnership with our local business partner, MIERUNE.

7 May 2020

ericlippert 9 min read

Code for today’s episode can be found here. I’ve added drag scrolling to the user interface, so if you click and hold, you can move around the grid much the same way that you’d move around an online map site. … Continue reading →

conwayslife

Paul Adenot 7 min read

Earlier this week, Audio Worklets landed in the release of Firefox 76. We’re ready to start bridging the gap between web audio and native. Developers can now leverage AudioWorklet to write arbitrary audio processing code. This exciting new functionality raises the bar for emerging web experiences like 3D games, VR, and music production. The post High Performance Web Audio with…

audiofeatured articlefirefoxfirefox releasesweb apis

1 min read

The circuit breaker is a communication pattern that helps to avoid cascading failure of the system and gives dependent services time to recover. Along with fallback values defined by the developer, it gives a pretty wide safe net when communication channel is broken. Read more

Stanko 2 min read

It has been almost two months since my last post because I was super busy with my new passion, generative artFor now, you can see my work on my Instagram profile. Expect new posts about my process and tools in the near future.. I also got my hands on the brilliant little machine by Evil Mad Scientist, AxiDraw plotter, and…

6 May 2020

David Walsh 1 min read

Two of the most prominent utilities in web development today are ESLint and Microsoft’s Visual Studio Code. I enjoy using both, and I love the integration between both tools, but warnings from ESLint inside Visual Studio Code aren’t fulfilling — I’d rather lint errors be fixed each time I save. Complete the following steps to make Visual Studio Code fix…

5 May 2020

lukaseder 1 min read

SQL Server supports transforming flat tabular SQL result sets into hierarchical structures by convention using the convenient FOR XML or FOR JSON syntaxes. This is really convenient and less verbose than the standard SQL/XML or SQL/JSON APIs – although the standard ones are more powerful. In this blog post, I’d like to show a few … Continue reading Using SQL…

jooq-developmentsqldb2jsonmariadb

Chris Mills 6 min read

Firefox 76 delivers great new features for web platform support, such as Audio Worklets and Intl improvements, on the JavaScript side. Also, we’ve added a number of topnotch improvements to Firefox DevTools to make JavaScript debugging and development easier and quicker. The post Firefox 76: Audio worklets and other tricks appeared first on Mozilla Hacks - the Web developer blog.

developer toolsfeatured articlefirefoxfirefox releasesjavascript

Janos Kubisch 4 min read

Async Iterators can be used when we don't know the values & end state we iterate over. Instead, we get promises eventually resolving to the usual object. The post About Async Iterators in Node.js appeared first on RisingStack Engineering.

node.jsedited

1 min read

We’re releasing an analysis showing that since 2012 the amount of compute needed to train a neural net to the same performance on ImageNet classification has been decreasing by a factor of 2 every 16 months. Compared to 2012, it now takes 44 times less compute to train a neural network to the level of AlexNet (by contrast, Moore’s Law…

research

6 min read

A little while back, the web team at SoundCloud got an urgent report that our upload page looked weird in the US. Web engineering is based…

4 May 2020

ericlippert 10 min read

Code for this episode can be found here. The only interesting change I’ve made to the client is that if you press “P”, it pauses the simulation and runs 5000 steps of the “acorn” pattern, and then dumps the number … Continue reading →

conwayslife

David Walsh 1 min read

Now that we have most of the basics of HTML and CSS in the browser, we’ve begun implementing new features that I would consider “quality of life” improvements, many of which have been inspired by mobile. One great example is the CSS prefers-color-scheme media query, which allows developers to cater their design to system theme (dark or light) preference: /*…

3 May 2020

6 min read

Being cooped up at home got me looking into the new Xbox and PlayStation 5. I was curious about the innovations in the consoles since their successors. Both claim to have ray tracing and support for 8K graphics. This then got me thinking about how prevalent 8K televisions are today. 8K televisions seem to be in the same state as…

2 May 2020

Dave Cheney 6 min read

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 […]

goprogramminginliningoptimisationperformance

Stanko 1 min read

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

Stanko 1 min read

Created: May 2020 Size: 83x30cm (2 x A3) Paper: Fabriano Black Black 300gsm Pens: Uni-ball Signo UM-153

30 Apr 2020

ericlippert 6 min read

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 →

conwayslife

Jason Kratzer 11 min read

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…

featured articlefirefoxfirefox development highlightssecurityweb apis

1 min read

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.

research

MapTiler (Nicolas Bozon) 1 min read

Toner, map style created a decade ago by a famous Stamen Design studio, is now available in vector tiles.

29 Apr 2020