~/devreads

8 Feb 2016

Jonny Schneider 1 min read

To innovate, is to enter the unknown. Doing this induces anxiety, even among seasoned professionals. In most organisations—where failure is not an option—leaders have many fears. They fear what they do not know. They fear that competitors will outpace them. Most of all, they fear their inability to find success. This fear causes rational leaders with no permission to fail…

7 Feb 2016

Schakko 2 min read

You may have already heard that InfluxDB 0.10 GA has been published a few days ago. In my case the most interesting improvement are the much higher compression rates: At the moment my co-workers of NeosIT and I are collecting performance data from four internal virtual machines. Have been running […] The post Migrating InfluxDB from 0.9.6 to 0.10.0 GA…

devopsinfluxdb

6 Feb 2016

Dave Cheney 2 min read

Sandi Metz’s post on abstraction struck a chord with me recently. I was working with a piece of code which looked like this (in pseudo code): func Start() { const filename = "..." createOuputFile(filename) go run(filename) } It turned out that createOutputFile was written in an obscure way which first caused me to look at […]

goprogrammingabstractiondesign

5 Feb 2016

Peter Cho 1 min read

Three months ago we announced that Parse would be opening their Cloud Code product so that their customers would be able to deploy their mobile backends to Heroku. This allowed Parse customers to use a full Node.js environment with Cloud Code. With Parse’s recent announcement, we’re taking that one step further, by allowing you to […] The post Deploy Parse…

newsapisdeveloper toolsnode.js

Sameer Soman 1 min read

The attack on the four Tanzanian students in Bengaluru, including a young, 21-year old woman, has to be called out for what it is - a case of racist, mass violence. What is shameful is not just the mob's targeting of the African students for an accident at the same spot earlier on, that they were completely unconnected with, but…

4 Feb 2016

Jim Highsmith, Natalie Hollier 1 min read

As companies move to become a digital enterprise they are often faced with a serious disconnect between their desires, strategies and execution. Building a digital enterprise takes considerable time and money, as the business needs to build new high-impact customer facing applications while revamping old, legacy IT systems and architectures.

3 Feb 2016

Matt Cutts 1 min read

Amit Singhal just announced that he’s retiring toward the end of the month. Amit has been a formative part of Google’s search team, but he’s also a good friend. Last year, after he marked 15 years with Google, I wrote this about Amit’s contributions: Amit Singhal, one of the unsung heroes of Google, just celebrated […]

personal

Matthew Creager 6 min read

In 2013, Rafael Ördög put poker and code together, the result: Lean Poker, a competitive coding event that teaches continuous deployment and lean startup methodologies. Rafael is based in Budapest, Hungary. What’s Lean Poker? Lean Poker is a coding workshop that is designed to teach people how to practice continuous deployment and lean startup methodologies. […] The post How Lean…

newscontinuous integrationcustomersdeveloper toolsredis

1 min read

I’ve been spending several hundred bucks renting GPU instances on AWS over the last year. The speedup from a GPU is awesome and hard to deny. GPUs have taken over the field. Maybe following the footsteps of Bitcoin mining there’s some research on using FPGA (I know very little about this). I don’t think there’s a coincidence that GPUs that…

Matt Chamberlain 1 min read

Does your Tech Lead complain of being pulled in multiple directions at once? Do they get frustrated about all the code they’re not writing? Being a Tech Lead can’t be easy, with all its context switching and plate spinning. For a developer, it’s a great achievement to progress to a Tech Lead role. But the path to taking the step…

2 Feb 2016

29 Jan 2016

Sai Krishna 1 min read

Background Mobile Test Automation is increasingly becoming very important. Almost all web applications are responsive these days and it's very important to test how the application works across devices. The same is true with the native application as well. At the same time, the number of devices and the custom OS versions on devices are also vast. This means that…

28 Jan 2016

lukaseder 1 min read

Just now, we implemented a nice little feature in jOOQ’s code generator: https://github.com/jOOQ/jOOQ/issues/4974 It detects whenever the jOOQ code generator runs a slow query to reverse engineer schema meta information. Why? In our development and integration test environment, we don’t have huge schemas with all the different performance edge cases put in place. For instance, … Continue reading How to…

jooq-developmentsqlcode generatorexecutelistenerjooq

27 Jan 2016

11 min read

Surprisingly I’m working on HookRace again. I might share a few interesting code snippets and thoughts in this blog along the way. I’m still going with Nim as the programming language. For an easy start let’s write a logging module that can be used everywhere in the game’s server as well as client. There are mostly three aspects that I…

26 Jan 2016

Tim Lang 4 min read

Today Heroku is announcing that Heroku Private Spaces is generally available. Introduced in beta in September, Private Spaces is a new Heroku runtime designed from the ground up to meet the trust and control requirements of the most demanding applications. This new architecture enables Private Spaces to deliver the best of both worlds: the easy […] The post Heroku Private…

newscloud infrastructureheroku enterpriseplatform updatesprivate spaces

Kathy Simpson 1 min read

Today we’re pleased to announce that SSO for Heroku is generally available for Heroku Enterprise customers. SSO for Heroku supports single sign-on for SAML 2.0 compliant identity providers (IdPs), making it easier for Heroku Enterprise customers to manage identity across various systems. It also simplifies set-up for system administrators, allowing them to focus on managing […] The post SSO for…

news

lukaseder 1 min read

Recently, we’ve published our article about the awesome window function support in jOOλ 0.9.9, which I believe is some of the best additions to the library that we’ve ever done. Today, we’ll look into an awesome application of window functions in a use-case that is inspired by this Stack Overflow question Sean Nguyen: How to … Continue reading How to…

java 8joojavawindow functions

4 min read

Here’s the thing: I have this sweet pair of headphones that I got from a friend a gazillion years ago. I’ve always liked them because they were free and they look super quirky but it turns out they were a limited edition done for Ed Banger Records, which is the label that produces Justice and Mr. Oizo. It also turns…

Patrick Kua 1 min read

Don't miss the author's earlier post on the 5 Tips for Being an Effective Tech Lead. The first time a developer steps into the role of a Tech Lead can be difficult. The skills and experience of a seasoned developer do not automatically translate into the skills necessary for the Tech Lead role. In fact, some of the habits of…

25 Jan 2016

1 min read

My blog post about fonts generated lots of traffic – it landed on Hacker News, took down my site while I was sleeping, and then obviously vanished from HN before I woke up. But it also got retweeted by a ton of people. This clearly constitutes another proof of how effective animated gifs are. There’s some stuff out there on…

1 min read

Image decoding can be a source of checkboarding and jank. What if there was a way to work around it without resorting to a cluster of horror hacks? Step right up and meet my new friend createImageBitmap!

imagesperf

24 Jan 2016

22 min read

Perf is probably the most widely used general purpose performance debugging tool on Linux. There are multiple contenders for the #2 spot, and, like perf, they're sampling profilers. Sampling profilers are great. They tend to be easy-to-use and low-overhead compared to most alternatives. However, there are large classes of performance problems sampling profilers can't debug effectively, and those problems are…

23 Jan 2016

Richard Schneeman 9 min read

Rails 5 has been brewing for more than a year. To take advantage of new features, and stay on the supported path, you'll need to upgrade. In this post, we'll look at the upgrade process for a production Rails app, codetriage.com. The codebase is open source so you can follow along. Special thanks to Prathamesh […] The post Upgrading to…

newsdeveloper toolsplatform updatesrailsruby

21 Jan 2016

5 min read

For some reason I decided one night I wanted to get a bunch of fonts. A lot of them. An hour later I had a bunch of scrapy scripts pulling down fonts and a few days later I had more than 50k fonts on my computer. I then decided to convert it to bitmaps. It turns out this is a…

Ted McCarthy 1 min read

Over the past decade, User Experience Research and Design—often simply “UX”—has gained an increasingly prominent position in the world of tech. While the field has faced opposition within the industry, successful organizations are increasingly learning that investing in UX pay off.

20 Jan 2016

lukaseder 1 min read

Sometimes, when we get pull requests for jOOQ or our other libraries, people change the code in our unit tests to be more “idiomatic JUnit”. In particular, this means that they tend to change this (admittedly not so pretty code): … into this, “better” and “cleaner” version: What have we gained? Nothing! Sure, we already … Continue reading Use JUnit’s…

javajava 8annotatiomaniaannotationsjunit

Laura Paterson 1 min read

As the topics of 'women in leadership' and 'gender equality in the tech industry' remain firmly in the limelight, I have spent some time reflecting on my own personal journey, particularly stepping into leadership roles. Here’s my story, with some tips to advance your career in technical leadership and things to consider for personal growth.

19 Jan 2016

Luciano Mammino 3 min read

GitKraken is a new cross-platform graphical interface for Git currently in private beta. It has useful features like interactive commit graph visualization, easy branching/stashing, and GitHub integration. The post shares invites to try the private beta version of GitKraken.

gitgithub

Matt Cutts 2 min read

I solved a problem today and figured that I’d document it for the rest of the world. Every time someone left me a voicemail on Verizon, I would get a cryptic text from Verizon at 900080006202 that looked like “//VZWVVM:SYNC:ev=NM;id=1;c=1;t=v;s=1XXXXXXXXXX;dt=18/01/2016 13:40-0900;l=13;dev_t=5” or “//VZWVVM:SYNC:ev=MBU;dev_t=5”. Here’s what happened. It turns out that Verizon has three kinds of […]

androidhow to

Kief Morris 1 min read

At an open space session on configuration automation at a DevOpsDays a few years ago, I asked the group how many of them were using an automation tools like Puppet or Chef. The majority of hands went up. I asked how many were running these tools unattended, on an automatic schedule. Quite a few of the hands went down.

18 Jan 2016

lukaseder 1 min read

I’ve recently encountered a very interesting question on Stack Overflow by an unnamed user. The question was about generating a table of the following form in Oracle, using a table valued function: Description COUNT ------------------- TEST1 10 TEST2 15 TEST3 25 TEST4 50 The logic that should be implemented for the COUNT column is the … Continue reading Impress Your…

sqloraclepivotsql serverunpivot

Ruslan Spivak 5 min read

Today we’ll talk about unary operators, namely unary plus (+) and unary minus (-) operators. A lot of today’s material is based on the material from the previous article, so if you need a refresher just head back to Part 7 and go over it again. Remember: repetition is the mother of all learning. Having said that, this is what…

Dave Cheney 7 min read

To steal a quote from JWZ, Some people, when confronted with a problem, think “I know, I’ll use cgo.” Now they have two problems. Recently the use of cgo came up on the Gophers’ slack channel and I voiced my concerns that using cgo, especially on a project that is intended to showcase Go inside […]

goprogrammingcgo

1 min read

Ever since I started Splice, I’ve been really eager to experiment and adapt our process to be able to be as efficient as possible while still pleasant. Setting up a process that works is hard because it depends on the size of your company, the team members and the leadership style. We tried many things as we grew and lots…

14 Jan 2016

kevin 3 min read

Recently there's been a trend in API's to return more than one error, or to always return an array of errors, to the client, when there's a 400 or a 500 server error. From the JSON API specification: Error objects MUST be returned as an array keyed by errors in the top level of a […]

codedesign

lukaseder 1 min read

Notice that the examples in this article may be outdated, as Typesafe’s Activator works differently now. The blog post will not be maintained to provide up-to-date Activator examples. We’re very happy to continue our a guest post series on the jOOQ blog by Manuel Bernhardt. In this blog series, Manuel will explain the motivation behind … Continue reading Reactive Database…

javascalasqlakkajooq

Bruce McLeod 1 min read

In the traditional world of enterprise software delivery, there can be a strong focus on software delivery metrics - What’s the test coverage? What is the code coverage? What’s the bug count? Why is the bug count so high? How many requirements have we delivered in this release?

13 Jan 2016

Monica Finc 1 min read

It’s hard to ignore the economic and social divide in the Bay Area. We’re in a huge housing crisis, we have massive economic inequality, and no shortage of startups pledging to save the world (unless you’re low-income). Yet, these concerns have also sparked a wealth of activism, allowing for technologists in San Francisco to be at the intersection of technological…

1 min read

I wrote about how I began to code for the new publishing platform SuperYesMore. TL;DR — cartoon dolls and Flash.

12 Jan 2016

lukaseder 1 min read

Java has come a long way. A very long way. And it carries with it all the “junk” from early day design decisions. One thing that has been regretted time and again is the fact that every object (potentially) contains a monitor. This is hardly ever necessary and this flaw was corrected, finally, in Java … Continue reading If Java…

javaconcurrencyforeachjava languagelanguage design

11 Jan 2016

1 min read

So far in this series we’ve seen a lot of motivation and defined basic ideas of what a quantum circuit is. But on rereading my posts, I think we would all benefit from some concreteness. “Local” operations So by now we’ve understood that quantum circuits consist of a sequence of gates $ A_1, \dots, A_k$, where each $ A_i$ is…

10 Jan 2016

9 Jan 2016

4 min read

Last night I had an idea and implemented it, soo let’s see what will happen. But first, the idea: Have a livestream [1] of DDNet running non-stop [2] that always shows some interesting [3] players on the server. The resulting livestream is running on Twitch. All the scripts are on Github 1. Livestream It’s surprisingly simple to livestream from Linux…

8 Jan 2016

jonskeet 2 min read

Today I’ve been reviewing the ECMA-334 C# specification, and in particular the section about class instance constructors. I was struck by this piece in a clause about default constructors: If a class contains no instance constructor declarations, a default instance constructor is automatically provided. That default constructor simply invokes the parameterless constructor of the direct … Continue reading To base()…

c#evil code

Rimas Silkaitis 3 min read

Heroku has long been committed to making PostgreSQL one of the best relational databases in the world. We’re also committed to giving you the ability to try the latest release as soon as it’s available. Today, we’re pleased to announce the public beta of Postgres 9.5 on Heroku. PostgreSQL 9.5 brings a bevy of super […] The post Here’s Postgres…

newsdatabasedeveloper toolsheroku postgrespostgres

2 min read

The easiest way to be a 10x engineer is to make 10 other engineers 2x more efficient. Someone can be a 10x engineer if they do nothing for 364 days then convinces the team to change programming language to a 2x more productive language. A motivated 10x engineer in one team could be a demotivated 0.5x engineer in another team…

Kief Morris 1 min read

Most organizations today have adopted IT infrastructure automation tools and dynamic infrastructure platforms such as private or public clouds. However, the technology alone isn't enough to help IT respond quickly and reliably to changing opportunities and challenges. At worst they can lead to a "Sorcerer's Apprentice" situation, where the ability to rapidly spin up new infrastructure leads to a sprawl…

7 Jan 2016

Vikram Rana 3 min read

As we start this New Year, we wanted to give you a recap of our 2015, a year filled with a lot of new products and features. We especially want to express our gratitude to everyone who helped us with inspiration, beta testing, and feedback. In case you missed anything, here are the highlights of […] The post Heroku 2015…

news

Nagarjun Kandukuru 1 min read

Last September, I spent a wonderful week in Shenzhen, China where Thoughtworks has just opened a new office. That city is making exhilarating progress in everything from Internet of Things to next-generation retail technology and maker spaces. Here are 10 observations from my visit:

6 Jan 2016

lukaseder 1 min read

You heard right. Up until now, the awesome window functions were a feature uniquely reserved to SQL. Even sophisticated functional programming languages still seem to lack this beautiful functionality (correct me if I’m wrong, Haskell folks). We’ve written tons of blog posts about window functions, evangelising them to our audience, in articles like: Probably the … Continue reading 2016 Will…

java 8jooaggregate functionscollectorswindow functions

5 Jan 2016

lukaseder 1 min read

jOOQ is an internal domain-specific language (DSL), modelling the SQL language (external DSL) in Java (the host language). The main mechanism of the jOOQ API is described in this popular article: The Java Fluent API Designer Crash Course. Anyone can implement an internal DSL in Java (or in most other host languages) according to the … Continue reading A Curious…

javajooq-developmentapiapi designdomain specific language

Emma Carter 1 min read

An Innovation Day is typically a 24-hour event in which employees form small teams to try and solve a problem relevant to the business. The teams have to present their ideas back to the business with a strong business case and working prototype. Many companies have their version of an Innovation Day. What can a company gain from an Innovation…

4 Jan 2016

1 min read

Problem: Estimate the number of distinct items in a data stream that is too large to fit in memory. Solution: (in python) import random def randomHash(modulus): a, b = random.randint(0,modulus-1), random.randint(0,modulus-1) def f(x): return (a*x + b) % modulus return f def average(L): return sum(L) / len(L) def numDistinctElements(stream, numParallelHashes=10): modulus = 2**20 hashes = [randomHash(modulus) for _ in range(numParallelHashes)]…

Dianne Inniss 1 min read

The Force awakened with a vengeance last month. Millions of fans worldwide lined up in droves for what some described as an almost sacred experience (for some German churchgoers, it literally was). The Force is strong, the hype is huge and the reviews are breathless.

Sameer Soman, Sudhir Tiwari 1 min read

Thoughtworks India and its leadership fully support the movement to maintain an Open and Free Internet through the implementation of appropriate net neutrality regulation in India. Such regulation is essential to the continued growth of the Internet in India – a resource critical to future generations of Indians, from both an economic and social perspective.

1 Jan 2016

3 min read

Early last year when I left Spotify I decided to do more reading. I was planning to read at least one book per week and in particular I wanted to brush up on management, economics, and technology. 2015 was also a year of exclusively non-fiction, which is a pretty drastic shift, since I grew up reading fiction compulsively for 20…

31 Dec 2015

30 Dec 2015

lukaseder 1 min read

Like many old databases, Oracle has legacy data types, which are rather nasty to work with in every day SQL. Usually, you don’t run into wild encounters of LONG and LONG RAW data types anymore, but when you’re working with an old database, or with the dictionary views, you might just have to deal with … Continue reading Oracle LONG…

sqljooqlonglong raworacle

29 Dec 2015

lukaseder 1 min read

I understand the idea of Java-the-language being rather hard to maintain in a backwards-compatible way. I understand the idea of JDK API, such as the collections, to be rather tough not to break. Yes. I don’t understand why Java still doesn’t have multiline string literals. How often do you write JDBC code (or whatever other … Continue reading Please, Java.…

javaescapingexternal languagesmultiline stringsregular expressions

24 min read

Have you ever mentioned something that seems totally normal to you only to be greeted by surprise? Happens to me all the time when I describe something everyone at work thinks is normal. For some reason, my conversation partner's face morphs from pleasant smile to rictus of horror. Here are a few representative examples. There's the company that is perhaps…

Dan McClure 1 min read

In closing remarks at the Global Humanitarian Policy Forum in New York, Hansjoerg Strohmeyer, Chief of the Policy Development and Studies Branch of the Office of Coordination of Humanitarian Affairs (OCHA), challenged the current humanitarian model where extended displacements can run for 10 years using the same mode of operation. ​

28 Dec 2015

1 min read

Here’s a bit of folklore I often hear (and retell) that’s somewhere between a joke and deep wisdom: if you’re doing a software interview that involves some algorithms problem that seems hard, your best bet is to use hash tables. More succinctly put: Google loves hash tables. As someone with a passion for math and theoretical CS, it’s kind of…

27 Dec 2015

Henrik Warne 6 min read

I recently finished reading Ghost in the Wires by Kevin Mitnick. It is the story of Mitnick’s hacking career, from the start in his teens, through becoming the FBI’s most wanted hacker, to spending years in jail before finally being … Continue reading →

learningworkhackingsecuritysocial engineering

kevin 5 min read

This past week the team at Shyp decided to fork the framework we use (Sails.js) and the ORM it uses (Waterline). It was an interesting exercise in JS tooling, and I wasted a lot of time on busywork, so I thought I'd share a little bit about the process. Why Fork? We've been on an […]

code

1 min read

I’ve been wanting to write this for a long time, just to clarify my thoughts on the subject. Now, on vacations, I took a couple of days and finally did it. This is a personal opinion based on my personal experience and tons of books I have read, and I am not, by any means, the supreme holder of the…

25 Dec 2015

Terence Lee 3 min read

Happy Holidays from Heroku. Congratulations to the ruby-core team on a successful 2.3.0 release, which is now available on Heroku — you can learn more about Ruby on Heroku at heroku.com/ruby. We had the pleasure of speaking with Matz (Yukihiro Matsumoto), the creator of Ruby and Chief Ruby Architect at Heroku, about the release. What’s […] The post Celebrating Ruby…

newsdeveloper toolsruby

24 Dec 2015

admin 4 min read

Preparing for the Holiday season is a year round task for all of us here at Bazaarvoice. This year we saw many retailers extending their seasonal in-store specials to their websites as well. We also saw retailers going as far as closing physical stores on Thanksgiving (Nordstrom, Costco, Home Depot, etc.) and Black Friday (REI). Regardless […]

big data

Louda Peña 1 min read

There are plenty of lists out there for the tech lover, dog lover, fashion lover, coffee lover—but what about that hard-to-shop-for developer? Here are a few ideas: A Docker Thermos Everyone just loves that cute whale, even if they don’t know what Docker is. We also know how much caffeine is consumed by the average developer. You can buy it…

22 Dec 2015

lukaseder 1 min read

Maintaining APIs is hard. We’re maintaining the jOOQ API which is extremely complex. But we are following relatively relaxed rules as far as semantic versioning is concerned. When you read comments by Brian Goetz and others about maintaining backwards-compatibility in the JDK, I can but show a lot of respect for their work. Obviously, we … Continue reading JEP 277…

javajava 9deprecationdrdeprecatorjep 277

Matthew Green 8 min read

You might have heard that a few days ago, Juniper Systems announced the discovery of “unauthorized code” in the ScreenOS software that underlies the NetScreen line of devices. As a result of this discovery, the company announced a pair of separate vulnerabilities, CVE-2015-7755 and CVE-2015-7756 and urged their customers to patch immediately. The first of these CVEs (#7755) was ……

attacksbackdoorsjunipervpn

3 min read

I’ve never really done a year in review. One day, I’d like to open source my goals, but since I’m still a chicken, this is a baby step towards that. Plus, this is one of the first years I’m really proud of, and things that you’re proud of tend to live on the Internet, for posterity. Here’s what my GitHub…

21 Dec 2015

Natasha Postolovski 1 min read

More people than ever before are entering software development from non-traditional backgrounds. The number of coding bootcamps is increasing, and there’s a broad push from the industry to attract more diverse developers. Many companies are no longer solely focused on hiring senior developers, and have realized that it may be smarter to train and upskill the next generation of senior…

18 Dec 2015

17 Dec 2015

lukaseder 1 min read

The following is a very common problem in all data related technologies and we’re going to look into two very lean, SQL-based solutions for it: How do I fill the cells of a sparse data set with the “previous non-empty value”? The problem The problem is really simple and I’m reusing the example provided by … Continue reading How to…

sqlmodel clauseoraclesparse datawindow functions

Ike DeLorenzo 2 min read

We’re pleased to announce the beta of SSO for Heroku. With this beta, Heroku now supports the current and most widely supported SSO standard known as SAML 2.0, and has partnered with leading identity providers (IdPs) for easy set-up. Customers can use their existing identity provider like Salesforce Identity, Okta, PingOne, Microsoft Active Directory, and […] The post SSO for…

newsheroku enterprisesecurity

29 min read

There's a meme that's been going around for a while now: you should join a startup because the money is better and the work is more technically interesting. Paul Graham says that the best way to make money is to "start or join a startup", which has been "a reliable way to get rich for hundreds of years", and that…

Molly Bartlett Dishman 1 min read

Agile software development is a well known set of principles that many software teams have adopted, tweaked and perfected over more than ten years. As teams gain experience with Agile, a natural pressure builds on tools, practices and processes that slows the pace of delivering value.

16 Dec 2015

lukaseder 1 min read

Notice that the examples in this article may be outdated, as Typesafe’s Activator works differently now. The blog post will not be maintained to provide up-to-date Activator examples. We’re very happy to continue our a guest post series on the jOOQ blog by Manuel Bernhardt. In this blog series, Manuel will explain the motivation behind … Continue reading Reactive Database…

javascalasqlactorsfutures

Schakko 4 min read

I am currently working on the migration of our time tracking system from Microsoft SQL Server/.NET to Java. Most of the logic resides in Stored Procedures and Stored Functions inside the database schema. Because of some reasons (testability, maintainability, migration from MSSQL to PostgreSQL in a far future) the whole […] The post Executing Liquibase database migrations from command line…

java