Add some gemlog posts that weren't in the repo; Tinylog updates;

This commit is contained in:
Nathan Fisher 2023-09-15 22:09:50 -04:00
parent 805af3270c
commit 15470d7a19
6 changed files with 36 additions and 4 deletions

View file

@ -13,4 +13,5 @@
license: Some(CcBySa),
footer_links: [(url: "finger://hitchhiker-linux.org/nathan", display: "Finger")],
show_email: true,
upload_command: Some("rsync -rP public/gemlog public/images public/index.gmi public/software public/tags public/tinylog.gmi nathan@hitchhiker-linux.org:/srv/gemini")
)

View file

@ -0,0 +1,12 @@
Meta(
title: "A gentle intro to working with Unix time (and Zig)",
summary: Some("A walk through implementing conversion from Unix timestamps to human recognizable datetime in Zig"),
published: None,
tags: [
"unix",
"time",
"zig",
"programming",
],
)
---

View file

@ -0,0 +1,17 @@
Meta(
title: "Exploring adaptive widgets using Gtk4",
summary: Some("I\'m considering a new direction in my personal projects, moving from Rust back to C, and potentially replacing my previous Gemini browser Eva."),
published: None,
tags: [
"programming",
"C",
"gtk",
"libadwaita",
],
)
---
Recently I've been spending some time re-familiarizing myself with C after growing more disillusioned with Rust and other "modern" programming languages. I've already laid out my reasons in an earlier post, but I want to add a reason that I hadn't previously iterated on. Namely, I've realized that no matter how portable all of these modern languages claim to be, nothing is as portable as C. I see it in how BSD systems get treated as second class citizens and by how often things break when attempting to compile for architectures such as RiscV.
I've done a fair amount of Gui programming in the past, mostly using Gtk+. I've become rather familiar with how the toolkit works after using it in conjunction with several languages, but my experience using it in C has up to now been limited to some toy projects that I never really shared with anyone. My most complete projects use Rust and Vala. I love the Vala experience on the whole, but using the gtk-rs bindings can be a little rough. In hindsight, it's obvious that using a GObject, reference counted framework is rather at odds with Rust's memory ownership model, and frankly I've grown tired of fighting it. While I'll likely continue maintaining Gfret for some time I've given serious thought to sunsetting my gtk-rs based small web browser, Eva, and starting something new in it's place with some of the lessons learned. With some of the new adaptive features set to come out in the next release of libadwaita, I figured now might be a great time to explore this a little more.
The biggest new feature coming in libadwaita-1.4 is the AdwBreakpoint class. This provides a high level interface to rearrange your interface in arbitrary ways based on the window size. These things were technically possible before, but required a lot of manual work to implement since the move to Gtk4. But what the new code means is that it's now going to be trivially easy to support running the same codebase on a desktop computer as on a mobile device such as the Pinephone.

Binary file not shown.

After

Width:  |  Height:  |  Size: 82 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 245 KiB

View file

@ -4,10 +4,10 @@ Meta(
published: Some(Time(
year: 2023,
month: 8,
day: 26,
hour: 22,
minute: 52,
second: 52,
day: 27,
hour: 15,
minute: 0,
second: 1,
)),
tags: [
"tinylog",
@ -18,6 +18,8 @@ Some shorter thoughts and updates that might not warrant a full gemlog entry. I'
=> .. Home
## 2023-08-27 15:00 UTC
Adding an upload feature to Zond. Right now, it just takes an optional string to be interpreted as a command, so you can do something like give rsync a list of files to upload or run an external script. It gets the job done but might need some tweaking.
## 2023-08-26 22:52 UTC
Currently building packages from Pkgsrc for x86_64 Linux with Musl libc. Builds keep failing due to using types which Musl has hidden behind `_LARGEFILE64_SOURCE`. It's an easy fix, but it would be great if all of these upstream packages would write "modern" C/C++. I'm looking at you, LLVM.