221 results for "":
And now for a bit of an announcement
Hey all, thanks for checking in!
After much soul searching, I have arrived to the following conclusion:
- Teaching folks about stuff is my jam.
I’ve been writing multiple articles that sort of read like course material, if there was no dress code, maybe?
In 2013, I organized a 1st year Computer Science student project. Instead of making them implement “control tower software” for a fictional airline, I decided to go for something real - the BitTorrent protocol.
Game Design: The Binding of Isaac
In hours, I have played more of The Binding of Isaac than any other game in my Steam library. Edmund McMillen said he wasn’t expecting it to be a hit, and has since proceeded to be proven thoroughly wrong.
It is kind of a big deal among a certain crowd: as I’m writing this, the second season of the Binding of Isaac Racing League, hosted and commented by Crumps, is in full swing - even though the game was certainly not designed for that!
Developing over SSH
With the previous part’s VM still running, let’s try connecting to our machine over SSH.
Network addresses, loopback and IP nets
Normally, to connect to a machine, you’d find its IP address. On Linux, a decade
ago, you would’ve used ifconfig. Nowadays you can use ip addr:
The loopback interface (lo) is local, so it’s not useful to reach the box from
the outside: you can see it can be accessed over IPv4 at address 127.0.0.1 but
not just! What we’re reading here is 127.0.0.1/8, which corresponds to the range
127.0.0.1 - 127.255.255.255
Reading files the hard way
sam, homebrew-mingw, etc.
I want to write blog posts, but right now I have too much to do.
So instead, here are bullet points:
I wrote an ooc tool named sam, which helps you keep your git repos up-to-date, and helps to remind you what to push when switching workstations. It’s pretty neat, and portable.
A while ago, I started working on homebrew for Windows, or rather, for MinGW+MSYS. Provided you have msysgit and Ruby in your PATH, it’ll let you brew install most packages. I’ve tested a few dozen, send in your pull requests anytime.
Making a dev shell with nix flakes
In the previous chapter, we’ve made a nix “dev shell” that contained the fly.io command-line utility, “flyctl”.
That said, that’s not how I want us to define a dev shell.
Our current solution has issues. I don’t like that it has import <nixpkgs>.
Which version of nixpkgs is that? The one you’re on? Who knows what that is.
Also, we haven’t really seen a mechanism to use .nix files from elsewhere.
sam 0.2.0 released
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 previous sam announcement 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
Peeking inside a Rust enum
During a recent Rust Q&A Session on my twitch
channel, someone asked a question that
seemed simple: why are small string types, like SmartString or SmolStr,
the same size as String, but small vec types, like SmallVec, are larger
than Vec?
Now I know I just used the adjective simple, but the truth of the matter is: to understand the question, we’re going to need a little bit of background.
Cut for time
This series has to end somewhere, so let’s end it here!
However, here is a list of some things I’d like to come back to:
Bundling & TypeScript
Using a bundler like Parcel so I can write some of the client-side logic in TypeScript, have it take care of building the SCSS, etc.
I do that to great effect in another project of mine and I’d like to show you how I did it!