tatterdemalion

joined 1 year ago
[–] tatterdemalion 3 points 46 minutes ago

Sir, I estimate the project will be completed in 135 days and 11 hours.

[–] tatterdemalion 1 points 17 hours ago (1 children)

couldn't you always just run a Linux VM at near-native speed, and get the benefits of both?

The obvious downside is that Linux is no longer the host OS. MacOS or Windows would be closed source code managing your hardware. And any VM could only be as fast as the host OS allows it to be.

[–] tatterdemalion -1 points 2 days ago (1 children)

the risks in cannabis are comparable to caffeine, and on an objective level, even smaller

OK maybe? I think it depends on the user. Excuse my falling back on anecdotes now, but I don't think I've met anyone whose had a panic attack from drinking coffee (though I would not be surprised). However I know several people who have had panic attacks from ingesting THC.

I agree that we are too blase as a culture about the relative risks of caffeine and alcohol dependence. I just get frustrated when people parrot the notion that cannabis has never hurt anyone. I even support the cause to at least decriminalize it and even legalize it for adults, though we need better education about the potential risks. I've only ever seen warning labels about the habit-forming nature.

[–] tatterdemalion 0 points 2 days ago* (last edited 2 days ago) (3 children)

That's probably because I'm trying to defend my initial statement, and I didn't realize you were only taking issue with the sources I presented.

In light of that, excuse my accidental strawman. But also, I don't really care to argue about the veracity of the research presented by the NIH.

[–] tatterdemalion -2 points 2 days ago (5 children)

There's clearly no convincing you. By all means, continue to spread the myth that cannabis can do no harm to anyone, and eventually the wrong person will believe you.

[–] tatterdemalion -1 points 2 days ago* (last edited 2 days ago)

More whataboutism. We're talking about weed. And I'm not making the blanket statement that no one should smoke weed. I'm saying it does have health risks that should not be ignored.

Also it's offensive that you would trivialize the suffering that people go through in a panic attack.

[–] tatterdemalion -4 points 2 days ago* (last edited 2 days ago) (7 children)

Someone's asking for sources on wild claims, quick, let me google some correlations

You say that like it's a bad thing. What else am I to do when someone asks for sources? I've read similar research in the past and went to find it again.

If you look at the link between alcohol and mental health disorders

That's whataboutism.

[–] tatterdemalion 6 points 3 days ago (1 children)

I'm grateful for what Cosmic has done for Rust Wayland compositors. I'll have to give it a try and see if it has any advantages over Sway.

[–] tatterdemalion 2 points 3 days ago

It's been this way for at least a decade.

[–] tatterdemalion 3 points 3 days ago

Talos Principle 2. So far I'm enjoying it just as much as the first one.

[–] tatterdemalion 2 points 3 days ago

I'd wish for humanity to transcend our physical form and live in a virtual world as gods.

 

I'm preparing for a new PC build, and I decided to try a new atomic OS after having been with NixOS for about a year.

First I tried Kinoite, then Bazzite, but even though KDE has a lot of features, I found it incredibly buggy, and it even had generally poor performance, especially in Firefox. I don't really have time to diagnose these issues, so I figured I would put in just a little more effort and migrate my Sway config to Fedora Sway Atomic.

I'm glad I did. The vanilla install of Fedora Sway is awesome. No bloat and very usable. I haven't noticed any bugs. Performance is excellent. And it was very straightforward to apply my sway config on top without losing the nice menu bar, since Fedora puts their sway config in /usr/share/sway.

I'm also quite happy with the middle ground of using an OSTree-based Linux plus Nix and Home Manager for my user config. I always thought that configuring the system-level stuff in Nix was the hardest part with the least payoff, but it was most productive to have a declarative config for my dev tools and desktop environment.

I originally tried NixOS because I wanted bleeding edge software without frequent breakage, and I bought into the idea of a declarative OS configuration with versioned updates and rollback. It worked out well, but I would be lying if I said it wasn't a big time investment to learn NixOS. I feel like there's a sweet spot with container images for a base OS layer then Nix and Home Manager for stuff that's closer to your actual workflows.

I might even explore building my own OS image on top of Universal Blue's Nvidia image.

Hope this path forward stays fruitful! I urge anyone who's interested in immutable distros to give this a try.

14
Critique my idea for a language (self.programming_languages)
submitted 7 months ago* (last edited 7 months ago) by tatterdemalion to c/programming_languages
 

I've never felt the urge to make a PL until recently. I've been quite happy with a combination of Rust and Julia for most things, but after learning more about BEAM languages, LEAN4, Zig's comptime, and some newer languages implementing algebraic effects, I think I at least have a compelling set of features I would like to see in a new language. All of these features are inspired by actual problems I have programming today.

I want to make a language that achieves the following (non-exhaustive):

  • significantly faster to compile than Rust
  • at least has better performance than Python
  • processes can be hot-reloaded like on the BEAM
  • most concurrency is implemented via actors and message passing
  • built-in pub/sub buses for broadcast-style communication between actors
  • runtime is highly observable and introspective, providing things like tracing, profiling, and debugging out of the box
  • built-in API versioning semantics with automatic SemVer violation detection and backward compatible deployment strategies
  • can be extended by implementing actors in Rust and communicating via message passing
  • multiple memory management options, including GC and arenas
  • opt-in linear types to enable forced consumption of resources
  • something like Jane Street's Ocaml "modes" for simpler borrow checking without lifetime variables
  • generators / coroutines
  • Zig's comptime that mostly replaces macros
  • algebraic data types and pattern matching
  • more structural than nominal typing; some kind of reflection (via comptime) that makes it easy to do custom data layouts like structure-of-arrays
  • built-in support for multi-dimensional arrays, like Julia, plus first-class support for database-like tables
  • standard library or runtime for distributed systems primitives, like mesh topology, consensus protocols, replication, object storage and caching, etc

I think with this feature set, we would have a pretty awesome language for working in data-driven systems, which seems to be increasingly common today.

One thing I can't decide yet, mostly due to ignorance, is whether it's worth it to implement algebraic effects or monads. I'm pretty convinced that effects, if done well, would be strictly better than monads, but I'm not sure how feasible it is to incorporate effects into a type system without requiring a lot of syntactical overhead. I'm hoping most effects can be inferred.

I'm also nervous that if I add too many static analysis features, compile times will suffer. It's really important to me that compile times are productive.

Anyway, I'm just curious if anyone thinks this would be worth implementing. I know it's totally unbaked, so it's hard to say, but maybe it's already possible to spot issues with the idea, or suggest improvements. Or maybe you already know of a language that solves all of these problems.

 
 

The list of things I miss from other operating systems is very small at this point. There are so many good open source projects.

For software development, my NixOS environment is Nirvana.

Valve has put the Linux gaming community on their back, and now many games are running better in Proton than on their native OS.

For artistic stuff, there are a lot of good open source options, but many industry standard tools do not support Linux.

If I had to choose something, I wish Cubase or other industry standard DAWs would support Linux.

I suppose we also miss out on some industry standard scientific software like SolidWorks.

Or maybe there is some tool that doesn't exist anywhere yet. What do you think?

 

Who are these for? People who use the terminal but don't like running shell commands?

OK sorry for throwing shade. If you use one of these, honestly, what features do you use that make it worthwhile?

EDIT: Just to clarify, my point is I would almost always reach for fzf, fd, or rg before trying to manually search through a directory in a file manager.

EDIT2: A few people mentioned selecting files in a TUI. I don't find it any harder to select files using autocomplete. It might even be faster to start typing a name than it is it "scroll" through a list of files.

EDIT3: Here's a neat tool that can add some flexibility to your shell workflow: https://github.com/urbanogilson/lineselect

 

More specifically, I'm thinking about two different modes of development for a library (private to the company) that's already relied upon by other libraries and applications:

  1. Rapidly develop the library "in isolation" without being slowed down by keeping all of the users in sync. This causes more divergence and merge effort the longer you wait to upgrade users.
  2. Make all changes in lock-step with users, keeping everyone in sync for every change that is made. This will be slower and might result in wasted work if experimental changes are not successful.

As a side note: I believe these approaches are similar in spirit to the continuum of microservices vs monoliths.

Speaking from recent experience, I feel like I'm repeatedly finding that users of my library have built towers upon obsolete APIs, because there have been multiple phases of experimentation that necessitated large changes. So with each change, large amounts of code need to be rewritten.

I still think that approach #1 was justified during the early stages of the project, since I wanted to identify all of the design problems as quickly as possible through iteration. But as the API is getting closer to stabilization, I think I need to switch to mode #2.

How do you know when is the right time to switch? Are there any good strategies for avoiding painful upgrades?

10
DECEARING EGG (www.youtube.com)
429
These memes are (programming.dev)
 
48
submitted 1 year ago* (last edited 1 year ago) by tatterdemalion to c/[email protected]
 

I just commented on this post and it got removed very quickly. Then I noticed that all of the comments had been removed and the post is locked.

I cannot understand why this happened, as the comments section had seemed pretty reasonable to me.

This seems like bad moderation and I'm now less inclined to post or comment in the world news community. What should I do?

I tried messaging a mod that is seemingly online and actively posting, but I got no response.

 

After moving from lemmy.ml to programming.dev, I've noticed that web responses are fulfilled much more quickly, even for content on federated instances like lemmy.ml and lemmy.world.

It seems like this shouldn't make such a big difference. If a large instance is overloaded, it's overloaded, whether the traffic is coming from clients with accounts on that instance or from other federated instances.

Can this be explained entirely by response caching?

view more: next ›