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…
13 Oct 2016
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
What is the reality of implementing cloud computing? Here is a detailed walk through on the dream of the cloud versus reality.
What is the reality of implementing cloud computing? Here is a detailed walk through on the dream of the cloud versus reality.
The NOAA use the MapTiler Desktop software to turn the aerial photos taken after the Hurricane Matthew into a fast and reliable mapping service.
Serverless, Inc. has brought Serverless Framework V.1 out of beta and also closed a seed round from Trinity Ventures.
BSI: An Introduction
11 Oct 2016
10 Oct 2016
“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…
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
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
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…
If you’re human, then you're biased. Even if you were somehow able to become the platonic ideal of a judge, a veritable modern-day Solomon, you can still get tired, lonely or distracted. It’s inevitable. And it gets worse.
6 Oct 2016
Watchub is a service that notifies you of people who followed/unfollowed you and starred/unstarred your repositories.
As we saw in Part I, financial orthodoxy isn’t in danger of being overthrown by technology any time soon. If anything, the biggest challenge to orthodoxy comes from policy makers.
5 Oct 2016
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…
7 tutorials for a comprehensive guide to building a full featured chat app with Angular JS.
7 tutorials for a comprehensive guide to building a full featured chat app with Angular JS.
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…
New open-source place search/geocoding software is now available on GitHub.
4 Oct 2016
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,…
Learn how to develop your very own Serverless Facebook Messenger Chatbot with the serverless framework
3 Oct 2016
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…
Harness the power of Direct Debit automation via GoCardless
2 Oct 2016
As a DevOps/SRE, I spent a reasonable amount of time dealing with metrics and alerts.
30 Sept 2016
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 […]
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. — […]
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
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…
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…
Build a fully featured chat application on Android using Twitter Fabric, Digits, and PubNub with this detailed tutorial for software developers.
Build a fully featured chat application on Android using Twitter Fabric, Digits, and PubNub with this detailed tutorial for software developers.
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
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…
Build a user interface for a real-time garage door control with Node.js, LiftMaster, and just 100 lines of Javascript code.
Build a user interface for a real-time garage door control with Node.js, LiftMaster, and just 100 lines of Javascript code.
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…
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…
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.
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
Create your own programming language in less than 200 lines of code using the Javascript parser, Ohm. And do it right meow!
Create your own programming language in less than 200 lines of code using the Javascript parser, Ohm. And do it right meow!
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…
Component libraries can be very useful in terms of organization, unity, and ensuring performance/accessibility. Here are 3 things to understand when embarking on building your own.
25 Sept 2016
Luciano Mammino recently participated in two interviews discussing his work with Node.js and JavaScript as well as his experience as an author writing books about Node.js design patterns.
23 Sept 2016
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
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…
Learn how Parallax built An Infinitely Scalable Online Recording Campaign For David Guetta & UEFA
21 Sept 2016
Create a serverless multiplayer game based on the classic Whack-A-Mole, using JavaScript.
Create a serverless multiplayer game based on the classic Whack-A-Mole, using JavaScript.
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…
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
Build a real-time garage door control with Node.js, LiftMaster, and just 100 lines of Javascript code.
Build a real-time garage door control with Node.js, LiftMaster, and just 100 lines of Javascript code.
I wrote a guest post for my friend Samantha Davies’s blog, With High Probability. It’s called, What’s up with graph Laplacians? Go check it out!
Two students built an alternative Australian Bureau of Statistics Census website for $10 million less than the Australian government
One of the biggest barriers for countries in Sub-Saharan Africa to fight diseases and improve life expectancy, is their limited access to quality health care. There are many factors contributing to this, including human resource constraints and poor quality data in existing Health Information Systems (HIS).
19 Sept 2016
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
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 […]
15 Sept 2016
The last post in our series about the Ohm parser and how we created a new programming language in 180 lines of code.
The last post in our series about the Ohm parser and how we created a new programming language in 180 lines of code.
Learn the best ways to structure your Serverless applications by applying theses architectural patterns
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
Add blocks and conditionals to your programming language with Ohm, the open source Javascript grammar parser framework.
Add blocks and conditionals to your programming language with Ohm, the open source Javascript grammar parser framework.
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…
13 Sept 2016
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…
Check how middleware software functions protects against un-trusted code, and distributes computation globally.
Check how middleware software functions protects against un-trusted code, and distributes computation globally.
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,…
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.
Austen talks about the Serverless Framework and the important role our open source community plays in shaping it
12 Sept 2016
Introducing Functions, a better way to do serverless computing at scale with real-time data. Now you can program the data network yourself!
Introducing Functions, a better way to do serverless computing at scale with real-time data. Now you can program the data network yourself!
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 […]
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
Peter Sbarski discusses how Serverlessconf came to be and what it's future holds
8 Sept 2016
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…
Part two of our series on a JavaScript parser for building your own programming language and symbol calculator using Ohm.
Part two of our series on a JavaScript parser for building your own programming language and symbol calculator using Ohm.
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.
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…
Why are so many firms shunning debt, and should they?
We've all been there - trying to get right font sizes from PhotoShop to CSS. Designers usually work with points, which are used in the print, but not common on the web. They also use term tracking a lot, which is actually only a letter spacing with different units. You can recalculate everything by hand and try to keep track…
It’s not every day that you hear about a hospital run by and for the adivasis, a tribal population of India. Under the umbrella of Ashwini (Association of Health Welfare in the Nilgiris), the Gudalur Adivasi Hospital is no less than a modern day city hospital for their dedication towards patient care, their processes and passion.
6 Sept 2016
Build a real-time voting web app using PubNub's Project EON chart framework and Javascript.
Build a real-time voting web app using PubNub's Project EON chart framework and Javascript.
New Serverless variable system for serverless.yml added to the serverless framework
In June, I had the good fortune to address a group of international business leaders at the U.S. Embassy in Madrid’s IN3 event. I was inspired by the passion of this group, even as we all admitted that today’s fast pace of change and intense politics can give rise to discouragement, even among the most optimistic of us.
3 Sept 2016
I have seen a few databases recently that could have saved a lot of space by being more efficient with how they stored data. Sometimes this isn't a big problem, when a table is not going to grow particularly quickly. But it can become a big problem and you can be leaving a lot of […]
Every now and then an active java-based project enters a “dependency hell” state. That usually happens because people keep adding dependencies without checking what comes in transitively nor if that dependency is declared somewhere else already.
2 Sept 2016
Always try to use <button> when element is clickable, but it is not a link. Avoid <a>, <span>, <div> and other elements. Note that display: flex works differently on buttons in different browsers, but we have an easy fix for that. Why? # You will get multiple benefits - user can "tab" to it, and to activate it by pressing…