Image for post
Image for post
image from seopressor

Introduction

HTTPS is part of our everyday lives! Hundreds of billions of dollars are spent over HTTPS annually, and each one of us enjoys the benefits of it every day as we browse the web and interact with applications on mobile or on desktop. My experience as an engineer is that most people have a high-level understanding of HTTPS and its benefits. Saying HTTPS in a conversation is synonymous with “this thing is secure”.


This is a terse guide on how I get my terminal up and running.

step 1: download iterm2

download stable here.

step 2: install brew

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"

step 3: install zsh

brew install zsh

step 4: install material color theme

cd ~/Downloads && curl -O https://raw.githubusercontent.com/MartinSeeler/iterm2-material-design/master/material-design-colors.itermcolors

step 5: open iterm2, click on preferences

step 6: select colors and click on the Color presets dropdown (bottom right).

Image for post
Image for post

step 7: click on imports and upload the downloaded material design colors


The biggest turnoff when visiting a new web application can be slow load times!

Luckily, there are a several techniques to speed up loading times considerably. Before we learn optimization we will need to understand how the browser loads a page. Remember the golden rule of optimizations:

Measure First, Optimize Second

I would add an extra step before measuring which is understanding :) This will allow us to develop a strong intuition for things that may be hindering our websites performance early on.

What is the Critical Render Path?

The critical render path is the sequence of steps the browser goes through to convert HTML, CSS and Javascript into actual pixels on the screen. Once we understand the Critical…


JSON Web Tokens (JWT) are a popular approach to ensure secure authentication in modern applications. A JWT allows us to securely transmit information between two parties as a JSON object. The information can be trusted because it can be digitally signed. JWTs can be signed in two ways.

  1. Using a secret with the HMAC algorithm- this is what we’ll do in this post 🤓🤓🤓.
  2. Public/Private key pair using RSA or ECDSA.

When should we use JWTs?

Authorization

The most popular scenario for using JWTis authorization. Once the user is logged in, each subsequent request will include the JWT, allowing the user to access protected resources.


Image for post

Introduction

In part 1 of this series we looked at what Progressive Web Apps are and discussed how they can improve user experiences in mobile web. These articles are based on the talk I gave at the Reversim Summit. If you prefer to watch the video you can see it here:

Let’s continue where we left off last time and dive into Web Workers. Web Workers are the core technologies that enable PWAs.

Web Workers

If you’ve worked a bit with Javascript before you may have noticed that it is single threaded. This is evident if you do any expensive computations on…


Image for post

Introduction

Last month I had the pleasure of talking about Progressive Web Apps at the amazing Reversim Summit. This series will summarise the contents of that talk. If you prefer to watch the video you can see it here:

Why

Progressive Web Apps are here to help us bridge UX between mobile websites and apps. But before we jump into how let’s understand why.


Introduction

In part 1 of this series, we learned about the Solidity programming language, smart contract primers and looked at some of the basic hacks and vulnerabilities exploited to drain funds out fo smart contracts. In this article, we’ll take this knowledge a step further by examining real-world hacks and walking through them.

Example #1: Parity “hack” #1

  • TL;DR — A vulnerability was found on the Parity Multisig Wallet version 1.5+, that allowed an attacker to steal over 150,000 Ether ($30,000,000 at the time, $105,000,000 today ETH/USD 700).
  • Gavin Woods, one of the original Solidity developers was the CTO of Parity. …


Introduction

With the rise of blockchain based crypto currencies, smart contracts have become increasingly more popular.

Image for post
Image for post

Crypto startups are utilizing smart contracts to create intelligent agreements that can be executed in a “trustless” environment. Smart contracts take out the middleman and execute on contract terms automatically, based on rules put in place. Although smart contracts harbor a lot of promise, we have seen a worrying history of hacked smart contracts, where hundreds of millions of dollars worth of crypto currencies have been lost or stolen.

My growing interest in crypto currencies and blockchain based technology has led me to research and…


I’ve recently taken interest in the blockchain open source community. The first thing that I’ve noticed is that the majority of projects I have encountered are written in Go. Go has been on my radar for a long time, as the community is quite excited about it and sings it high praises.

Why Go?

Go is a statically typed, compiled language like C++ and Java. And it follows the simplicity of ‘C’ in syntax and semantics with some additional features.

goroutines

In comparison to older programming languages (Python, Java etc.) Go was released very recently in 2009. Go was built with concurrency…


With internship season in full swing I’ve reflected on last years internship memories and lessons. Interning at Facebook was a very valuable experience, and I’ve written this post to shed light on my journey and experience, in hopes that is useful for incoming interns or anyone that is interested in joining Facebook.

Background

Last year (July — October 2017) I completed a Software Engineering internship at Facebook, Tel Aviv. I worked on the Express Wi-Fi team, which is part of Internet.org. Internet.org …

Omer Goldberg

software @ instagram | likes making things | https://omergoldberg.com

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