Over the past couple of years I have set out to create the ultimate Linux on the desktop experience for myself. Obviously everyone who runs Linux has their own opinions on things. What this post will outline is my ultimate Linux on the desktop experience. So just remember that before you get your panties in a knot on HackerNews because…
16 Jan 2017
Typesafe embedded DSLs like jOOQ are extremely powerful for dynamic SQL, because the query you’re constructing with the jOOQ DSL is a dynamic query by nature. You’re constructing a query expression tree using a convenient API (the “DSL”), even if you think your SQL statement is static. For instance: The above query looks like a … Continue reading A Functional…
Before Trump takes office, I want to create a picture of the high-water mark, something I can point to and say “That was how it was” without the fog of time, or the distortions of propaganda and ideology. I was inspired by Sarah Kendzior: Fellow Americans, I have a favor to ask you. Today is November 18, 2016. I want…
15 Jan 2017
Last month we finished reading “The Effective Engineer” by Edmond Lau in the book club at work. It is a great book full of practical advice on how to get more done as a software developer. In fact, it is one … Continue reading →
14 Jan 2017
As part of improving the random number generation story for Haskell, I want to be able to use the testu01 library with the minimal amount of Haskell wrapping. testu01 assumes that there is a C function which returns the random number. The ghc manual gives an example but does not give all the specifics. These … Continue reading Calling Haskell…
When the project gets bigger and bigger there should be more and more tests. In the perfect world, all tests should be executed really fast, but life is far from perfect and sometimes some tests are slow. When using Gradle + Spock combination we have few ways of deciding how to group tests. I’m going to explore junit @Category in…
13 Jan 2017
Following our major update to our Android SDK, here's how to migrate your app from v3 to v4.
12 Jan 2017
During Ship It Week, I took the opportunity to redesign our emails. The goal was to deliver a more modern and fluid layout in hopes of strengthening trust and creating a more pleasant user experience among our customers. Before and After Design According to research1, aesthetics play a big role on how people interact with things. And […]
Perhaps the most powerful SQL feature is the JOIN operation. It is the envy of all non-relational databases, because the concept is so simple, yet so universally applicable, when you want to “combine” two data sets. Put simply, when joining two tables, you’re combining every row from one table with every row from another table, … Continue reading A Probably…
Serverless CEO Austen Collins chats with Cloud Academy about new framework features and gives an overview of basic application lifecycle management with Serverless.
We prepared another tech meetup, this time with four presentations. There will be a break after the second one. This should be the biggest one so far, with two guest speakers. It will happen on February the 4th, at Belgrade Youth Centre. Hope to see you there! Visit Facebook event or meetup.com page. And apply here. Thanks to everyone who…
11 Jan 2017
UPDATE: We are full up. Tons of people signed up for the talk, and we’re now at the limit of what we feel like we can support in the space. Thanks for all the interest, and if you didn’t get into this one, don’t worry, we have more talks coming!
10 Jan 2017
The password is both a ubiquitous and brittle security mechanism. With the emergence of new security trends like post-quantum cryptography and IoT-botnet attacks, it’s easy to overlook attacks that exploit guessable, reused, or coerced passwords. But the wherewithal among users to use strong passwords and keep them safe is rare. Despite decades of practice, managing […] The post Securing Saved-password…
SQL Server has this nice feature called table-valued parameters (TVP), where users can pass table variables to a stored procedure for bulk data processing. This is particularly nice when the stored procedure is an inline table valued function, i.e. a function that returns a table as well. For instance: The above function creates a cross … Continue reading jOOQ 3.10…
9 Jan 2017
Get your business ready for the advent of the new all-digital tax age.
Spacetime is a new memory profiling facility for OCaml to help find space leaks and unwanted allocations. Whilst still a little rough around the edges, we’ve found it to be a very useful tool. Since there’s not much documentation for using spacetime beyond this readme, I’ve written a little intro to give people an idea of how to use it.
8 Jan 2017
(This post is cross-posted from Honeycomb’s instrumentation series). One of my favorite concepts when thinking about instrumenting a system to understand its overall performance and capacity is what I call “time utilization”. By this I mean: If you look at the behavior of a thread over some window of time, what fraction of its time is spent in each “kind”…
This article is one in a series about writing client-focused JavaScript without the help of libraries and frameworks. It's meant to help developers remember that they can write good code on their own using nothing but native APIs and methods. For more, check out the original article on writing small
I finally got around to converting my avatar from a raster graphic to a vector format. I wanted to be able to animate the polygons using JavaScript and CSS. Another great advantage of a vector format is how the format lends itself to generate a PNG or JPG in any size. Massaging the SVG File Format First things first, I…
6 Jan 2017
Scanning a host with Nmap is a fairly routine act for some in security to do but you from time to time you want to either get a different view of a host or try to conceal your public IP. In this case I use this simple “trick” to run an nmap scan through TOR. To do so you need…
Our new v4 release of our Android SDK is packed full of new features for building powerful real-time mobile apps for Android.
One of jOOQ‘s most powerful features is the capability of introducing custom data types, pretending the database actually understands them. For instance, when working with SQL TIMESTAMP types, users mostly want to use the new JSR-310 LocalDateTime, rather than the JDBC java.sql.Timestamp type. In jOOQ 3.9+, this is a no brainer, as we’ve finally introduced … Continue reading How to…
Efficient Parking Solution through Intelligent Parking System with Live Space Tracking
5 Jan 2017
In a recent consulting gig, I was analysing a client’s connection pool issue in a productive system, where during some peak loads, all the Java processes involving database interactions just started queueing up until nothing really worked anymore. No exceptions, though, and when the peak load was gone in the evening, everything returned back to … Continue reading How to…
Introduction I was intrigued by a tweet by the UK Chancellor of the Exchequer stating "exports [to South Korea] have doubled over the last year. Now worth nearly £11bn” and a tweet by a Member of the UK Parliament stating South Korea "our second fastest growing trading partner". Although I have never paid much attention … Continue reading UK /…
IoT event support, Cognito user pool authorizer & install service with a name in Serverless Framework v1.5
ServerlessIoT event support, Cognito user pool authorizer and the ability to install your service with a name in the Serverless Framework v1.5 release.
Get a sneak peek at how MoonMail designed their serverless architecture for an infinitely scalable open source email marketing app in this guest post.
4 Jan 2017
Learn the basics of creating a Serverless plugin to extend the frameworks functionality
3 Jan 2017
This Bazaarvoice blog entry is co-authored by Tanvir Pathan as part of a Bazaarvoice internship project on the Bazaarvoice Mobile Team. Automated testing of native mobile applications has long been a pain point in the world of mobile app development. If you are creating and distributing apps or open source SDKs across two or more major platforms […]
You may have seen this on New Year's Eve: Another leap second, another slew of outages. Handling time correctly is hard!https://t.co/kJepOfsKkv pic.twitter.com/Fwz2Xtpzkd— Dan Luu (@danluu) January 1, 2017 I'd heard a little about this problem, but I didn't understand how it broke code, and what to do about it. So here is an explainer. Background […]
How to stream live-updating global currency exchange rates in real time using the Xignite block and PubNub.
2 Jan 2017
I have some apps written in Go, which I deliver as binaries for each platform using GitHub releases. Until now, I was doing it with a very simple shell script.
In this post we explore double faults in detail. We also set up an Interrupt Stack Table to catch double faults on a separate kernel stack. This way, we can completely prevent triple faults, even on kernel stack overflow. As always, the complete source code is available on GitHub. Please file issues for any problems, questions, or improvement suggestions. There…
30 Dec 2016
Yesterday US-Cert released information on GRIZZLY STEPPE the malware used in the DNC hack. The IP and hash information provided by the US-Cert was really lacking so I decided to dig through it and see if I could make more of it. The first thing I did was to run the IPs through an ipinfo2sheets spreadsheet I put together earlier…
There is a strain of thought in the web development community that believes there's a tension between having comprehensive developer tools and delivering good user experiences: This is exactly backwards. At the scale of the entire web, better tools are the only way to deliver better experiences. The
29 Dec 2016
In the first weeks of our company I made the mistake to set up the Active Directory domain with a .local suffix which caused a lot of problems with Windows and Linux-based clients in the longer run. Besides that after I have shifted back my work to my original tasks – I […] The post Cross-domain migration from Windows Server…
The longer I spend as a software engineer, the more obsessive I get about testing. I fully subscribe to the definition of legacy code as “code without an automated test suite.” I’m convinced that the best thing you can do to encourage fast progress in a test suite is to design for testing and have a fast, reliable, comprehensive test…
In November I saw this youtube video on turning a USB Air Purifier into a $75 USB Killer: My soldering skills are basically nonexistent so while I had some time off around the holidays I decided this would be a decent project to help improve them. So in early December I ordered 3 of these from Amazon: USB ionic Oxygen…
28 Dec 2016
Just something to cheer you up for the holidays :) I got this idea while I was sick in bed, and had nothing smarter to do. Pure CSS, no JavaScript at all. Hope you like it, I may add some more details. Check the code on codepen. Happy new year!
It's time for my annual reflection and goal resetting circa 2016
27 Dec 2016
Today, we’re excited to announce our newest addition to the PubNub BLOCKS Catalog – the Falkonry AI block for time series AI
My father, an industrial engineer with over 20 years od experience talks about interface design and the important of simplicity in programming.
24 Dec 2016
A personal review of 2016 highlights career growth through a new job, open source contributions, conference talks, and co-authoring a Node.js book. The post also covers learning new technologies like Elixir and AWS, while noting failures like lack of focus on a side project.
22 Dec 2016
I had a coach whose favorite quote was “Pain is the best teacher.” and that was the first thing that popped into my head this morning when I realized that I had left an $80 a month Digital Ocean Droplet running for an extra 3 weeks after I got done using it. To be honest $60 isn’t *that* painful but…
How to build incident management capabilities, like real-time alerts and notifications, into your real-time app with PagerDuty.
In Go, goroutines are cheap to create and efficient to schedule. The Go runtime has been written for programs with tens of thousands of goroutines as the norm, hundreds of thousands are not unexpected. But goroutines do have a finite cost in terms of memory footprint; you cannot create an infinite number of them. Every time you […]
21 Dec 2016
I am a huge fan of snow and hacky one line linux commands. Thanks to some amazing people on twitter and a little too much free time at the end of the year they have both combined to bring snow to your terminal window just in time for your winter based holiday. This command works on OSX out of the…
How to build a real-time application where users can ask any question, and receive a comprehensive answer in real time.
How to monitor, analyze, process, and visualize real-time data in a real-time application using the Librato block.
Reinforcement learning algorithms can break in surprising, counterintuitive ways. In this post we’ll explore one failure mode, which is where you misspecify your reward function.
This year was pretty shit, so I wasn’t very keen on doing one of these posts. So many of my favourite musicians died, so many of my favourite countries made mistakes, so many of my favourite people are worried and sad, and I am worried and sad with them. But this year was not the worst year we’ve ever had,…
2016 was quite a ride. I just want to write a couple of random things, to close this year with one last post. Work & Co # Big news here, my company became a part of Work & Co. We're really excited about that, and I'm looking forward to the great stuff we are going to build. Our collaboration goes…
20 Dec 2016
What will 2017 hold for the security industry? I sat down and looked into my crystal ball and came up with these 8 security predictions for 2017. A Fortune 500 Will Use “DDOS as a Service” To Attack A Competitor. A bored VP of Marketing with a paypal account, a six pack and a nephew who can get him on…
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:…
If you’ve followed the recent (fake) news, you’ve probably already heard it. Oracle is “massively ramping up audits of Java customers it claims are in breach of its licences” After a quick check on the source (The Register), here’s a more realistic, probably more accurate version of that headline: Oracle is thinking about auditing 1-2 … Continue reading What we…
This is a short blog post about my thoughts on using Go in anger through several workplaces, as a developer and an advocate. What is $GOPATH? Back when Go was first announced we used Makefiles to compile Go code. These Makefiles referenced some shared logic stored in the Go distribution. This is where $GOROOT comes from. […]
How Shifter Introduced Serverless Hosting to WordPress Using AWS, DynamoDB & the Serverless Framework
ServerlessLearn how Shifter transforms WordPress blogs and websites into static sites to make them faster, more secure and scalable in this guest post.
16 Dec 2016
Pattern libraries sometimes fall short of helping enterprise teams build different products the same way. These palettes of components (toolbars, pop-ins) and patterns (searching, navigating) can be assembled into any number of UIs, leading to too many right answers. While the public pattern libraries like Google Material must accommodate countless unimagined applications, our private libraries […]
Our guest author walks through 3 types of connected car security risks: indirect physical hacks, short-range wireless hacks, long-range hacks.
15 Dec 2016
The next president of the United States showed a willingness to violate historical norms while campaigning, and there's little evidence that he has any moral compass - the examples of this are legion, one of the worst is him cutting off medical treatment to his sick nephew over a legal dispute. His kids are going […]
Trigger a transactional email to send to a user based on actions in a real-time app. Such as chat, IoT device or a multiplayer game.
This is one of software engineering’s oldest battles. No, I’m not talking about where to put curly braces, or whether to use tabs or spaces. I mean the eternal battle between nominal typing and structural typing. This article is inspired by a very vocal blogger who eloquently reminds us to … […] Please Avoid Functional … Continue reading Do You…
This post is about declaration scopes and shadowing in Go. package main import "fmt" func f(x int) { for x := 0; x < 10; x++ { fmt.Println(x) } } var x int func main() { var x = 200 f(x) } This program declares x four times. All four are different variables because they exist […]
C# service template, Alexa event support, service-wide metrics in Serverless Framework v1.4
ServerlessIntroducing C# service template, Alexa event support, service-wide metrics & more in Serverless Framework v1.4
Talking re:Invent & the Latest Serverless Framework Features in the Dec. 8th Office Hours Live Video Recording
ServerlessDeveloper Evangelist David Wells & Core Framework Engineer Eslam Hefnawy recap Lambda announcements from re:Invent and answer questions in the 2nd edition of Serverless Office Hours.
14 Dec 2016
Today we’re excited to announce a new makeover for the Small Improvements application; a new font family! Please welcome “Avenir Next”! This is all part of our mission to create a more enjoyable, engaging and enticing experience for Small Improvements users. The Design Team @ Small Improvements has had a big year; going responsive, updating colours, icons […]
Recently, at Devoxx, I’ve seen this beautiful slide in a talk by Kevlin Henney In his talk, he was displaying a variety of approaches to solve the FizzBuzz “problem”, including a couple of very elegant solutions in completely declarative approaches and languages. In this particular slide, Kevlin used a notation that is derived from maths. … Continue reading SQL, Streams,…
The new MapTiler Desktop includes the Resume mode, sending maps to your phone or tablet, and many more useful features.
13 Dec 2016
How to build an application that analyzes text for sentiment and scores it as positive, negative, or neutral.
Run of the Mill blogged about disabling the possibility to create older cPouta volume types. This was the first step on the path to a more streamlined cPouta storage backend. Continuing on this path, we have now migrated most detached HPC storage volumes to standard volumes, and contacted users about their migration options for HPC storage volumes still attached to…
.highlight .err { color: inherit; background-color: inherit; } .highlight .s1, .highlight .s { color: #336699; background: inherit; } pre { margin-bottom: 30px; } pre, code { background: #f4f6f8; } p > code, li > code { font-weight: bold; } pre { border-bottom: solid 1px #CFD8DC; } This is a cheat sheet for the Polymer 1.x library. It helps you write…
12 Dec 2016
Since the introduction of Xcode 8 in late September, Swift 3 has become the default version to develop iOS and Mac OS apps. As an iOS shop, we had to consider a migration project to port our codebase from 2.3 to 3 while maintaining a good relationship with the Objective C part of the project. To Migrate or Not To…
Technology is changing the relationship between customers and the utilities sector
10 Dec 2016
Background I’m in the privileged position of receiving more invitations to speak (at conferences, user groups and podcasts) than I can realistically agree to. I’ve decided to start applying some new criteria to how I pick which ones I go to1. However, over the last couple of years as feminism has become an increasingly important … Continue reading Diversity and…
Do libraries and frameworks prioritize components on boot? If so, how, and if not what can we do? And, in exploring that question, I discovered that Server-Side Rendering isn't a silver bullet!
9 Dec 2016
If you’re a developer working for software company, does that company own what you do in your spare time? Read more "Developers’ side projects"
Last week I was invited to Slush in Helsinki, where I gave a keynote called “Developers are Writing the Script for the Future.” Here’s a 20 minute video… Read more "Developers are Writing the Script for the Future"
The SQL language is very intuitive. Until it isn’t. Over the years, a lot of people have criticised the SQL language for a variety of reasons. For instance: IDEs cannot easily guess what auto completion options to offer, because as long as you don’t specify the FROM clause, there are no tables in scope (yet): … Continue reading A Beginner’s…
How to build a real-time remote control for presentations, allowing you to change slides from a remote web or mobile app, using reveal.js.
Sixteen years after launching Joel on Software, it's now running on WordPress. Read more "RIP CityDesk"
8 Dec 2016
It’s colo time baby! # So for a while now I have been toying with the idea of putting my own hardware up in ’the cloud’ but due to the enormous prices for a homelabber I decided against it many times but now, however, I found a deal that was too good to pass up (considering UK/EUR pricing) and pulled…
7 Dec 2016
How serverless used phenomic.io to create a fast, secure, and scalable open source blog powered by React & Markdown
Building and operating services distributed across a network is hard. Failures are inevitable. The way forward is having resiliency as a key part of design decisions. This post talks about two key aspects of resiliency when doing RPC at scale - the circuit breaker pattern, and its power combined with client-side load balancing.
6 Dec 2016
Sunny shows you how to build a real-time translation app with PubNub BLOCKS and the SDL Language Cloud API
This was one of those network bugs which took some time to fix. To give you a short background: In the last weeks we had random time NTP drifts in our Linux infrastructure, nothing serious but it was odd as they disappeared after restarting the ntpd or chrony service. During […] The post w32tm: “No valid response has been received…
For the first time since Fog Creek Software was founded more than sixteen years ago, we have a new CEO, Anil Dash. Read more "Anil Dash is the new CEO of Fog Creek Software"
I've moved to WordPress. There may be some bugs! Read more "Oh look, a new site!"
5 Dec 2016
By Peter Crona and Michael Ruhwedel First of all, it was an amazing conference as always. None of us presented this year, but look for us in the future. Many of us at Small Improvements tend to go to more specific conferences, such as React Europe, DockerCon or JSUnconf. GOTO is more of a generic software engineering […]
As long as we allow ourselves to write string-based dynamic SQL embedded in other programming languages like Java, we will have a certain risk of being vulnerable to SQL injection. That’s a fact. Don’t believe it? Check out this website exposing all vulnerabilities on Stack Overflow for PHP questions: https://laurent22.github.io/so-injections In a previous blog post, … Continue reading Prevent SQL…
We’re releasing Universe, a software platform for measuring and training an AI’s general intelligence across the world’s supply of games, websites and other applications.