Want to be a better engineer or programmer? Check out this list of resources from the Serverless team.
17 Apr 2017
15 Apr 2017
Immutability and functional programming are hot right now. But how to achieve immutability with objects deserialized from json? Luckily there is pretty old feature introduced in jackson 2.7.0 which uses constructor based object creation and uses @ConstructorProperties (introduced in java7). Read more
13 Apr 2017
A walkthrough of advanced PubNub Angular 2 SDK features, including Presence (online/offline status) and Custom State.
Today I was asked if it was possible to generate a list of domain names registered everyday with a keyword in the record (company name, city, trademark, etc). There are a few paid services that do this and domainpunch.com has a web based tool that will do this but I wanted to automate it so I could use it with…
Last few months I’ve been using Go to write quite a lot of tools. In this post I intend to show not why I chose Go over others, but how I architect those tools, what libraries I use and what kind of automation I have in place.
It’s been over a year since I wrote a blog entry! And while of course the universal excuse of “I’ve been busy” applies, I think we reached a point in Discourse’s development where we just were able to focus on the product without a lot of stuff getting in our way. I’ve now been working on Discourse full time for…
12 Apr 2017
I’ve always been fascinated by systems, the way they work, the way you can put them apart and build them back up. Part of this fascination is my insatiable desire to always be learning but also a challenge I like I give myself: can we do better? This fascination is what drove me most of my career. But my focus…
Trigger Lambdas through CloudWatch Logs, plus more new features in the Serverless Framework v1.11 release.
11 Apr 2017
The author gave a talk on building universal JavaScript web apps at Codemotion Rome 2017. He updated his Judo Heroes demo to v2 with React 15.4, React Router 4, Webpack 2, and Express 5. The talk got positive feedback from the audience. Slides and video are linked.
A walkthrough on building a quick and easy modern web framework in 20 lines of code.
Full disclosure: my employer makes a Slack alternative. All my concerns about the use of Slack type chat services apply equally to its competitors, including my employer’s. I’ve tweeted a few times about my frustration with the movement of open source projects from open, asynchronous, communication tools like forums, mailing lists, and issue trackers, to […]
10 Apr 2017
You should write your next web server in Go. Yes, you! Compared with Ruby, PHP, Python, or Javascript, you're going to get great memory and latency performance, and libraries that do what you expect. The standard library can be a bit lacking though, if you are used to developing with a tool like Rails. I […]
New release of OpenMapTiles brings aeroways, transportation names, German names, and mountain peaks.
9 Apr 2017
This weekend I polished up my Arduino Day project and published it to GitHub for Retrochallenge 2017/04. Introducing Arduino6502 https://github.com/davecheney/arduino6502 The repository contains an Arduino sketch that can be loaded on Arduino Mega boards (Arduino Uno’s can be accommodated by lowering the RAMSIZE value). The sketch includes ROM images for AppleSoft Lite and Krusader symbolic […]
7 Apr 2017
How to use Wia and PubNub BLOCKS for IoT messaging, including tracking and displaying IoT events.
6 Apr 2017
We’ve developed an unsupervised system which learns an excellent representation of sentiment, despite being trained only to predict the next character in the text of Amazon reviews.
Using Serverless Technology to Bootstrap the Platform for a Billion Dollar Business Opportunity
ServerlessHow SC5 used Serverless to create the backend for a revolutionary transportation app.
5 Apr 2017
This is my late entry for the 2017/04 retrochallenge. Notwithstanding my 2015 failure to launch, I plan to work on Arduino based emulators for various 6502 computers. A few years ago I built an Arduino shield to host a real 6502 using the Arduino as RAM, PIA, and glue logic. To some extent the software that this project ran […]
Get familiar with GraphQL in this 30-minute tutorial on building an online store with Stripe, Mailgun and Serverless.
4 Apr 2017
Use PubNub and Keen.io to organize, sort, process and sift through information overload. Make data-driven decisions and understand customers.
Learn how to build and deploy a Serverless REST API using Python EVE and MongoDB
3 Apr 2017
I am a big fan of DigiCert for TLS Certificates and CA/WebPKI services. While they have amazing customer support and are an amazing company to work with, there are not a lot of automation scripts to interact with their API available. So over the weekend and with a lot of help from Clint Wilson I built a shell script that:…
How to build real-time HTML5 notifications and alerts in web browsers for Chrome, Safari, and Firefox.
1 Apr 2017
Organize Django settings into multiple files and directories. Easily override and modify settings. Use wildcards and optional settings files. Managing Django’s settings might be tricky. There are severals issues which are encountered by any Django developer along the way. First one is caused by the default project structure. Django clearly offers us a single settings.py file. It seams reasonable at…
We’ve created the world’s first Spam-detecting AI trained entirely in simulation and deployed on a physical robot.
31 Mar 2017
An amazing mentor and leader I work with has been talking to me recently about what real leadership looks like and shared with me a list of quotes he keeps on his desk that his dad who had a leadership role in the military collected and gave to him. He gave me a copy and said I was free to…
This article explains how short URLs work and provides code examples to expand them in Node.js using request module or tall library. It covers basics of URL redirection, shows how to disable auto-redirect in request module, and introduces tall - a promise-based Node.js library to unshorten URLs.
How to create a ASP.NET Core Web API, secure it with JSON Web Tokens and explore it with Swagger UI and Postman. You can view the example code in this post at https://github.com/hlaueriksson/ConductOfCode ASP.NET Core Web API I installed the new Visual Studio 2017 and created a new ASP.NET Core Web Application. Then I added these dependencies: Swagger with Swashbuckle.AspNetCore…
When looking at execution plans in Oracle, we’ll have to do several steps to be able to call the DBMS_XPLAN package functions. In fact, we have to find out the SQL_ID for a given statement first, and only then we can get its plan. I’ve blogged about this previously, here. However, thanks to lateral unnesting, … Continue reading How to…
Building a REST API in Node.js with AWS Lambda, API Gateway, DynamoDB, and Serverless Framework
ServerlessA hands-on tutorial on building a REST API in Node.js using AWS Lambda, API Gateway, DynamoDB, and the Serverless Framework .
30 Mar 2017
Do you work in the tech industry in the Bay Area? You should start learning about, and getting involved in, local housing politics. The prognosis for housing and rent prices is bad, and things are likely going to get worse for tech workers in the Bay, unless we start taking action. I will explain why […]
Hah! Got nerd-sniped again: https://stackoverflow.com/questions/43099226/how-to-make-jooq-to-use-arrays-in-the-in-clause/43102102 A jOOQ user was wondering why jOOQ would generate an IN list for a predicate like this: Java SQL … when in fact there could have been the following predicate being generated, instead: In the second case, there would have been only one single bind variable instead of 4, and … Continue reading SQL IN…
Every codebase depends on multiple external libraries. It is a good idea to stay up to date with external dependencies. It is important to update all security related stuff and it might be helpful or fun to use latest features. I’m going to share my way of staying up to date with external dependencies in maven, gradle and npm. Read…
How the US Department of Defense is Streamlining Open Source Contributions with Serverless Code
ServerlessLearn how the Defense Digital Service at the Pentagon used Serverless to automate the Developer Certificate of Origin process for contributors.
An awesome CSS grid tool was just released for Firefox, and the web has been buzzing about it. This is a short post about my 3 favorite features!
29 Mar 2017
Tuning SQL isn’t always easy, and it takes a lot of practice to recognise how any given query can be optimised. One of the most important slides of my SQL training is the one summarising “how to be fast”: Some of these bullets were already covered on this blog. For instance avoiding needless, mandatory work, … Continue reading How to…
How to build a simple chatbot using the Gupshup Bot Integration API and PubNub BLOCKS.
I am reading a book called “The Art of Authenticity” and in the book over a couple of chapters it talks about understanding what makes strong leaders and deciding who you should follow. I have pulled these 10 questions out of those chapters: What was your first leadership role? When you think about the process of becoming the leader that…
Faster Deployment for Large Services, Support for Node.js 6.10 Runtime with Serverless v1.10
ServerlessFaster deploy times for large services, support for Node.js 6.10 runtime, Groovy service template and more in the Serverless Framework v1.10 release.
28 Mar 2017
I’m tired of having the same conversation over and over again with people so I figured I would put it into a blog post. Many people ask me if I have tried or what I think of Solaris Zones / BSD Jails. The answer is simply: I have tried them and I definitely like them. The conversation then heads towards…
One of the most common problems that I run into when using Redux is trying to figure out why an action is not being captured by a reducer. For someone just getting starting with Redux, debugging this issue can be especially overwhelming because of how Redux manages data flow. So before you start pouring over configuration code, or the logic…
Attempting to perform the InitializeDefaultDrives operation on the ‘FileSystem’ provider failed.
SchakkoYesterday, one of our check_mk monitoring scripts based upon PowerShell failed, because the error Attempting to perform the InitializeDefaultDrives operation on the ‘FileSystem’ provider failed. showed up. The initial reason for this is unknown to me but it has to do with the New-PSDrive and Remove-PSDrive PowerShell commands we were […] The post Attempting to perform the InitializeDefaultDrives operation on…
27 Mar 2017
How to get started with the new PubNub Angular 2 SDK, including publish/subscribe messaging and message persistence for chat.
The frequency in which data leaks and breaches appear makes it easy to forget how severe some of them are. It seems like every 2 days we hear about a new data breach; we’ve got people like Troy Hunt who The post Handling Data Breaches, Or: The Art of Fixing and Saying “Sorry” appeared first on FullStack - Ofer Zelig's…
SaaS tools can improve more than a company’s finance and sales functions – if only business owners realised it. When used for HR, marketing, and customer services, they can be the cloud’s silver lining.
The apprenticeship levy will dramatically boost work trainee numbers when it becomes law in April. Education providers can attract more employers by offering the best courses – and making paying for training both simple and painless.
26 Mar 2017
In this post, we start exploring CPU exceptions. Exceptions occur in various erroneous situations, for example when accessing an invalid memory address or when dividing by zero. To catch them, we have to set up an interrupt descriptor table that provides handler functions. At the end of this post, our kernel will be able to catch breakpoint exceptions and to…
24 Mar 2017
We’ve discovered that evolution strategies (ES), an optimization technique that’s been known for decades, rivals the performance of standard reinforcement learning (RL) techniques on modern RL benchmarks (e.g. Atari/MuJoCo), while overcoming many of RL’s inconveniences.
Benchmark of MongoDB pagination strategies! See which method (_id vs skip/limit) performs best for large datasets. Find the code on GitHub.
23 Mar 2017
Is MongoDB `skip` slow? Understand when & why `skip` impacts pagination performance. Learn efficient alternatives for large datasets.
22 Mar 2017
Build customizable and interactive user interfaces and a real-time dashboard to monitor your IoT connected devices with Initial State.
Learn how to efficiently paginate MongoDB data using `skip/limit` and `_id`-based methods. Improve performance for batch processing & UI display.
How To Use AWS Lambda & API Gateway to Send Shipment Tracking Updates via SMS with Shippo & Twilio
ServerlessA guide on using Serverless to create an AWS Lambda function that triggers on updates sent to AWS API Gateway to send SMS updates via Twilio for shipments you're tracking using Shippo
21 Mar 2017
New Event Sources and Other Updates in v0.5.0 of the OpenWhisk Plugin for the Serverless Framework
ServerlessThe official OpenWhisk plugin for Serverless now includes support for Cloudant DB and IBM Message Hub events, exporting Web Actions and more.
20 Mar 2017
jOOQ is a library that loves making everything internal final and package private. We have tons of classes like these: The class implements the semantics of SQL string concatenation. Clearly, you shouldn’t need to tamper with it (or even know about it), because it is “protected” behind the corresponding public API in the DSL class: … Continue reading The Open-Closed…
A few weeks ago I was asked by a friend, “why should I care about Go”? They knew that I was passionate about Go, but wanted to know why I thought other people should care. This article contains three salient reasons why I think Go is an important programming language. Safety As individuals, you and I may be […]
We’re excited to support today’s launch of Distill, a new kind of journal aimed at excellent communication of machine learning results (novel or existing).
Microservices is the new fancy way of doing applications. Yet, most companies still have big and old monoliths in production. In fast evolving software of this size, it’s usual to have lines of code which are never executed in production. Production code coverage reports can help us find those lines.
From now and then, I found myself having to write some mechanical and repetitive code. The usual solution for this is to write a code generator; for instance in the form of a ppx rewriter in the case of OCaml code. This however comes with a cost: code generators are harder to review than plain code and it is a…
19 Mar 2017
18 Mar 2017
ember-i18n-changeset-validations is an Ember addon providing internationalized validation messages to ember-changeset-validations. This addon adds the ability to translate ember-changeset-validation messages using the ember-i18n addon. Available on NPM at ember-i18n-changeset-validations and on github at ember-i18n-changeset-validations.
17 Mar 2017
I was nerd-sniped: So tables dee and dum are two theoretical tables in SQL, and they can be characterised as such: [Dee] is the relation that has no attributes and a single tuple. It plays the role of True. [Dum] is the relation that has no attributes and no tuples. It plays the role of … Continue reading Creating Tables…
With Java 8 lambdas being available to us as a programming tool, there is a “new” and elegant way of constructing objects. I put “new” in quotes, because it’s not new. It used to be called the strategy pattern, but as I’ve written on this blog before, many GoF patterns will no longer be implemented … Continue reading A Nice…
How Serverless Partner AbstractAI leveraged the Serverless Framework and Lambda to reduce the cost of running back-end services by 95%.
16 Mar 2017
Looking closer at the APIs, GIF search is just the beginning. There are a lot of API methods available for things like trending GIFs, and translation.
How to embed geocoding lookups in a real-time app with the Esri geocoding API and PubNub BLOCKS.
There are many many opinions out there regarding the old surrogate key vs. natural key debate. Most of the times, surrogate keys (e.g. sequence generated IDs) win because they’re much easier to design: They’re easy to keep consistent across a schema (e.g. every table has an ID column, and that’s always the primary key) They’re … Continue reading Faster SQL…
In this post we’ll outline new OpenAI research in which agents develop their own language.
15 Mar 2017
A Conversation About Diversity Let’s examine what lies across country borders. Growing up, I wondered what lay across country borders. What makes their country special compared to any other? Why is their food so different from ours? I was always curious about what people from other nations were like, so I dreamed of visiting distant lands. My mother’s stories, stories…
Since June 2012, Clever has only had one version of our API: v1.1. We’re now ready to introduce v1.2! In this post, we’ll talk about what the new version means for our customers. Why API versioning? Very few, if any, non-Clever developers saw API v1.0. Early beta versions had this designation, but as we finalized […] The post Moving from…
I’m happy to announce our next public tech talk, called Seven Implementations of Incremental, on Wednesday, April 5th, presented by yours truly. You can register here.
Use FaunaDB's secure database features with AWS API Gateway to run Lambdas with the capabilities of the authenticated user.
14 Mar 2017
This post is another one brought to you by the good people at InRhythm. If you're an engineer that likes writing and building strong, happy culture focused on learning and growth you should apply! I like working with smart, passionate people :). Lots of companies embrace pair programming as a way
Stream event improvements and custom roles for CloudFormation deployments with Serverless v1.9
ServerlessServerless variable system and stream event enhancements, CloudFormation services roles in the Serverless Framework v1.9 release.
13 Mar 2017
Problem: You have a catalog of items with discrete ratings (thumbs up/thumbs down, or 5-star ratings, etc.), and you want to display them in the “right” order. Solution: In Python ''' score: [int], [int], [float] -> float Return the expected value of the rating for an item with known ratings specified by `ratings`, prior belief specified by `rating_prior`, and a…
12 Mar 2017
Here are my thoughts on programmer career planning. You should always stay employable, mostly by changing jobs regularly (every five years or so). When changing, don’t wait until you have to. Your negotiating position is much better when you can … Continue reading →
11 Mar 2017
At ContaAzul, we use the CI infrastructure a lot. We open several pull requests in several projects every day, and we block the merge until the build pass. We consider our master branches are sacred, and we can’t afford too much waiting to change them.
10 Mar 2017
How to stream real-time data and metrics into the New Relic Insights service using PubNub BLOCKS.
Learn how to build a Serverless Python app with serverless database FaunaDB.
9 Mar 2017
In an ideal world, caching wouldn’t be something we have to care about. However, with more and more mobile users on slow and limited data plans, as well as more advanced applications, we can’t escape reality. We need caching. As a response to this we have invested quite some time in Ladda – a dependency-free client side library for […]
I started leading teams relatively early in my career. Mentoring and leading younger developers is something I tremendously enjoy. But there is one thing I really miss about being a "regular" developer. And that is - being able to put my headphones, play some rock 'n roll, and code for a couple of hours without any distractions. Something that is…
8 Mar 2017
Certificate transparency logs are an amazing way to get a good overview of your certificate landscape, detect fraud (bad guys also use TLS) and find shadow IT and unknown cloud services. The problem is that there are not many good places to search these logs. The best I have found is from Symantec, although it is slow and errors out…
Probably the most impactful thing you could learn about when writing efficient SQL is indexing. A very close runner-up, however, is the fact that a lot of SQL clients demand tons of “unnecessary, mandatory work” from the database. Repeat this after me: Unnecessary, Mandatory Work What is “unnecessary, mandatory work”? It’s two things (duh): Unnecessary … Continue reading Many SQL…
Learn how to expose lifecycle hooks in a hook-driven Serverless plugin.
The best way to learn any new skill is through practice. This post is about how to come up with creative and effective side projects for developers to keep up with today's ever-changing technology.
7 Mar 2017
How to build a multiplayer hangman game for iOS using Swift and PubNub BLOCKS.
You won’t find as many styling solutions for React Native as you will for React JS. This stems from two simple realities: React Native is a much smaller target for component libraries than traditional CSS frameworks. In other words, Bootstrap CSS can be used with any web framework, whereas component libraries for React Native only work with…you guessed it…React Native.…
There are already only very few real-world use-cases for FULL [ OUTER ] JOIN, but maybe, you have run into this beast in the past. But when was the last time you’ve seen a NATURAL JOIN? Right. A quick reminder from our article about JOINs: FULL JOIN A FULL JOIN is a type of OUTER … Continue reading Impress Your…