I started out my career as a chef. Now I'm a serverless developer.
9 Jan 2018
8 Jan 2018
What is MQTT for IoT? Learn how to leverage MQTT for IoT devices and how PubNub can help.
ePouta user guide is gone. Long Live the new ePouta User Guide!
CSC - IT Center For Science - Cloud TeamThe ePouta and cPouta user guides have been combined on https://research.csc.fi/pouta-user-guide https://research.csc.fi/pouta-application page. While the flavors are in the normal flavor page. epouta.csc.fi login page with links to the user guide and to a FAQ entry about resetting passwords.
This is an article about compiler directives; or as they are commonly known, pragmas. It’s derived from a talk of a similar name that I gave last year at GopherChina in Shanghai. But first, a history lesson Before we talk about Go, let’s talk a little about pragmas, and their history. Many languages have the notion […]
How to manage Alexa Skills and Lambda functions with Serverless Framework + Alexa Skills Plugin
7 Jan 2018
Introduction Last week, I was hunting around the Windows Operating System for interesting scripts and binaries that may be useful for future penetration tests and Red Team engagements. With increased client-side security, awareness, and monitoring (e.g. AppLocker, Device Guard, AMSI, Powershell ScriptBlock Logging, PowerShell Constraint Language Mode, User Mode Code Integrity, HIDS/anti-virus, the SOC, etc.), […]
6 Jan 2018
Huge thanks to the Singapore Java User Group for having me as a speaker at their first event of 2018, Pivotal for hosting the event and providing pizza and drinks, as well as all the attendees for finding the time, all the positive feedback and good questions! Despite taking place early in the new year, the event...
This is a post inspired by a question on the Go Forum. The question, paraphrased, was “If properly aligned writes are guaranteed to be atomic by the processor, why does the race detector complain?” The answer is, there are two uses of the word atomic in play here. The first, the one the OP references, […]
5 Jan 2018
Recently while working on a project I wanted to run OWSAP Dependency Check against a Github Organization to find any out of date frameworks but I couldn’t find an easy way to do it so I built a tool. Right now it will check Node and Ruby applications and put all the out of date frameworks in a single CSV.…
Marvin just got better! Few days ago I've released version 1.0 of my universal React boilerplate.Also known as Marvin There are some big changes, and I'm pretty happy with it's current state. At least 20 applications were shipped using Marvin. It has about seven hundred stars on GitHub with quite a few community contributions. Big updates # Switch from redux-thunk…
4 Jan 2018
3 Jan 2018
In 2017, Luciano Mammino gave 17 conference talks, contributed to open source projects like Fastify and Middy, and learned new technologies like Terraform and Ansible. He looks forward to presenting more in 2018 and learning technologies like Rust, Elastic Search, and Kubernetes.
Deploy a Serverless service that posts notifications of Github stars in a Slack channel
2 Jan 2018
Recently, during a holiday lull, I decided to look at another way of modeling event stream data (for the purposes of anomaly detection). I’ve dabbled with (simplistic) event stream models before but this time I decided to take a deeper look at Twitter’s anomaly detection algorithm [1], which in turn is based (more or less) […]
You can tell I hate writing year in reviews because this one is really, really late. I tend to hate bragging, and I definitely hate introspective and, in particular, I always think I am underperforming (and that’s fine). However, that’s usually not true, and writing a year in review forces me to see the awesome things I did, so even…
1 Jan 2018
This was intended to be a single paragraph in the post I'm still writing. It ended up much longer so I decided to publish it on it's own. So without further due, I present you my programming story. Origins # I got my first pc when I was four, shiny 286 with a color monitor! My father (who knows nothing…
That's my new year's resolution. Code, write, play and craft more!
31 Dec 2017
Keeping the tradition alive! My 2017 in review and 2018 goals.
29 Dec 2017
On Friday, January 6th 2017 I walked into the first Yoga class of my life at YogaSol as part of fulfilling a new years resolution. I was in the best shape of my life. I was running, swimming and lifting weights multiple times a week. I weighed 165 pounds and was at 9% body fat. I was also really stressed…
When NP-hardness pops up on the internet, say because some silly blogger wants to write about video games, it’s often tempting to conclude that the problem being proved NP-hard is actually very hard! “Scientists proved Super Mario is NP-hard? I always knew there was a reason I wasn’t very good at it!” Sorry, these two are unrelated. NP-hardness means hard…
24 Dec 2017
I've had this nagging feeling that the computers I use today feel slower than the computers I used as a kid. As a rule, I don’t trust this kind of feeling because human perception has been shown to be unreliable in empirical studies, so I carried around a high-speed camera and measured the response latency of devices I’ve run into…
22 Dec 2017
Thanks to the generous contributions of Timur Shaidullin, jOOQ 3.11 will now support GRANT and REVOKE statements through #6812. While implementing integration tests for these new features, I had researched the different ways how these statements work on a variety of databases, and the good news is, they’re all mostly quite standardised (in fact, they’re … Continue reading Do not…
This answer to a beautiful Stack Overflow question I’ve given recently needs further explanation in a blog post. When working with Microsoft Excel, we can create beautiful and also very insightful Pivot Tables with grand totals. What are they? This is best explained visually. Assuming you have this normalised form for your raw data. As … Continue reading Creating a…
A summary of my notes taken while reading Programming Phoenix. Ch.1 The layers of phoenix, the endpoint is where the HTTP connection contacts phoenix, from there it goes to the router which directs a request to the appropriate controller, passing through a series of pipelines. Pipelines chain functions together to handle tasks that span across multiple controllers, such as browser…
21 Dec 2017
It all started on Friday, like many of the bad things that can happen in software ;) We’ve been working for some time and after being blocked with deployments for a long time (don’t ask, you don’t want to know ;)) we were finally able to deploy a new version. Our last release was about week ago. Do the deployment…
Serverless v1.25 - S3 Transfer Acceleration, API Gateway endpoint type configuration, variable system improvements
ServerlessS3 Transfer Acceleration, API Gateway endpoint type configuration, variable system improvements, enhancements, bug fixes and more added in the Serverless Framework v1.25 release.
20 Dec 2017
As Jane Street grows, the quality of the development tools we use matters more and more. We increasingly work on the OCaml compiler itself: adding useful language features, fine-tuning the type system and improving the performance of the generated code. Alongside this, we also work on the surrounding toolchain, developing new tools for profiling, debugging, documentation and build automation.
OpenMapTiles Server - run maps on your on-premises server.
Here's where serverless observability is today. Learn why we decided to build yet another AWS Lambda monitoring solution, Thundra.
19 Dec 2017
Yesterday, David Benjamin posted a pretty esoteric note on the IETF’s TLS mailing list. At a superficial level, the post describes some seizure-inducingly boring flaws in older Canon printers. To most people that was a complete snooze. To me and some of my colleagues, however, it was like that scene in X-Files where Mulder and Scully finally learn … Continue…
We’re excited to announce that PubNub, the leading Data Stream Network (DSN) and Real-time Messaging Service, completed the SOC 2 Type II audit!
18 Dec 2017
Let's see how to use pattern matching and query params with Pact for advanced contract testing in a Node.js microservices architecture. The post Advanced Contract Testing – Pact Verification with Pattern Matching appeared first on RisingStack Engineering.
Or: Move That Loop into the Server Already! This article will illustrate the significance of something that I always thought to be common sense, but I keep seeing people getting this (very) wrong in their productive systems. Chances are, in fact, that most applications out there suffer from this performance problem – and the fix … Continue reading The Cost…
Updated May 18, 2020 (get it? :: ? I made a funny) Shadow DOM is a spec that gives you DOM and style encapsulation. This is great for reusable web components, as it reduces the ability of these components’ styles getting accidentally stomped over (the old “I have a class called “button” and you have a class called “button”, now…
How Serverless.com manages their static, serverless website with Netlify and the Serverless Framework.
17 Dec 2017
For the past two months, I have been helping my son’s grade 8 class to learn to program. All students wrote Python programs and got a feel for what programming is. This post has details on how we organized the … Continue reading →
16 Dec 2017
This article explores the history of cloud computing from bare metal servers to serverless, explaining key innovations like IaaS, PaaS, containers and FaaS along the way.
This post is kind of like “part two” on my series on all the weird things I do for my personal infrastructure. If you missed “part one”, you should check out Home Lab is the Dopest Lab. I run a lot of little things to make my life easier, like a CI, some bots, and a bunch of services just…
15 Dec 2017
When working with Oracle stored procedures, it is not uncommon to have debug log information available from DBMS_OUTPUT commands. For instance, if we have a procedure like this: The procedure works just the same, regardless if we’re reading the output from the DBMS_OUTPUT call. It is there purely for logging purposes. Now, if we call … Continue reading How to…
Another one-liner I love, that returns body scrollbar width. If scrollbar is not shown it will return zero (including mobile devices). function getScrollbarWidth() { return window.innerWidth - document.documentElement.clientWidth; } Click on the button to try it yourself: Get scrollbar width! document.querySelector('.btn--demo').addEventListener('click', function() { alert('Scroll bar width is ' + (window.innerWidth - document.documentElement.clientWidth) + 'px') }); Browser support # Tested on:
14 Dec 2017
Caching is hard in various ways. Whenever you’re caching things, you have to at least think of: Memory consumption Invalidation In this article, I want to show a flaw that often sneaks into custom cache implementations, making them inefficient for some execution paths. I’ve encountered this flaw in Eclipse, recently. What did Eclipse do wrong? … Continue reading A Common…
IPv4 addresses are becoming more and more scarce. In the light of that, we'll start accounting for them in cPouta in the early 2018. We will inform our customers 1 month before we turn on the accounting. This change does not affect you if you have a contract with CSC for providing cPouta resources. or assigned IP will be 0,2…
Building an Alexa skill is easier than you think! And it's even easier with the Serverless Framework and Bespoken plugin.
This 24-Ways post looks into why the implementation of design systems and how to ensure that yours is successful.
13 Dec 2017
Do you have what it takes to be a Serverless Champion?
12 Dec 2017
In this article I’ll walk you through how we perform consumer driven contract testing in our Node.js microservices architecture with the Pact framework. The post Consumer Driven Contract Testing with Pact appeared first on RisingStack Engineering.
The new version of OpenMapTiles brings truly multiplingual maps.
Using the Serverless Framework, you can set up automatic backups of your DynamoDB table.
It's hard to stay on task and productive — especially when we've got so much going on in our lives. This post details how I maintain a TODO list system to accomplish just that.
11 Dec 2017
tl;dr: Try out microplane! It’s a CLI tool to make changes across many repos. The Problem At Clever, we’ve embraced microservices. They promote modularity, which leads to simpler code bases and lets our engineers move quickly and independently. They are easier to deploy, which helps us build towards incremental, frequent deploys and continuous delivery. In […] The post Mo Repos,…
Intro # So a lot of you read and enjoyed my colocation post a while back and since then things have been going well.
10 Dec 2017
Privacy is a fundamental human right. It is the right to control to whom and to what information is shared with others. Privacy protects the criteria used to determine how information is deemed private. Simply put, it’s ones right to keep or share information they themselves deem as private; something is private when one deems it thus. Since the advent…
9 Dec 2017
This series of blog posts is about the network related performance issues. The goal is to give you a set of tools to use that will provide you with insights that help you deliver fewer and shorter loading screens to your customers. Make sure you check out the first part, too: Performance Monitoring for the Frontend — An introduction Getting…
8 Dec 2017
7 Dec 2017
I started working as a C++ developer in the HANA Core Platform team at SAP in Walldorf, Germany more than a year ago. In this time I have gotten some insights into the development environment and processes. I will use this post to illustrate them by the example of adding a small new feature and explaining the steps on the…
Imagine the situation when you’ve just released something on production and deployment went fine. You’ve just sent release notes and went out to grab a coffee. Once you are back you see an email with information that feature team have been working on for past 3 sprints doesn’t work at all. Turns out you forgot to change something in production…
There are big benefits to using serverless architectures in continuous integration & deployment (CI/CD) processes. We'll show you why, and how to do it.
A little less than two years ago, SoundCloud began the journey of replacing our homegrown deployment platform, Bazooka, with Kubernetes. Kubernetes automates deployment, scaling, and management of containerized applications.
6 Dec 2017
We’re releasing highly-optimized GPU kernels for an underexplored class of neural network architectures: networks with block-sparse weights. Depending on the chosen sparsity, these kernels can run orders of magnitude faster than cuBLAS or cuSPARSE. We’ve used them to attain state-of-the-art results in text sentiment analysis and generative modeling of text and images.
Download satellite map of the entire world for self-hosting with OpenMapTiles Satellite.
Announcing a specification for describing event data in a common way
For handling API calls I have a small snippet I'm copying from project to project. I decided to clean it up, make more generic and share it. It is intended to be a starting point, so you might want to customize it to your custom needs. What it does? # It is a simple wrapper around native fetch.If you need…
5 Dec 2017
At Small Improvements we each have a learning budget and get to choose which conferences we attend. It might seem a bit of an odd choice then that I stepped off the plane in the Lithuanian capital Vilnius on a cold November afternoon. I was there for BuildStuff, a pretty special conference. The lineup was […]
Everything you need to know about taking regular payments from customers by card.
4 Dec 2017
This post is a slightly edited version of my November presentation to the San Francisco chapter of Papers We Love. The paper I have chosen tonight is a retrospective on a computer design. It is one of a series of papers by Gordon Bell, and various co-authors, spanning the design, growth, and eventual replacement of the companies iconic […]
Learn what Serverless Aurora is, what it means for serverless developers, and why we think it's the future of data. Solving the serverless data layer.
3 Dec 2017
I always have some random side project I am working on, whether it is making the world’s most over engineered desktop OS all running in containers or updating all my Makefiles to be the definition of glittering beauty. This post is going to go over I how I recently redid all my home networking and ultimately how I got to…
2 Dec 2017
ClickOnce (Twice or Thrice): A Technique for Social Engineering and (Un)trusted Command Execution
BohopsWhat is ClickOnce? ClickOnce is a “a Microsoft technology that enables the user to install and run a Windows-based smart client application by clicking a link in a web page” [Wikipedia]. Included as a component within the .NET Framework, ClickOnce allows a developer to create a web-enabled installer package for their (C#) Visual Studio project. […]
Yesterday in Paris, I gave the closing keynote at the dotJS conference. I’ve had the privilege to speak at dotJS every other year since 2013. Click above for a PDF of my slides (sorry, I used Keynote for several reasons, and its generated HTML is huge and not likely to work well with WP). Long-timer … Continue reading "My dotJS…
Introduction Active Directory (AD) Trusts have been a hot topic as of late. @harmj0y posted a recent entry about domain trusts [A Guide to Attacking Domain Trusts]. It provides a great understanding of how AD trusts actually work, so be sure to check that out as a primer for this post. In this blog entry, […]
Two days ago I released two npm packages, window-scroll-manager and react-window-decorators. Scroll manager # Scroll managerPlx uses the same scroll manager so I extracted it to the standalone package. is just a simple wrapper around scroll event, that broadcasts custom window-scroll event once per requestAnimationFrame. Idea comes from MDN. React decorators # or higher order components are the bees knees,…
30 Nov 2017
What is the output of this small snippet that is based on real C++ code? #include <iostream> struct Foo { Foo() { std::cout << "standard" << std::endl; } Foo(const Foo&) { std::cout << "copy" << std::endl; } Foo(int) { std::cout << "int" << std::endl; } Foo(int, int) { std::cout << "int, int" << std::endl; } Foo(const Foo&, int) { std::cout…
At a recent RubyConf, Chad Fowler presented his ideas for writing software systems that mirror the process of continual replacement observed in biological systems. The first principal of this approach is, unsurprisingly, to keep the components of the software system small–just as complex organisms like human beings are constituted from billions of tiny cells which […]
29 Nov 2017
Recently while starting work on a project we’ve (team of two ;)) decided to try something new and use Kotlin. The project is far from ready and still under active development, but after writing some code in Kotlin I’ve got few observations I’d like to share. Read more
28 Nov 2017
For a while, I’ve been considering how useful nuget.org statistics are. I know there have been issues in the past around accuracy, but that’s not what I’m thinking about. I’ve been trying to work out what the numbers mean at all and whether that’s useful. I’ve pretty sure an older version of the nuget.org gallery … Continue reading NuGet package…
jOOQ is a very backwards compatible product. This doesn’t only mean that we keep our own API backwards compatible as well as possible, but we also still support Java 6 in our commercial distributions. In a previous blog post, I’ve shown how we manage to support Java 6 while at the same time not missing … Continue reading How to…
This is a sad rant :( I love Firefox (and Mozilla too) and have never switched to ChromeAlthough I use Chrome for development. But few days ago I switched to Opera, because new Firefox's (aka Quantum) CPU usage is insane. Disabling extensions didn't help, it just hogs all available resources. MacOS is giving me "Service Battery" warning when Firefox is…
27 Nov 2017
Your go-to resource for all Serverless announcements at AWS re:Invent.
Muffin Man is back! This time with new visual identity. This was long overdue, but new design took me more than I wanted to.Mostly because of the trillion things I'm working on. Now I can get back to writing. Alogn with the new design, some other things got updated too, hopefully making content easier to browse. To name a few:…
26 Nov 2017
It is now more than 6 years since I started blogging about software development. It has been a great experience, and I thought I would reflect on what I have learnt. So here are my reasons for writing about programming, … Continue reading →
25 Nov 2017
I spoke about how we migrate our monitoring infrastructure to Prometheus & Friends, what we got out of it and how it is working for us right now.
23 Nov 2017
22 Nov 2017
In this Rust tutorial, I’m going to walk you through the steps of writing a modern, fast and safe native Node.js module. The post Writing fast and safe native Node.js modules with Rust appeared first on RisingStack Engineering.
The four of us (Charisse, Jan, Paulo & Timur) arrived early for coffee. Right before the first talk in the morning we were welcomed by a very happy DJ. As it turned out later, he embedded snippets of the talks in his songs of vastly different genres in the breaks. Over the course of the […]
21 Nov 2017
Do you manage your GoCardless payments from within your existing finance, accounting or business software? If not, here are five reasons to start.
I showed how to build and release binaries in Go, including cross-compiling, Docker images, Linux packages and Homebrew, featuring GoReleaser on the end.
A statement I commonly hear in tech-utopian circles is that some seeming inefficiency can’t actually be inefficient because the market is efficient and inefficiencies will quickly be eliminated. A contentious example of this is the claim that companies can’t be discriminating because the market is too competitive to tolerate discrimination. A less contentious example is that when you see a…
Miss our October Serverless SF Meetup? Here's the video! Learn how to hack a hectic bathroom queue serverless-ly with IoT sensors.
20 Nov 2017
After the successful release of JDK 9, we can already look forward, and play around with early access releases of JDK 10. The list of JEPs currently targeted for JDK 10 is quite manageable so far. JEP 286 is probably the most exciting one for most Java developers: Local variable type inference (which we’ve blogged … Continue reading Using JDK…
So you've got your fitness business up and running and now you want to take it to the next level? Watch our webinar for top tips from industry experts on how to grow your fitness business without compromising performance.
Miss our October Serverless SF Meetup? Here's the video! Learn all about CRDTs from the founder of Kuhiro, Russell Sullivan.
19 Nov 2017
During my career as a software developer, I have seen the release frequency increasing steadily. When I started, it would take 12 to 18 months for new features to reach the customer. Years later the frequency increased, so deployment to … Continue reading →