anton.garavelli.io
Open in
urlscan Pro
95.216.36.183
Public Scan
URL:
https://anton.garavelli.io/
Submission: On January 11 via api from US — Scanned from US
Submission: On January 11 via api from US — Scanned from US
Form analysis
2 forms found in the DOM<form class="gh-form" data-members-form="">
<input class="gh-form-input" type="email" placeholder="jamie@example.com" required="" data-members-email="">
<button class="gh-button" type="submit">
<span><span>Subscribe</span> <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="currentColor" viewBox="0 0 256 256">
<path d="M224.49,136.49l-72,72a12,12,0,0,1-17-17L187,140H40a12,12,0,0,1,0-24H187L135.51,64.48a12,12,0,0,1,17-17l72,72A12,12,0,0,1,224.49,136.49Z"></path>
</svg></span>
<svg xmlns="http://www.w3.org/2000/svg" height="24" width="24" viewBox="0 0 24 24">
<g stroke-linecap="round" stroke-width="2" fill="currentColor" stroke="none" stroke-linejoin="round" class="nc-icon-wrapper">
<g class="nc-loop-dots-4-24-icon-o">
<circle cx="4" cy="12" r="3"></circle>
<circle cx="12" cy="12" r="3"></circle>
<circle cx="20" cy="12" r="3"></circle>
</g>
<style data-cap="butt">
.nc-loop-dots-4-24-icon-o {
--animation-duration: 0.8s
}
.nc-loop-dots-4-24-icon-o * {
opacity: .4;
transform: scale(.75);
animation: nc-loop-dots-4-anim var(--animation-duration) infinite
}
.nc-loop-dots-4-24-icon-o :nth-child(1) {
transform-origin: 4px 12px;
animation-delay: -.3s;
animation-delay: calc(var(--animation-duration)/-2.666)
}
.nc-loop-dots-4-24-icon-o :nth-child(2) {
transform-origin: 12px 12px;
animation-delay: -.15s;
animation-delay: calc(var(--animation-duration)/-5.333)
}
.nc-loop-dots-4-24-icon-o :nth-child(3) {
transform-origin: 20px 12px
}
@keyframes nc-loop-dots-4-anim {
0%,
100% {
opacity: .4;
transform: scale(.75)
}
50% {
opacity: 1;
transform: scale(1)
}
}
</style>
</g>
</svg> <svg class="checkmark" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 52 52">
<path class="checkmark__check" fill="none" d="M14.1 27.2l7.1 7.2 16.7-16.8"></path>
<style>
.checkmark {
width: 40px;
height: 40px;
display: block;
stroke-width: 2.5;
stroke: currentColor;
stroke-miterlimit: 10;
}
.checkmark__check {
transform-origin: 50% 50%;
stroke-dasharray: 48;
stroke-dashoffset: 48;
animation: stroke .3s cubic-bezier(0.650, 0.000, 0.450, 1.000) forwards;
}
@keyframes stroke {
100% {
stroke-dashoffset: 0;
}
}
</style>
</svg> </button>
</form>
<form class="gh-form" data-members-form="">
<input class="gh-form-input" type="email" placeholder="jamie@example.com" required="" data-members-email="">
<button class="gh-button" type="submit">
<span><span>Subscribe</span> <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="currentColor" viewBox="0 0 256 256">
<path d="M224.49,136.49l-72,72a12,12,0,0,1-17-17L187,140H40a12,12,0,0,1,0-24H187L135.51,64.48a12,12,0,0,1,17-17l72,72A12,12,0,0,1,224.49,136.49Z"></path>
</svg></span>
<svg xmlns="http://www.w3.org/2000/svg" height="24" width="24" viewBox="0 0 24 24">
<g stroke-linecap="round" stroke-width="2" fill="currentColor" stroke="none" stroke-linejoin="round" class="nc-icon-wrapper">
<g class="nc-loop-dots-4-24-icon-o">
<circle cx="4" cy="12" r="3"></circle>
<circle cx="12" cy="12" r="3"></circle>
<circle cx="20" cy="12" r="3"></circle>
</g>
<style data-cap="butt">
.nc-loop-dots-4-24-icon-o {
--animation-duration: 0.8s
}
.nc-loop-dots-4-24-icon-o * {
opacity: .4;
transform: scale(.75);
animation: nc-loop-dots-4-anim var(--animation-duration) infinite
}
.nc-loop-dots-4-24-icon-o :nth-child(1) {
transform-origin: 4px 12px;
animation-delay: -.3s;
animation-delay: calc(var(--animation-duration)/-2.666)
}
.nc-loop-dots-4-24-icon-o :nth-child(2) {
transform-origin: 12px 12px;
animation-delay: -.15s;
animation-delay: calc(var(--animation-duration)/-5.333)
}
.nc-loop-dots-4-24-icon-o :nth-child(3) {
transform-origin: 20px 12px
}
@keyframes nc-loop-dots-4-anim {
0%,
100% {
opacity: .4;
transform: scale(.75)
}
50% {
opacity: 1;
transform: scale(1)
}
}
</style>
</g>
</svg> <svg class="checkmark" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 52 52">
<path class="checkmark__check" fill="none" d="M14.1 27.2l7.1 7.2 16.7-16.8"></path>
<style>
.checkmark {
width: 40px;
height: 40px;
display: block;
stroke-width: 2.5;
stroke: currentColor;
stroke-miterlimit: 10;
}
.checkmark__check {
transform-origin: 50% 50%;
stroke-dasharray: 48;
stroke-dashoffset: 48;
animation: stroke .3s cubic-bezier(0.650, 0.000, 0.450, 1.000) forwards;
}
@keyframes stroke {
100% {
stroke-dashoffset: 0;
}
}
</style>
</svg> </button>
</form>
Text Content
Stefano Garavelli * Home Sign in Subscribe TECHNICAL PRODUCT MANAGER. DIGITAL MARKETING AND PUBLISHING Subscribe LATEST HOW TO CONFIGURE GHOST TRANSACTIONAL EMAILS WITH DOCKER COMPOSE ENV VARIABLES If you are getting errors in Ghost running on Docker when signing up for a new user, adjust your ENV variables to get rid of a couple of variables. By Stefano Garavelli Dec 30, 2023 CLICKHOUSE FOR BUSINESS INTELLIGENCE AND WEB ANALYTICS How to import MySQL data in Clickhouse for fast business intelligence analysis of large data sets By Stefano Garavelli Dec 22, 2023 HOW TO START A WEB AND EMAIL NEWSLETTER PUBLICATION IN 2023 I have been working in digital publishing since 2012 and it's been a ride. Lately, and 100M+ page views later, I came to the conclusion that figuring out a simple and effective way to start a web and email publication can be overwhelming. Let me offer my hard-gained experience with By Stefano Garavelli Oct 26, 2023 LOW LATENCY REMOTE DESKTOP SOLUTION FOR MULTIPLE OS If you manage multiple servers and desktops, be it your own home lab servers, gaming desktop or work computers or servers, the ideal solution to quickly and conveniently screen share with another computer running different OSes is hard to find. Even harder is to find a low latency remote desktop By Stefano Garavelli Oct 6, 2023 HOW TO RUN A FREE VIRTUAL MACHINE ON APPLE SILICON M1 Apple Silicon was introduced a few years back and I had the opportunity of testing the first MacBook Pro M1 13" and then the MacBook Pro 14" and the Mac Studio which I used for a couple of years. To run a free virtual machine on Apple Silicon M1 UTM By Stefano Garavelli Sep 27, 2023 ELECTRIC CAR OWNERSHIP AND DRIVING GUIDE I have had my driving licence since I was 18. It's been 22 years – and even though I'm not keeping records – I have certainly averaged 40,000 miles a year which brings the total a little over 800,000 miles driven so far. I have had electric cars since 2016. By Stefano Garavelli Feb 18, 2020 CUSTOMER CARE IS THE NEW KILLER PRODUCT Traditional businesses are poised to the threat of incumbent companies entering the same space with a simpler product and an even simpler statement: we value our customers. As a result, consumption behaviours will change adapting to a new offering and uplifted expectations, rendering the traditional offering out of scope. Business By Stefano Garavelli Jun 26, 2018 THE STORY SO FAR WITH MEDIUM A friend of mine who works at Automattic once moved his personal blog from a self-hosted WordPress site to Medium. He wanted to research if there was any effective network effect on the platform. After just a couple of weeks, he moved back to WordPress. His page-view count didn’t By Stefano Garavelli May 16, 2018 FACEBOOK REAL NAME POLICIES AND RULING THE WORLD Facebook’s real name policy is inherently naive, dangerous and evil. Ever since Silicon Valley was empowered to strive for real-world domination, there have been countless attempts to disrupt lives by collecting, storing, redistributing personal information to turn a profit and grow power. The Guardian revealed that Facebook’s contractors By Stefano Garavelli Jun 18, 2017 NEWSPAPERS COULD BE SAVED BY LOOKING AT THE METRICS THAT REALLY SUPPORT THEIR BUSINESS Product people look at the right metrics to support both the company’s vision and the business model. Attention minutes are way more valuable than pageviews By Stefano Garavelli Jul 25, 2016 Stefano Garavelli * Sign up Powered by Ghost STEFANO GARAVELLI Technical Product Manager. Digital marketing and publishing Subscribe