After reading the feedback of my recent article about running DDNet, I noticed that people found it interesting how I’m trying to minimize money and resources. I also noticed that I had been doing something similar with my personal computing hardware setup for an even longer time. I’ve mostly been using the same hardware for personal computation purposes over the…
20 Jun 2016
OpenAI’s mission is to build safe AI, and ensure AI’s benefits are as widely and evenly distributed as possible.
While rebuilding my iPad this weekend I noticed that I could name it an emoji. So I named my iPad 📱(U+1F4F1): While I don’t have any problem using the iPad it basically makes it unreachable on the network via hostname. From there I renamed all of my lab machines emojis. Mostly variations of 💩 (U+1F4A9) because I am sophomoric: In…
18 Jun 2016
Over the last couple years, I’ve seen more and more people in technology trying to make government work better. They’re idealists who are also making a large impact. These are people that I respect–some of them worked to fix healthcare.gov, for example. From talking to many of them, I can tell you that their energy […]
16 Jun 2016
Building an wearable to track different parameters in your body easily with Bluetooth and PubNub. Use Cordova to build iOS and Android applications.
Building an wearable to track different parameters in your body easily with Bluetooth and PubNub. Use Cordova to build iOS and Android applications.
This post describes four projects that share a common theme of enhancing or using generative models, a branch of unsupervised learning techniques in machine learning. In addition to describing our work, this post will tell you a bit more about generative models: what they are, why they are important, and where they might be going.
I have a lot of tests in Go that integrate with Postgres, and test the interactions between Go models and the database. A lot of these tests can run in parallel. For example, any test that attempts to write a record, but fails with a constraint failure, can run in parallel with all other tests. […]
In Learning From Your Bugs, I wrote about how I have been keeping track of the most interesting bugs I have come across. I recently reviewed all 194 entries (going back 13 years), to see what lessons I have learned from them. … Continue reading →
15 Jun 2016
Building an internet connected bluetooth wearable device using Arduino and Cordova. This enables real-time monitoring of fitness tracker using PubNub.
Building an internet connected bluetooth wearable device using Arduino and Cordova. This enables real-time monitoring of fitness tracker using PubNub.
Yesterday at the WWDC keynote, Apple announced a series of new security and privacy features, including one feature that’s drawn a bit of attention — and confusion. Specifically, Apple announced that they will be using a technique called “Differential Privacy” (henceforth: DP) to improve the privacy of their data collection practices. The reaction to this … Continue reading What is…
If you ever had to fix element on scroll, you probably had an issue on iOS Safari (and other mobile devices). Element will usually flicker, and disappear until scrolling has stopped completely. Just force GPU acceleration by adding transform: translate3d(0,0,0); to your element. You will have something like this: .Element-header { transform: translate3d(0,0,0); } .Element-header--fixed { top: 0; position: fixed;…
13 Jun 2016
Japanese Translation In this article we’re going to write a simple 2D platform game. You can also consider this as a tutorial for game development with SDL2 in Nim. We will read in user input, display graphics and a tile map, and simulate simple 2D physics with collision detection and handling. Afterwards we will implement simple camera movement and game…
Intro # Virtualization is awesome. It’s been the standard for enterprises for many years and although containers are gaining interest, virtual machines remain the go-to for any business; you’d be either crazy or incompetent not to go down this route in most scenarios. This post will go through the very basics of setting up and using ESXi.
12 Jun 2016
Earlier today I ran across this blog post on hijacking windows .lnk file so I decided to build out and test a full POC for it using Windows 8.1. To reproduce this just copy these 7 lines into powershell and ctrl+c now runs calc.exe instead of copying your text: https://gist.github.com/jgamblin/4aa897a2cca6912eeea96a12d73d8cd6 For extra jerkiness this will shutdown a windows machine when…
A few months ago I gave a presentation on my philosophy for error handling. In the talk I introduced a small errors package designed to support the ideas presented in the talk. This post is an update to my previous blog post which reflects the changes in the errors package as I’ve put it into service […]
10 Jun 2016
At Bazaarvoice, we’ve pulled off an incredible feat, one that is such an enormous task that I’ve seen other companies hesitate to take on. We’ve learned a lot along the way and I wanted to share some of these experiences and lessons in hopes they may benefit others facing similar decisions. The Beginning Our original […]
In the past, we at Small Improvements have sponsored various Angular Conferences and Meetups. So how did our developers end up at React Europe? Let’s backpedal to understand the story behind that. Small Improvements and React!? At Small Improvements we decided in early 2016 to shift towards React instead of working to migrate to Angular […]
9 Jun 2016
For many of us, building apps is a team sport. With any team, getting all the people, processes and tools in sync and working together can be a challenge, and this is especially true with software development. Today we are announcing a new feature designed to help to make building and running effective software teams […] The post Introducing Heroku…
I’ve been following the progress of .NET Core with a lot of interest, and trying to make the Noda Time master branch keep up with it. The aim is that when Noda Time 2.0 eventually ships (apologies for the delays…) it will be compatible with .NET Core from the start. (I’d expected to be able … Continue reading Tracking down…
8 Jun 2016
Razzmaster is an open source tool to configure a Raspberry Pi over the network. It's built with NodeJS and based on PiFinder.
Razzmaster is an open source tool to configure a Raspberry Pi over the network. It's built with NodeJS and based on PiFinder.
It’s been roughly 3 years since DDraceNetwork (DDNet) started in the summer of 2013. Last year I wrote a non-technical History of DDNet. Today in this post we will dive into the technical side of what makes DDNet run. For the uninitiated, DDNet is an open-source modification of Teeworlds, a retro multiplayer shooter. DDNet is a game in which you,…
Tramchester is a mobile web application Thoughtworks built to help people to navigate the public tram network in Manchester, UK. Ian Cartwright, a technical principal consultant on the project, talks to Suzie Prince about the project and what's next for the app.
7 Jun 2016
Recently I put the maximum amount of cash into my IRA account. Since stock prices jump up and down all the time, I wondered whether the current price would be the best one to buy the stock at. In particular, I'm not withdrawing money from my IRA for the better part of 40 years, so […]
5 Jun 2016
Introduction to the Introduction (Meta-Introduction) Wikipedia gives us a nice description of metaprogramming: Metaprogramming is the writing of computer programs with the ability to treat programs as their data. It means that a program could be designed to read, generate, analyse and/or transform other programs, and even modify itself while running. In this article we will explore Nim’s metaprogramming capabilities,…
3 Jun 2016
On the last day of the Grace Hopper Celebration of Women in Computing, I sat on stage with four developers watching incredulously as 150 stadium seats filled to capacity. Named for the computer programming pioneer and Navy Admiral Grace Hopper, this conference is the world’s largest gathering of women technologists, and our workshop, #TechAtAnyAge, was the very last session of…
2 Jun 2016
The expectations for IoT expands day by day. Is the Internet ready? It provides little in terms of QoS, reliability, security and availability.
The expectations for IoT expands day by day. Is the Internet ready? It provides little in terms of QoS, reliability, security and availability.
Andrey Petrov is the author of urllib3, the creator of Briefmetrics and ssh-chat, and a former Googler and YCombinator alum. He’s here to tell us of a dangerous expedition his requests undertook, which sent them from Python, through the land of C, to a place called Go (and back again). Today we're going to make […] The post See Python,…
As you may know, one of my (very geeky) interests is Approximate nearest neigbor methods, and I’m the author of a Python package called Annoy. I’ve also built a benchmark suite called ann-benchmarks to compare different packages. Annoy was the world’s fastest package for a few months, but two things happened. FALCONN (FAst Lookups of Cosine and Other Nearest Neighbors)…
This April, I had the privilege of attending the Health Experience Refactored Conference in Boston. As a designer who has done research and published work in the community health space, I have seen first hand the importance of intentional and purposeful design in influencing behavioral change. When users feel engaged and considered, they feel empowered to take control of their…
1 Jun 2016
Build an IoT smart parking meter that updates vacant spaces and provides automatic billing upon leaving in real time using IBM Bluemix and PubNub.
Build an IoT smart parking meter that updates vacant spaces and provides automatic billing upon leaving in real time using IBM Bluemix and PubNub.
Open source software Tileserver.php developed by Klokan Technologies helps NOAA pilots to acquire new aerial imagery.
With Java 8 now in the mainstream, Scala and Clojure are no longer the only choices to develop readable, functional code for big data technology on the JVM. In this post we see how SoundCloud is leveraging Apache Crunch and the new Crunch Lambda module to do the high-volume data processing tasks which are essential at early stages in our…
Why is there no common definition of ‘Digital’? Like all buzzwords, “Digital” is starting to get my goat. Everyone uses it, in every context, thinking it refers to some avant-garde business strategy or must have part of their personal lives. If Digital can mean everything, then does it mean anything at all? I’m not alone in my confusion. When I…
Accessibility is often solely discussed in terms of people with disabilities, but in truth, it's something that benefits the majority (if not all) of your users.
31 May 2016
Wilmington, Delaware: the city’s skyline is dotted with offices of Chase, Capital One, Barclaycard, Bank of America, and Citi amongst others housing their back office operations and call centers.
30 May 2016
I come from a Java background. When I was first learning Node.JS and JavaScript, I had what I thought was a decent level of understanding in…
27 May 2016
At Heroku, we’re always striving to provide the best operational experience with the services we offer. As we’ve recently launched Heroku Kafka, we were excited to help out with testing of the latest release of Apache Kafka, version 0.10, which landed earlier this week. While testing Kafka 0.10, we uncovered what seemed like a 33% […] The post Apache Kafka…
A common myth in SQL is the idea that correlated subqueries are evil and slow. For example, this query here: It “forces” the database engine to run a nested loop of the form (in pseudo code): So, for every actor, collect all the corresponding film_actors and count them. This will produce the number of films … Continue reading Correlated Subqueries…
(I'm omitting the many, many, astroturf posts - "Why X is Better than Twilio", "Why I'm Ditching Twilio for X" - and comments from employees at competitors between 2010 and 2014.) Twilio Raises $12m Series B "Can something like Twilio really become a $100m+ company? I hope so but my ignorance blinkers me to how […]
In this episode, we talk to Thoughtworks developer Florian Sellmayr about LambdaCD, an open source library for building build pipelines as code, written in Clojure.
26 May 2016
Our updated Java SDK has a new architecture (like the iOS v4 SDKs), and can be used on any Java platform including Java SE, Java EE, and Android.
Our updated Java SDK has a new architecture (like the iOS v4 SDKs), and can be used on any Java platform including Java SE, Java EE, and Android.
This is the story about an error that caused our tests to fail maybe one out of one hundred builds. Recently we figured out why this happened and deployed code to fix it. The Problem I've been fighting slow test times in Javascript and Sails since pretty much the day I started at Shyp. We […]
Add-on tools are increasingly defining the shape of accountancy firm systems. Find out how cloud-based add-ons are now becoming staple tools for the accountant.
For almost two years now, the Heroku Dashboard has provided a metrics page to display information about memory usage and CPU load for all of the dynos running an application. Additionally, we’ve been providing aggregate error metrics, as well as metrics from the Heroku router about incoming requests: average and P95 response time, counts by […] The post Heroku Metrics…
This tutorial shows how to get started with Arduino using Node.js, and prototyping an Internet of Things application using PubNub’s JavaScript APIs.
This tutorial shows how to get started with Arduino using Node.js, and prototyping an Internet of Things application using PubNub’s JavaScript APIs.
25 May 2016
We’d like to welcome the latest set of team members to OpenAI (and we’re still hiring!)
How startups to large enterprises, are using serverless to develop and deploy serverless, event-driven architectures on AWS Lambda
Properly used, user research will destroy your product. This is a feature, not a bug. You have an idea, maybe even a great one. You’ve done your design sprint, your visioning session, your intense few days of white-boarding. You’ve built your draft roadmap, have a few personas and a well-worn copy of the Lean Startup. No plan, though, survives its…
24 May 2016
Nothing beats Ruby when it comes to rapid development, quick feedback, and delightful coding. The Ruby runtime and traditional ruby frameworks favor synchronous programming, which makes them easy to use and understand. But microservices and real-time apps require asynchronous programming and non-blocking IO to enable maximum throughput. That's where JRuby comes in. You can build […] The post Reactive Ruby:…
Shyam shows you how to track currency rates in real time with PubNub and CurrencyLayer.
Shyam shows you how to track currency rates in real time with PubNub and CurrencyLayer.
I’ve been trying to learn Clojure. I keep telling people I meet that I really want to learn Clojure, but still every night I can’t get myself to spend time with it. It’s unclear if I really want to learn Clojure or just want to have learned Clojure? Which makes me thing about my teenage years. I really wanted to…
This is a dummy post with typography
The stereotype of the socially-awkward, white, male programmer has been around for a long time. Where does this image come from? Did the demographics of the world’s programmer population really evolve naturally, because “boys just like computers more”? What shaped our perception of programmers? This text is about some possible explanations I found when reading about the history of computing.
23 May 2016
At Jane Street, we have always been heavy users of pre-processors, first with camlp4 and now ppx. Pre-processing makes the infrastructure a bit more complex, but it save us a lot of time by taking care of a lot of tedious boilerplate code and in some case makes the code a bit prettier.
19 May 2016
What is Load Testing and Why Should I Care? Somewhere between the disciplines of Dev Operations, Database Management, Software Design and Testing, there’s a Venn diagram where at its crunchy, peanut-butter filled center lies the discipline of performance testing. Herein lies the performant (sic) Which is to say, professional performance testers have a very specific […]
Last week, over 72 companies demonstrated their approaches at Finovate Spring 2016. As VC funding slows down, entrepreneurs and intrapreneurs are now focused on incremental improvements instead of transformational game-changers. What's next for fintech?
This post for Smashing Magazine looks at one of the most popular image effects, grayscale, to compare its implementation in HTML canvas, SVG, CSS filters, and CSS blend modes.
18 May 2016
Editor's Note: SSL Is Now Included on All Paid Dynos as of September 22, 2016 At Heroku, we want to make it easy for everyone to be able to learn and explore our service, and the related ecosystem of technologies, for free – be it student, professional developer, hobbyist or just curious individual. We view […] The post Announcing Heroku…
Very often the construction of a Data Warehousing / Business Intelligence (DW / BI) system is performed following the flow of traditional engineering: analysis, design, construction, testing and implementation. Communication between developers and people interested in the business is almost nonexistent, and developers are interested in technologies for working with data but often neglect to ask this most important question:…
16 May 2016
I’m just going to jump right into the definitions and rigor, so if you haven’t read the previous post motivating the singular value decomposition, go back and do that first. This post will be theorem, proof, algorithm, data. The data set we test on is a thousand-story CNN news data set. All of the data, code, and examples used in…
“We're not seeing the banks or the airlines, or the bigger retail outfits open-sourcing various bits of software. Why not? I think that the key distinction is, ‘Is this company one where the engineering staff or technical staff has a lot of leverage within the organization?’" —Martin Fowler, Chief Scientist One of the themes highlighted in the April 2016 edition…
15 May 2016
Development is hard. But communication is even harder – especially across departments and continents. Our SI Process Hacks series will highlight a few simple hacks we wish we had known right from the start! The problem We deploy many times a day – bugfixes, feature improvements, new options, changes in user flows etc. As a […]
13 May 2016
About a month ago I set up statistics for the official DDNet servers. My motivations for this are: Monitor the servers more easily Get notified about server problems Have nice graphs to look at The choices for the software used are mainly made to keep resource usage low, a general principle used for DDNet since we run on cheap VPSes…
We previously introduced new playlist representations. The compact representation returns only the playlist itself without any of the tracks…
12 May 2016
Clever Badges makes it easy for K-2 students to log into applications. As with any new feature, we wanted to understand and address any potential security risks before we launched Clever Badges to our users. If we built Clever Badges without thinking deeply about security, it would have been easy to introduce a vulnerability and […] The post Clever Badges…
Last week at RailsConf in Kansas City, Terence Lee and Richard Schneeman of Heroku’s Ruby Task Force sat down with the legendary Aaron Patterson (AKA tenderlove). Aaron has been working hard to make Ruby three times faster — a goal that Matz called Ruby 3×3. Along the way, Aaron has discovered that Ruby may face […] The post Where Will…
Shyam builds an interactive smart traffic system for emergency vehicles using IBM BlueMix and PubNub's DSN
Shyam builds an interactive smart traffic system for emergency vehicles using IBM BlueMix and PubNub's DSN
We’re excited to announce another very interesting guest post on the jOOQ Blog by John Mcclean from AOL. AOL is a global digital media and technology company, founded in 1985 and once known as America Online, AOL is now part of the Verizon Group. AOL focuses on four areas – video, mobile, ad technology and … Continue reading Cyclops-react Organises…
Mark Wickersham FCA, the author of 'Effective Pricing for Accountants', shows how accounting firms can make the transition from being paid in arrears to be paid upfront.
Why Inclusivity, Equity and Leadership are key. Recently, I found an annual report from my first employer, a large UK firm, where I was one of six graduate trainees, with five of us being women. At that stage in my life, I didn’t even think about equality and diversity, and assumed the notion of 'work hard and you will be…
10 May 2016
Today we’re announcing that the APIs for the Heroku Connect data synchronization service are now GA. These fully supported endpoints will help our users with the tasks they most need repeatable automation for: creating consistent configuration across development, staging, and production environments; managing connections across multiple Salesforce deployments; and integrating Heroku Connect status with their […] The post Heroku Connect…
Solutions to common IoT pain points to make prototyping simpler using PubNub data stream network.
Solutions to common IoT pain points to make prototyping simpler using PubNub data stream network.
This is a quick post to describe how you can use test fixtures, data files on disk, with the Go testing package. Using fixtures with the Go testing package is quite straight forward because of two convenience features built into the go tool. First, when you run go test, for each package in scope, the […]
9 May 2016
It's been one year since Action Cable debuted at RailsConf 2015, and Sophie DeBenedetto is here to answer the question in the minds of many developers: what is it really like to implement "the highlight of Rails 5"? Sophie is a web developer and an instructor at the Flatiron School. Her first love is Ruby […] The post Real-Time Rails:…
Java 8 introduced JSR-308, which added new annotation capabilities to the Java language. Most importantly: Type annotations. It is now possible to design monsters like the below: The code displayed in that tweet really compiles. Every type can be annotated now, in order to enhance the type system in any custom way. Why, you may … Continue reading JSR-308 and…
7 May 2016
The challenge: Scaling Our dev team has reached a quite impressive size these days! Unfortunately I just don’t scale to this size. I can’t possibly conduct 1:1s, listen to feedback, give feedback and help people grow in a flat team of 12 people. While I don’t code anymore these days, and have assigned most project […]
Atom Babel plugin doesn't highlight variables in ES6 (ES2015) template strings. You'll need to add this snippet to your Atom's style.less atom-text-editor::shadow .variable.js { color: #F8F8F2; } In general, you can just inspect stuff in Atom, find out what classes element are using, and then style it via CSS (LESS). Just don't forget to add atom-text-editor::shadow before your rules. If…
5 May 2016
What do Go and Swift have in common? These open source languages are great examples of how some of the most influential software in production today is coming not from traditional software companies, but from industry leaders like Google and Apple, through to disrupters like Uber, and tech industry giants like Netflix, Facebook and Twitter. The result is that open…
4 May 2016
New version of the open-source project TileServer-PHP has just been released with many cool new features.
This post will walk you through setting up an accessibility testing dashboard from A to Z. Let's make the Internet more better together.
3 May 2016
Starting today, Postgres 9.5 is now the new default version for all new Heroku Postgres databases. We’ve had hundreds of customers using early beta versions of 9.5 and the feedback has been positive. For many customers, the new UPSERT functionality was the last feature that prevented many of them from moving from other relational databases […] The post Postgres 9.5…
A smart network helps build always-on applications by providing a secure reliable real-time way to connect devices for IoT.
A smart network helps build always-on applications by providing a secure reliable real-time way to connect devices for IoT.
I was hired in December 2014 as the sixth engineer at Shyp. Shyp runs Node.js on the server. It's been a pretty frustrating journey, and I wanted to share some of the experiences we've had. There are no hot takes about the learning curve, or "why are there so many frameworks" in this post. Initially […]
There is a good chance that your organization has automated tests. However, you might still face the following problems:
2 May 2016
Rails 5 will be the easiest release ever to get running on Heroku. You can get it going in just five lines: $ rails new myapp -d postgresql $ cd myapp $ git init . ; git add . ; git commit -m first $ heroku create $ git push heroku master These five lines […] The post Container-Ready Rails…