sam 0.2.0 released

👋 This page was last updated ~12 years ago. Just so you know.

Today I decided to release sam 0.2.0. There are only a handful of new features in there but it’s still releaseworthy! See the for more information on the tool itself.

Source path and lib folders

Let’s take a look at what sam tells us when launching it.

sam version 0.2.0 Usage: sam [update|get|status|promote] Commands * update: update sam's grimoir of formulas * get [USEFILE]: clone and/or pull all dependencies * status [USEFILE]: display short git status of all dependencies * promote [USEFILE]: replace read-only github url with a read-write one for given use file * clone [--no-deps] [REPONAME]: clone a repository by its formula name Note: All USEFILE arguments are optional. By default, the first .use file of the current directory is used Copyleft 2013 Amos Wenger aka @nddrylliog

Changes to “clone”

One thing that’s new is that sam clone will now also clone dependencies by default. So if you do sam clone dye by example, you’ll get a copy of my graphics framework and all its dependencies.

In my case, because I already have dye, it’ll only update:

$ sam clone dye [dye:master] Repository /Users/amos/Dev/dye exists already. Pulling... > Current branch master is up to date. [sdl2:master] (<= dye) > Current branch master is up to date. [stb-image:master] (<= dye) > Current branch master is up to date. [freetype2:master] (<= dye) > Current branch master is up to date. [deadlogger:master] (<= dye) > Current branch master is up to date.

If you want to only clone or update one the formula you specify and none of its dependencies, you can use the --no-deps option.

Changes to “update”

Previously, sam update only updated its library of formulas (also called grimoir). Now it also recompiles it. It’s still pretty fast though:

$ sam update Pulling repository /Users/amos/Dev/sam > Current branch master is up to date. Recompiling sam > Cleaning up outpath and .libs > Build order: [sam, sdk] > [ OK ]

This takes around 6s on my system - and most of that is spent waiting for SSL negotiation with GitHub!

So there you have it, from now on you’ll be able to sam update to keep both your grimoir up-to-date and sam itself.

Comment on /r/fasterthanlime

(JavaScript is required to see this. Or maybe my stuff broke)

Here's another article just for you:

ktls now under the rustls org

What’s a ktls

I started work on ktls and ktls-sys, a pair of crates exposing Kernel TLS offload to Rust, about two years ago.

kTLS lets the kernel (and, in turn, any network interface that supports it) take care of encryption, framing, etc., for the entire duration of a TLS connection… as soon as you have a TLS connection.

For the handshake itself (hellos, change cipher, encrypted extensions, certificate verification, etc.), you still have to use a userland TLS implementation.