Publishing a Next.js site on Azure Static Web Apps with GitHub Actions

I needed to find out how I can publish a static, server-side generated Next.js site to Azure Static Web Apps automatically from GitHub… »

Jani KarhunenJani Karhunen on azure, next.js, github, development, devopsJanuary 31, 2023

Cross-posting new articles to LinkedIn, Mastodon and Twitter with Azure Logic Apps

I wrote earlier in 2020 how I can cross-post articles to Twitter and LinkedIn with iOS Shortcuts and Azure Logic Apps. Now seems to be a… »

Jani KarhunenJani Karhunen on azure, logic apps, social media, development, low-code, automationJanuary 24, 2023

Signing git commits with SSH key

GitHub started supporting SSH commit verification on August 2022. GitHub now supports SSH commit verification, so you can sign commits and… »

Jani KarhunenJani Karhunen on devops, git, githubAugust 28, 2022

Just enough git and GitHub to be productive

Updated on June 8th, 2022 So you find yourself within a group of people called developers, and are assigned a task to develop a feature to… »

Jani KarhunenJani Karhunen on devops, git, githubMay 23, 2022

Test outbound connectivity on Windows Server

How can I find out, if network connectivity is allowed to a specific destination address and TCP port? If you know the destination IPv… »

Jani KarhunenJani Karhunen on sysops, windows server, networkingJune 10, 2021

Find out my public IP on the terminal

Often it is important to find out, what is my machine's public IP address. There are numerous websites to get this information, but it is… »

Jani KarhunenJani Karhunen on development, tools, cliApril 21, 2021

Maintain local Node.js installation with nvm

I mostly use containers for development, but sometimes a local Node.js development environment is needed. I like to use nvm to manage my… »

Jani KarhunenJani Karhunen on development, tools, node.jsApril 9, 2021

Decode JSON Web Token on the Command Line

As a developer I will come across JSON Web Tokens (JWTs) all the time. In many cases during development and issue resolution I will need to… »

Jani KarhunenJani Karhunen on development, tools, zsh, jwtJanuary 30, 2021

JS Reference: Array Methods

On the other day I was writing a function, where I needed to filter and "simplify" an array of JS objects. The logic to filter was somewhat… »

Jani KarhunenJani Karhunen on development, JS, JS referenceJanuary 16, 2021

Simplifying Social Media Sharing with Azure Logic Apps and iOS Shortcuts

I am quite active on Twitter, and it feels like a natural platform for me. On the other hand, I would like to have more active presence on… »

Jani KarhunenJani Karhunen on azure, logic apps, social media, iOS, iPadOS, shortcuts, development, low-codeSeptember 13, 2020

Running Azure CLI in Docker container

I like to keep my machine nice and tidy. Thus, I really like to develop and "install" 3rd party tools as Docker containers. In this… »

Jani KarhunenJani Karhunen on azure, docker, macos, cli, development, zshAugust 6, 2020

Makeshift Tree for macOS

Funnily enough macOS does not come with the shell command . Tree is the handy little command-line program, which lists the directory… »

Jani KarhunenJani Karhunen on terminal, macos, cli, development, zshAugust 4, 2020

Vacanza – A Vacation Project

Vacations are fun. You have a well earned right to do pretty much nothing. It is very nice to ditch the keyboard and computer aside for a… »

Jani KarhunenJani Karhunen on frontend, backend, react, nodejs, graphql, apollo, mongodb, mapbox, cloudinaryAugust 18, 2019

Secure access from AWS CLI with Cross Account Access and MFA

In this article I will demonstrate, how you can access your AWS resources from the command line, when your organization enforces good… »

Jani KarhunenJani Karhunen on aws, security, python, serverlessApril 10, 2019

From Pelican to Gatsby, and why?

This blog of mine has been a static site for almost its full lifetime. In short, a static site is built beforehand, and is served to users… »

Jani KarhunenJani Karhunen on gatsby, blogging, netlify, gitlab, markdown, awsMarch 17, 2019

How-to install Python 3.6.1 on CentOS 7

This article is a revisit to a previous article dating back a little over an year, in which I installed Python 3.5.1 from sources. This time… »

Jani KarhunenJani Karhunen on python, linux, centos, developmentJuly 13, 2018

Verify Slack requests in AWS Lambda and Python

Slack announced yesterday a new way to verify the HTTP requests for e.g. Slash commands and Events API it sends to web server. In this… »

Jani KarhunenJani Karhunen on python, aws, development, serverless, lambda, slack, securityJuly 13, 2018

Process a MIME message with Python

Today I needed to process a MIME message, to quickly verify the content. Here's how I did it. Problem I needed to verify, if the MIME… »

Jani KarhunenJani Karhunen on python, development, dataJune 12, 2018

Linting Python in Visual Studio Code

A little over a year ago I wrote how to lint Python right within Sublime Text, Three steps to lint Python 3.6 in Sublime Text. Since then, I… »

Jani KarhunenJani Karhunen on python, toolchain, development, vscodeFebruary 1, 2018

Portainer Up and Running

Managing your Docker things such as images, containers, Swarm services etc. from the command line is the out-of-the-box option provided by… »

Jani KarhunenJani Karhunen on docker, development, portainerJanuary 20, 2018

First steps with Visual Studio Code

I have been using Sublime Text as my main Code Editor for years, and the development version of the major branch three from almost the… »

Jani KarhunenJani Karhunen on vscode, toolchain, developmentDecember 19, 2017

Replacing Web App with Slack Dialogs

Slack released awesome new feature called Dialogs a couple of weeks ago. Dialogs... Awesome? Simply put, yes. Awesome. When combined with… »

Jani KarhunenJani Karhunen on slack, developmentNovember 3, 2017

Production Checklist

Designing and developing applications is fun. When the go-live time nears, there are couple of things you want to have answers ready and… »

Jani KarhunenJani Karhunen on development, ops, monitoring, logging, architecture, securityOctober 16, 2017

Setting up Dockerized Neo4j for data analysis

I came across an interesting article on London Tube system analysis with Neo4j, utilizing the Graph algorithms plugin. This is how I set up… »

Jani KarhunenJani Karhunen on neo4j, docker, development, dataSeptember 12, 2017

A journey to Dockerize Voikko & Python App

I am building a chatbot, which can tell you about the upcoming movies in the selected city and date, all in Finnish. Analyzing Finnish text… »

Jani KarhunenJani Karhunen on python, docker, development, nlpSeptember 3, 2017

How-to install Jupyter to virtualenv

In this short how-to I will install Jupyter within a virtualenv running on Python 3. Prerequisites Some prerequisites: I am running macOS 1… »

Jani KarhunenJani Karhunen on python, jupyter, development, dataAugust 10, 2017

Protect SSH with Fail2ban on CentOS 7

At the very moment, you expose your new Linux server to the internet, it starts to get automated SSH brute-force login attempts. There can… »

Jani KarhunenJani Karhunen on linux, fail2ban, security, developmentApril 2, 2017

Run Node.js CLI tools in Docker container

So you want to test a fancy Node.js CLI tool, but do not have Node.js installed, or do not want to install it locally? Docker to the rescue… »

Jani KarhunenJani Karhunen on node.js, JS, docker, developmentMarch 26, 2017

Tackle spam with SpamAssassin on CentOS 7 & Postfix

On some cases you need to maintain your own mail server, for example for development purposes. This article is another quick technical… »

Jani KarhunenJani Karhunen on email, postfix, spamassassin, linux, centos, developmentFebruary 26, 2017

Three steps to lint Python 3.6 in Sublime Text

Writing consistent, well-formed code is important. Of course the functionality of the code is paramount, yet in addition the styling and… »

Jani KarhunenJani Karhunen on python, sublime text, development, lintingJanuary 22, 2017

Visualization tools for the Web

I was asked on Twitter, what tools I use, or even would recommend to be used for data visualization. What an interesting and good question… »

Jani KarhunenJani Karhunen on datavisualization, web development, development, d3.js, c3.js, leaflet.js, mapsNovember 25, 2016

Website and API monitoring with AdminLabs

When you deploy stuff on the web, whether they are simple websites, online stores or REST APIs, it's important to keep them up and running… »

Jani KarhunenJani Karhunen on devops, monitoring, development, slackOctober 17, 2016

Hackathons for October 2016

There are some cool Hackathons here in Finland for October 2016. Here's few of my favourites. Hack the Solar with Fortum Fortum will host a… »

Jani KarhunenJani Karhunen on hackathon, business, developmentSeptember 6, 2016

Environment monitoring with sensors and Raspberry Pi

I recently delve into the numerous opportunities of light-weight computing, in form of a Raspberry Pi 2. You can find out how to do the… »

Jani KarhunenJani Karhunen on raspberry pi, python, iot, development, linuxJuly 27, 2016

Removing PM2 enabled Node.js App

There are plenty of good tutorials how to run your Node.js application on linux server "forever" with PM2, such as How To Set Up a Node.js… »

Jani KarhunenJani Karhunen on JS, node.js, development, linux, systemd, centosJuly 17, 2016

Connecting to SQL Server from Python app on CentOS 7

In some projects I need to connect to SQL Server (2008 and 2012) from Python app running on CentOS 7 server. There are some steps needed to… »

Jani KarhunenJani Karhunen on python, linux, centos, sql server, developmentMay 2, 2016

How-to install Python 3.5.1 on CentOS 7

CentOS 7 has Python 2.7 installed out of the box and is used by the system itself to enable quite a few handy commands, such as yum. As a… »

Jani KarhunenJani Karhunen on python, linux, centos, developmentApril 26, 2016

Linting JS in Sublime Text

I had to jump through a few hoops to get ESLint to work in Sublime Text. Let this be a note to self for future reference and hopefully for… »

Jani KarhunenJani Karhunen on JS, toolchain, sublime text, developmentFebruary 26, 2016

Hackathons for March 2016

There are some cool Hackathons here in Finland for March 2016. Here's few of my favourites. KONE Hackathon 2016 Today, digitalization is… »

Jani KarhunenJani Karhunen on hackathon, business, developmentFebruary 9, 2016

Note on Homebrew and OS X El Capitan

Apple released yesterday, September 30th, the new version of OS X called El Capitan. I upgraded today my both machines (iMac and MacBook Pro… »

Jani KarhunenJani Karhunen on macOS, os x, homebrew, developmentOctober 21, 2015

Making Slack work for you

I have fallen for Slack. For anyone who might not know, Slack is basically just another team chat. Basically. And then some. You can extend… »

Jani KarhunenJani Karhunen on automation, slack, development, chatbotsSeptember 23, 2015

Automate your Linux server backups

We all know pretty well that backups are necessity. I would like to share a simple and effective way to automate the backing up of your… »

Jani KarhunenJani Karhunen on automation, linux, dropbox, bash, development, data, backupsJuly 25, 2015

Getting started with Raspberry Pi 2

Internet of Things has been on top of hype for quite some time. Surely every nerd out there must have a go on this :) Here's the beginning… »

Jani KarhunenJani Karhunen on raspberry pi, iot, development, linuxFebruary 22, 2015

Code from Finland campaign

I am taking part in a campaign to promote top quality coding we do here in Finland. You should read more on the campaign from here. Finnish… »

Jani KarhunenJani Karhunen on business, developmentFebruary 17, 2015

New stuff at your service

New platform, new desing, new content. I have moved from a basic web hosting to my very own VPS. This change makes it possible to publish… »

Jani KarhunenJani Karhunen on linux, developmentFebruary 15, 2015

Networking

For an architect it pays off to know something about lots of various topics. On the other hand, you should have deep knowledge on some few… »

Jani KarhunenJani Karhunen on learning, development, network engineeringDecember 17, 2014

Setting up Python development environment

I use Python for all kinds of data munging and analytical (e.g. Machine learning) tasks, and generating this site with Pelican. OS X comes… »

Jani KarhunenJani Karhunen on python, development, writing, blog, pelicanJuly 31, 2014

Why I moved to a static site from WordPress

Couple of days ago I reneved my site. My old site contained information of my business Orchid Bits, and what I could do with my customers… »

Jani KarhunenJani Karhunen on writing, blogging, python, pelican, markdownJuly 17, 2014