The hardcopy book of my Game Development in Rust with Macroquad guide is now available with a 25% discount until the end of the year.

The book describes how to write a simple 2D shoot ‘em up game using Rust and the game library Macroquad.

https://www.lulu.com/shop/olle-wreede-and-esther-arzola-and-peter-str%C3%B6mberg-and-niklas-elmgren/game-development-in-rust-with-macroquad/hardcover/product-e785q7d.html

#Rust #RustLang #GameDev #game #programming #book #SelfPublishing #shootemup

A couple of years ago I started visiting runestones on my motorcycle. The first 30 runestones I rode to were all about the viking expedition led by Ingvar the Far Travelled in the year 1041. It’s the event with most runestones raised after it, and there’s also an Icelandic viking saga written about it. The expedition went to the east on rivers down to the Black sea, and it ended disastrously, and most didn’t make it back alive.

I made a video with photos and videos of the runestones I visited.

https://youtu.be/k1wvULWRIoQ

I have since visited over a hundred more runestones, and I’m planning on creating more videos about them someday.

#viking #history #runestones #archaeology #saga

30 runestones in 8 days on a motorcycle - Varangian Biker - Ingvar the Far-Travelled

YouTube

About three years ago I ported the game Infinite Bunner from python to Rust and Macroquad. It is a modern remake of the old Frogger arcade game that was published in the book Code the Classics vol. 1.

https://github.com/ollej/rust-bunner-macroquad

I can highly recommend the book, it has several games with full source code, graphics and sound. Each game has a short description on the history of it as well.

https://www.amazon.com/Code-Classics-I-David-Crookes/dp/1916868193

#GameDev #Rust #RustLang #Macroquad #RetroGame #python #PyGame

The quad-gif crate is a small Rust library to display an animated GIF image with the game framework Macroquad. It also has a binary that opens a window showing a looping GIF animation.

https://github.com/ollej/quad-gif

#Rust #RustLang #Macroquad #gif

GitHub - ollej/quad-gif: Display GIF animations with Macroquad

Display GIF animations with Macroquad. Contribute to ollej/quad-gif development by creating an account on GitHub.

GitHub

Today I am at the People’s House in Rågsved near Stockholm and serving my dark mild beer that I brewed about a month ago.

I have a website with the recipes to all the beers I’ve brewed, including this one.

https://exaltedbeer.wreede.se

#homebrew #homebrewing #beer #ExaltedBeer

Oh no! I didn’t bring enough beer, I’ve already run out. I should have brought the large keg. At least the judges got to taste it.

#homebrew #ExaltedBeer #ale #beer

Rusty Slider is a slideshow presentation app where all the slides are written in plain markdown text. The layout is completely separated and defined by JSON theme files, so you can focus on the content when writing the presentation.

It supports images and syntax highlighted code blocks that can even be executed to show output.

The app is available for Windows, Mac and Linux, and can also be run in a web browser.

https://ollej.github.io/rusty-slider/

#Rust #RustLang #Macroquad #slideshow #presentation

Rusty Slider

A small tool to display markdown files as a slideshow written in Rust.

rusty-slider

Brygglogg.se is a homebrew recipe site where you can find, upload and build recipes for homebrewed beers.

It has some extra functionality like a label generator, a recipe specific timer, recipe analysis graphs and more.

It’s currently only available in Swedish.

I started working on making it as a ActivityPub federated service which would be fun to finish.

https://brygglogg.se

#homebrew #beer #recipe #ActivityPub #federation

RustGenPass is a small command line utility to generate passwords from a master password and the domain of a website. It’s a Rust implementation of the SuperGenPass utility.

With it you can have unique passwords for every website without the need to save them somewhere. Which means there is no risk of the passwords leaking.

https://github.com/ollej/rustgenpass

#Rust #RustLang #security #cli #password

GitHub - ollej/rustgenpass: An implementation in Rust of the SuperGenPass utility.

An implementation in Rust of the SuperGenPass utility. - ollej/rustgenpass

GitHub

Following up the password utility, I’ve also created a website called Spicyham. It is used to generate unique email aliases for every site you register for. This should increase security since both the password and account name is unique for each site. You will also now when companies sell your data or have a data breach. Then you can just remove the alias.

It’s kind of like adding a +suffix to a GMail address. But the aliases can be deleted when not used anymore, and it ensures that suffixes aren’t stripped. There are also features to use a template to generate the alias, by default it uses the domain name without the TLD, but you can also add randomized strings. Just add a bookmarklet to your browser and click on it to go to Spicyham with the domain of the site already populated in the alias creation form.

You need to supply your own domain and API access to one of the supported email services. You will own the data yourself, and the aliases are not stored in Spicyham.

https://spicyham.wreede.se/

#security #email #privacy

Spicyham

With Rusty Aquarium you can display monitoring data as a serene aquarium with little fish swimming around.

Each fish can be a data point, and the type of fish, its size and speed can represent different values.

This makes a much prettier presentation of the data than boring old graphs. It also allows presenting sensitive data in a public space, as only those who know what the fish represent can understand the data. Representing business value in this way can make more people interested and engaged with the monitoring, when the fish representing their work shows up on the screen.

https://ollej.github.io/rusty-aquarium/

#Rust #RustLang #monitoring #visualization #data

Rusty Aquarium

Monitoring visualization as an aquarium written in Rust with Macroquad.

rusty-aquarium

I’ve implemented the roguelike game from Herbert Wolverson’s book Hands-on Rust using Macroquad for the graphics. The ECS used is still Legion, and the pathfinding is from bracket-lib.

The code is available in the Rust GameDev working group’s Rust Game Ports repository that contains multiple games in different game engines. My port of Infinite Bunner is also available there. There’s also another port of the roguelike game using Bevy ECS to compare with.

https://github.com/rust-gamedev/rust-game-ports/tree/master/rusty_roguelike-macroquad

https://hands-on-rust.com/

#Rust #RustLang #Macroquad #gamedev #book #ecs

rust-game-ports/rusty_roguelike-macroquad at master · rust-gamedev/rust-game-ports

Official host of games ported using Rust game libraries. - rust-gamedev/rust-game-ports

GitHub

This is another page where Edward Blom helps you know what time of year it is. On the page https://fårjagätasemla.nu Edward will tell you if he thinks you are allowed to eat the Swedish pastry Semla.

The answer is usually no, except for the week leading up to fat tuesday when it was traditionally eaten.

#EdwardBlom #semla

A couple of years ago a colleague and I implemented a MVP of a Mikado tool. A web based Mikado graph that could be used by multiple people simultaneously.

It’s a bit rough around the edges but it mostly works. Written in pure Javascript, running on Vercel with Supabase as the backend.

https://tool.mikadomethod.info/

Learn more about the Mikado Method process to refactor code bases and finding hard-to-see dependencies by buying the book from Manning.

https://mikadomethod.info/

#mikado #javascript #supabase #MikadoGraph

Mikado tool

Last year I started to implement the raytracer from the book The Ray-Tracer Challenge from Pragmatic Programmer by Jamis Buck. It describes all concepts very well, and the implementation is done through cucumber test cases, so it can be followed in any language you want.

http://www.raytracerchallenge.com/

My implementation is coded in Rust and renders the images using the game library Macroquad.
https://github.com/ollej/macroquad-raytracer

#Rust #RustLang #Macroquad #raytracer #gfx #RayTracerChallenge

To promote the video about the runestones of Ingvar the Far-Travelled’s disastrous viking raid, I created the website https://www.varangianbiker.com/

It has pages on each runestone, with pictures and inscription for them. Many have a tracing of the inscription to make it easier to read, and some have a longer description of the runestone. I have longer description of some of the stones that I need to add, so it will get updated at some point.

#viking #history #runestones #youtube #varangian #motorcycle

Varangian Biker

I'm the Varangian Biker. I’ve ridden my motorcycle to visit viking runestones about Ingvar the Far-Travelled in Sweden.

Varangian Biker

This summer I carved a small memorial runestone for my mother’s cat who passed away.

On the front it says
ᛆᚿᛆᚴᛆᚱᛁᚿ᛫ᛚᛁᛐ᛫ᚱᛆᛁᛋᛆ᛫ᚦᛁᚿᛆ᛫ᛋᛐᛆᛁᚿ᛫ᛆᛐ᛫ᛐᚢᚴᛚᛆᛋ
And in the back:
ᚢᛚᛁ᛫ᚠᛆᚦᛁ

Which translates to:
Anna-Karin raised this stone in memory of Douglas.
Olle carved.

#runestone #runes #cat #memorial

Rusty Code is a small application that shows a snippet of code. It can be used to show code examples on a big screen. It’s also available as a web page that can show a GitHub gist or code from a URL parameter.

The source code is available here:
https://github.com/ollej/rusty-code

Here is a web demo:
https://ollej.github.io/rusty-code/demo/index.html

#RustLang #Rust #Macroquad

GitHub - ollej/rusty-code: Display source code on screen using Macroquad.

Display source code on screen using Macroquad. Contribute to ollej/rusty-code development by creating an account on GitHub.

GitHub

@ollej seems the UX better than my own solution created a bunch of years ago.

My biggest problem was to create a new alias to give people in physical conferences and where there was terrible internet connection.
I got spammed 2 years straight because they resold my email address, but I couldn't pinpoint the bad actor because I gave them a static alias that I couldn't delete because I shared it to real people who used it in the past to contact me.

I think I need a mobile app that precreate some aliases that I can just give away even if the phone has no connection. And when it's having not enough in stock, it just recreate a bunch when it has connection.

Otherwise, since I created the system, I have 800+ aliases now.

https://github.com/dolanor/ldap-web

(I should DEFINITELY rename this project lol, it doesn't say s**t and the README, or the lack thereof, doesn't help 🤣)

GitHub - dolanor/ldap-web: Because I can't deal with PHPLDAPAdmin anymore.

Because I can't deal with PHPLDAPAdmin anymore. Contribute to dolanor/ldap-web development by creating an account on GitHub.

GitHub

@dolanor Yeah, that would be a nice feature. I sometimes just say an email, and hope that I remember to add it later.

I have about 800 aliases as well, I actually thought it would be more. Another positive thing about this is that you find out just how many times you give out your email address. Or maybe it would be better to live in ignorant bliss.

I’ve wanted to integrate SuperGenPass with it, and have a better way to fill in both login fields. And maybe add it to a TOTP app as well.

Here’s the code to Spicyham by the way:
https://github.com/ollej/spicyham

@ollej Cool stuff. I really need to pick up my old project where I've used Macroquad.

#rustlang

@MadMike77 You should!
@ollej I've now ordered your "Game development in Rust with Macroquad"-book at Lulu as a Christmas present for myself.
@MadMike77 Cool! I hope you like it!

@ollej link for anyone lazy:

https://mq.agical.se/

Game development in Rust with Macroquad - Game development in Rust with Macroquad

A game development guide on how to program a shoot 'em up game with the Rust programming language and the Macroquad game library.

@goncalor Thanks! That was quite an important bit to forget. :)