~/devreads

20 Jul 2017

lukaseder 1 min read

Java’s visibility rules are tricky at times. Do you know what this will print? It will print (highlight to see the solution): B.x Because: The super type B's members hide the enclosing type C's members, which again hide the static import from A. How can this lead to bugs? The problem isn’t that the above … Continue reading A Curious…

javainheritancelanguagesubtypesubtype polymorphism

1 min read

We’re releasing a new class of reinforcement learning algorithms, Proximal Policy Optimization (PPO), which perform comparably or better than state-of-the-art approaches while being much simpler to implement and tune. PPO has become the default reinforcement learning algorithm at OpenAI because of its ease of use and good performance.

research

Guo Xiao 1 min read

There are many threats—and opportunities—facing businesses in this age of digital transformation: industry disruption from nimble startups, economic pressure from massive digital platforms, evolving security threats, and emerging technologies. Today’s era, in which all things are possible, demands a distinct style of leadership. It calls for bold individuals who set their company's vision and charge ahead in a time of…

19 Jul 2017

18 Jul 2017

lukaseder 1 min read

As we all agree, GOTO is evil, right? Relevant XKCD Or even funnier: New Intern Knows Best Of course, GOTO isn’t evil Of course, somewhere deep down in our professional selves, we know that GOTO isn’t evil, it’s just a very basic processor instruction that was available since the early days of assembly code. GOTO … Continue reading Don’t Overdo…

javabreakcargo cultcontinuelabel

13 min read

There’s a great MSR demo from 2012 that shows the effect of latency on the experience of using a tablet. If you don’t want to watch the three minute video, they basically created a device which could simulate arbitrary latencies down to a fraction of a millisecond. At 100ms (1/10th of a second), which is typical of consumer tablets, the…

Neil Redding, Robert Drotar, Scott Dickson 1 min read

Wilbur Wright was airborne for 12 seconds when he piloted his first powered aircraft flight. He covered 120 feet above a windy beach in North Carolina. The descent cracked the skid under the rudder, but the landing was otherwise smooth. How far we’ve come! Aircraft today are sophisticated digital and mechanical systems. Despite leaps and bounds in progress, they still…

17 Jul 2017

1 min read

We’ve created images that reliably fool neural network classifiers when viewed from varied scales and perspectives. This challenges a claim from last week that self-driving cars would be hard to trick maliciously since they capture images from multiple scales, angles, perspectives, and the like.

research

15 Jul 2017

Schakko 1 min read

After migrating my domain to AWS Route 53 I finally transferred my website to a new Uberspace host which supports Let’s Encrypt. You should be automatically redirected to HTTPS when visiting www.schakko.de. The whole procedure took 2 hours, including setting up the new Uberspace, importing the existing databases and changing […] The post Website moved to new Uberspace with HTTPS…

wordpress

14 Jul 2017

jgamblin 1 min read

Security summer camp is about a week away so I spent some time this afternoon trying to figure out what talks and events I want to make sure I attend. BSides Las Vegas: A Day in the Life of a Product Security Incident Response Manager From SOC to CSIRT Hadoop Safari : Hunting For Vulnerabilities Introduction to Reversing and Pwning…

careerhackinguncategorized

lukaseder 1 min read

Every now and then, I tweet something like this, just to piss off some clean coders: Call me what you want, but I like the occasional break-out-of-if pic.twitter.com/kQ0BIkijz0 — Lukas Eder (@lukaseder) July 13, 2017 Apart from the obvious trolling factor (why can’t I ever resist?), I do think there’s something thought provoking in such … Continue reading Don’t Extract…

javabreakcontinuecontrol flowexceptions

13 Jul 2017

lukaseder 1 min read

You know JDBC, right? It’s that really easy, concise API that we love to use to work with virtually any database, relational or not. It has essentially three types that you need to care about: Connection Statement (and its subtypes) ResultSet All the other types some sort of utilities. Now, with the above three, we … Continue reading How I…

javajdbcjooqsql serverstatement batches

12 Jul 2017

Schakko 3 min read

Vacation time means administration time. I am one of these Uberspace customers whose domain has been registered and managed not by an external DNS registrar but by Uberspace (or Jonas Pasche) itself. Since a few years Uberspace has not been providing this service. Actually this was not a problem and everything […] The post Transferring DNS from Uberspace to AWS…

amazon web services

Schakko 1 min read

A few days ago I switched from ethminer to Claymore’s Dual Ethereum Miner because ethminer has problems running multiple instances with multiple GPUs. My blog post How to run same ethminer instance with multiple GPUs is still valid but ethminer simply can’t handle two or more parallel running instances. In […] The post Running multiple Claymore miner instances with different…

cryptocurrency

5 min read

I just spent a few days in Italy, on the Ligurian coast. Even though we were on the west side of Italy, the Mediterranean sea was to the east, because the house was situated on a long bay. But zooming in even more, there were parts of the coast that were even more twisted – to the point where it…

11 Jul 2017

Richard Schneeman 9 min read

I recently demonstrated how you can use Rack Mini Profiler to find and fix slow queries. It’s a valuable tool for well-trafficked pages, but sometimes the slowdown is happening on a page you don't visit often, or in a worker task that isn't visible via Rack Mini Profiler. How can you find and fix those […] The post Using Heroku’s…

newsdatabaseperformance optimizationpostgresruby

1 min read

I’ve seen and been in Research & Development (R&D) teams in the past. Sadly I can’t say any of these teams have been successful making a significant impact on the directions company they were serving took. R&D is often mentioned in the context of the military (in 2015, the US Army’s research, development, testing and evaluation (RDT&E), coupled with procurement…

10 Jul 2017

1 min read

tl;dr “Transparent Hugepages” is a Linux kernel feature intended to improve performance by making more efficient use of your processor’s memory-mapping hardware. It is enabled ("enabled=always") by default in most Linux distributions. Transparent Hugepages gives some applications a small performance improvement (~ 10% at best, 0-3% more typically), but can cause significant performance problems, or even apparent memory leaks at…

6 Jul 2017

Schakko 1 min read

For our Ethereum mining rig a coworker of mine wrote a systemd template unit so it is relatively easy to configure which graphic card in the rig is assigned to whom. For each of the GPU owners exist a custom configuration file /etc/sysconfig/ethminer-$USERNAME (/etc/sysconfig/ethminer-ckl in my case). The file contains […] The post How to pass multiple parameters to systemd’s…

cryptocurrency

7 min read

I’ve written before about the importance of iterating quickly but I didn’t necessarily talk about some concrete things you can do. When I’ve built up the tech team at Better, I’ve intentionally optimized for fast iteration speed above almost everything else. What are some ways we did that? Continuous deployment My dubious claim is that we might be the only…

5 Jul 2017

Daniel McMahon, Olivia Leonard 1 min read

Food retail focused business and technology executives from 23 different organisations met in Manchester and London to discuss the Future of Food. Dan McMahon, Head of Retail - APAC at Thoughtworks, and Archie Mason, Head of Business Development at John Lewis Ventures, explored the steps retailers need to take to survive and thrive in an industry poised for unprecedented change.…

Miranda Hill 1 min read

This is the second article in a 2 part series. You can read the first part here. Innovation comes from people meeting up in the hallways or calling each other at 10:30 at night with a new idea, or because they realized something that shoots holes in how we’ve been thinking about a problem – Steve Jobs

3 Jul 2017

jgamblin 1 min read

I recently saw this SSH/HTTP(S) multiplexer on Github and tweeted that it looked amazing: An amazingly cool tool to run a webserver and a ssh on the same port: https://t.co/Z2eel3aIq5 — Jerry Gamblin (@JGamblin) July 2, 2017 A couple of people responded that you should be able to do the samething with HAProxy or something similar but my experience with…

uncategorized

lukaseder 1 min read

Notice, this issue has been fixed in Java 8 (8u222), thanks for the comment Zheka Kozlov In a recent article, I’ve shown that programmers should always apply a filter first, map later strategy with streams. The example I made there was this one: In this case, the limit() operation implements the filtering, which should take … Continue reading Are Java…

java 8flatmaplazy processinglazy streamstream

Anike Arni 1 min read

Before ever having worked on a related field, I had always thought of privacy as a matter of having the strongest encryption method in the market and using it everywhere. However, recently, I've had the privilege of working on the development of a privacy-preserving email client called Pixelated, which seeks not only to decentralize control of data, but also to…

2 Jul 2017

Matthew Green 13 min read

One of the saddest and most fascinating things about applied cryptography is how little cryptography we actually use. This is not to say that cryptography isn’t widely used in industry — it is. Rather, what I mean is that cryptographic researchers have developed so many useful technologies, and yet industry on a day to day basis barely uses … Continue…

uncategorized

1 Jul 2017

30 Jun 2017

{"twitter"=>"hlaueriksson"} 3 min read

Content for the modern web development architecture: Headless CMS = Content Management System for JAMstack sites This blog post covers: Netlify CMS for a JAMstack site built with Hugo + jQuery + Azure Functions This blog post is part of a series: Building a JAMstack site with Hugo and Azure Functions Managing content for a JAMstack site with Netlify CMS…

29 Jun 2017

lukaseder 1 min read

In recent days, I’ve seen a bit too much of this: Something is very wrong with the above example. Can you see it? No? Let me rename those variables for you. Better now? Exactly. The above algorithm is O(N) when it could be O(1): (Let’s assume the lack of explicit ordering is irrelevant) I’m working … Continue reading A Basic…

javasqlalgorithmic complexityperformancestream

28 Jun 2017

lukaseder 1 min read

In this article, I will establish how the SQL language and its implementations distinguish between changed values and modified values, where a changed value is a value that has been “touched”, but not necessarily modified, i.e. the value might be the same before and after the change. Many ORMs, unfortunately, either update all of a … Continue reading ORMs Should…

javasqlactive recordhibernatejooq

10 min read

A method for signing in to a device that doesn’t have a keyboard When we were developing our SoundCloud app for Xbox One, something became very obvious during usability testing: signing in with a game controller really sucks. Entering text requires navigating a virtual keyboard to individual letters, numbers, and characters one at a time – such a nightmare! Plus,…

Neil Redding, Robert Drotar, Scott Dickson 1 min read

If airlines had to nominate a kryptonite, they might point the finger at extreme weather conditions. Adverse weather costs airlines billions annually. While planning ahead and allowing passengers to change their flights ahead of a storm can help reduce the loss, dealing with disruptions are a necessary evil in air travel.

27 Jun 2017

1 min read

I am seated in my air-conditioned cab on my way to work. I see a transwoman walking towards the car ahead of me, and subsequently to every car waiting in line at the toll booth. She asks for money while offering blessings in return. As I watch her, I think of how fortunate I’ve been; how different my life has…

26 Jun 2017

Stanko 1 min read

I use the same wallpaper for a long time now. But with high resolution displays, wallpaper started to look blurry and noisy, so I stopped using it. But recently, my girlfriend reminded me of this great website which super-scales images using magic. Ok, not magic, but it uses "Deep Convolutional Neural Networks", which is pretty much the same thing. Results…

25 Jun 2017

jonskeet 5 min read

9 days ago, I posted Imposter Syndrome (part 1) and then immediately listened to Heather Downing‘s excellent NDC talk on the topic. This is the “reflections afterwards” post I’d expected to write (although slightly more delayed than I’d hoped for). I’m not going to try to recap Heather’s talk, because that wouldn’t do justice to … Continue reading Imposter Syndrome…

general

24 Jun 2017

Charles Orton -Jones 1 min read

As originally seen in ‘The Stomach Wars Are On’ published by Raconteur Media on 25th June, 2017 in The Sunday Times. A battle is raging within the food sector to capture market share with cutting-edge technology.

Ryan Oglesby 1 min read

Over the past few years, software designers have been iterating on methodologies to make large-scale digital design repeatable and scalable, such as Atomic Design or design systems, optimizing for tools such as Sketch.

23 Jun 2017

Stanko 5 min read

On the frontend, we do a lot of animations. Most of the simple animations I create by using CSS transitions. Either I will change class or inline style of the element, and define transitions in CSS file. Easiest way to do this in React is to render initial state, and then when it renders, change the state to apply class…

22 Jun 2017

1 min read

As a fun side project to distract me from my abysmal progress on my book, I decided to play around with the math genealogy graph! For those who don’t know, since 1996, mathematicians, starting with the labor of Harry Coonce et al, have been managing a database of all mathematicians. More specifically, they’ve been keeping track of who everyone’s thesis…

21 Jun 2017

20 Jun 2017

Joe Kutner 5 min read

It’s rare when a highly structured language with fairly strict syntax sparks emotions of joy and delight. But Kotlin, which is statically typed and compiled like other less friendly languages, delivers a developer experience that thousands of mobile and web programmers are falling in love with. The designers of Kotlin, who have years of experience […] The post Kotlin Programming…

newsdeveloper toolskotlinlanguages

lukaseder 1 min read

Welcome to the jOOQ Tuesdays series. In this series, we’ll publish an article on the third Tuesday every other month where we interview someone we find exciting in our industry from a jOOQ perspective. This includes people who work with SQL, Java, Open Source, and a variety of other related topics. I’m very excited to … Continue reading jOOQ Tuesdays:…

jooq-tuesdayscouchbasedocument databasesgerald sangudijooq tuesdays

Dave Cheney 2 min read

This is a short post describing the procedure for discovering which version of Go was used to compile a Go binary. This procedure relies on the fact that each Go program includes a copy of the version string reported by runtime.Version() . Linker magic ensures that this value will be present in the final binary irrespective […]

goprogramminggdbldbllvm

11 min read

Once upon a time, we had a single monolith of software, one mothership running everything. At SoundCloud, the proliferation of microservices came from moving functionality out of the mothership. There are plenty of benefits to splitting up features in this way. We want the same benefits for our data as well, by defining ownership of datasets and ensuring that the…

Bridget Sheerin 1 min read

Digital security and data privacy best practices are essential for organizations of all sizes and kinds. Plenty has been written about threats, DDoS (distributed denial of service) attacks, legal battles, ransomware, and executive orders that impact this landscape. I’m interested in how we put threat awareness into practical and collaborative action, and how to recruit coworkers, bosses, employees and family…

19 Jun 2017

18 Jun 2017

Dave Cheney 7 min read

In my previous post I discussed my concerns the additional complexity adding generics or immutability would bring to a future Go 2.0. As it was an opinion piece, I tried to keep it around 500 words. This post is an exploration of the most important (and possibly overlooked) point of that post. Indeed, the addition of […]

goprogramminggenericsimmutability

16 Jun 2017

jonskeet 5 min read

Note: this is a purely personal post. It has no code in. It’s related to the coding side of my world more than the rest of who I am, so it’s in my coding blog, but if you’re looking for code, just move on. As part of a Twitter exchange, I discovered that Heather Downing … Continue reading Imposter syndrome…

general

Yue Liang 1 min read

A content management system (CMS) is often a bittersweet thing; or more accurately a ‘sweet-bitter’ thing. You enjoy it when it’s new but your enthusiasm wanes over time: as the delivery team get yet requests for customization, CMS becomes a blocker for the team to further grow and refactor.

15 Jun 2017

1 min read

At Datadog we see and gather metrics everywhere by using Datadog to monitor our applications and infrastructure. So our team thought it’d be fun to come up with creative solutions to “where can we display metrics?”

14 Jun 2017

Dave Cheney 2 min read

Fifteen years ago Python’s GIL wasn’t a big issue. Concurrency was something dismissed as probably unnecessary. What people really was needed was a faster interpreter, after all, who had more than one CPU? But, slowly, as the requirement for concurrency increased, the problems with the GIL increased. By the time this decade rolled around, Node.js and […]

goprogrammingsmall ideasgenericsgo2.0

Jeremy Morrell 7 min read

It’s been a little over a year since our last Happy Node Hackers post, and even in such a short time much has changed and some powerful new tools have been released. The Node.js ecosystem continues to mature and new best practices have emerged. Here are 8 habits for happy Node hackers updated for 2017. […] The post Habits of…

newsdeveloper toolsjavascriptnode.js

13 Jun 2017

1 min read

I don’t really do technical interviews anymore, I am lucky to be able to rely on a great VP of engineering and team that take care of the process. I still meet with the candidates but I do that more as a way for us to get to know each other and to answer their questions from both a CTO…

1 min read

One step towards building safe AI systems is to remove the need for humans to write goal functions, since using a simple proxy for a complex goal, or getting the complex goal a bit wrong, can lead to undesirable and even dangerous behavior. In collaboration with DeepMind’s safety team, we’ve developed an algorithm which can infer what humans want by…

safety alignment