[-] hallettj@beehaw.org 16 points 8 months ago

Oh is that where all the memes went? My instance isn't federated with lemmy.world so it just looked like the star trek energy vanished.

While I'm here... I finally finished season 4 of Discovery. That show has been getting much stronger as it goes on IMO. I especially enjoyed the last ~3 episodes! I also like the take on the "villains" of the late season (the two humanoid ones). It's a refreshing departure from unsympathetic, plain evil antagonists.

[-] hallettj@beehaw.org 28 points 9 months ago

Wayland replaces the older X protocol. It doesn't have to operate with older protocols. You might be thinking of XWayland which is a proxy that receives X API calls from apps written for X, and translates those to the Wayland API so that those apps can run under Wayland implementations. Window managers can optionally run XWayland, and many do. But as more apps are updated to work natively with Wayland, XWayland becomes less important, and might fade away someday.

PipeWire replaces PulseAudio (the most popular sound server before PipeWire). Systems running PipeWire often run pipewire-pulse which does basically the same thing that XWayland does - it translates from the PulseAudio API to the PipeWire API. It's a technically optional, but realistically necessary compatibility layer that may become less relevant over time if apps tend to update to work with PipeWire natively.

So no, both Wayland and PipeWire are capable of operating independently of other protocols.

[-] hallettj@beehaw.org 15 points 9 months ago

The justification for invading Iraq was a claim that they were developing nuclear weapons. It was well known at the time that the evidence was flimsy, and that even if true it was a flimsy excuse for an invasion. The main piece of evidence was an intercepted shipment of aluminum tubes that were soon shown to have nothing to do with a nuclear program. (See https://en.m.wikipedia.org/wiki/Iraqi_aluminum_tubes). That one is not a conspiracy theory.

8
submitted 10 months ago by hallettj@beehaw.org to c/neovim@programming.dev

Posting just because I looked all over and didn't see an answer. This function expands its arguments to canonical, absolute file paths, and tests whether one is a string prefix of the other. It also works for checking whether a directory is inside of or is identical to another directory.

local is_file_in_directory = function(file_path, directory_path)
  local file = vim.fn.fnamemodify(file_path, ':p')
  local dir = vim.fn.fnamemodify(directory_path, ':p')
  return file ~= nil and dir ~= nil and
      -- is dir an initial substring of file?
      file:find(dir, 1, true) == 1
end

This came up because I'm setting up obsidian.nvim which looks like a handy way to get the best of both worlds between Obsidian and Neovim. I'm setting up some custom configuration to automatically change the selected Obsidian workspace when I cd into vault directory, and to set conceallevel = 1 only on files in a vault, and that requires checking whether the working directory or a file path is inside a given vault directory.

[-] hallettj@beehaw.org 18 points 10 months ago

Debian unstable is not really unstable, but it's also not as stable as Ubuntu. I'm told that when bugs appear they are fixed fast.

I ran Debian testing for years. That is a rolling release where package updates are a few weeks behind unstable. The delay gives unstable users time to hit bugs before they get into testing.

When I wanted certain packages to be really up-to-date I would pin those select packages to unstable or to experimental. But I never tried running full unstable myself so I didn't get the experience to know whether that would be less trouble overall.

[-] hallettj@beehaw.org 38 points 1 year ago

Wow, this is one of the most complicated Snopes analyses I've seen. But it seems like the statement is accurate with caveats. If the brightest component of Polaris is probably 50 million years old what was there before wasn't really Polaris. And then it doesn't make a difference whether sharks have been around for 450 million or 195 million years.

[-] hallettj@beehaw.org 15 points 1 year ago

Maybe a better case study would be figs since people actually eat those. From what I'm seeing in search results there is some difference of opinion, but maybe the prevailing opinion is that figs are fine for vegans because they are not intentionally exploitative or cruel to animals.

[-] hallettj@beehaw.org 18 points 1 year ago

I think the takeaway from that episode is that many carbon offsets are scams, not necessarily all. So don't take corporate claims that they offset their emissions at face value, and consider carefully before you buy offsets.

Take a look at my other comment about Wren and Wendover Productions. (This John Oliver episode happens to include an excerpt from the Wendover piece I mentioned.)

[-] hallettj@beehaw.org 15 points 1 year ago

It looks like it's made by the same team that made Journey

[-] hallettj@beehaw.org 53 points 1 year ago* (last edited 1 year ago)

I'm finding this mess interesting: the MAGAs vote and debate like a third party, which kinda gives us a House with no majority party which is something we usually don't get to see in America. And we're getting the deadlocks that come from a chamber that isn't willing to form a coalition - or at least not a reliable one.

I just hope the next speaker candidate doesn't try for the same Republican-MAGA coalition. Although I'm prepared to be disappointed. Do you think there's any chance a Republican would offer to sideline the MAGAs to get support from Democrats?

Under this analysis the Democrats have a plurality. How does that tend to work out in governments with more than two parties?

6

I've had a problem making commits with fugitive for a long time, over a number of versions of Neovim. Has anyone seen this error before? I've searched a number of times but not found anything.

I use the cc binding in a fugitive window to open a split to write a commit message. Then I run :x to close the split and finish the commit. Most times - but not every time - I get this error message, the commit is not made, and the fugitive window becomes blank.

g`"                                                                                                                            
Error detected while processing BufEnter Autocommands for "fugitive://*//"..function 81_ReloadWinStatus[11]..81_Reloa
dStatusBuffer[6]..fugitive#BufReadStatus[364]..BufEnter Autocommands for "fugitive://*//"..function 81_ReloadWinStatus[11]
..81_ReloadStatusBuffer[6]..fugitive#BufReadStatus[292]..BufReadPost Autocommands for "*"..function fugitive#Resume[5]..<s>81_RunWait:                                                                                                                 
line   29:                                                                                                                     
E242: Can't split a window while closing another

I don't know what the deal is with the g`" line in messages. That might be a clue?

This does not happen when I make a commit without writing a message - for example when I use ce to amend the last commit without editing the commit message.

[-] hallettj@beehaw.org 25 points 1 year ago

I remember finding this Practical Engineering video on Roman concrete to be informative: https://youtu.be/qL0BB2PRY7k?si=5exDGyEK_LTfGNOy

Veritasium also has a chapter on ancient concrete in this video: https://youtu.be/rWVAzS5duAs?si=EJ8rPDTPHlq90kgW

My memory is fuzzy, but I think some of the details are:

  • We know how to make Roman concrete, but it's not necessarily the best choice, and it might be more expensive than is appropriate for a given project.
  • Ancient structures don't have rebar, so they don't degrade due to rust causing expansion. But rebar is so useful that it's often a worthwhile trade-off.

Definitely see the other comments here about survivorship bias, and higher demands on modern structures.

20
submitted 1 year ago by hallettj@beehaw.org to c/linux@lemmy.ml

I'm using a PaperWM which is a scrolling window manager extension for Gnome, and I love it! But it's an extensive extension which means it is sometimes brittle. I've thought it would be nice to find a window manager that is natively designed with a workflow that I like. There don't seem to be any actively-maintained scrolling window managers out there. But scrolling is kind of a special type of tiling - I was hoping that someone with tiling experience could give me some tips on how to configure Hyprland, Sway, or something else to customize it for my particular working style.

I've realized that generally what I want is to be able to look at 2 windows at a time. But often I want to keep one of those windows in view, while swapping out the second window. For example,

  • When programming I want to keep my editor in view while switching between a terminal or a browser as my second window.
  • When researching I have a browser window in view, and for my second window I'll switch between my notes app, my todo list, my password manager, a map, etc.

And there are some features I'd like,

  • When programming I'd like to be able to make my editor full screen sometimes, and be able to quickly switch back to editor-and-terminal side-by-side.
  • When there are more than 2 windows on my workspace I'd like the ones I'm not looking at to go away without having to think about moving them to a specific other workspace.
  • When I open a new window I'd like to automatically see that window next to the previous window I was looking at, ideally moving other windows out of the way instead of making my previous window smaller.

I know most of this could be done with two monitors. But I have one ultrawide instead. Besides, I'd like to be able to use a 3/4-1/4 or 2/3-1/3 split in some cases.

So what do you think? Do you have a workflow that you love that you'd like to share?

34
1
submitted 1 year ago by hallettj@beehaw.org to c/chat@beehaw.org

It's a story as old as time. I moved into a new place with great fiber internet - but the modem is in the garage, my desktop PC is not, and the place is a rental so I have limited options for making modifications. The signal is not bad, but I'm getting dropouts.

Since the PC and router are fixed in place I thought maybe a directional antenna or two would help? 5GHz directional antennae are kinda scarce which makes me wonder if I'm on the wrong track. Does this new "beamforming" thing supersede directional antennae?

I have 802.11ax (a.k.a. Wi-Fi 6) on both sides of the connection. Maybe I could upgrade to Wi-Fi 6E and give 6GHz a go? Maybe that would be worse due to the intervening wall...

[-] hallettj@beehaw.org 52 points 1 year ago

That advice does not literally refer to interface the programming language feature. It means to test the observable behavior of a component, not internal implementation details.

In your example, write tests for both Rectangle and Triangle that call area, and assert the result is correct. But do not test, for example, the order of mathematical operations that were run to calculate the result. The details of the math are an internal detail, not part of the "interface".

[-] hallettj@beehaw.org 18 points 1 year ago

Apple controls what may be installed on iphones with an iron fist. Did you know there is only one option for a web browser? Chrome, Firefox, and other apparent alternatives are actually re-skinned Safari. They don't want to allow real competition to their own browser. This is certainly not the only case where they use app store approval powers to block competition.

Plus Apple takes 15-30% of every transaction on iphones. That includes payments in the app store, and also in-app purchases. Sure they have to fund the store, but given that Apple has an absolute monopoly over iphone app distribution this seems predatory to me.

Apple is anticompetitive, and seems to have little regard for their responsibility as a platform provider to allow application diversity to flourish.

So Google has a similar app store approval process, and takes basically the same percentage from transactions. But they are much more generous in what they allow in their store in terms of competing apps. And most importantly, Google does not have a monopoly on Android app distribution. You don't need to do any jailbreaking to set up F-Droid, or to install apps from the web.

It's true that the vast majority of Android users use Google's app store. And I think that Google taking a cut of in-app purchases is also predatory. Apps should be able to not use Google Pay, and to not pay Google a cut. But the fact that there are other options puts a limit on how much Google can block competition, and gives some option for publishers to avoid that 15-30% cut.

1

We're moving across the country so my wife made the difficult choices of picking her favorite orchids, and carefully packed them in a duffel bag. She put them in sideways with a big piece of cardboard on top. Then they rode as checked luggage. They came out banged up, but I think in not-too-bad shape. The sphagnum moss did a good job of staying in the pots.

1

I've been thinking about trying NixOS for a while. I think the concepts are elegant, and I have been finding Nix flakes to be very nice for software development. I'm about to get a new machine so I'm ready to take the plunge. Any advice before I dive in?

I'd like to set up Gnome with some extensions. One of the things I especially want to learn is how to set up graphics drivers, Vulkan, and Lutris.

For anyone who hasn't heard of it, Nix is a "declarative" package manager. Each package is stored with a hash that encodes its exact source, build script, dependencies, etc. You can have packages installed with mutually-incompatible library dependencies, and Nix makes it just work. For purposes of setting up per-project dependencies Nix does what Docker does, but faster, with more cache hits, and without emulation / containerization. If you want to deploy Docker images, Nix can build images that are more efficient than what you get from dockerfiles.

You can use Nix as an additional package layer in Linux, MacOS, or Windows with WSL. Think of it as an alternative to Homebrew.

NixOS is a Linux distro that uses Nix as its primary package manager, and uses Nix principles to manage configuration. Instead of running commands to install things, and then later forgetting what you installed or why, packages are listed in config files. The system installs and links packages as necessary. Anything you remove from your config is unlinked. When you want to reclaim space you can garbage-collect unused packages.

view more: next ›

hallettj

joined 2 years ago