A recap of serverless news from AWS re:Invent 2016 & why it matters.
5 Dec 2016
4 Dec 2016
I have been playing with my stack of pizero a bunch lately and tonight I decided to put together a piZero OTG Ethernet gadget that runs Kali (Really KaToolin), XRDP and Mate in a computer on a stick configuration. This way I have a full (as I want it to be) Kali installation with me as long as I have…
3 Dec 2016
This is a short blog post to reference the slides from my builderscon 2016 presentation. I had a great time at buildercon, the talks were varied and engaging from a wide selection of Japanese makers. I’m grateful to the builderscon organisers for accepting my talk and inviting me to present at the inaugural builderscon conference in […]
Private final field modification is possible and it doesn’t require a lot of work. Since you should not use this mechanism in real life there are cases when it is useful. For example this how is Hibernate using this to hydrate final entity fields. But when using final fields with Hibernate you should be extra careful how you declare them.…
2 Dec 2016
Function metrics, easier AWS credential setup, and Lambda versioning in Serverless Framework v1.3
ServerlessFunction metrics, easier AWS credential setup, and Lambda versioning now available in Serverless v1.3
1 Dec 2016
“Be not afraid of going slowly; be afraid only of standing still.” - Chinese proverb. Hello, and welcome back! Today we are going to take a few more baby steps and learn how to parse Pascal procedure declarations. What is a procedure declaration? A procedure declaration is a language construct that defines an identifier (a procedure name) and associates it…
A collection of speech recognition and voice activation tutorials for building speech and voice functionality into your web, mobile, and IoT apps.
30 Nov 2016
How to send and receive SMS alerts and notifications with the ClickSend SMS block.
I have been playing with my stack of piZero’s recently and started to read about the kernel OTG gadgets and was intrigued by the OTG_HID gadget. So after doing some reading I found that someone had ported the USB Rubber Ducky platform to the piZero and called it rspiducky. Building it is fairly straight forward but if you if you…
A new application allowing drag&drop of data into your Google Drive folder.
Guest author Diego Zanon writes about building a serverless notification system for browsers using the Serverless Framework and AWS IoT.
29 Nov 2016
Results of the State of the Serverless Community survey and what we learned.
28 Nov 2016
How to add image manipulation and image transformation to real-time applications like chat, retail, and collaboration apps with Cloudinary and PubNub BLOCKS.
Have you encountered this error when upgrading to the latest CocoaPods (1.1.0), or sharing a library between your iOS App and your extension? 1 'sharedApplication' is unavailable: not available on iOS (App Extension) - Use view controller based solutions where appropriate instead. If yes, continue reading, as you might have encountered same issue as myself. I’ve recently had to upgrade…
I have been reading a lot about Beacon Frames on my vacation this week (stop laughing) and I came across a tool in Kali called MDK3 that will allow you to send fake beacon frames. I couldnt pass up a chance to test this so I pulled out my trusty TL-WN722N and made a list of the 5,0000 most common…
27 Nov 2016
A while ago my friend Alan and I were discussing configuration management. In particular we wondered why every configuration management tool has to ship a DSL, or be loaded from YAML files. We wondered if it would be possible to just write code that deploys servers — it might let you describe what you want […]
26 Nov 2016
Thanks to PoisonTap I have finally had a reason to pull my PiZero out of the ever growing “Stuff to Hack” pile and start working on it. I have a couple of neat ideas that are coming down the pipeline but this weekend I built a VPN sidecar using a USB OTG Gadget. I wanted to be able to use…
This blog post summarizes a talk about building a Universal JavaScript application with React given at Codemotion Milan 2016. It includes commentary for each slide, photos from Twitter, and a video recording. The post explains what Universal JavaScript is, its benefits, challenges, and walks through demo code to add server-side rendering and routing to a React app.
25 Nov 2016
24 Nov 2016
Recently @ThePracticalDev asked people on Twitter for typical things programmers say: Request — what are some examples of funny idioms/phrases software devs use a lot? Things like "It works on my machine" etc. — DEV Community (@ThePracticalDev) November 16, 2016 … Continue reading →
Introduction In most presentations of Riemannian geometry, e.g. O’Neill (1983) and Wikipedia, the fundamental theorem of Riemannian geometry (“the miracle of Riemannian geometry”) is given: that for any semi-Riemannian manifold there is a unique torsion-free metric connection. I assume partly because of this and partly because the major application of Riemannian geometry is General Relativity, … Continue reading Mercator: A…
Over the past few years we’ve heard more about smartphone encryption than, quite frankly, most of us expected to hear in a lifetime. We learned that proper encryption can slow down even sophisticated decryption attempts if done correctly. We’ve also learned that incorrect implementations can undo most of that security. In other words, phone encryption is an … Continue reading…
Guest author Nick den Engelsman writes about streamlining DevOps and why he and his team at BandLab decided on AWS Lambda + API Gateway and the Serverless Framework.
Currently, I'm working on a relatively small pet project. While setting it up, I decided to extract a webpack boilerplate from it. As whole JS community is moving really fast, I found very hard to set everything up using Webpack 1.x. One package would ask to update the other, that would break the third one, then that one... and so…
Part three - also the last part # Other parts: Part 1 - Webpack, Babel, React, Router, ESLint Part 2 - SASS, more ES6 goodness (Static props, decorators, deconstruction...) Part 3 - Where to go from here Where to go from here # I really wanted to continue this series, but unfortunately whole JavaScript / Node community is moving so…
23 Nov 2016
Severless Operations Manager, Casey Shultz, shares tips for building an engaged developer community from CMX Summit 2016.
22 Nov 2016
React Native continues on a development spree in late 2016. With an ambitious two-week release cycle, the framework makes rapid progress towards feature and performance parity with its native Android and iOS equivalents. At the same time, these quick release periods frequently introduce breaking changes, difficulty with setup, and challenges with basic configuration. Enter Exponent, a tool that promises easier…
Environment variable support, optimized function packaging, per function IAM permissions, and new configuration options available in Serverless v1.2
21 Nov 2016
PubNub CEO Todd Greene discusses how real-time data streaming is changing everything, and the future of serverless architecture.
20 Nov 2016
This is the second post in a series on memory segmentation. It covers working with static and dynamic libraries in Linux and OSX. Make sure to check out the first on object files and symbols. Let’s say we wanted to reuse some of the code from our previous project in our next one. We could continue to copy around object…
19 Nov 2016
Last thursday I gave a talk at NSLondon meetup called ‘Minimum Viable Tooling’. The topic was examples of approaching tooling and automation for small teams. I showed real examples of what we do at Peak, where I currently work. One of the things people showed interest in after the talk was how we deal with localizations. In this post I…
This is a progress report on the Go toolchain improvements during the 1.8 development cycle. Now we’re well into November, the 1.8 development window is closing fast on the few remaining in fly change lists, with the remainder being told to wait until the 1.9 development season opens when Go 1.8 ships in February 2017. […]
18 Nov 2016
How to trigger an SMS alert to send to users who receive a chat message, but are offline, using RingCentral and PubNub BLOCKS.
17 Nov 2016
With the Sightengine BLOCK, you can execute image moderation and analysis for real-time chat apps and collaborative apps.
It's been a while! sorts of stuff to share. Definitely enough for a series of blog posts. But I also have less time than before, because it's all happening in my non-copious spare time, all late nights and weekends. And running an MMORPG is a fearsome task in its own right. beta testing. So if you want to try it…
16 Nov 2016
How to get started with AT&T IoT Starter Kit and PubNub, to connect your IoT application in real time with bidirectional communication.
How to get started with AT&T Flow and PubNub, and build real-time data streams to power communication between IoT applications and devices.
How to detect and filter profanity from a real-time chat app, and block a user's IP address when they break your custom rules.
15 Nov 2016
How to build an app that analyzes images and tags them with relevant keywords using Clarifai and PubNub BLOCKS.
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.
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.
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 […]
The most reliable way to evaluate programmer candidates is to hire them to do a bit of realistic work. This is widely understood, but not widely practiced. The biggest barrier is finding projects for them to work on. In most organizations, the overhead of getting a new person started is
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.
8 Nov 2016
Yesterday I had the good fortune to attend Empire Node at The National Museum of the American Indian, courtesy of InRhythm. A good time was had by all and we got to see some great talks! There was programmable music, smart ways to get into code style linting and, of
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.
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.
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”…
A few days ago I’ve stumbled upon SQL query performance issue. Git claims that I was the author so maybe that’s the reason I remember this feature. There was like 3 classes, everything was super easy and super fast all I needed to do was to let Hibernate do its thing. Then time passed, new features were requested, the model…
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…
Environment variables are declared with the ENV statement and are notated in the Dockerfile either with $VARIABLE_NAME or ${VARIABLE_NAME}. Passing variables at build-time The ENV instruction sets the environment variable to the value. The environment variables set using ENV will persist when a container is run from the resulting image. For example: The Dockerfile allows you to specify arguments […]
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.
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…
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.…
29 Oct 2016
Sometimes when unit tests setup is complex we are tempted to take shortcuts and write single setup for all tests which will save as few keystrokes. In the time of writing the test it might feel like a good idea to configure complex unit test setup and reuse it in all test. This way we avoid code duplication and we…
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
Today I want to share a small utility we’ve been using for a while at Peak, my current workplace, to control the system time inside the application and save time while testing or debugging. In most application code you’ll eventually end up with tasks that need to execute periodically, or after some time has passed. The period of time will…
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
Guest author John McKim writes about building a serverless garden monitoring system with the Serverless Framework and AWS Lambda.