2024
Rust primitives
2024-08-22 #rust

In this post I explore guarantees the Rust language provide and how language primitives help enforce those guarantees.

TLS guarantees
2024-07-12 #crypto

TLS is the protocol that secures most of the browse web traffic on the internet. The internet is more secure than it has ever been but what exactly does that mean. What are the guarantees that TLS provides and how exactly does it deliver on its promise?

Demystifying ANS.1's use in Cryptography
2024-05-30 #crypto

ASN.1, PKCS #1, PKCS #8, pem, der, Pika Pika Chuuuu!

Ever feel like cryptography is just a bunch of random acronyms that someone just made up? I felt the same way and decided to change that by figuring out how these concepts are used in real world cryptography.

Making plans
2024-05-25 #focus

Writing is thinking and can often facilitate executing tasks. It can be especially invaluable when tackling complex tasks. This is because it takes clarity of though to write well; clarity being the key to unwinding a complex issue. However, writing well can take time, requiring multiple drafts and revisions.

I believe that one doesn't actually need the perfect final draft. In most cases first draft usually provides majority of the value.

2022
Rust's Future ecosystem
2022-01-25 #rust

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 #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 #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 #linux

There are two types of Virtual Machines: system VM and process/language VM. A language VM is also called a runtime (while true for Java and JVM this is typically not the nomenclature with other languages). 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

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

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

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

Resource constraints is what separate mobile development from other types of development. This post focuses on "low memory" constraints and to test for this ephemeral state.

Learning Scala
2016-05-15 #Scala

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.