Since June 2012, Clever has only had one version of our API: v1.1. We’re now ready to introduce v1.2! In this post, we’ll talk about what the new version means for our customers. Why API versioning? Very few, if any, non-Clever developers saw API v1.0. Early beta versions had this designation, but as we finalized […] The post Moving from…
15 Mar 2017
I was reading yet another blog post titled “Why our team moved from <language X> to <language Y>” (I forgot which one) and I started wondering if you can generalize it a bit. Is it possible to generate a N * N contingency table of moving from language X to language Y? Someone should make a N*N contingency table of…
I’m happy to announce our next public tech talk, called Seven Implementations of Incremental, on Wednesday, April 5th, presented by yours truly. You can register here.
Use FaunaDB's secure database features with AWS API Gateway to run Lambdas with the capabilities of the authenticated user.
14 Mar 2017
Stream event improvements and custom roles for CloudFormation deployments with Serverless v1.9
ServerlessServerless variable system and stream event enhancements, CloudFormation services roles in the Serverless Framework v1.9 release.
13 Mar 2017
Problem: You have a catalog of items with discrete ratings (thumbs up/thumbs down, or 5-star ratings, etc.), and you want to display them in the “right” order. Solution: In Python ''' score: [int], [int], [float] -> float Return the expected value of the rating for an item with known ratings specified by `ratings`, prior belief specified by `rating_prior`, and a…
12 Mar 2017
Here are my thoughts on programmer career planning. You should always stay employable, mostly by changing jobs regularly (every five years or so). When changing, don’t wait until you have to. Your negotiating position is much better when you can … Continue reading →
11 Mar 2017
At ContaAzul, we use the CI infrastructure a lot. We open several pull requests in several projects every day, and we block the merge until the build pass. We consider our master branches are sacred, and we can’t afford too much waiting to change them.
10 Mar 2017
How to stream real-time data and metrics into the New Relic Insights service using PubNub BLOCKS.
How to stream real-time data and metrics into the New Relic Insights service using PubNub BLOCKS.
Learn how to build a Serverless Python app with serverless database FaunaDB.
9 Mar 2017
In an ideal world, caching wouldn’t be something we have to care about. However, with more and more mobile users on slow and limited data plans, as well as more advanced applications, we can’t escape reality. We need caching. As a response to this we have invested quite some time in Ladda – a dependency-free client side library for […]
I started leading teams relatively early in my career. Mentoring and leading younger developers is something I tremendously enjoy. But there is one thing I really miss about being a "regular" developer. And that is - being able to put my headphones, play some rock 'n roll, and code for a couple of hours without any distractions. Something that is…
8 Mar 2017
Certificate transparency logs are an amazing way to get a good overview of your certificate landscape, detect fraud (bad guys also use TLS) and find shadow IT and unknown cloud services. The problem is that there are not many good places to search these logs. The best I have found is from Symantec, although it is slow and errors out…
Probably the most impactful thing you could learn about when writing efficient SQL is indexing. A very close runner-up, however, is the fact that a lot of SQL clients demand tons of “unnecessary, mandatory work” from the database. Repeat this after me: Unnecessary, Mandatory Work What is “unnecessary, mandatory work”? It’s two things (duh): Unnecessary … Continue reading Many SQL…
Learn how to expose lifecycle hooks in a hook-driven Serverless plugin.
The best way to learn any new skill is through practice. This post is about how to come up with creative and effective side projects for developers to keep up with today's ever-changing technology.
7 Mar 2017
UPDATE: As of July 31, 2023, Salesforce no longer offers the Object Detection and Image Classification APIs. This means those APIs are no longer available. As a result, the demo app and the Einstein Vision add-on are no longer available. The most innovative apps augment our human senses, intuition, and logic with machine learning. Deep […] The post Introducing the…
How to build a multiplayer hangman game for iOS using Swift and PubNub BLOCKS.
How to build a multiplayer hangman game for iOS using Swift and PubNub BLOCKS.
There are already only very few real-world use-cases for FULL [ OUTER ] JOIN, but maybe, you have run into this beast in the past. But when was the last time you’ve seen a NATURAL JOIN? Right. A quick reminder from our article about JOINs: FULL JOIN A FULL JOIN is a type of OUTER … Continue reading Impress Your…
Open source static site scheduler tool built with serverless
6 Mar 2017
With new legislation being introduced to address the culture of slow payment, now is a great opportunity to help your SME clients get paid faster and more reliably
Most JavaScript developers used jQuery's .slideUp() and .slideDown() methods, and got used to them. As component based frameworks usually do not include such functionality, the first logic choice is to turn to CSS. But alas, CSS transitions do not work with height: auto. (Transitions can do a tween only between two numeric values.) As we use this a lot in…
5 Mar 2017
This morning on Twitter, Buzzfeed editor Miriam Elder asks the following question: Possibly stupid question: is the Signal desktop client as secure as the mobile app? — Miriam Elder (@MiriamElder) March 3, 2017 No, this is not a stupid question. Actually it’s an extremely important question, and judging by some of the responses to this … Continue reading Secure computing…
Ever since Charlie Miller hacked a Jeep while it was driving on the interstate I have wanted to learn more about Car Hacking but really had not had a chance to get started with it until a month ago when I ordered a Carloop and was ready to get hacking: … or so I thought. Turns out car hacking is…
In this post you can find seven talks I really liked in no particular order, most of them development related. I'll explain why I liked them, and why I should recommend watching every single one of them. Every talks is embedded, but link to a website or youtube is included as well. Please comment with the talks you think are…
4 Mar 2017
At ContaAzul, we have several old pieces of code that are still running in production. We are committed to gradually re-implement them in better ways.
2 Mar 2017
Choices are an important part of a healthy open source software community. That’s why we’re excited about Yarn, a new package manager that addresses many of the problems with Node’s default package manager, npm. While npm has done a fantastic job creating a large and vibrant JavaScript ecosystem, I want to share why Yarn is […] The post Yarn: Lock…
1 Mar 2017
Getting Smart: Applying Continuous Delivery to Data Science to Drive Car Sales
Thoughtworks InsightsPricing second-hand cars is a complex procedure: there are many factors that affect a vehicle’s worth and customers’ tastes change quickly.AutoScout24, the largest online car marketplace Europe-wide, wanted to get ahead of the field by developing an accurate price evaluation tool that updated continuously. Many companies use this type of predictive analytics capabilities internally, but shy away from using them…
28 Feb 2017
Heroku bumped its Bundler version to 1.13.7 almost a month ago, and since then we’ve had a large number of support tickets opened, many a variant of the following: Your Ruby version is <X>, but your Gemfile specified <Y> I wanted to talk about why you might get this error while deploying to Heroku, and […] The post Bundler Changed…
I had reason to revisit the automocked base class from a previous blog post. I am working with another code base and have new opportunities for automocking. We have a lot of internal classes. Approximately 30% of the classes are marked as internal. The old approach did not work anymore. With an internal subject, I got this error: Inconsistent accessibility:…
Find out how your firm can work in partnership with large clients to help them fulfil new reporting requirements and enhance the overall performance of their payment processes.
This is kind of a funny post for me to write, since it involves speculating about a very destructive type of software — and possibly offering some (very impractical) suggestions on how it might be improved in the future. It goes without saying that there are some real downsides to this kind of speculation. Nonetheless, I’m … Continue reading The…
Are you thinking about applying to Jane Street for a software engineering role? Or already have a phone interview scheduled but unsure what to expect? Read on as we walk through an example phone interview with you.
Quick Start to Test-Driven Development with Serverless Framework.
Azure functions provider plugin, inline policies, bug fixes and improvements in the Serverless Framework v1.8 release.
The Intelligent Bank: The Hidden Weakness in Financial Services Business Models
Thoughtworks Insights(This article is the first in our new series, The Intelligent Bank: The Hidden Levers of Profitable Growth. Through this series, we will explore how emerging technologies such as artificial intelligence and machine learning will transform the industry's business models, offer a new operating model for achieving sustainable growth, and recommend paths to execution.)
27 Feb 2017
Last Thursday I took a day off and jumped on a bus headed to California City Correctional Center. I was part of a group of investors and entrepreneurs participating in a business pitch competition and graduation ceremony for aspiring entrepreneurs — who also happened to be incarcerated. These ninety-four men had worked for months, taking classes, preparing business plans, and…
papad Hard to believe Sanjeev Arora and his coauthors consider it “a basic tool [that should be] taught to all algorithms students together with divide-and-conquer, dynamic programming, and random sampling.” Christos Papadimitriou calls it “so hard to believe that it has been discovered five times and forgotten.” It has formed the basis of algorithms in machine learning, optimization, game theory,…
26 Feb 2017
I’ve been spending some time learning deep learning and tensorflow recently, and as part of that project I wanted to be able to train models using GPUs on EC2. This post contains some notes on what it took to get that working. As many people have commented, the environment setup is often the hardest part of getting a deep learning…
24 Feb 2017
Adversarial examples are inputs to machine learning models that an attacker has intentionally designed to cause the model to make a mistake; they’re like optical illusions for machines. In this post we’ll show how adversarial examples work across different mediums, and will discuss why securing systems against them can be difficult.
23 Feb 2017
The Direct Debit Guarantee makes Direct Debit one of the UK’s most secure payment methods. That’s great news for customers, but what does it mean for you as a merchant?
There’s no shortage of ways to get paid, but not all payment methods are equal. Your business needs maximum efficiency, so it’s wise to know your options and choose the most suitable payment method to help your workflow rather than hinder it.
Announcing Azure Functions support with the Serverless Framework
I was on the Shoptalk Show (hosted by Chris Coyier and Dave Rupert) with Krystal Higgins talking about An Event Apart, speaking, and finding a "thing"
22 Feb 2017
Part 2 of 2 on how to implement a CICD workflow for a Serverless project
According to the dictionary, a pioneer is “a person who is among those who first settle or develop an area, and prepares the way for others to follow.” Reflecting on this, I realized that this felt similar to a recent large-scale transformation, one that aimed to move the whole organization from large scale IT projects to one that is truly…
21 Feb 2017
A wrap up of the SM Hacks hackathon at San Mateo Highschool, including the winners and the technologies and APIs they used.
A wrap up of the SM Hacks hackathon at San Mateo Highschool, including the winners and the technologies and APIs they used.
This past October I participated in an awesome Open Source event called “Hacktoberfest”, sponsored by Digital Ocean and GitHub. Hacktoberfest is a month-long celebration of Open Source where developers are encouraged to contribute to the community. Participation is easy: Pull requests can be made in any GitHub-hosted repositories/projects. A contribution can be anything—fixing bugs, creating […]
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:…
Great businesses know that how customers pay is as important as when they pay.
“When people think of open source, they think of two things,” says Gurpreet Luthra, product manager for Bahmni, an open source hospital system. “One is that it’s free software and the other is that there will be a lot of free developers enthusiastic about contributing. The first part is mostly true, the second mostly false.”
20 Feb 2017
The subscription economy has created a radical shift in how we work, with more companies than ever now relying on cloud-based platforms. In our free e-Guide, discover the major trends in B2B SaaS.
19 Feb 2017
I spent a while the last week porting livegrep.com from running directly AWS to running on Kubernetes on Google’s Cloud Platform (specifically, the google container engine, which provisions and manages the cluster for me). I left this experience profoundly enthusiastic about the future of Kubernetes. I think that if Google can execute properly, it’s clearly the future for how we…
17 Feb 2017
An interesting question was asked on reddit’s /r/java recently: Should Iterators be used to modify a custom Collection? Paraphrasing the question: The author wondered whether a custom java.util.Iterator that is returned from a mutable Collection.iterator() method should implement the weird Iterator.remove() method. A totally understandable question. What does Iterator.remove() do? Few people ever use this … Continue reading Should I…
I just realized last Thursday that I have spent two full years at Better, incidentally on the same day as we announced a $15M round led by Kleiner Perkins. So it was a good point to reflect a bit and think back – what the F led me to abandon my role managing the machine learning team at Spotify? To…
Part 1 of 2 on how to implement a CICD workflow for a Serverless project
16 Feb 2017
Our first Jane Street Tech Talk went really well! Thanks to everyone who came and made it a fun event.
15 Feb 2017
As part of our commitment to security and support, we periodically upgrade the stack image, so that we can install updated package versions, address security vulnerabilities, and add new packages to the stack. Recently we had an incident during which some applications running on the Cedar-14 stack image experienced higher than normal rates of segmentation […] The post How We…
You’ve probably heard the term 'API' mentioned often. But what do APIs actually do and why are they so important? In this guide, we’ll walk you through the basics.
Thursday 14 May, 11 am BST
Now that you've written your first Serverless plugin, learn about different approaches to implementation in part 2 of this series.
14 Feb 2017
This post summarizes a talk about building a serverless architecture on AWS Lambda using the Serverless framework. It covers topics like authentication, authorization, testing, CI/CD, and cost monitoring. The presenters share lessons learned from real-world experience building a production serverless application.
With different cultures, languages and regulations, expanding your business across Europe may feel rather daunting. Help is at hand.
CloudWatch Events support, CLI deprecation warnings, lower memory usage during zipping, bugfixes and improvements in the Serverless Framework v1.7 release.
13 Feb 2017
12 Feb 2017
As an organiser of a large programming conference and a speaker who’s pitched talk ideas to many conferences, I’ve been on both sides of the selection process. Last month I published a piece on writing a proposal for GopherCon. I wanted to revisit that post in the form of more general advice to give some insight into […]
Every business worth its multi-million dollar tagline wants to understand and leverage big data analytics. As the former try to understand big data in all its beauty—and derive true and timely business value from it, sometimes the well intended initiatives do fail. I have picked out seven reasons for such failures and described them in the form of scenarios. Also,…
10 Feb 2017
How Inspire Chat built an interactive web, iOS, and Android group chat app with PubNub.
How Inspire Chat built an interactive web, iOS, and Android group chat app with PubNub.
Sometimes, SQL can just be so beautiful. One of the less mainstream features in SQL is the array type (or nested collections). In fact, it’s so not mainstream that only 2 major databases actually support it: Oracle and PostgreSQL (and HSQLDB and H2 in the Java ecosystem). In PostgreSQL, you can write: Or in Oracle: … Continue reading Beautiful SQL:…
9 Feb 2017
The RSA conference starts next week and lets be honest it is becoming known as a stuffy management conference with very little useful technical information but if you know where to look you can take some deep dives. I have put together a quick guide of some amazing talks and events I am looking forward to. Talks: BSidesSF – Coming…
In April and May I’ll be speaking at GopherChina and GopherCon Singapore, respectively. This post is a teaser for the talks that were selected by the organisers. If you’re in the area, I hope you’ll come and hear me speak. GopherChina GopherChina is the third event in this conference series and this year will return to Shanghai. I was […]
Get fucked HP. # So there I was, moving VMs off of my main host (DL380 G7, 2x x5690’s, 192GB RDIMM), getting ready to replace the 8x 300GB RAID10 array I’ve been using for a while now with some 1TB disks and SSDs, awesome, right?
8 Feb 2017
Earlier this week, I’ve blogged about how to execute SQL batches with JDBC and jOOQ. This was useful for the MySQL, SQL Server, and Sybase users among you. Today, we’ll discuss a slightly more difficult task, how to fetch Oracle 12c implicit cursors – which are essentially the same thing. What’s an implicit cursor? Oracle … Continue reading How to…
A couple years ago, I took a road trip from Wisconsin to Washington and mostly stayed in rural hotels on the way. I expected the internet in rural areas too sparse to have cable internet to be slow, but I was still surprised that a large fraction of the web was inaccessible. Some blogs with lightweight styling were readable, as…
Learn how you can get a quick bird's eye view of your project.
7 Feb 2017
How to build a web app similar to Proof of Existence and Origin Stamp using Node.js, Tierion, RethinkDB, PubNub and jsreport-core.
How to build a web app similar to Proof of Existence and Origin Stamp using Node.js, Tierion, RethinkDB, PubNub and jsreport-core.
It’s time to safeguard your valuable, highly profitable clients, root out the demanding and unprofitable ones, while learning to qualify new prospects to ensure they're the best fit for your firm's long-term growth strategy.
At many organizations I’ve worked at over the last few years, I’ve seen a common anti-pattern: configuration management (CM) tools used incorrectly as provisioning tools. This has been frustrating because using CM tools to provision infrastructure undoubtedly leads to complex code that is unmaintainable and hard to extend. Let’s take a look at the downfalls of misusing CM tools for…
6 Feb 2017
Some databases (in particular MySQL and T-SQL databases like SQL Server and Sybase) support a very nice feature: They allow for running a “batch” of statements in a single statement. For instance, in SQL Server, you can do something like this: This is a batch of 4 statements, and it can be executed as a … Continue reading How to…
Building a technology radar can have surprising benefits for enterprises and technologists alike. It allows companies to assess their technology capabilities and needs over time. Equally importantly, it allows practitioners and executives to have a voice in the tech strategy of their organizations.
3 Feb 2017
(Editor's note: This article is part of a series of articles looking at the technology underlying the QCon Voting Box, a collaboration between C4Media and Thoughtworks that aimed to solve the question of how to add a “like” button to the real world.)
1 Feb 2017
Here’s a fun analysis that I did of the pitch (aka. frequency) of various languages. Certain languages are simply pronounced with lower or higher pitch. Whether this is a feature of the language or more a cultural thing is a good question, but there are some substantial differences between languages. Hertz (or Hz, or $$ s^{-1} $$), is the standard…
31 Jan 2017
Every firm will have good and bad clients - what’s important is getting the balance right. Sometimes there’s more value in focusing on the right client type. We show you how.
Today we’re happy to announce that the Sydney, Australia region is now generally available for use with Heroku Private Spaces. Sydney joins Virginia, Oregon, Frankfurt, and Tokyo as regions where Private Spaces can be created by any Heroku Enterprise user. Developers can now deploy Heroku apps closer to customers in the Asia-Pacific area to reduce […] The post Announcing the…
Technology and innovation transcends borders. As a global technology consultancy with social and economic justice at our very core, Thoughtworks passionately advocates for inclusivity and tolerance. Collaboration and embracing diverse ideas are hallmarks of a free society and the bedrock for what propels humanity forward.
30 Jan 2017
Our new Diffbot block for analyzing and extracting web data allows you to process incoming real-time messages with attached URLs
Our new Diffbot block for analyzing and extracting web data allows you to process incoming real-time messages with attached URLs