2024
Rust concepts
2024-08-22 #rust

What is ownership, borrowing, and lifetimes.

TLS overview
2024-07-12 #crypto

An brief overview of a TLS in simple language.

Advice
2024-07-01 #focus

A collection of advice, quotes and rules.

Encoding keys and certs
2024-05-30 #crypto

How do the following relate: ASN.1, pkcs1, pkcs8, pem, der.

Making plans
2024-05-25 #focus

Writing is thinking. It takes clarity of though to write well about something. However, I claim that you don't actually need a perfect draft for it to be useful.

Linux cheetsheet
2024-05-01 #linux

Cheetsheet for common Linux commands

2023
Cryptography 1
2023-01-11 #cryptography

In this post I'll be recaping the coursera course on Crpytography 1.

2022
Rust Future ecosystem
2022-01-25 #Rust #future

The Rust future ecosystem is quite complex and in this post I hope to explore and shed light on the different pieces.

2021
Learning Crypto
2021-02-15 #crypto

14 steps for learning crypto.

2019
DB testing in Rust
2019-02-19 #Rust #postgres #testing

Writing integration tests for databases is often a cryptic art. The challenge stems from the fact that a database is stateful and instead we would like our tests to be reproducible. In this post I will share my experience writing database tests in Rust, some limitations of my current setup and thoughts on future improvements.

2018
Understanding Lambda in Rust
2018-12-24 #Rust #lambda #aws

Given the announcement of the Lambda runtime, there is now an officially supported story around writing lambda functions in Rust. I wanted to try for myself and see the amount of effort needed to get a lambda function working, while also diving deeper into whats involved.

VM
2018-12-21 #vm #hypervisor

There are two types of VM: system VM and process/language VM. A language VM is also called a runtime. One abstracts out the OS while the other abstracts out a language runtime. A system VM might be good for isolation, security, portability, etc. A language VM is good for portability of a language (think JVM). For the purpose of this article we will consider system VMs.

Announcing Reads
2018-12-19 #algorithms #papers

I am starting an ongoing project/section here called reads. The task will be to read, highlight and summarize a paper, and possibly a coded implementation. The primary goal of this project is to reference my thoughts, and also gain a better understanding of the topic in the process. Possibly other might also find this useful.

2017
A practical guide to breakOut
2017-05-27 #Scala #code

In this post I will be reviewing scala.collection.breakOut from an application developer's perspective rather than a functional programming enthusiast. I will discuss why one would want to use it and how to recognize when it is applicable.

2016
Polymorphism in Scala
2016-10-31 #Scala #code

Polymorphism is a word that means 'having different forms'. In terms of OOP, this mean that a class can have many different forms and behave in different manners depending on the context. Scala has 3 types of Polymorphism that we will explore further below.

Android low memory testing
2016-08-12 #Android #code

There are a few things that separate mobile development from other types of development. Yes, actually your code does have to be smaller (in the previous version of the Android compiler, there was a limit on the number of methods that your application could have)... but really you are dealing with two main struggles; loss of network connectivity, and low memory. We will focus on the low memory issue and how you can go about testing this ephemeral state.

Learning Scala
2016-05-15 #Scala #code

Learning a new technology/language is difficult, and it can seem daunting when getting started. This is the third time in 3 years that I have set out to learn something new and become proficient, so I wanted to share my experience on how I learned Scala and built SubwayTunes.