What is it called when a birb jumps of a ledge without flapping its wings and just free falls for a moment before starting to fly? Sparrows do it and I think it’s the funniest shit.
For me the only issue is that I don’t want to rewrite all my Awesome widgets. KDE has really nice widgets but it still doesn’t have independent virtual desktop per monitor so for me it’s completely incompatible with my workflow. Looks like waybar is most popular but I’m not going to write widgets in C++. AGS looks like it would do what I need but I’m not sure if anyone is actually using it. I could try it but I have 0 issues with Awesome WM so what would be the point of spending months moving everything to Wayland? I will probably do it one day but it simply doesn’t offer me anything right now.
a consistent way to make the 2 different DPIs of the screens work in a way that made sense
What do you mean? I used multidisplay setups for 15 years, I never checked what’s the DPI of my monitors is and never had issues. I just plug in any external monitors I have around and it works. I did it on desktop machines and many different laptops. I’m always baffled when people say their monitors don’t work because of sync rates or DPI. What are they trying to do and what’s not working?
Of course linting and formatting is not part of the language. Of course you can install extensions in some IDE that will handle it. Conan looks great but I never saw a project using it and when I was asking C devs about dependency management no one mentioned it. I checked dozens of GTK projects looking for some decent template to copy and didn’t find anything remotely “modern”. All projects I see simply use meson/ninja, install deps on system level, don’t provide any code formatting or linting guidelines. Most don’t bother with any modules and just dump all source code into 100 files in src
. And I’m talking about actively developed tools for Gnome, not some long forgotten ones. For me the big difference between languages like C and Rust is that every Rust project uses the same formatting, linting tools, uses modules and proper dependency management while most C projects don’t. Because it’s old. Because a lot of C devs learned programming when it wasn’t a thing. Because a lot of C project started when those tools didn’t exist. You can probably start a new C project in ‘modern’ way but when I was trying to do it there were no examples, no documentation and when I asked C devs I was told that “you just do it like always”. In modern languages the default way is the “modern” way.
This is how you declare a new component in gtk-rs:
glib::wrapper! {
pub struct MainMenu(ObjectSubclass<imp::MainMenu>)
@extends gtk::PopoverMenu, gtk::Popover, gtk::Window, gtk::Widget,
@implements gtk::Accessible, gtk::Buildable, gtk::ConstraintTarget, gtk::Native, gtk::ShortcutManager;
}
impl MainMenu {
pub fn new() -> Self {
Object::new(&[]).expect("Failed to create `MainMenu`.")
}
}
#[glib::object_subclass]
impl ObjectSubclass for MainMenu {
const NAME: &'static str = "MainMenu";
type Type = super::MainMenu;
type ParentType = gtk::PopoverMenu;
fn class_init(klass: &mut Self::Class) {
klass.bind_template();
}
fn instance_init(obj: &glib::subclass::InitializingObject<Self>) {
obj.init_template();
}
}
This is how you declare a new component in Leptos:
#[component]
fn App() -> impl IntoView {
view! {
<div>test</div>
}
}
That’s what I mean by “it’s not ergonomic”.
Interesting, I didn’t realize Vala was designed specifically to help with GTK. It could be a skill issue but I found the entire ecosystem really hard to understand. It’s like all documentation is written assuming you already know half of it. “Vala uses the GObject system”. Yeah but I’m just deciding which language to use to learn GTK, I don’t know what GObject is… Now that I understand it all better I would probably just use Vala and stick to GTK. Instead I switched to Tauri+Leptos+Thaw and it was a joy in comparison. Documentation was clear and I was just able to link my app to local framework code and debug whatever part I wanted. I was able to fix bugs in Tauri in first weeks of learning and I contributed quite a lot along the way.
I did some Lisp programming long time ago but I don’t touch it anymore.
By “C is so old” I mean it lacks a lot of features modern languages have. Proper linting, code formatting, dependency management, version management, virtual environments, modules. Yes, you can solve some of it with docker but it’s terrible compared with Rust for example.
By “it doesn’t translate well to Rust” I mean that GObject doesn’t translate well to Rust structs so you end up with weird structures split into multiple modules and terrible code overhead. Compared with modern UI frameworks it’s just not ergonomic to work with.
Yes, I know GTK supports multiple platforms but if I want to develop for desktop and mobile I had way better experience using Tauri+Leptos. It’s not just about having some bindings and some docs for it. It’s about how much effort does it take to set it up and figure out how to implement specific functionality. Good docs, good tools good compiler and readable code for the framework help a lot.
I read about Vala but a language that compiles to C seemed icky to me. I don’t know, maybe it solves all the issues that C has. Maybe I will give it a try one day.
I tried using GTK with C, JavaScript and Rust and the experience was always terrible. The tools, the documentation… C is just sooooo old and GTK doesn’t translate well to Rust. For me GTK is great for Window Manger level tools that need to be small, super fast and are fairly static (you don’t add new features do settings app or clock widget that often). I definitely wouldn’t do cross platform apps in it.
Looking at Table 1 that’s definitely acceptable. It skips a lot of things but that’s why they say 30% with spare room for luxuries.
Never heard of him.
I know there was a guy in Poland called ‘the Vampire of… someplace’ but I don’t remember his name. There was also a guy called Rurabomber, setting up bombs all over Warsaw. He too was caught and forgotten. I’m sure you can find their names on wikipedia if you’re into those things but they simply don’t exist in popular culture.
Yeah, everything real crime always felt exploitative to me. I get shows about police and prosecutors framing people but the ones that focus on the crime and criminal itself are just playing into this weird American obsession with serial killers. Other then Breivik I can’t name any murderers from Europe. We just lock them up and forget about them. No need to turn them into celebrities.
Define ‘decent living standards’.
Babbage invented the computer, Ada invented the programming language that would be used to program it. She even wrote the first ever bug in it.
https://twobithistory.org/2018/08/18/ada-lovelace-note-g.html
“In her “diagram of development,” Lovelace gives the fourth operation as v5 / v4. But the correct ordering here is v4 / v5. This may well have been a typesetting error and not an error in the program that Lovelace devised. All the same, this must be the oldest bug in computing. I marveled that, for ten minutes or so, unknowingly, I had wrestled with this first ever bug.”
Same. I had to install it in a VM to do some Wndows specific development and it was very clean. I haven’t noticed any ads or intrusive popups. I never used Windows 10 but whenever I saw someone using it at work it was always extremely noisy with news alerts and other shit popping up all the time.
What about silly cone?
Would be hilarious to name a band Radiohead 2 and outsell actual Radiohead. I think I’ll do that.
Is this IPv5?