Site uses cookies to provide basic functionality.
Javascript rendering is set to off by default when visiting the site via .onion and .i2p domains. It can be enabled back again in user's settings section. Javascript rendering set to off means, that you can disable javascript in your browser now and the site will remain functional.
There is also IRC server now available via native IRC clients or non javascript web based one.
Fonts can be adjusted in user's settings section as well.
Check FAQ for more.

OK

Java 8 introduced the ability for interfaces to have default methods. Default methods are methods with an implementation. This is in stark contrast to the notion that interfaces should only have unimplemented, abstract methods.

Once upon a time there was a single AWS account. In this AWS account was several regions but a single VPC. To make sure expansions into other regions was possible this VPC chose to use the largest private subnet which just so happened to also be the default ("10.0.0.0/8"). Another AWS account enter the picture and while they were single they came to the same conclusion and followed the best practices and defaults to their heart's content...

When relying on variables within a global scope, it's often wise to set a sane default within your script. However, it's important to ensure that that only occurs if the variable isn't already set (so that values set within the page itself are not overwritten, and nor are values propogated to that value if the script is called a second time for some reason). Read more…

When relying on variables within a global scope, it's often wise to set a sane default within your script. However, it's important to ensure that that only occurs if the variable isn't already set (so that values set within the page itself are not overwritten, and nor are values propogated to that value if the script is called a second time for some reason). Read more…

Query strings in URLs give incredible flexibility, but are also an easy way for users to bypass your cache by appending random arguments (known as a cachebuster). This documentation details how to adjust the cache key on a Nginx cachine reverse proxy, either to completely ignore the query string, or to only honour specific ones. If you're only serving static files then you'll likely want to ignore query strings entirely. Read more…

There is a natural reaction for people when faced with a problem to offer solutions. This can be especially true for managers.

There is a natural reaction for people when faced with a problem to offer solutions. This can be especially true for managers.

So it seems like a brain dead simple one. Don’t push secrets by accident, make sure you check and update the projects .​gitignore to ignore sensitive files but the reality is different. One example, you use Terraform and set the ignore file to ignore the state file. Then later another developer moves the folder the Terraform is in and updates the ignore. Now when you merge you get the updated .gitignore and if you don’t pay attention all ..

Let's say we want to implement a simple list filtering language so we can enter a.b = 12 and return only results in a list where the a column is an object that contains a field b that is set to the value 12. What would a filter(jsonPath, equals, listOfObjects) function look like? If we only needed to support object lookup, we might implement filter by splitting the jsonPath on periods and look at each object in the listOfObjects for match....

Have you written a Scala Spark job that processes a massive amount of data on an intimidating amount of RAM and you want to run it daily/weekly/monthly on a schedule on AWS ? I had to do this recently, and couldn’t find a good tutorial on the full process to get the spark job running. Included in this article and accompanying repository is everything you need to get your Scala Spark job running on AWS Data Pipeline and EMR . Code Repo ....

I'm Joining Google! - una.im - 7 years ago - eng

Something like that happened to me some years ago. That was the birth of composing blog posts offline first, then pasting a copy of the marked up text. I now keep copies of all my posts in case some other weirdness strikes my blog.

A beginner-friendly explanation of JavaScript closures, how they provide data privacy, scope access and partial application

A beginner-friendly explanation of JavaScript closures, how they provide data privacy, scope access and partial application

A beginner-friendly explanation of JavaScript closures, how they provide data privacy, scope access and partial application

Let’s convert a mock API endpoint for signing up new users in a mobile app into using the action pattern. When I first started writing software on the web, my code was a mishmash. Every project was loaded with unnecessarily long files and code left commented, thrown to the side of the road like an abandoned vehicle. The theme of the day was: unpredictability. Under ideal conditions—the happy path—I was able to make my code work. But what....

In this age of cloud platforms, Internet of Things and SaaS products that are easy to integrate with, the effort of automating parts of your life is shrinking down substantially with every year that goes by.


In this age of cloud platforms, Internet of Things and SaaS products that are easy to integrate with, the effort of automating parts of your life is shrinking down substantially with every year that goes by.

Map, reduce, and filter are three very useful array methods in JavaScript that give developers a ton of power. This post makes them a little easier to understand.

I’ve been talking to a lot of people in different layers of the stack during my funemployment. I wanted to share one of the problems I’ve been thinking about and maybe you can think of some clever solutions to solve it. Conway’s Law states “organizations which design systems … are constrained to produce designs which are copies of the communication structures of these organizations.” If you were to apply Conway’s Law to all the layers o....

One of the Cisco Catalyst 3750 I had to work on recently had it's flash completely wiped. When this happens you can only flash the filesystem using the XMODEM serial console. This is a fairly well documented process on Windows. On Linux most of the documented ways involve switching between multiple utilities and can be tricky. I wanted to documented how I did this and possibly help other in the same situation. I'm doing this on Fedora, bu..

finished writing my previous post and dutifully clicked the big, yellow “Publish” button. I then clicked on the […]

I finished writing my previous post and dutifully clicked the big, yellow “Publish” button. I then clicked on the “View Post” link, wishing to see how it looked. Surprise…! Look ma, no text! The post title was there and the categories and tags … but the post text was missing. AWOL. Gone. Upon further inspection,...

March came by and with it, the beginning of a new school year. Semester at the Presbyterian Seminary began with a three-day retreat where we could reflect on “living by grace”. After these days, it was good to return to its halls to meet new freshmen and seniors. Meanwhile, at the Evangelical Faculty of Theology...

A Lost Lady , a Willa Cather novel which entered the public domain this year, is a gentle study in decline on the former frontier. Read my Preface to A Lost Lady

I recently have started researching and playing around with RISC-V for fun. I thought it might be nice to combine some of what I’ve learned into a blog post. However, I don’t just want to highlight what I learned. I want to use this as an example of how to go about learning something new. Recently, Erik St. Martin , Shubheksha Jalan , and I were discussing how we learn new things and we all thought it might be beneficial to have a way....

Some programming languages languish due to obscurity. They lack breathless blog posts exclaiming how much nicer they are to use. Other languages are too ambitious. They aspire to support so many features that the original implementers struggle to get a first version working. For example, the type system in Fortress required constraint solving which took exponential time . Sometimes a usable language struggles simply because it’s too m....

The 9P protocol is the protocol for network file systems used in Plan9. Plan9 is not a widely used operating system, but it’s widely considered more true to the Unix spirit than Unix is, coming from some of the same people who made Unix as well. Overview To get a rough idea of the 9P protocol, consider a system where all the original core Unix syscalls (open, close, read, write, …) are lifted to be remote procedure calls. These can be ....

The 9P protocol is the protocol for network file systems used in Plan9. Plan9 is not a widely used operating system, but it’s widely considered more true to the Unix spirit than Unix is, coming from some of the same people who made Unix as well. Overview To get a rough idea of the 9P protocol, consider a system where all the original core Unix syscalls (open, close, read, write, …) are lifted to be remote procedure calls. These can be ....

The 9P protocol is the protocol for network file systems used in Plan9. Plan9 is not a widely used operating system, but it’s widely considered more true to the Unix spirit than Unix is, coming from some of the same people who made Unix as well. Overview To get a rough idea of the 9P protocol, consider a system where all the original core Unix syscalls (open, close, read, write, …) are lifted to be remote procedure calls. These can be ....


A recent experimental feature for introducing integrity policies landed in Node.js core 11.8.0. This capability, shipped in non LTS version yet, provides integrity checks for a Node.js runtime when modules are being loaded, in order to verify that the modules code haven’t been tampered with.

I learned a lot about myself and the way big companies are organized over the past year or so. I had mentioned a bit in a previous blog post and podcast about “the N + 1 shithead problem” (from Bryan Cantrill’s talk on leadership ). To reiterate, the “N +1 shithead problem” occurs when you are demotivated by seeing people who are a level above you behave poorly, or more bluntly when they behave like a shithead. I know from experience w....

OSS and Stress - blog.gripdev.xyz - 7 years ago - eng
I wanted to take a moment to lay out a journey I didn’t really realize I was on until this morning. Like many big problems it all came out when dealing with a simple little GitHub issue that was raised on a repo I published about 3 years ago. It turns out that some of the stuff in this repo was out of date, and the repo wasn’t useful anymore. Someone nicely pointed this out to be in an issue, and suggested updating the README to warn othe..

For various reasons today it's been interesting to pull out what proportion of signatures on a given Parliamentary petition (i.e. one on https://petition.parliament.uk) came from outside of Great Britain. Petitions are open to British Citizens, including those living overseas, so it's expected that there will be some signatures from other countries, without there being any foul play, this python3 script just helps assess the proportion. ..

For various reasons today it's been interesting to pull out what proportion of signatures on a given Parliamentary petition (i.e. one on https://petition.parliament.uk) came from outside of Great Britain. Petitions are open to British Citizens, including those living overseas, so it's expected that there will be some signatures from other countries, without there being any foul play, this python3 script just helps assess the proportion. ..

1850 words, 7 minutes. …or, how the cave fish lost his eyes. Iranocypris typhlops - 1944, By B.Coad for Bruun & Kaiser. This post follows directly from the last. In that post, we learned that everyone could do something to reduce their attack surface and decrease the likelihood of a breach. I’m going to show you what that winning system looks like when taken to its ultimate logical conclusion. The logic goes something like this:



In the past, the Search Team at SoundCloud had high lead times for making updates to Elasticsearch clusters, either during the implementation of a new feature or simply while fixing a bug. This was because both tasks require us to reindex our catalog from scratch, which means reindexing more than 720 million users, tracks, playlists, and albums. Altogether, this process took up to one week, though there was even one scenario where it almost..

In the past, the Search Team at SoundCloud had high lead times for making updates to Elasticsearch clusters, either during the implementation of a new feature or simply while fixing a bug. This was because both tasks require us to reindex our catalog from scratch, which means reindexing more than 720 million users, tracks, playlists, and albums. Altogether, this process took up to one week, though there was even one scenario where it almost..

bryanleeward asked on the thunderbird discourse: @bryanleeward asked on the thunderbird discourse: PLEASE HELP… this effects many Thunderbird & gmail users: Every few months I get “Security” alerts from Google re my gmail Security Settings, saying: “Turn off less secure access.” IF I do that, then I can’t boot Thunderbird! I’ve had same problem with Thunderbird-gmail using Debian, Trisquel, and Ubuntu. Yet ironically, w....

bryanleeward asked on the thunderbird discourse: @bryanleeward asked on the thunderbird discourse: PLEASE HELP… this effects many Thunderbird & gmail users: Every few months I get “Security” alerts from Google re my gmail Security Settings, saying: “Turn off less secure access.” IF I do that, then I can’t boot Thunderbird! I’ve had same problem with Thunderbird-gmail using Debian, Trisquel, and Ubuntu. Yet ironically, w....

106 visitors online