This post started with a simple search and turned into a trove of undocumented knowledge I discovered about finicky cross-browser SVG properties.
1 Aug 2016
31 Jul 2016
The author announces the release of "Node.js design patterns - second edition", a new book covering design patterns for Node.js and JavaScript. It includes updated code for Node v6 and ES2015 across 11 chapters and 100+ examples.
29 Jul 2016
Don’t Look Back in Anger: Retrospectives, Software Development and How Your Team Can Improve
BazaarvoiceRetrospective – This term can elicit a negative response in people in the software development industry (verbally and physically). After all, it is a bit of a loaded term. Looking back can be painful especially since that usually means looking back at mistakes, missteps and decisions we might want to take back. I have worked […]
28 Jul 2016
Redis might sound like it’s just a key/value store, but its versatility makes it a valuable Swiss Army knife for your application. Caching, queueing, geolocation, and more: Redis does it all. We’ve built (and helped our customers build) a lot of apps around Redis over the years, so we wanted to share a few tips […] The post Real-World Redis…
Impactful scientific work requires working on the right problems—problems which are not just interesting, but whose solutions matter.
My name is Matthew Green. I am a professor of computer science and a researcher at Johns Hopkins University in Baltimore. I focus on computer security and applied cryptography. Today I filed a lawsuit against the U.S. government, to strike down Section 1201 of the Digital Millennium Copyright Act. This law violates my First Amendment … Continue reading Statement on…
Let’s set the record straight right away. 1. I work for Thoughtworks. 2. I enjoy pairing (sometimes), and I think it’s valuable (usually). 3. You don’t have to pair program 100%. It is a tool, not a requirement.
This is the third installment in the Blockchain for Grown-Ups series. In the first article, we took a critical look at the hype surrounding blockchain. In the second article, we went beyond the hype to look at the real possibilities for blockchain. In this third article, we discuss where the flurry of activity around blockchain is taking us—a blockchain multiverse.
27 Jul 2016
Since we started breaking our monolith and introduced a microservices architecture we rely a lot on synchronous request-response style communication. In this blog post we’ll go over our current status and some of the lessons we learned.
26 Jul 2016
The Bazaarvoice headquarters hosted the July 20th HackerX event in Austin, Texas. The event featured not only Bazaarvoice, but also included Facebook, Amazon, and Indeed. 70+ engineers participated in onsite interviews and networking. HackerX commented that “this was one of the most successful events” they have ever seen. Gary Allison, Executive Vice President of Engineering, […]
25 Jul 2016
I took some time tonight and read through the Security Summer Camp (BSidesLV, Blackhat and Defcon) schedules and picked the talks from this year that I think will be the best and that I do not want to miss. I ended up with these 16 talks I am going to make a special point to see next week: BSidesLV Managing…
21 Jul 2016
Scott Raio is Co-Founder and CTO of Combatant Gentlemen], a design-to-delivery menswear e-commerce brand. What microservices are you running in Heroku Private Spaces? We’ve written an individual service for every business use case. For example, we have services for order processing, product catalog, account management, authentication, swatch display, POs, logistics, payments, etc. With all these […] The post How Combatant…
20 Jul 2016
We programmers keep cargo culting these wrong ideas. Recently, we said “NO” to Venn diagrams. Today we’re going to say no to surrogate keys. The surrogate keys vs. natural keys non-debate is one of the most overheated debates in data architecture, and I don’t get why everyone is so emotional. Both sides claim to hold … Continue reading Say NO…
19 Jul 2016
We recently launched Apache Kafka on Heroku into beta. Just like we do with Heroku Postgres, our internal engineering teams have been using our Kafka service to power a number of our internal systems. The Big Idea The Heroku platform comprises a large number of independent services. Traditionally we’ve used HTTP calls to communicate between […] The post Powering the…
Go is a modern programming language created at Google. It’s designed to be a very rational (read non-fancy), simple, and fast programming language. It’s quickly becoming one of the key new programming languages due to its familiarity, simplicity, scalability, performance, and approach to concurrency. It’s the common language of modern systems solutions (Docker, Kubernetes, CoreOS, Hashicorp…), many of small and…
“Challenge accepted” said Tagir Valeev when I recently asked the readers of the jOOQ blog to show if the Java JIT (Just-In-Time compilation) can optimise away a for loop. Tagir is the author of StreamEx, very useful Java 8 Stream extension library that adds additional parallelism features on top of standard streams. He’s a speaker … Continue reading The Java…
I like to think of myself as a coder of convenience. I often tell myself this work is just a means to an end – I am only coding till I can afford to spend the rest of my days lying in a hammock, drinking out of a coconut. But that’s not really true. If […]
Serverless templates added to the serverless framework
On Monday this week, the Prometheus authors have released version 1.0.0 of the central component of the Prometheus monitoring and alerting system, the Prometheus server. (Other components will follow suit over the next months.) This is a major milestone for the project. Read more about it on the Prometheus blog, and check out the announcement of the CNCF, which has…
18 Jul 2016
Security Summer Camp (BSidesLV, Blackhat and Defcon) is the most important week in the security industry and as such you need to be prepared to network like a professional. Here are 6 things you can do this week to get ready: Freshen Up Your Social Media Profiles Is your twitter profile picture 4 years old? Does your twitter bio mention…
15 Jul 2016
We are two weeks away from Security Summer Camp (which is BSidesLV, Blackhat and Defcon)! So it is time for everyone to write their annual blog posts about what you must do before you head out. I want to be one of the cool kids so here is my list of 6 things to do before you pack: Delete All…
Bazaarvoice’s Small Web App Technologies (SWAT) team is pleased to announce that we are open sourcing swat-proxy – a tool to inject applications onto third-party webpages. In third-party web application development it is difficult to be certain how our applications will look and behave on a client’s webpage until they are implemented. Any number of things could interfere – including…
It seems that perfection is attained not when there is nothing more to add, but when there is nothing more to remove. – Antoine de Saint Exupéry in Terre des Hommes As SQL developers, we keep adding more and more indexes to our tables. Every time we run new queries that are potentially slow, a … Continue reading How to…
14 Jul 2016
A lot of people use SQL constraints mainly to enforce data integrity, and that’s already a very good thing. A UNIQUE constraint, for instance, makes sure that there is at most one instance of any possible value (or tuple, in the case of a composite constraint) in a table. For instance: Constraints are also good … Continue reading How Adding…
Creating WordPress Site Visualization Plugin Powered by PubNub with PHP.
Creating WordPress Site Visualization Plugin Powered by PubNub with PHP.
Citizens’ Advice has seen a 33% increase in requests for help with UK council tax debts over the last 3 years. This makes it the number one debt issue for the charity.
MapTiler Desktop 7 comes with new interface, auto-save of the georefence, and other cool features.
13 Jul 2016
Andrey Petrov is the author of urllib3, the creator of Briefmetrics and ssh-chat, and a former Googler and Y Combinator alum. He’s back again to free us of our old ways of thinking, so that we can embrace what's really special about receivers in Go. When getting started with Go, there is a strong temptation […] The post Neither self…
While doing security research it is not uncommon for me to build and destroy between 20 and 25 cloud servers a week on Digital Ocean. While there are great guides like: My First 10 Minutes On a Server – Primer for Securing Ubuntu My First 5 Minutes On A Server; Or, Essential Security for Linux Servers I do not have…
This tutorial guides you through building a Smart Home controller for tvOS. A user can control devices from their Apple TV.
This tutorial guides you through building a Smart Home controller for tvOS. A user can control devices from their Apple TV.
Another tech meetup is behind us, even more people came this time. As promised, we will keep them coming more often. Miloš spoke first about learning in tech, and keeping up with it. My talk was about SPAs, and how hard they can be. We hope that meetups like this will help to build and strengthen the community in Belgrade,…
In order for you to thrive in the digital environment, you need to understand the implications of the changing technology landscape on your organization. This is the second article in our Technology Radar Echoes, a series where authors share their insights and experience on the technology problems and solutions driving business differentiation for enterprise leaders.
12 Jul 2016
Start using the Photon, a WiFi-enabled board from Particle, to send and receive messages using PubNub's global data stream network.
Start using the Photon, a WiFi-enabled board from Particle, to send and receive messages using PubNub's global data stream network.
A recent Tweet by Aaron Bertrand (whom you’ve certainly encountered on Stack Overflow) has triggered my interest Or the one that asks a bunch of questions about ANY / ALL syntax, which nobody has used since Celko was still in college? — Aaron Bertrand (@AaronBertrand) July 11, 2016 Indeed, few people I’ve met and who’ve … Continue reading Quantified Comparison…
Continuous Delivery provides great benefits not only for the team developing the software, by increasing their confidence, but also for the product team, since the delivery of new features becomes a pure business decision.
11 Jul 2016
Apple Watch Heart Rate Monitoring System using Twitter Fabric, EON and Raspberry Pi.
Apple Watch Heart Rate Monitoring System using Twitter Fabric, EON and Raspberry Pi.
Problem: Design a random number generator that is computationally indistinguishable from a truly random number generator. Solution (in Python): note this solution uses the Miller-Rabin primality tester, though any primality test will do. See the github repository for the referenced implementation. from randomized.primality import probablyPrime import random def goodPrime(p): return p % 4 == 3 and probablyPrime(p, accuracy=100) def findGoodPrime(numBits=512):…
When it comes to cloud many firms are making the mistake of choosing software first and deciding what to do with it after. Find out how to create a clear strategy for your cloud proposition, ensuring it meets real business needs.
To commemorate the third annual GopherCon US in Denver this week, we’re releasing cgo bindings to two compression libraries that we’ve been using in production at Datadog for a while now: czlib and zstd.
Wish media being the biggest performance bottleneck on the web, let's turn our focus to design. This post outlines 3 easy wins for more performant UI's.
10 Jul 2016
There has been a lot of talk about why you should use a VPN on public networks and why it shouldn’t be a commercial one. I am a huge fan of the Streisand privacy stack because it includes and L2TP/IPsec VPN, OpenConnect, OpenSSH, OpenVPN, Shadowsocks, sslh, Stunnel, and a Tor bridge all in one amazing package. The problem with Streisand…
9 Jul 2016
I worked with a consultant using the lair framework two years ago and since then I have been a huge fan of the project to manage pentest information. Tom Steele has done an amazing job with the project but it has been a pain to install but thanks to Ryan Hanson and Docker you can now setup a lair instance…
Why does it suck to wait for things? In a previous post I analyzed a NYC subway dataset and found that at some point, quite early, it’s worth just giving up. This isn’t a proof that the subway doesn’t run on time – in fact it might actually proves that the subway runs really well. The numbers indicate that it’s…
8 Jul 2016
Build an AppleTV controlled smart home using a Raspberry Pi, LED, temperature sensor, LED matrix and PubNub's global network.
Build an AppleTV controlled smart home using a Raspberry Pi, LED, temperature sensor, LED matrix and PubNub's global network.
7 Jul 2016
Based in Budapest, Hungary, Andras Fincza (Head of Engineering) and Rafael Ördög (Technical Lead) work for Emarsys, a global marketing automation platform. Read our Emarsys customer story to learn more about their migration experience on Heroku. How did you introduce microservices at Emarsys? We take an evolutionary approach to our architecture. Our marketing automation platform […] The post How Emarsys…
This tutorial guides you through building a Radio station app for iOS. A user can create a radio station or listen to one from a list of stations.
This tutorial guides you through building a Radio station app for iOS. A user can create a radio station or listen to one from a list of stations.
Catchy headline, yes. But check out this Stack Overflow question by user Mike: (I’m duplicating it here on the blog, as it might be deleted soon) It’s a pretty open ended question. I’ll be starting out a new project and am looking at different ORMs to integrate with database access. Do you have any favorites? … Continue reading “What Java…
For our internal search engine I am currently developing a simple microservice to make our CMDBuild instance searchable. The microservice provides a fairly simple JSON API which itself queries the REST API of CMDBuild. Because of the insufficient documentation of CMDBuild I had to dig into the the source how […] The post Executing a CQL wildcard search in CMDBuild’s…
Hallo 👋 Born in the mid 90s I was always fiddling with electronics and computers, which is why I’m here now. I spend my days living in London as a systems engineer/architect, having far too many dogs and listening to some music. My playlists absolutely slap.
6 Jul 2016
One of the tips that security professionals love to give is to use a VPN on public wifi networks. This is great advice and (I personally like PrivateInternetAccess and NordVPN). Recently I noticed nike.com blocks traffic from TOR and VPN providers: That got me wondering what other websites were blocking traffic from these sources so I decided to test the…
A week-long Android development program for college juniors put on by Twitter in San Francisco taught both technical and non-technical skills.
A week-long Android development program for college juniors put on by Twitter in San Francisco taught both technical and non-technical skills.
After joining the Bahmni team, it was important to me to visit the hospitals that had taken on our product, first hand. My goal was to not only understand hospital operations and witness the challenges that staff dealt with on a everyday basis, but to also share this information with my team members, many of whom did not have the…
5 Jul 2016
Part 2 of our tutorial on how to build a live dashboard camera that broadcasts using AngularJS, Raspberry Pi, and the Raspberry Pi Camera.
Part 2 of our tutorial on how to build a live dashboard camera that broadcasts using AngularJS, Raspberry Pi, and the Raspberry Pi Camera.
After a significant project involving making Small Improvements responsive, we came up with some UI ‘rules’ that we in the design team or (‘UI Taskforce’) agreed upon. The longer we worked on this refactoring and ‘cleaning up’ of the app’s style, the more we realised the importance of (finally) having a Style Guide. At Small Improvements, […]
In recent times, there have been a couple of tremendously popular blog posts explaining JOINs using Venn Diagrams. After all, relational algebra and SQL are set oriented theories and languages, so it only makes sense to illustrate set operations like JOINs using Venn Diagrams. Right? Google seems to say so: Everyone uses Venn Diagrams to … Continue reading Say NO…
In this post we’ll get a strong taste for zero knowledge proofs by exploring the graph isomorphism problem in detail. In the next post, we’ll see how this relates to cryptography and the bigger picture. The goal of this post is to get a strong understanding of the terms “prover,” “verifier,” and “simulator,” and “zero knowledge” in the context of…
Over the last 100 years we have dialed into radio stations at home, on the road, or in the office to access a curated mix of top hits delivered to us by our favorite DJ. With more and more of our daily activities taking place online, we find our source of music now comes from a mix of our mobile…
Security is a big deal, and businesses are the ones to bear the cost.
4 Jul 2016
I had a 2014 Dell Chromebook 11 I was not doing anything so I decided to turn it into a stand alone Kali box using the Chromium OS Universal Chroot Environment. The installation steps are pretty simple: Add a l33t hacker sticker: Enable Developer Mode (this will wipe the device). Login and download the latest crouton. Access the terminal by…
A recent article about various ways to implement structural pattern matching in Java has triggered my interest: http://blog.higher-order.com/blog/2009/08/21/structural-pattern-matching-in-java The article mentions a Scala example where a tree data structure can be traversed very easily and neatly using Scala’s match keyword, along with using algebraic data types (more specifically, a sum type): Even if you’re not … Continue reading How Functional…
3 Jul 2016
I've been following the commits to the Go project for some time now. Occasionally someone will post a commit with benchmarks showing how much the commit improves performance along some axis or another. In this commit, they've increased the performance of division by 7 (a notoriously tricky number to divide by) by about 40% on […]
2 Jul 2016
In my latest post I showed some examples of how I ran mostly the same PC hardware over a period of 8 years. Today I finally finished setting up my new PC hardware in my new home, so I can report about what I did differently, my thought process, and some problems I encountered and hacks I did to solve…
30 Jun 2016
We are excited to announce a newly improved AngularJS SDK that offers AngularJS developers a better experience for building real-time apps.
We are excited to announce a newly improved AngularJS SDK that offers AngularJS developers a better experience for building real-time apps.
When people start creating commercially licensed software (like we did, in 2013 with jOOQ), there is always the big looming question: What do I do about piracy? I’ve had numerous discussions with fellow entrepreneurs about this topic, and this fear is omnipresent. There has also been a recent discussion on reddit, titled “prevent sharing of … Continue reading With Commercial…
Long time readers of this blog will know that when I’m not shilling for the Go language, my hobbies include electronics and retro computing. For me, projects like James Newman’s Megaprocessor, a computer built entirely from discrete components, is about as good as it gets. James has recently finished construction of the Megaprocessor and has started […]
In late April 2016, I joined a team of Thoughtworkers to conduct an inception with the Ministry of Health of the Royal Government of Bhutan, a country whose population is significantly smaller than my hometown of Toronto. Though small in size, Bhutan is a role model in Universal Health Coverage (UHC), offering free healthcare for all. Despite being a role…
29 Jun 2016
Use the Arduino MKR1000 to wirelessly track temperature data, then view it from practically anywhere using PubNub
Use the Arduino MKR1000 to wirelessly track temperature data, then view it from practically anywhere using PubNub
For a current project I'm on, we needed both circular timer, and progress bar. Again, I wasn't able to find small library to do that. But I found awesome answer on Stack Overflow, decided SVG is way to go, and wrote Sektor. Sektor is a plain JavaScript library that draws circle sector (or an arc). Once it is drawn, you…
28 Jun 2016
If you are part of an agile, or lean, or kanban development team, you probably do or have done demos at one point. Some people call them “end of sprint” demos. Some people call them “stakeholder” demos. We are pretty informal and irreverent about it at Bazaarvoice, and we just call them “demos” because giving […]
Introducing the serverless service concept in the serverless framework v1 alpha
27 Jun 2016
This tutorial shows you how to build a live dashboard camera that broadcasts using Node.js, Raspberry Pi, and the Raspberry Pi Camera.
This tutorial shows you how to build a live dashboard camera that broadcasts using Node.js, Raspberry Pi, and the Raspberry Pi Camera.
I was invited to take part in this year’s Docker keynote to discuss how we use Docker at Splice and how our two companies share the same philosophy. I wrote a summary blog post of my talk. And you can read the official Docker blog post about the keynote Video
26 Jun 2016
gb has been in development for just over a year now. Since the announcement in May 2015 the project has received over 1,600 stars, produced 16 releases, and attracted 41 contributors. Thanks to a committed band of early adopters, gb has grown to be a usable day to day replacement for the go tool. But, there is […]
24 Jun 2016
What do we want? Version management for Go packages! When do we want it? Yesterday! What does everyone want? We want our Go build tool of choice to fetch the latest stable version when you start using the package in your project. We want them to grab security updates and bug fixes automatically, but not upgrade […]
23 Jun 2016
How Belly Scales Using API Proxies with their Microservices Architecture: Interview with Darby Frey
HerokuDarby Frey is Director of Platform Engineering at Belly, the leading loyalty marketing platform in the U.S. For more information, Read our Belly customer story to learn more about how Heroku has helped Belly scale their business. How did you approach migrating to a microservices architecture? Originally, we built the entire business on one Rails […] The post How Belly…
A picture started floating around the internet of Mark Zuckerberg holding an Instagram cutout: People almost instantly started to notice that his webcam and mic were taped over. While Mark Zuckerberg isnt exactly known for having great security practices, all his social media passwords were Dadada. This started a discussion in the office if someone could really spy on you…
There is much hype around the Internet of Things (the linking of machines and sensors to the Internet), but is it deserved? At its core, IoT is just the Internet, with things on it. But these things are different from the computers we are used to dealing with. In short, the IoT is the same but different.
22 Jun 2016
This was accidentally first posted here on my Code Blog. I deleted it and subsequently posted it in the proper place on my non-code blog. I’ve restored this placeholder post just so that anyone following links to it won’t get a 404…
21 Jun 2016
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:…
We (along with researchers from Berkeley and Stanford) are co-authors on today’s paper led by Google Brain researchers, Concrete Problems in AI Safety. The paper explores many research problems around ensuring that modern machine learning systems operate as intended.
Divide and Conquer As Engineers, we often like nice clean solutions that don’t carry along what we like to call technical debt. Technical debt literally is stuff that we have to go back to fix/rewrite later or that requires significant ongoing maintenance effort. In a perfect world, we fire up the the new platform and […]
This is a short post to illustrate how I use the inotifywait command as a cheap and cheerful way to run my tests automatically on save. Note: inotify is only available on linux, sorry OS X users. Step 1. Install inotify-tools On Debian/Ubuntu, inotifywait and friends live in the inotify-tools package. % sudo apt-get install […]
Earlier this year, we created a ppx_let, a PPX rewriter that introduces a syntax for working with monadic and applicative libraries like Command, Async, Result and Incremental. We’ve now amassed about six months of experience with it, and we’ve now seen enough to recommend it to a wider audience.
With more than 125 million tracks from over 12 million creators heard each month on our platform, SoundCloud is uniquely positioned to offer listeners a full spectrum of music discovery. Classic hits, the latest releases, gems from underground talent and the best of what’s up-and-coming – all in one place. How can you make great content discoverable and available at…