14 steps for learning crypto.
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.
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.
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.
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.
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.
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.
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 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 SubwayTunesu.