Having a hard time tracking all your crypto investments across all kinds of different platforms? Are you buying coins in CEX, staking them in DeFI platforms or generating yield income?

It must be hard keeping track of everything.

And while there’s a number of Apps tracking your crypto investment, they only track the funds in major exchanges, leaving cold storage, DEXs and other platforms out of the equation.

That’s why I build a Google Sheets to keep track of my Portfolio. This is how it looks like (no, this is not my actual portfolio):

Crypto Portfolio Manager in Google Sheets
Crypto Portfolio Manager in Google Sheets
Crypto Portfolio Manager in Google Sheets

You can get the spreadsheet from…


My late Friday creation, a quick one page website dedicated to “Banks are Clowns” or “Banks are Zeros” as popularized by Wall Street Playboys.

You can access it at https://clownbanks.com/

It’s about the recently launched NFT crypto project, Hashmasks, wherein a variety of randomly and automatically made art is made from a few different parameters to achieve a unique result. Using the Blockchain to record ownership of each piece. Hashmasks stands out by adding another level of exclusivity, by allowing naming each piece an exclusive name using the NCT tokens.

My website is a showcase of all the Clown Banks, Hashmasks that have clown masks and have been named after Banks. I hope I got all of them listed.


You may have been one of old time customers of Bitfinex, you know, that exchange that got ‘hacked’ into their bitcoin wallet and as a (their) decision, they decide to take 30% from any coin from any user in their system.

One of the early exchanges from the wild west bitcoin times, before proper ones came along.

After awhile you might login back into their system to find out that some of your coins worth a few cents 6 years ago is now worth a few dozen/hundreads.

Despite how small the amount may be, Bitfinex make it quite difficult to…


Google Chrome just started rolling out a change for the last 2 days which prevents users from submitting forms due to “secure connection” errors.

The information you’re about to submit is not secureBecause the site is using a connection that’s not completely secure, your information will be visible to others.

The issue has been reported to Chromium project and you can follow updates at https://bugs.chromium.org/p/chromium/issues/detail?id=1158169.

Rollback

The change is being rolled back as the Chrome team saw the unexpectedly large impact it caused and scenarios they may have not considered. …


Is your repository full of disparate serverless functions which you want to integrate CI/CD into? Look no further, here’s my quick and easy guide on configuring a CI/CD pipeline for your functions repository.

Implementing a monorepo strategy can be benefitial if you have a large number of functions that do not belong to a single big feature, creating a new repo for each one creates a huge overhead and requires you to manage/duplicate credentials/permissions/user access/env variable (for the CICD) in multiple places.

So the easy way to do it:

---
image: amaysim/serverless:1.79.0
stages:
- deploy
variables:
# AWS region…


Drupal 8 only sends the secure flag on the session cookie for HTTPs connections. That may be a problem when there’s multiple layers of servers and reverse proxies between the user and the server. Imagine `Server (HTTP) -> Load Balancer (80) -> Cloudflare (443)`, Drupal may incorrectly assume its getting an HTTP connection and will not send the cookie.

From a user perspective, the cookie is being sent from Cloudflare through an HTTPs connection and should have the secure flag in the cookie.

For previous Drupal releases it was possible to hard code the connection mode, such as `settings.php: $conf[‘https’] = 1;`

For Drupal 8 you may work around the issue by Secure Login module in its default settings.


If you’re searching online and getting nowhere, this is for you. Reverse proxy settings, sound like an easy 3 line change, but you may be having issues making it work.

One possible reason, copy pasting solutions online isn’t working: settings.php.

See https://www.drupal.org/node/3030558

Since Drupal 8.7, settings.php has been updated, and you must update your settings file to have the reverse proxy settings work.

Get the latest settings.php from drupal 8.8.x branch on this url:

Before, you had to specify the header you wish Drupal:

$settings['reverse_proxy_header'] = 'HTTP_CF_CONNECTING_IP';

Alternatively, there is some suggestions of overwriting the global variable.

if (isset($_SERVER['HTTP_CF_CONNECTING_IP'])) {…

Until recently was possible to use Gitlab as an external CI for a repository hosted somewhere else. In the same vein of Cloud CI providers such as Travis or Circle.

The way it worked was using Gitlab’s repo mirroring feature to mirror all repository changes to Gitlab, then the pipelines will run from the Gitlab repo.

All was fine until Gitlab decided to make it a paid feature. And last Friday they finally pulled the plug, by simply disabling mirroring. Some people were caught by surprised, myself included. Just see the posts below

I would be a happy Gitlab customer…


Running Backpack in production and wondering about these usage reporting requests being sent back home?

I’m all in for OSS and supporting sustainable models but for some people, privacy and security is paramount and we operate on a need to know basis.

The information being sent, right now:

$stats = [
‘HTTP_HOST’ => $_SERVER[‘HTTP_HOST’] ?? false,
‘APP_URL’ => $_SERVER[‘APP_URL’] ?? false,
‘APP_ENV’ => $this->app->environment() ?? false,
‘APP_DEBUG’ => $_SERVER[‘APP_DEBUG’] ?? false,
‘SERVER_ADDR’ => $_SERVER[‘SERVER_ADDR’] ?? false,
‘SERVER_ADMIN’ => $_SERVER[‘SERVER_ADMIN’] ?? false,
‘SERVER_NAME’ => $_SERVER[‘SERVER_NAME’] ?? false,
‘SERVER_PORT’ => $_SERVER[‘SERVER_PORT’] ?? false,
‘SERVER_PROTOCOL’ => $_SERVER[‘SERVER_PROTOCOL’] ?? false,
‘SERVER_SOFTWARE’ => $_SERVER[‘SERVER_SOFTWARE’] …


A while ago I was migrating a 10 year old CMS to WordPress and during the migrationg I was faced with the question about how to preserve a 1000 user database. Looking around for WordPress plugins only revealed solutions that take in plain text passwords but the CMS was using md5 hashing.

For that reason, I started looking at the WordPress Core code and came up with the following solution:

  1. Install this plugin: Import users from csv with meta

2. Temporarily edit wp-includes/user.php line 1716 and replace this:

$user_pass = wp_hash_password( $userdata[‘user_pass’] );

with

$user_pass = $userdata[‘user_pass’];

Run the plugin to import users to the database, and revert the changes on wp-includes/user.php once done otherwise users won’t be able to login.

Solution might fail in the future as WordPress can migrate to stronger hashing algorithms than md5.

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