Practical analysis of the HTTP protocol vulnerabilities and insecurities

In this article I’m going to show you why you absolutely want to ditch websites by impersonating an attacker that has targeted you.

This article is for educational purposes only. Do not try this with people that didn’t explicitly give you permission to do so.

What you will learn

This article should give you a better understanding of why HTTP is bad and why you should avoid it. Also you’ll learn a few different tools that are common in the IT world.


We’re going to use some well known pen-testing tools to make this happen:

  • nmap
  • ettercap
  • WireShark

Initial Phase

Our attack is useless if…

A clean and intuitive way to handle Core Data entities in SwiftUI

Photo by on .

When I first started using SwiftUI for some small projects, I immediately appreciated its ease of use and expressiveness. However, it was not all rosy.

As soon as I began to work on some bigger apps — especially the ones that required Core Data — it became clear to me that I would have to give a different structure to the project itself. Otherwise, I would soon get entangled in a very serious maintainability and testing problem.

The Bad, Easy Way

By going through Apple’s documentation and many other answers on Stack Overflow, what you will find is a lot of people placing the…

Optimise your time with CI/CD automation and focus on what matters

Time lapse of city streets at night
Time lapse of city streets at night
Photo by on .

Ever since GitHub introduced GitHub Actions in 2018, developers now have a powerful tool to create complex pipelines for CI/CD without the need to rely on third-party software.

If you’ve worked on a project with a team composed of multiple people, you know that a lot of things can go wrong. A lot of code can break with a single commit pushed/merged by mistake or a commit made by a user who was not paying much attention to other people’s code.

The most obvious way to overcome this is to create a solid test suite that will increase in time…

More and more people everyday are using Dark mode on their devices, me included. The majority of people on macOS use Dark mode and almost half of the iOS and iPadOS use that, that’s why you should implement it in your app from the very beginning.

How can I give the UI a particular color look when I’m in Light mode and another one when in Dark mode?

This is what I’m going to answer in this article using the newest SwiftUI framework, rest assure that this will work on UIKit the same way.

The How

Let’s first start by setting up…

How to design and style lists and cells in SwiftUI

Today I’m going to explain the little steps that are needed to achieve a good looking flat design in an iOS application that displays a list. Here’s the example I’m going to build.

I remember that when I first started developing iOS apps I wanted to make something that provided a great UI/UX because I felt that those were the key aspects for a successful application. The problem was that I didn’t know anything about design.I could recognise a great app that had great UI/UX but I couldn’t come up with something unique by myself, at least until I’ve discovered Behance.

The same happened to you? No worries, I’m hopefully going to help you out.

Adding the background and composing the final View

For the final part of our project, we need to add some data to control the colors of each background and each CapsuleBar.

Add these two arrays that contain the colors of each dataset:

private var dataBackgroundColor: [String: ColorRGB] = [
"Data1": ColorRGB(red: 44 / 255, green: 54 / 255, blue: 79 / 255),
"Data2": ColorRGB(red: 76 / 255, green: 61 / 255, blue: 89 / 255),
"Data3": ColorRGB(red: 56 / 255, green: 24 / 255, blue: 47 / 255)
private var dataBarColor: [String: ColorRGB] = [ "Data1": ColorRGB(red: 222 / 255, green: 44 / 255, blue: 41 /…

Compose the CapsuleGraphView by reusing the CapsuleBar we created in the previous piece

Let’s continue with our bar chart project from Part 1.

First, create a new struct and name it CapsuleGraphView:

struct CapsuleGraphView: View {    var data: [Int]
var maxValueInData: Int
var spacing: CGFloat
var capsuleColor: ColorRGB
var body: some View { Text("Hello") }}

In the initial setup, we created:

  • A data variable that will be our array of values to display;
  • maxValueInData,the max value in the array to set the maximum height filled by a value;
  • spacing, used for spacing the graph;
  • and capsuleColor, used to assign a color for each capsule.

Now, we’ll implement the graph itself. For that…

First, create the main interface

This is the first in a series of three pieces that will teach you everything you need to know to create this beautifully animated graph in .

What we’re going to do in Part 1:

  • Create the main interface with the title Picker;
  • Create a single-bar chart that will compose our graph;
  • Create the initial dataset to display.

Getting Started

First, create a new project for iOS. You’ll immediately be presented with an auto-generated ContentView that displays the ultra-famous “Hello World.”

Now, let’s create the dataset that our graph will represent. We’ll use a simple dictionary indexed by the words contained…

One of the most powerful tools in Telegram is the ability create bots which can do whatever you’ll tell them to do with your code.

In this tutorial I’m going to teach you how to code a Telegram bot and deploy it on Heroku, a free platform on which you can deploy a lot of different apps.
To have a better understanding you’ll need some basic requirements:

  • Basic knowledge of Git
  • Basic Python programming
  • Basic terminal/shell commands

The first thing you’re going to do is to “register” your bot using the father of them all, the BotFather

Mattia Righetti

Software Engineer, enthusiast iOS and macOS application developer with a background on backend, centralized and distributed systems technologies.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store