Nmap is probably one of the most known scanning tools. Nmap is a
free and open-source network scanning tools created by Gordon
Lyon. It’s used to scan hosts for open ports and running
services. In the present post, you will have a great understanding
of the most useful scanning commands implemented by Nmap. Let’s dive
But as your software grows, you start feeling the growing pains –
your main function starts becoming more and more convoluted. You
start having all sorts of small bits and pieces plugged in here and
there – healthchecks, database setup code, metrics, tracers,
external API connections, etc etc.
And what if your application grows into a microservice architecture?
What do you do when you have five different microservices demanding
the same bunch of setup code, specific to your environment?
In this article, I will introduce you to
Fx. It’s a Go framework which
solves both problems outlined above using dependency injection.
Before noon, Esme and I went to garden centre "De Carlton", which is
just a short ride from our house. I was not sure if the place wou
open but it was. I wanted to buy two orchids, Phalaenopsis sp. And
after looking around for a while Esme fell in love with a large
specimen of Monstera deliciosa.
When I found out it was only 5 euro to have the large plant delivered
I decided to buy it as displayed standing inside a nice basket.
On our way back, Esme spotted a large branch. In "De Carlton" they
have a large branch hanging with plants and lamps attached to it. She
wants something like this above our dining table. Despite the branch
being large and heavy she insisted on carrying it on her bike while walking.
Past 4pm the two orchids and the Monstera were delivered home. I
took photos of the Monstera in its new location, and a photo of each
of the orchids against a white background.
The branch Esme took is probably going to be a weekend project. I can't
wait to see it in place.
What’s a virus, anyway?
For starters, viruses are easily the most abundant life form on
Earth, if you accept the proposition that they're alive. Try
multiplying a billion by a billion, then multiply that by ten
trillion, and that (10 to the 31st power) is the mind-numbing
estimate of how
individual viral particles are estimated to populate the planet.
Don’t repeat my mistakes while developing a ML library
A while ago, I took a project where the goal was to develop a Natual
Language Processing (NLP) library that would support multiple
pre-trained embedding methods (BERT, Elmo, Word2Vec, etc.) — similar
to Hugging Face’s
transformers but with more models and support for multiple
languages. The library should take a document corpus on the input
and transform it into an aggregated embedding for each document. The
library should be developed in Python 3 and the goal was to
integrate it into an online platform for Machine Learning. In the
development process, I’ve made many mistakes and I am sharing it
with you, so you don’t repeat them. Most importantly I learned a
In the afternoon I rehoused my smallest tarantula, a Chromatopelma
cyaneopubescens, from the plastic container it came in when I bought
it to a much higher plastic container; 0.65 litre or 0.17
gallon. This species likes to web a lot and with a few twigs, which
easily fit in the higher container, I could provide more anchor
In the above photo you can see the spider resting on top of some of
its old webbing (left) which I transferred when I rehoused the
tarantula. You can also see the 1mm holes I drilled for
cross-ventilation. I also drilled four 1mm holes in the lid. The
substrate to the right is kept slightly moist as this species prefers
a dry climate. I used all substrate that came in the original
container, which in this new container adds up to a depth of nearly
4cm or 1.57 inches.
How to SSH Properly
SH is a powerful tool which often grants a lot of access to anyone
using it to log into a server. In this post, I’m going to talk about
a few different ways that you can easily improve the security of
your SSH model without needing to deploy a new application or make
any huge changes to user experience.
And so I decided to write this blog post to try and explain to
setuptools users why pyproject.toml exists and what it does as
it's the future of packaging in the Python ecosystem (if you are not
a conda user 😉).
The venerable “mixin” is a technique I learned as a Python
developer. Now, after writing Ruby code for the past year, I’m
excited to compare how these two languages approach mixins,
including similarities, differences, and traps. There will be code!
After 5 years of using Go I am finally moving on. Go has served me
well and has been the best language I could have possibly used for
the longest time, but it is now the moment for me to let it Go.
Over time Go has not failed to show me its limitations and its
issues, to the point where I decided to switch to something more
future proof and with a more thriving community.
I don’t want to write this post as a list of things that pushed me
away from my previous language, I find that kind of post sterile and
of very little use for the readers, this is just a post on what I
Now that we've looked at what state machines are, and hopefully
convinced you of their usefulness, let's take a look at how to
implement them in Rust. Much of what I'm saying here was inspired by
Hoverbear's "Rust state machine pattern"
I recommend reading.
PostgreSQL has a rich set of indexing functionality, and there are
many articles explaining the syntax, usage, and value of the
index. In this article, I will write basic and useful queries to see
the state of database indexes.
I have repeatedly been confounded to discover just how many mistakes
in both test and application code stem from misunderstandings or
misconceptions about time. By this I mean both the interesting way
in which computers handle time, and the fundamental gotchas inherent
in how we humans have constructed our calendar – daylight savings
being just the tip of the iceberg.
In fact I have seen so many of these misconceptions crop up in other
people’s (and my own) programs that I thought it would be worthwhile
to collect a list of the more common problems here.
When to assume neural networks can solve a problem
Thus, I thought it might be helpful to lay down the heuristic that
generates such answers. I by no means claim these are precise or
evidence-based in the scientific sense, but I think they might be
helpful, maybe even a good start point for further discussion on the
The iPad at 10: Emerging from the Shadow of the iPhone
The 10th anniversary of the iPad isn’t a destination, it’s just an
arbitrary point from which to take stock of where things have been
and consider where they are going. To do that, it’s instructive to
look at more than the endpoints of the iPad’s history and consider
what has happened in between. Viewed from that perspective, the
state of the iPad ten years later, while at times frustrating, also
holds reason for optimism. No single product in Apple’s lineup has
more room to grow or potential to change the computing landscape
than the iPad does today.
As a Python programmer, you’ll frequently deal with
very complex ones. In those situations, you may need to rely on
tools that can simplify logic and consolidate
information. Fortunately, any() in Python is such a tool. It looks
through the elements in an iterable and returns a single value
indicating whether any element is true in a Boolean context, or