Tomek on Software
Software - shaken, not stirred
From Kafka to ZeroMQ for real-time log aggregation
This post is about ditching Kafka in favor of ZeroMQ, based on a year-long experience of using Kafka for real-time log aggregation in a production setting of Auth0 Webtasks. What, why, and how - read on. What is Auth0 Webtasks? Auth0 Webtasks is a hosting platform for Node.js microservices. You...
Extensibility through HTTP with webtasks
Customization is what distinguishes platforms from applications. The most powerful form of customization is extensibility through custom code. In this post I will talk about how modern web platforms can benefit from code-based extensibility exposed through HTTP, and how you can make your application or platform extensible using webtasks. Why...
Node.js hosting with batteries included
If you are writing a Node.js application today, you have over 160,000 npm modules at your disposal. You declare the ones your application depends on within package.json. When the app is deployed, the hosting environment installs these modules before starting the app. The process typically takes between few and few...
Rethinking backend with webtasks
If you are writing a mobile or web application today, your requirements for backend functionality are quite different from what they were 5 or 10 years go. In this post I will introduce the concept of a webtask: a novel approach to running backend logic in modern mobile or web...
Playing audio from Node.js using Edge.js
The Edge.js project allows you to use .NET Framework inside of a Node.js application. Why would you ever do that? Scott Hanselman puts it this way: One such problem is playing audio. Node.js core does not support this functionality, so one must resort to writing a native extension in C/C++....
JSConf.US 2014 Lapidarium
Eleanor Roosevelt once said “Great minds discuss ideas; average minds discuss events; small minds discuss people”. During JSConf ideas are discussed. This also leaves a lot of time for conversations between people. I had the privilege to speak during JSConf.US 2014 on the topic of in-process interop between Node.js and...
Script Node.js from .NET using Edge.js
The latest release of the Edge.js project adds support for scripting Node.js from a .NET application. This enables you to leverage the power of Node.js ecosystem with the thousands of NPM modules from within a CLR application. Learn more Get the all-inclusive Edge.js NuGet package You can now script Node.js...
Mac, Windows, Ubuntu cross-platform development
“Grand[m|p]a” (have to be careful with pronouns this year), “what did you use to write cross-platform software back in 2014? No, really… do tell… Wow, amazing… It is, like, they really did not have […]?” This post describes a cross platform development setup that proved efficient for me in the...
Workers on a shoestring in Windows Azure Web Sites
Hosting web apps in Azure, by the book Many web apps consist of web, worker, and storage components. The web component handles HTTP traffic from clients which results in new work items (e.g. uploaded pictures that need to be resized). The worker component performs the actual work independently from interactions...
Secure by default with SSL in Windows Azure Web Sites
Windows Azure Web Sites (WAWS) allow your web applications to be exposed over HTTP and HTTPS. After you configure your Azure web site with an SSL certificate, by default your endpoints will be reachable over both HTTP and HTTPS. For some apps you may want to prevent the use of...