• 1 Post
  • 28 Comments
Joined 1 year ago
cake
Cake day: June 1st, 2023

help-circle

  • C++ iirc is used mostly for microprocessor code

    lol no, it’s used almost everywhere where performance is important and people want(ed) OOP, from tiny projects to web browsers (Chrome, Firefox) to game engines (Unreal, CryEngine). Many of these are hugely complex and do encounter segfaults on a somewhat frequent basis.

    Saying C++ is mostly used for embedded applications is like saying C# is mostly used for scripting games, i.e. it doesn’t nearly cover all the use cases.

    higher-level languages also exist

    This depends on your definition of “higher-level”, but many people would argue that C++ is on a similar level to Java or C# in terms of abstraction. The latter two do, however, have a garbage collector, which vastly simplifies memory management for the programmer(generally anyway).




  • Gentoo is the espresso you get when your coffee-obsessed friend with >$10k worth of barista equipment asks if you’d like a coffee. It’s the best damn thing you’ve ever tasted, but by the time your friend has finished preparing and all the settings are dialed in, it’s around midnight and you should have gone home hours ago




  • Reading the blog post, it’s a lot more nuanced than that: someone reported a CVE, which was related to a possible int overflow in client code handling the timeout between requests. NVD chose to grade this as a 9.8/10 on their severity scale (for context, CVE-2014-0160, also known as Heartbleed, got a 7.5/10), which is ludicrous for a bug which could at most change the retry timeout of your request from your intended years to a few seconds. Daniel says that this is not a security vulnerability at all and has no business being listed on the CVE database, whereas NVD argues that it’s a bug, it’s been reported to them and because overflows are undefined behavior, anything can happen and so it’s a security vulnerability.

    In the end, they agreed to at least adjust the severity down to a 3.3, but I can understand that Daniel is still somewhat miffed about it. Personally I also agree that it’s not really a security issue and that even a 3.3 is too high in terms of severity.



  • Many debuggers (at least in the Java world, which is what I’m working with for a living) support more advanced features like only triggering the breakpoint if a certain condition is reached or only every X hits of the breakpoint.

    Also, if you try and debug using print in the main game loop, wouldn’t that write so much to console/log that it’s effectively unreadable?



  • I recently discovered Manic Miners, a remake of 1999’s Lego Rock Raiders, and ever since I’ve been busy reliving my childhood in 1080p. Now if only someone could remake Lego Racers 1&2…

    Beyond that, I found out that the Steam release of Dwarf Fortress totally passed me by last year, and so I’ve been getting back into that and I keep marveling at the lovely graphics and the mouse control. I’m happy that I can support the creators this way after years of playing the game every once in a while. Still waiting for stuff like Dwarf Therapist, but for the first time I’m playing DF without tons of add-ons and it’s actually pretty neat. I’m looking forward to all the FUN I’ll be having! :P


  • Native Applikationen sind ja auch weiterhin ne gute Sache für bestimmte Anwendungsfälle, in denen Docker die Sache einfach schwieriger macht. Beispiel von mir: für’s Management meiner Access Points betreibe ich einen Unifi Controller in einem Docker, was an sich kein Problem ist. Wenn man dann aber anfängt, mit VLANs und Konsorten zu hantieren, muss man einige Verrenkungen machen, damit der relevante Traffic auch im Container ankommt. Wenn man den Controller nativ betreibt, hat man sich quasi einen Mittelsmann gespart.

    Ich muss aber dazu sagen, dass ich grundsätzlich aus der Schleife bin und deswegen vielleicht auch träge bei neuen (hab ~2014 davon gelesen gehabt) Entwicklung.

    Ist ja nicht verkehrt, manche Trends verschwinden ja nach ein paar Jahren auch wieder :D

    Für viele nützliche Dienste gibt es inzwischen auch häufig direkt vom Entwickler docker-compose Files, die es echt trivial machen, eine Anwendung inklusive aller benötigten anderen Dienste hochzufahren und somit einen guten Startpunkt liefern, sich mal näher mit der Materie zu beschäftigen.

    Aber Docker ist wirklich super praktisch. Ich hatte die “Idee” hinter Docker mal irgendwo als Meme gesehen, was in Textform ungefähr so geht: “But it works on my machine!” - “Well, then we’ll just ship your machine”


  • Container sind keine Virtualisierung im Sinne einer VM. Viel mehr funktionieren sie (zumindest unter Linux, keine Ahnung von Windows) über Kernel-kontrollierte Ressourcenverwaltung und Abschottung vom Host und anderen Containern (konkret hauptsächlich mittels CGroups & Namespaces). Die eine Sache, die du in keinem Docker-Image finden wirst, ist ein OS-Kernel, der den Container verwaltet, denn das passiert alles nativ über den Kernel des Hosts. Also weniger Virtualisierung als Sandboxing.

    Es geht also so gut wie keine Performance verloren, zumindest verglichen mit einer VM, einfach weil der rechenintensive Teil von Hypervisors wie VirtualBox/KVM+Qemu, das Emulieren von privilegierten Instruktionen, schlicht nicht nötig ist.

    Ich geb dir natürlich Recht, dass man tendenziell mehr Speicher benötigt, wenn man 8 Instanzen von libffmpeg halten muss. Aber sobald einer deiner Dienste aus irgendeinem Grund nicht mit der aktuellen Version davon funktioniert, die anderen aber die neueste Version brauchen, ist Docker sehr praktisch, denn man muss sich einfach nicht mehr mit Versionskonflikten in den verwendeten Bibliotheken etc. rumschlagen, wenn jeder Container eigene kompatible Versionen mitbringt.

    Notiz am Rande: Windows verwendet genauso gemeinsam genutzte Bibliotheken. DLLs sind konzeptionell nix anderes als .so Bibliotheken unter Linux. Die Bibliotheken unter C:\System32 sind ein gutes Beispiel.


  • Das ist ja auch einfach ein geiles System! Ich benutze es zwar weniger, seitdem ich das D-Ticket hab und dementsprechend nicht mehr die Vergünstigungen, aber es ist einfach verdammt praktisch, an fast jeder Ecke in der Innenstadt einfach auf ein Fahrrad steigen zu können, wenn man das will.

    Seit letzter Woche haben sie sogar an 10 Ausleihstellen Lastenräder zur Ausleihe verfügbar gemacht. Ich werd das demnächst vermutlich mal für meinen Wocheneinkauf austesten, dann wäre ich nicht mehr an die Straßenbahn und die ganzen Fahrplanänderungen für’s Einkaufen gebunden.




  • Anyone expecting to use Linux the same way they are using Windows, without any changes, is going to be disappointed. You cannot reasonably expect to keep the same learned workflows from one system and use them on a completely different system without having to at least tweak some of it.

    Learning is part of such switchovers, and loudly complaining that “Thing X is not working like I know it to, this is why people don’t like Linux” is not making anyone more likely to help you nor is it going to solve your problem. I’m glad that you managed to find a way to do what you need in any case, and maybe that command will stick around in the back of your head for when you need something similar sometime in the future :)