221 results for "":

Thumbnail for Dynamic linker speed and correctness

Dynamic linker speed and correctness

In the last article, we managed to load a program (hello-dl) that uses a single dynamic library (libmsg.so) containing a single exported symbol, msg.

Our program, hello-dl.asm, looked like this:

global _start extern msg section .text _start: mov rdi, 1 ; stdout fd mov rsi, msg mov rdx, 38 ; 37 chars + newline , , ,
Thumbnail for Day 9 (Advent of Code 2020)

Day 9 (Advent of Code 2020)

Day 9’s problem statement is convoluted - the “ah maybe that’s why I don’t usually do Advent of Code” kind of convoluted, but let’s give it a go anyway.

So, we have a series of numbers, like so:

35 20 15 25 47 40 62 55 65 95 102 117 150 182 127 219 299 277 309 576

And uh the first N numbers are a “preamble” and every number that comes after that must be the sum of any two of the numbers that come before it.

Thumbnail for Day 13 (Advent of Code 2022)

Day 13 (Advent of Code 2022)

The day 13 puzzle needs a speech therapist.

Cool bear

???

…because it has an awful lisp!! Ahhhahahahhhh

Cool bear

Are you ok? What is.. what is going on with you?

No but seriously we have what are ostensibly S-expressions, except they use JSON-adjacent notation:

[1,1,3,1,1] [1,1,5,1,1] [[1],[2,3,4]] [[1],4] [9] [[8,7,6]] [[4,4],4,4] [[4,4],4,4,4] [7,7,7,7] [7,7,7] [] [3] [[[]]] [[]] [1,[2,[3,[4,[5,6,7]]]],8,9] [1,[2,[3,[4,[5,6,0]]]],8,9]
Thumbnail for Technology, as seen on TV

Technology, as seen on TV

Enhance! In this series, we’re looking at TV depictions of technology, and reviewing how realistic they are. Of course, they’re very rarely accurate, but it’s still interesting to take a look and try to figure out what they could’ve been thinking of, and just reminisce in general.

Thumbnail for Building a Rust service with Nix

Building a Rust service with Nix

I often give bits and pieces of advice on how to build Rust stuff the comfy way. But it can be hard to see how everything comes together, especially when it comes to, say, deploying a web service in production.

So, let’s start from the very beginning (setting up a Linux VM), and march together towards the objective: a production-grade Rust web service, built with Nix.

Thumbnail for Advent of Code 2022

Advent of Code 2022

Let’s use the Advent of Code 2022, a series of programming challenges of increasing difficulty, to learn more about the Rust programming language.

Thumbnail for Building poppler for Windows

Building poppler for Windows

I know what you’re thinking: haven’t we strayed from the whole “content pipeline” theme in this series?

Well… fair. But compiling and distributing software is part of software engineering, and unless you’re in specific circles, I see that taught a lot less than the “just write code and stuff happens” part.

Amos

Technically it’s release engineering, but who’s keeping track.

My ideal Rust workflow

Writing Rust is pretty neat. But you know what’s even neater? Continuously testing Rust, releasing Rust, and eventually, shipping Rust to production. And for that, we want more than plug-in for a code editor.

We want… a workflow.

Why I specifically care about this

Cool bear Cool Bear's hot tip

This gets pretty long, so if all you want is the advice, feel free to jump to it directly.

Thumbnail for Day 1 (Advent of Code 2020)

Day 1 (Advent of Code 2020)

I was not planning on doing anything specific this December, but a lot of folks around me (on Twitter, at work) have chosen this Advent of Code to pick up Rust, and I’ve got big FOMO energy, so, let’s see where this goes.

I’ll be doing all of these on Linux, so there may be some command-line tools involved, but don’t worry about them - the code itself should run on all platforms no problem.

Thumbnail for Printing ASCII cats to the terminal

Printing ASCII cats to the terminal

Now that our development environment is all set up, let’s make something useful!

Creating the catscii crate

From a VS Code window connected to our VM (as we just set up), let’s make a new Rust project:

amos@miles:~$ cargo new catscii Created binary (application) `catscii` package

And open it in a new VSCode window:

amos@miles:~$ code catscii