This story begins someplace familiar to many startups: our monolithic API had become unwieldy, and we wanted to transition towards a microservice architecture. And, like other young, scrappy startups, we couldn’t afford to freeze development while we re-architected the entire system. So, instead, each time we wrote a feature we carved off the related chunk […] The post Wag: A…
28 Mar 2018
When performing reflective access to default methods in Java, Google seems to fail us. The solutions presented on Stack Overflow, for instance, seem to work only in a certain set of cases, and not on all Java versions. This article will illustrate different approaches to calling interface default methods through reflection, as may be required … Continue reading Correct Reflective…
This is an archive of the original "fsyncgate" email thread. This is posted here because I wanted to have a link that would fit on a slide for a talk on file safety with a mobile-friendly non-bloated format. From:Craig Ringer <craig(at)2ndquadrant(dot)com> Subject:Re: PostgreSQL's handling of fsync() errors is unsafe and risks data loss at least on XFS Date:2018-03-28 02:23:46 Hi…
27 Mar 2018
In the middle of a housing crisis, cities up and down the Peninsula are moving forward with plans to add a ton of new office space and no new housing. These plans will add many more new commuters, without any corresponding housing for them. Last year the Apple Park launched in Cupertino. 2.8 million sq […]
Imagine a system for editing and reviewing code where:
This is my second Pastry Box Project post: on why working with other people makes projects more rewarding.
26 Mar 2018
Validate tokens using Functions: a serverless, autoscaling, microservice platform. Deploy globally in under 5 minutes with JavaScript and PubNub.
Maintaining an open source project – even a small one – is not an easy task. The open source ecosystem is about sharing and contributing, about giving and receiving. You scratch my back and I will scratch yours. Open-source is not only a free and open software, it’s a lifestyle. Working with open-source is working … Continue reading Open-source is…
[Source: blog.microsoft.com] Introduction Not long ago, I blogged about Vshadow: Abusing the Volume Shadow Service for Evasion, Persistence, and Active Directory Database Extraction. This tool was quite interesting because it was yet another utility to perform volume shadow copy operations, and it had a few other features that could potentially support other offensive use cases. […]
One challenge engineering teams often face is dealing with work that doesn’t revolve around developing new features but that still requires the team’s attention and time. The Content Engineering Team here at SoundCloud is no exception, so we iterated on a process to deal with unplanned and support tasks to end up with fewer interruptions and more time to spend…
25 Mar 2018
Tai-Danae Bradley is one of the hosts of PBS Infinite Series, a delightful series of vignettes into fun parts of math. The video below is about the same of SET, a favorite among mathematicians. Specifically, Tai-Danae explains how SET cards lie in (using more technical jargon) a vector space over a finite field, and that valid sets correspond to lines.…
24 Mar 2018
One pattern I’ve used quite a lot while working with React at the BBC and Discovery Channel is the Data Container pattern. It became popular in the last couple of years thanks to libraries like Redux and Komposer. The idea is simple. When you build UI components in React you feed data into them via […]
23 Mar 2018
How to be a better designer by being a better explainer.
22 Mar 2018
Harness the power of PubNub to amplify Ethereum smart contract events. Use global, real-time network APIs to intelligently update
21 Mar 2018
Today I struggled an hour or so to access a AWS hosted web application through IPv6. Just follow these rules: Get an IPv6 CIDR for your VPC: Go to VPC > Your VPCs > ${YOUR_VPC} > Edit CIDRs > Add IPv6 CIDR. The IPv6 CIDR is automatically choosen by AWS. […] The post Using IPv6 with AWS Application Load Balancer…
Practical tips from window cleaner business owners on how to encourage your customers to pay by Direct Debit.
The benefits, and the drawbacks, to serverless are real. When (and why) not to go serverless.
20 Mar 2018
Writing middleware in Go seems pretty easy at first, but there are several easy ways to trip up. Let's walk through some examples. Reading the Request All of the middlewares in our examples will accept an http.Handler as an argument, and return an http.Handler. This makes it easy to chain middlewares. The basic pattern for […]
A lot of people seem to want to be able to build container images in Kubernetes without mounting in the docker socket or doing anything to compromise the security of their cluster. This all was brought to my attention when my awesome coworker at Gabe Monroy and I were chatting with Michelle Noorali over pizza at Kubecon in Austin last…
While deep diving into the code I very often see people struggle when testing random changing/things. There is a really simple solution for this and in this blog post, I’m going to show you "one simple trick" that will fix this problem. Read more
19 Mar 2018
PubNub is the glue that holds IoT together, providing infrastructure and APIs for securely monitoring.
We've always put security and compliance first. In this post, we'll dive into how you can ensure your PubNub-powered apps are GDPR-compliant.
One of the most discussed topics in the technology field is about having degrees and how important they are. Do you really need one to be a good engineer? When is it really important for you? Writing a post like this is a big responsibility. I’m not here to say if you should attend to … Continue reading Degree or…
After some time, I finally decided to move my blog from Jekyll to Hugo.
Interested in contributing to Serverless open source projects? Here's how you can.
Some CSS fun. Lately I've stumbled upon couple of websites with elastic hover effect on buttons. Each one was using SVG morphing, which is fine, but I was wondering how hard would it be to implement it in CSS. It ended up up being pretty easy. I created four pseudo elementsOnly two pseudo elements (::before and ::after) can be created…
Today I learned: To upload files using fetch and FormDataFormData is supported in IE10+. you must not set Content-Type header. const fileInput = document.querySelector('#your-file-input') ; const formData = new FormData(); formData.append('file', fileInput.files[0]); const options = { method: 'POST', body: formData, // If you add this, upload won't work // headers: { // 'Content-Type': 'multipart/form-data', // } }; fetch('your-upload-url', options); Problem…
18 Mar 2018
I've been really busy lately, doing both work and pet projects. At the moment I'm playing with three.js trying to clone old DOS game to JavaScript. Games (and animations in general) need animation loop in which we are going to update the scene and re-render it. Example animations are simplified and they just move a box 60px per second. But…
17 Mar 2018
This blog post was most directly provoked by this tweet from my friend Rob Conery, explaining why he’s giving up contributing on Stack Overflow. However, it’s been a long time coming. A while ago I started writing a similar post, but it got longer and longer without coming to any conclusion. I’m writing this one … Continue reading Stack Overflow…
Abusing Exported Functions and Exposed DCOM Interfaces for Pass-Thru Command Execution and Lateral Movement
BohopsBackground Last Wednesday, I had some down time so I decided to hunt around in \System32 to see if I could find anything of potential interest. I located a few DLL files that shared an interesting export function called OpenURL: While looking for a quick win, I wanted to see if anything could be invoked […]
16 Mar 2018
On Tuesday, Wednesday, and Thursday, March 6th-8th, 2018, Clever logins failed for all customers: 1h on Tuesday, 1h15 on Wednesday, and almost 5h on Thursday. This was Clever’s single worst outage ever in length, repeatedness, and impact. This postmortem is the first of many public steps we’ll be taking to ensure Clever is a service […] The post Postmortem on…
15 Mar 2018
On March 3rd, we hosted our first hackathon with 100 members of the artificial intelligence community.
14 Mar 2018
Customer Invisible Maintenance of the CSC Object Storage Servers
CSC - IT Center For Science - Cloud TeamHello! It’s the CSC Pouta Cloud Team again! You may recognize us from other object storage films such as: http://pouta.blog.csc.fi/2018/02/admin-stories-implement-object-storage.html where we go through in excruciating detail how we configured CEPH RadosGW and why we configured it like we did http://pouta.blog.csc.fi/2018/01/objectively-speaking-in-cpouta.html where we announced object storage! *) maintenance for our Object Storage customers. CSC – IT Center for Science Ltd.…
13 Mar 2018
In the book club at work, we recently finished reading Exercises in Programming Style by Cristina Videira Lopes. The book consists of a simple program implemented in 33 different programming styles. It is a great way of showing the different … Continue reading →
How to get started setting up Dialogflow with Functions to create smart applications that trigger action in real time.
The SQL standard is a nice thing. But it’s a standard. And as such, while it may provide good guidelines on how to implement some SQL features, most dialects deviate from it in one way or another (sometimes drastically, cheers, MySQL). But that doesn’t have to be a bad thing. Innovation is not driven by … Continue reading Top 10…
How to get started with Angular? What are the core libraries? Read our tips & tricks to kickstart your Angular projects, and become a front-end ninja! The post AngularJS to Angular – a brief history with some tips to get started! appeared first on RisingStack Engineering.
Everything your firm needs to know about collecting client fees by Direct Debit and how to get started.
12 Mar 2018
We held our first accessibility workshop and in this post, we highlight our approach and key takeaways.
Learn how to use a very simple and efficient service called ServerPilot for provisioning a web server to host your next PHP project or blog. Provisioning a well-configured web server for a PHP application is not an easy task. You can have experience doing that, but this is not my strongest skill, I admit. So … Continue reading Easy server…
10 Mar 2018
Introduction Two weeks ago, I blogged about several “pass-thru” techniques that leveraged the use of INF files (‘.inf’) to “fetch and execute” remote script component files (‘.sct’). In general, instances of these methods could potentially be abused to bypass application whitelisting (AWL) policies (e.g. Default AppLocker policies), deter host-based security products, and achieve ‘hidden’ persistence. […]
9 Mar 2018
Energy billing blunders hurt supplier and customer. But miscalculation is not the same as misjudgement, so the ways to prevent errors must also differ.
Watch our free webinar and learn how integrating GoCardless with your Xero accounting software can improve your cash flow and save you time.
Over the past six months we’ve been working on a second edition of this blog. Our goals for this new version are numerous and we are still not done yet, but today we reached a major milestone: It is now possible to build the OS natively on Windows, macOS, and Linux without any non-Rust dependendencies. The first edition required several…
Serverless usage stats: event sources, service structures, runtimes, and more.
8 Mar 2018
Cindy Cutts, my wife and best friend, passed away earlier this week. While I was traveling for work recently, Cindy went to visit her family in Omaha, Nebraska. On Sunday, while enjoying time with family, Cindy started having trouble breathing. Her family quickly called 911 and paramedics took Cindy to the hospital, but Cindy lost […]
7 Mar 2018
A look at the pros and cons of Raspberry Pi boards, comparing the Raspberry Pi 3 vs the Zero/Zero W vs the 1/2.
The post Integrating legacy and CQRS appeared first on RisingStack Engineering.
We’ve developed a simple meta-learning algorithm called Reptile which works by repeatedly sampling a task, performing stochastic gradient descent on it, and updating the initial parameters towards the final parameters learned on that task. Reptile is the application of the Shortest Descent algorithm to the meta-learning setting, and is mathematically similar to first-order MAML (which is a version of the…
How you can troubleshoot, and avoid hitting, CloudFormation's 200 resource limit
6 Mar 2018
https://medium.com/media/eef39ea5e8f053ef3fc7a6a272b9e093/href My co-worker Fabs recently wrote an article about how he get’s work done , which inspired me to write down my recent learnings about my own productivity. In the last year, I discovered different aspects of work life had a differently strong influence on my ability to work. In discussions with varying friends of mine, it became clear to…
We’re providing 6–10 stipends and mentorship to individuals from underrepresented groups to study deep learning full-time for 3 months and open-source a project.
5 Mar 2018
Problem: Compute distance between points with uncertain locations (given by samples, or differing observations, or clusters). For example, if I have the following three “points” in the plane, as indicated by their colors, which is closer, blue to green, or blue to red? It’s not obvious, and there are multiple factors at work: the red points have fewer samples, but…
Being really good in your field is important, but more important than that is to seem to be good. Invest in yourself. Be searchable! How many times did you search your name on Google? How many times did you search some keywords related to you? Did you like the results you got? Can them be … Continue reading Invest in…
I am a fan of Kali Linux and AWS so I love the fact that they have an official AMI. While spinning up a Kali instance in AWS is fairly easy, I had a long flight today so I wrote a script that will spin up a Kali instance in about 60 seconds. The script does the following: Builds a…
4 Mar 2018
This is a story about how I got nerd sniped by a blog post from Cloudflare Engineering. The TLDR on their post is that you can script in Go if you use BINFMT_MISC in the kernel. BINFMT_MISC is really well documented and awesome. In the end, all they had to do to script in Go was to mount the filesystem:…
Introduction These are some very hasty notes on Runge-Kutta methods and IRK2 in particular. I make no apologies for missing lots of details. I may try and put these in a more digestible form but not today. Some Uncomprehensive Theory In general, an implicit Runge-Kutta method is given by where and Traditionally this is written … Continue reading Implicit Runge…
3 Mar 2018
2 Mar 2018
Background There are three things you need to know to start with: Operations on read-only variables which are value types copy the variable value first. I’ve written about this before on this blog. C# 7.2 addresses this by introducing the readonly modifier for structs. See the language proposal for more details. I was touched to … Continue reading Implementing IXmlSerializable…
The ultimate guide to getting paid on time for SME accountancy firms. We guide you through 5 practical, low-cost, high-impact tactics that will reduce your firm's average payment times and debtor days.
1 Mar 2018
Learn about our new "Transaction-based" pricing model and the benefits to this new model.
Very simple way of how to display map service in QGI3 without a map server.
28 Feb 2018
I’ve published a few articles on Medium that may interest the reader here: requestAnimationFrame Scheduling For Nerds Understand how rAF callbacks are scheduled and why its very reasonable to have multiple callbacks execute within the same frame. Debugging Node.js with Chrome DevTools The canonical guide to using the Chrome DevTools UI for debugging Node.js. It definitely beats console.log. ;) Aside…
Over the past month, Clever worked with CERT to address a vulnerability in our open-source SAML2 library. Clever maintains an open source library implementing the SAML protocol in Node.js known as saml2-js. We use this library internally in our SAML service provider functionality for schools using Clever SSO and the Clever Portal. It is used […] The post saml2-js and…
The post When should you use CQRS? appeared first on RisingStack Engineering.
In the previous post, we talked about one of the talks I gave at the Index Developer Conference last week. In this post, we share the materials from the other one, titled How we built a global search engine for genetic data. The session was scheduled in the Real-life production deployments track. Unlike the talks I usually...
Snippet for a rather popular requirement. Formatting a date in a nice way, using infamous "time ago" function. This is the basic version which I adapt to fit a specific project. To keep it easily customizable to your needs, I haven't packaged it up. Just pass a date to it, and function will return one of the seven possible formats:…
27 Feb 2018
Internet security is a topic that receives more attention every day. If you’re reading this article in early 2018, issues like Meltdown, Specter and the Equifax breach are no doubt fresh in your mind. Cybersecurity is a massive concern and can seem overwhelming. Where do you start? Where do you go? What do you do […]
Use your own, free API service as a data source for your front-end projects! Here's how to set it up using Docker, locally. The post Meet my Free, Local API Server for your Front-End Adventures (written in Node.js)! appeared first on RisingStack Engineering.
Index Developer Conference is a new conference organized by IBM to promote software development as a craft. The event took place at the Moscone Center, San Francisco, a popular software conference venue, on February 20-22, 2018. This was my first conference of the year and I was very excited about being invited to give 2 talks in 2...
Sounds fancy, right? But it’s a really nice and reasonable approach to doing dynamic SQL with jOOQ. This blog post is inspired by a Stack Overflow question, where a user wanted to turn a set of values into a dynamic UNION query like this: Note, both the Stack Overflow user and I are well aware … Continue reading Map Reducing…
It was the Go 1.10 Release party - my talk was about what changed in Go 1.10.
At work and in my private time I’m trying to get myself familiar with AWS cloud. Almost all of this is new for me. I know how to setup few things using AWS web console but infrastructure as a code was calling to me and I wanted to give it a spin. My first task was to create VPC with…
26 Feb 2018
Introduction Over the last few weeks, I researched and tested a few interesting namespaces/methods documented on various Microsoft/MSDN sources that dealt with executing various COM scripts/scriptlets (e.g. VBscript, Jscript, etc.). In particular, I was curious to see if there were potentially new ways to invoke remote scripts (ActiveX Objects) by leveraging some of the great […]
We’re releasing eight simulated robotics environments and a Baselines implementation of Hindsight Experience Replay, all developed for our research over the past year. We’ve used these environments to train models which work on physical robots. We’re also releasing a set of requests for robotics research.
Open source can change your life. It has changed mine with Corcel, an open source project I started in 2013 that changed who I am, and how I live. The first title I gave to this post was How open source can change your life for the better. That was a good title too, but I … Continue reading Why…
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
img.otter { max-height: 220px !important; } iframe.otter { height: 800px; width: 100%; margin: 0 auto; border: 5px solid #E0F7FA; border-radius: 3px; } Before I wrote the JavaScripts, I got a master’s in AI (almost a decade ago 🙀), and wrote a thesis on a weird and new area in Reinforcement Learning. Or at least it was new then. It’s definitely…
The VGA text mode is a simple way to print text to the screen. In this post, we create an interface that makes its usage safe and simple by encapsulating all unsafety in a separate module. We also implement support for Rust’s formatting macros. This blog is openly developed on GitHub. If you have any problems or questions, please open…
The current best tools for serverless observability: benefits, drawbacks, and which are right for you.
25 Feb 2018
Introduction For the blog post still being written on variatonal methods, I referred to the still excellent Bishop (2006) who uses as his example data, the data available in R for the geyser in Yellowstone National Park called “Old Faithful”. While explaining this to another statistician, they started to ask about the dataset. Since I … Continue reading Reproducibility and…
23 Feb 2018
Chatbots are in your life. Humans will soon develop meaningful relationships with bots.
In most cases, natural sorting by sorting lexicographically is useful as a default in Java. This includes sorting file names, which are sorted lexicographically as well. However, when we have version numbers in our files (such as a set of SQL migration scripts), then we prefer the files to be sorted in a more intuitive … Continue reading How to…
I’ve been working on GoReleaser for more than a year now, and one of the things that was bothering me the most was fpm.
Nick Gottlieb shares his ServerlessConf Tokyo talk on serverless, the state of software, and ways to accelerate productivity.
22 Feb 2018
A walkthrough on how to build a robot, powered by Arduino, Alexa, and PubNub MQTT, that uses an arm and wheels to carry out tasks around the house.
Come to OpenAI’s office in San Francisco’s Mission District for talks and a hackathon on Saturday, March 3rd.