~/devreads

29 May 2015

28 May 2015

1 min read

Saw this link on Hacker News the other day: The Highway Lane Next to Yours Isn’t Really Moving Any Faster The article describes a phenomenon unique to traffic where cars spread out when they go fast and get more compact when they go slow. That’s supposedly the explanation. There’s a much simpler explanation that works for any queue. Let’s consider…

27 May 2015

3 min read

TIL that Bell Labs and a whole lot of other websites block archive.org, not to mention most search engines. Turns out I have a broken website link in a GitHub repo, caused by the deletion of an old webpage. When I tried to pull the original from archive.org, I found that it's not available because Bell Labs blocks the archive.org…

26 May 2015

Luciano Mammino 2 min read

Keybase.io is a new service that combines asymmetric cryptography with a social network. It allows users to easily share public keys and authenticate messages by linking keys to profiles on Twitter, GitHub, Reddit, etc. The service provides encrypted messaging and bitcoin wallet pairing to make adopting cryptography seamless.

securitycryptography

Schakko 1 min read

CMDBuild supports the usage of SQL queries inside the “filter” options if the type is a REFERENCE. Given: A lookup table named “Software Type” [{Code: DBMS}, {Code: App}] A class Application [{Code: MySQL, Type: DBMS}, {Code: PostgreSQL, Type: DBMS}, {Code: Tomcat, Type: App}]; “Type” references the lookup table “Software Type” […] The post Using Subselects with CQL in CMDBuilds “filter”…

databases

2 min read

Sometimes you have these awesome insights. A few days ago I got an idea for how to improve index building in Annoy. For anyone who isn’t acquainted with Annoy – it’s a C++ library with Python bindings that provides fast high-dimensional nearest neighbor search. Annoy recursively builds up a tree given a set of points. The algorithm so far was:…

Aneesh Lele 1 min read

Wealth, asset and investment management firms are experiencing record results. In 2013, assets under management grew to a record $68.7 trillion, while operating margins grew 39%. Things couldn’t be brighter for the industry. But as we all know, current performance is not indicative of future results.

Jennifer Quraishi 1 min read

Nearly a quarter of American workers work from home at least once a week, and that number is expected to continue rising. But is working from home actually productive? Definitely, say many studies: it not only increases productivity, it also increases employee retention and reduces absenteeism. And with project management tools like Mingle and Trello, location is no barrier to…

Sriram Narayan 1 min read

In my previous post, I argued how IT has become strategic owing to the demands of a digital business. Strategic IT cannot justify itself with IT metrics such as velocity or even with delivering to plan. It has to make a difference to business outcomes.

25 May 2015

Schakko 1 min read

CMDBuild is a free (“free” as in GPL v2) ITIL solution. The installation of the 2.3.1 version has been a pain in the ass. After applying the database information in the setup wizard, I always received an org.cmdbuild.exception.ORMException: ORM_GENERIC_ERROR. CMDBuild stores its log files (cmdbuild.log, cmdbuild_dd_sql.log) in the “logs” folder […] The post Trying to install CMDBuild and receiving an…

uncategorized

6 min read

Boring languages are underrated. Many appear to be rated quite highly, at least if you look at market share. But even so, they're underrated. Despite the popularity of Dan McKinley's "choose boring technology" essay, boring languages are widely panned. People who use them are too (e.g., they're a target of essays by Paul Graham and Joel Spolsky, and other people…

22 May 2015

David Gee 8 min read

In this blog post David Gee, a Senior Product Manager on our Product team, discusses challenges to building and maintaining technical partnerships between organizations as well as provides advice on how to overcome those challenges. Every company comes to a point, early or late, where it realizes that it must partner with other companies to […]

software businessintegrationpartnershipplatform

Matthew Green 13 min read

In case you haven’t heard, there’s a new SSL/TLS vulnerability making the rounds. Nicknamed Logjam, the new attack is ‘special’ in that it may admit complete decryption or hijacking of any TLS connection you make to an improperly configured web or mail server. Worse, there’s at least circumstantial evidence that similar (and more powerful) attacks might already be … Continue…

attacksnsatls ssl

Dave Cheney 2 min read

This is a quick Friday blog post to talk about a recent experience I had working on a piece Juju code that needed to capture the data being sent over a net.Conn. Most Gophers know that the net package provides a net.Pipe function which returns a pair of net.Conns representing an in memory network connection. net.Pipe […]

goprogrammingmockingreaderstesting

21 May 2015

lukaseder 1 min read

Most of your code is private, internal, proprietary, and will never be exposed to public. If that’s the case, you can relax – you can refactor all of your mistakes, including those that incur breaking API changes. If you’re maintining public API, however, that’s not the case. If you’re maintaining public SPI (Service Provider Interfaces), … Continue reading Do Not…

javajava 8api evolutionspispi evolution

Dan McClure 1 min read

Innovation is losing its luster. I see it in meetings and conversations every day. After years of being the darling of leadership gurus, the craft of creating original value is facing a growing skepticism that borders on antagonism.

20 May 2015

Ruslan Spivak 32 min read

“We learn most when we have to invent” —Piaget In Part 2 you created a minimalistic WSGI server that could handle basic HTTP GET requests. And I asked you a question, “How can you make your server handle more than one request at a time?” In this article you will find the answer. So, buckle up and shift into high…

19 May 2015

Michael Friis 3 min read

Today we’re announcing a feature that is going to change the way teams test and evaluate code changes. Continuous delivery works best when all team members — designers and testers included — can efficiently visualize and review the result of proposed changes. With Review Apps enabled, Heroku will spin up temporary test apps for every […] The post Heroku Review…

news

lukaseder 1 min read

While the JVM is a stack-based machine, the Java language doesn’t really offer you any way to access that Stack. Even if sometimes, in rare occasions, it would be very useful. An example Method result values are put on the stack. If you look at the following example: If we ignore the halting problem, error … Continue reading How to…

javafinallyfinally-blockstack

Johannes Thönes 1 min read

“We’re concerned that people see this hype in the marketplace and they see [the Microservice] style of architecture as a panacea. So they might jump into it more quickly than they are actually ready to,” explains Scott Shaw, head of technology for Australia.

Surya Sreedevi Vedula 1 min read

“Alone we can do so little. Together we can do so much” - Helen Keller This quote came to be very true for five of us when we put together “DevOps 101” Workshop for vodQA Bangalore’s “Push the Envelope” edition.

Kenny Cruden 1 min read

On several occasions I’ve witnessed companies, who have decided to develop software using agile methodologies, view the QA role in teams as basically a waterfall tester who is involved with automated tests. By this I mean someone who performs all the manual testing of the product required within the team, and who is also exposed to test code (the latter…

18 May 2015

1 min read

When addressing the question of what it means for an algorithm to learn, one can imagine many different models, and there are quite a few. This invariably raises the question of which models are “the same” and which are “different,” along with a precise description of how we’re comparing models. We’ve seen one learning model so far, called Probably Approximately…

3 min read

In October 2014, Apple announced that all submissions to the App Store must include 64-bit support by June 1, 2015. The SoundCloud API for…

17 May 2015

8 min read

Here's a conversation I keep having: Someone: Did you hear that Facebook/Google uses a giant monorepo? WTF! Me: Yeah! It's really convenient, don't you think? Someone: That's THE MOST RIDICULOUS THING I've ever heard. Don't FB and Google know what a terrible idea it is to put all your code in a single repo? Me: I think engineers at FB…

15 May 2015

14 May 2015

lukaseder 1 min read

Who doesn’t know them. The good old JFace dialogs in Eclipse that give you a visual representation of what is really a rather simple XML or properties file. In the case of m2e, it looks like this: Unfortunately, this screen is a bit slow to load, and it doesn’t offer much value beyond checking version … Continue reading Use This…

javaeclipsem2emaven

blog.muffn.io (muffn_) 1 min read

Intro # BT is an alright ISP, I get good speeds (150D/40U), never get throttled and have yet to hear anything about my internet activity which involves a fair amount of P2P.. their hardware however is god awful, and the BT HomeHub 5 is no exception to that. I won’t go into how bad it is because if you’re reading…

13 May 2015

lukaseder 1 min read

We’re very happy to announce a guest post on the jOOQ Blog written by Daniel Dietrich, Senior Software Engineer at HSH Nordbank, husband and father of three. He currently creates a pricing framework for financial products as project lead and lead developer. Besides his work, he is interested in programming languages, efficient algorithms and data … Continue reading Functional Programming…

javajava 8daniel dietrichfunctional programmingvavr

Sean McClure 1 min read

In my role at Thoughtworks, I assist enterprises by driving data-driven approaches into their operations, developing market-aware products that learn from data, and encouraging data-smart cultures among the c-suite of executives. I have had the privilege to work with many talented professionals looking to disrupt their industries while remaining true to their organization's values. As you might expect, many of…

12 May 2015

Rimas Silkaitis 5 min read

Developers increasingly need a variety of datastores for their projects — no one database can serve all the needs of a modern, scalable application. For example, an e-commerce app might store its valuable transaction data in a relational database while user session information is stored in a key-value store because it changes often and needs […] The post Heroku Redis…

newsdatadeveloper toolsheroku key-value storeredis

lukaseder 1 min read

Whenever you feel that itch… Can’t I calculate this with SQL? The answer is: Yes you can! And you should! Let’s see how… Calculating time differences between rows Let’s consider the following database containing timestamps (e.g. in a log database). We’re using PostgreSQL syntax for this: Obviously, you’ll be adding constraints and indexes, etc. Now, … Continue reading Use this…

sqlfirst valuelaglast valuelead

Jim Highsmith 1 min read

I’m often asked, “How do you set priorities in an agile environment?” The situation behind this question is usually, “We suck at setting priorities.”

11 May 2015

Steven Lowe 1 min read

In the Beginning... ...there was no inheritance and no composition, only code. And the code was unwieldy, repetitive, blocky, unhappy, verbose, and tired. Copy and Paste were the primary mechanisms of code reuse. Procedures and functions were rare, newfangled gadgets viewed with suspicion. Calling a procedure was expensive! Separating pieces of code from the main logic caused confusion! It was…

10 May 2015

1 min read

Like my old post on git, this is somewhat a collection of useful Docker commands/tricks/whatever.

8 May 2015

7 May 2015

Peter van Hardenberg 5 min read

Today, we’re introducing a suite of new dynos. These dynos introduce new capabilities and price points and reduce the cost of scaling businesses on Heroku. These new dynos enter beta today. We’ve always provided a developer experience so you can create amazing apps, from hacking on new technologies and personal projects to building production applications […] The post New Dyno…

newsdeveloper toolsdynoseducationproduct features

Peter van Hardenberg 2 min read

Heroku comes from and is built for the developer community; the values of experimentation, openness and accessibility have been part of the product from day one, and continue to drive its development. From our first days, we have provided a free tier that followed in the tradition of making it as easy and fun as […] The post Heroku’s Free…

newsdynosperformance optimizationproduct features

lukaseder 1 min read

PostgreSQL has a lot of secret data types. In recent times, PostgreSQL’s JSON and JSONB support was hyped as being the NoSQL on SQL secret (e.g. as advertised by ToroDB) that allows you to get the best out of both worlds. But there are many other useful data types, among which the range type. How … Continue reading PostgreSQL’s Best-Kept…

javasqlbindingcustom data typesdata type binding

6 May 2015

5 May 2015

Michael Friis 6 min read

Important update We've recently made some big updates to our support for Docker and the feature described in this blog post has been deprecated. Learn more in the container registry and runtime dev center documentation. When Heroku launched the Cedar container stack 4 years ago, we became one of the first companies to use Linux […] The post Introducing ‘heroku…

news

jonskeet 7 min read

There are many, many questions on Stack Overflow about both parsing and formatting date/time values. (I use the term “date/time” to mean pretty much “any type of chronlogical information” – dates, times of day, instants in time etc.) Given how often the same kinds of mistakes are made, I thought it would be handy to … Continue reading Common mistakes…

generalnoda timestack overflow

lukaseder 1 min read

In the recent past, we’ve explained the syntactic implications of the SQL GROUP BY clause. If you haven’t already, you should read our article “Do You Really Understand SQL’s GROUP BY and HAVING clauses?“. In essence, adding a GROUP BY clause to your query transforms your query on very implicit levels. The following reminder summarises … Continue reading How SQL…

sqlaggregationcypher query languagegroup bygrouping

Daniel Pallozzi, Rachel Brooks 1 min read

The ‘text to get’ model is set to change the way we shop. It’s simple; send a text of what you want and when you want it. An associate will confirm your order and it’s on its way. Great examples include Melbourne based Three Thousand Thieves, a subscription coffee service and New York based Stefan’s head, a ‘concierge of cool’…

JR D'Amore 1 min read

In Building Microservices, Sam Newman explains why services choreography may be a more appropriate integration model for supporting complex business processes across domains. In this article, I would like to stress the challenges of using a point-to-point integration model, and present services choreography as a foundation of a more expandable microservices architecture, where services are highly cohesive and loosely coupled.

4 May 2015

1 min read

A while back Peter Norvig posted a wonderful pair of articles about regex golf. The idea behind regex golf is to come up with the shortest possible regular expression that matches one given list of strings, but not the other. “Regex Golf,” by Randall Munroe. In the first article, Norvig runs a basic algorithm to recreate and improve the results…

5 min read

Why are people so concerned with hardware power consumption nowadays? Some common answers to this question are that power is critically important for phones, tablets, and laptops and that we can put more silicon on a modern chip than we can effectively use. In 2001 Patrick Gelsinger observed that if scaling continued at then-current rates, chips would have the power…

3 May 2015

7 min read

The size of binaries in the Nim programming language seems to be a popular topic recently. Nim’s slogan is expressive, efficient, elegant, so let’s examine the efficient part in this post by exploring a few ways to reduce the size of a simple Nim Hello World binary on Linux. Along the way we will: Build a regular program into a…

1 min read

Annoy is a C++/Python package I built for fast approximate nearest neighbor search in high dimensional spaces. Spotify uses it a lot to find similar items. First, matrix factorization gives a low dimensional representation of each item (artist/album/track/user) so that every item is a k-dimensional vector, where k is typically 40-100. This is then loaded into an Annoy index for…

Vinod Sankaranarayanan 1 min read

When armed with an abundance of ideas, how do you recognize the valuable ones? The ideas that are worthy of being picked out and worked on to explore their potential business impact? Thoughtworks’ The Sift does exactly that. It allows you to ‘sift’’ through a trough of your ideas to identify the one with the most prospects. Using the The…

1 min read

Pixel art is so much fun! This blog post walks through how to read a matrix-like list with Sass and generate Mario pixel art from box shadows.

1 May 2015

Lon Ingram 3 min read

When I started on the Firebird team at Bazaarvoice, I was happy to learn that they host their code on GitHub and review and land changes via pull requests. I was less happy to learn that they merged pull requests with the big green button. I was able to convince the team to try out a new, rebase-oriented, workflow […]

uncategorized

30 Apr 2015

Katie Boysen 4 min read

At Heroku and at Salesforce, we’re always looking for ways we can help increase the number of young women with access to careers in science, technology, engineering and math. Recently, thanks to a Heroku engineering manager’s involvement on this issue with a local school, we hosted a Technovation Challenge event at the Heroku offices. We […] The post #WIT: Inspiring…

news

6 min read

Let me get this straight. We have an emulator for 1985 hardware that was written in a pretty new language (Go), ported to a language that isn’t even 1.0 (Nim), compiled to C, then compiled to JavaScript? And the damn thing actually works? That’s kind of amazing. — Summary by haberman I spent the last weeks working on NimES, a…

lukaseder 1 min read

I admit, we’ve been lured into using this technique as well. It’s just so convenient, as it allows for avoiding a seemingly unnecessary cast. It’s the following technique here: Now you can type safely assign anything from the wrapper to any type: This is actually the API you can use when you’re using jOOR, our … Continue reading This Common…

javaantipatterncompilergenericstype safety

29 Apr 2015

1 min read

Since today Nim 0.11 has been released, I guess it’s a good time to release this as well: NimES is a NES emulator written in Nim. More info in the GitHub repository and the JS demo. Discussion on Hacker News and Reddit.

28 Apr 2015

Craig Kerstiens 3 min read

Today we’re excited to announce public beta support for HTTP session affinity, a feature that makes building real-time applications easier than ever. Session affinity improves end user experience in certain types of applications and architectures where you require some level of extra state within your application code, because it ensures related requests get routed to […] The post Introducing Session…

news

lukaseder 1 min read

I keep encountering situations where RDBMS users think that one second for query execution is anything near fast. Most recently, in this Stack Overflow question: Hibernate SQL In clause making CPU usage to 100% The poster’s original question was why a similar query executes in one second when executed in SQL Server Management Studio whereas … Continue reading Do Not…

sqlcovering indexindexindexingperformance