@kevincox@lemmy.ml avatar

kevincox

@[email protected]

This profile is from a federated server and may be incomplete. Browse more on the original instance.

kevincox,
@kevincox@lemmy.ml avatar

Just virtue signaling. It’s not about the environment. It’s about sending a message.

Just moved to Linux: a follow up

I recently made a post discussing my move to Linux on Fedora, and it’s been going great. But today I think I have now become truly part of this community. I ran a command that borked my bootloader and had to do a fresh install. Learned my lesson with modifying the bootloader without first doing thorough investigation lol....

kevincox,
@kevincox@lemmy.ml avatar

Keeping /home separate is a good call. I can also recommend backups to a different system. Also test those backups.

Playing with things can be fun if that is what you enjoy. Being careful is good but the best way to avoid serious issues is being able to recover from the worst case.

kevincox,
@kevincox@lemmy.ml avatar

I don’t think it is critical to keep /home separate but if you need to reinstall it is really nice. You can reset the OS without touching your data or user-level configs. Either for the same distro because you fiddled around and broke it or another one for distro-hopping. It also makes encrypting it easy, although full-disk encryption is getting so easy that it probably isn’t an issue. Good backups also mitigate this, although the recovery will be slower than just reinstalling while leaving your existing home there.

To be honest I don’t actually keep home separate anymore. But that is mostly because I trust NixOS enough that I know I will never need to reinstall. I can always roll back or worst case install over top of the existing install from a live USB.

Overall I would say that the cost of doing so is fairly small as well. Unless you are running a lot of system services data outside of /home is usually fairly limited. Although I agree that getting the partition sizes wrong can be frustrating.

kevincox,
@kevincox@lemmy.ml avatar

You are addressing a strawman.

This post doesn’t address the main “pro-federation” point that I have seen. People who are support of federation aren’t saying that Facebook is a great company, they have great morales or that they aren’t supporting ActivityPub for their own gain. I think there is very little doubt that FB is a shit organization with no morales who thinks that this is a great move to get people back to their sites.

The most common reason that I see people supportive of Threads’ federation is that they believe it will help people move off of Facebook and other proprietary platforms onto more user-friendly ones. If all of your friends use Instagram it is very hard to move to Mastodon. If you want to stay in touch you will at least need two accounts. You can move friends but it is hard because they each need to make that switch and it affects their interaction with others, or they need to manage multiple accounts until most of their friends have switched. If your friends use Threads (and it federates) then you can switch to Mastodon with very little friction, you can still interact with all of your existing friends in more or less the same way. Similarly each friend can easily move without managing multiple accounts during the transition. If all instances have blocked threads.net many people just won’t move, they will stay with FB.

To make a good argument you need to either refute this perceived advantage or argue that it isn’t worth the downsides. Making up a strawman doesn’t convince anyone.

FOSS Android calculator app that supports rich text

Hello! I’m looking for a FOSS replacement for the calculator app that I currently use, N-CALC, that is now not even released in the play store (play.google.com/store/apps/details?id=com.duy.cal…) and only available from sites like APKFree. I tried all the various calculator apps on F-droid but none of them supported “rich...

kevincox,
@kevincox@lemmy.ml avatar

Math hasn’t changed much in 3 years 😉

kevincox,
@kevincox@lemmy.ml avatar

you can download from Steam.

To be clear Steam will download the Linux build by default on Linux. No user intervention required.

(If you need to for some strange reason you get run the Windows build in Wine via the “Compatibility” menu but that is unlikely to work better than the native build.)

kevincox,
@kevincox@lemmy.ml avatar

For sure. Lots of people here are enthusiasts that like trying out different things and different distros. Most people will just find something they like and stick with it for years. Don’t get me wrong, it can be fun to jump around, but don’t feel compelled to. Fedora will likely serve you well for the forseeable future.

kevincox,
@kevincox@lemmy.ml avatar

I would say yes? They make Wordpress which is pretty open and usable by default and it is properly opensource. Since taking over Tumblr they seem to have been making reasonable improvements and in general trying to keep it open.

In general they have been favourable to open source and open standards. So when they say they are adopting an additional open standard I have high hopes.

But FWIW I also think that Threads joining the fediverse is likely a good thing. It is true that it may allow many people to be more comfortable on a user-hostile platform, but IMHO that is their right. I think the biggest concern is that if Threads or a small number of large platforms are the majority of users they can add proprietary extensions but I don’t think the biggest issue. The biggest strength is making the fediverse more popular, and allowing more people to pick more open options without needing to ditch or convince their friends upfront.

kevincox,
@kevincox@lemmy.ml avatar

You can do almost exactly this with keyword bookmarks. The only change is that you need to put the “keyword” at the start of the URL. So @l linux rather than linux @l.

Create a new bookmark with these settings:

  • Name: Whatever you want.
  • URL: The search query you want with the text replaced by %s. For example https://kagi.com/search?q=%s+site:https://lemm.ee.
  • Keyword: The tag you want. Such as @l.

Now you can type @l foobar in the URL bar and it will go to https://kagi.com/search?q=foobar+site:https://lemm.ee. (Or whatever search engine you have configured.

Keywords can also be used for non-search bookmarks and javascript bookmarklets which are very convenient.

kevincox,
@kevincox@lemmy.ml avatar

Firefox has keyword bookmarks which is basically identical to bangs but you can customize them to your preference and they don’t require sending your query to a third-party remote service.

Just set the “Keyword” option in a bookmark and type mykeyword foo in the URL bar to search using your bookmark mykeyword. I use a lot of one-character keywords such as m for https://www.google.ca/maps?q=%s, g for https://www.google.com/search?q=%s, d for https://www.dndbeyond.com/search?q=%s and similar. I also have a keyword e which runs a bookmarklet that fills in a one-time email into the currently focused input field.

kevincox,
@kevincox@lemmy.ml avatar

IDK, maybe I have a particularly bad memory but it is basically as easy for me to bookmark a URL as it is to lookup and remember a bang that they defined. Plus local will always be faster, more private and more secure.

kevincox,
@kevincox@lemmy.ml avatar

Yeah, it is sadly not advertised. Even the “Keyword” box helper text isn’t very obvious how it works. They should link to a help page.

Not to mention that they also have search engines which work in a very similar way, but have a different UI, are harder for users to manually define and don’t sync across devices via Firefox Sync.

It’s a big mess. But it works! So that is enough for me.

kevincox,
@kevincox@lemmy.ml avatar

Yup, most well written extensions will be basically free on modern hardware, even a phone.

…unfortunately well written code is rare in the modern world.

kevincox,
@kevincox@lemmy.ml avatar

We are stupid fucking peasants as they have regulatory capture so they know the worst that will happen is they get a small slap on the wrist. Most people don’t actually care and those that do don’t have the money to buy the laws that we need.

Why waste time pretending when it doesn’t make 2 cents of difference. It is just a waste of money.

I Made Screen Brightness Control on Gnome Much Better (gitlab.gnome.org)

Anyone here struggle with trying to adjust brightness on Gnome in low light? At the low end, the steps are way too far apart, and at high brightness they’re almost imperceptible. Every other operating system uses a brightness curve that better matches human perception....

kevincox,
@kevincox@lemmy.ml avatar

Typically their is some sort of low-level knob in /sys (try find /sys | grep backlight) which can be used to set it to any value. Be careful playing around though because 0 is often completely off and it can be hard to set it back. (Although a reboot should fix it if nothing tries to be clever and preserve it at shutdown.)

kevincox,
@kevincox@lemmy.ml avatar
  1. Type what.
  2. Use the arrow keys to highlight the entry that you want to forget.
  3. Press Shift+Delete

Also works with autocomplete menus for form fields.

kevincox,
@kevincox@lemmy.ml avatar

Yeah, I run into this sometimes. Just need to be careful to use Ctrl-q to close all windows rather than closing them one-by-one.

kevincox,
@kevincox@lemmy.ml avatar

Not quite the same but you can use “Add to home screen” then your homescreen becomes your tab pin page.

kevincox,
@kevincox@lemmy.ml avatar

Firefox Mobile does? Use “Add to home screen”. Are you missing any specific features?

kevincox,
@kevincox@lemmy.ml avatar

What do you meant doesn’t support it? You can add any site to your home screen on mobile.

https://lemmy.ml/pictrs/image/ea821290-6410-4985-a526-ade4ce129b2d.png

But yeah, having some sort of PWA mode would be cool. I remember Firefox used to have something like this but they killed it. Then PWAs became “cool”. I think it was called Prism or something.

kevincox,
@kevincox@lemmy.ml avatar

I don’t think you quite understand how PWAs work. “PWA” doesn’t really mean anything. It is just the idea of a website that behaves like people expect of a native app. Offline support is generally accomplished via the Service Worker API which Firefox fully supports. I have offline "PWA"s on my home screen right now. But these APIs don’t actually depend on anything about the home screen. Even just navigating to an offline-capable “PWA” via URL should just work in Firefox.

Maybe some sites special case Chrome, but that is a limitation of the site, not any limitation of Firefox.

One collary as that with an ever growing set of APIs associated with PWA there is going to be some features that differ between browsers. For example Firefox currently doesn’t support receiving shares but Chrome does. But I can’t think of any “fundamental” PWA API that Firefox on Android doesn’t support.

kevincox,
@kevincox@lemmy.ml avatar

Things like keyloggers […] will not be able to intrude on your session

This isn’t really true. Run libinput debug-events. In most distros users will have access to run this and keylog all input events.

I use Wayland and love it, but keyloggers are not prevented on most common setups.

kevincox,
@kevincox@lemmy.ml avatar

This really sucks for bug reporting. I don’t mind this at all for hosting as that cost notable resources (especially their free CI tier) and they can set their own terms, but I want people to be able to report bugs without any trouble. (Although if spam is an issue maybe projects could opt-in to requiring this verification to report bugs).

A work-around is maybe the service desk feature allowing reporting bugs via email but this has issues for proper collaboration:

  1. The reporter’s email is shared.
  2. The issue is private by default.
  3. Can’t collaborate on an existing issue.

Maybe I’ll just go back to mailing lists… Or GitHub has gotten better recently. But GitLab’s CI is so much better.

kevincox,
@kevincox@lemmy.ml avatar

I looked at fakespot after their LLM chat announcement and was sad that all of the install buttons were browser extensions. It seems like it mainly redirects the user to the site with the URL filled in. This would be trivial with a bookmarklet. Plus the bookmarklet isn’t slowing down your browser or stealing your private info when it isn’t being used.

kevincox,
@kevincox@lemmy.ml avatar

Yeah, people are getting really upset at Google/Mozilla here but SafeBrowsing is actually a very good service. I legitimately believe that it frequently prevents malware infections and phishing on a regular basis. It is also architected with a privacy-first approach that reveals very little data to Google. And the SafeBrowsing privacy policy is actually one of Google’s very tight ones.

I think Mozilla made the right choice to enable it by default. They also make it fairly easy to disable this for advanced users under the “Deceptive Content and Dangerous Software Protection” setting. (No need to crack open about:config, disabling it is fully supported.)

I understand that this may be a controversial opinion.

kevincox,
@kevincox@lemmy.ml avatar

First of all. If you don’t have the resources to contribute don’t. If you need to spend your time on your financial situation or family or whatever, take care of yourself first.

But assuming you do have time then there are various ways that you can contribute.

  1. Use the software.
  2. Share the software. If you have friends, family or coworkers who could benefit from a particular piece of open source software let them know about it. If you have writing or video making skills you can also help by publishing guides and tutorials.
  3. Support other users. Whether they are people you know IRL or people on the forms or issue tracker it is always good to help others.
  4. Directly contribute to the project. This depends on the project, if they don’t have documentation about how to contribute consider reaching out and asking. Let them know what skills you have and how much time you can offer. Frequently projects are looking for people to provide support to users, write documentation, triage bugs or other tasks. Reaching out also helps make sure that the work you are doing is useful and follows the project’s conventions.
  5. Specialized contributions. If you have specialized skills like programming, graphic design, UX expertise, speak multiple languages or anything else then the project can often find a use for you. Again, I recommend reaching out first to make sure that the work you do is desired and in the direction that the project wants to go. If you don’t have these skills right now it is never too late to learn either. There are many online courses (many free) that can help you learn to program or do design.
kevincox,
@kevincox@lemmy.ml avatar

I just use Firefox with uBlock Origin on mobile. Works great.

kevincox,
@kevincox@lemmy.ml avatar

They have considered this, I think Facebook was even experimenting with it. But it isn’t as obvious a play as it looks.

  1. Most people won’t pay, so you are spending resources creating a product that will be used by a tiny fraction of users.
  2. The people who are willing to pay are typically those that you make the most off of with ads, because they tend to have more disposable income. This means that the price is much higher than you would expect.
kevincox,
@kevincox@lemmy.ml avatar

Mutation testing is quite cool. Basically it analyzes you code and makes changes that should break something. For example if you have if (foo) { … } it will remove the branch or make the branch run every time. It then runs your tests and sees if anything fails. If the tests don’t fail then either you should add another test, or that code was truly dead and should be removed.

Of course this has lots of “false positives”. For example you may be checking if an allocation succeeded and don’t need to test if every possible allocation in your code fails, you trust that you can write if (!mem) abort() correctly.

kevincox,
@kevincox@lemmy.ml avatar

Sort of tangential. This is the one of the ideas behind the `` in the Atom spec (also commonly used in RSS feeds via XML namespaces). It means that if you have the RSS feed as a file and open it the reader can both import the items in that file, but also subscribe to the feed (if it has network access). It is nice when feeds have this, but I think few readers actually support this.

kevincox,
@kevincox@lemmy.ml avatar

What are you trying to do?

  • Static files? Then GitLab/GitHub pages will be fine. There are also many providers like Netlify that specialized in static sites.
  • “Live” application like self-hosted WordPress? Then you will need to find a server provider where you can configure and run it.
  • Managed hosting of open source software. If you don’t want to maintain the blog software yourself it is pretty easy to find people that host common blogging software like wordpress.com.
  • SaaS blogging. Then you just sign up like medium.com, blogger.com or tumblr.com

Was my decision to use C threads unwise?

Without realizing what I was getting myself into, I wrote some code using C11’s threads.h (EDIT: every time I use the angle brackets < and > they just get eaten, even in the code snippet block.) I’m realizing after the fact that this is basically only supported on Linux (gcc/clang). This is my target platform, but I guess...

kevincox,
@kevincox@lemmy.ml avatar

pthreads is fine and widely supported. I would probably recommend that interface for now. Maybe after 5 years or so when all of the LTS systems support the new standard that will be the better option, but all major OSes are POSIX compatible so no need for a new standard anyways.

Also if you want to take advantage of any OS-specific extensions they are probably supported by pthreads, but the new C threads API will probably lag.

kevincox,
@kevincox@lemmy.ml avatar

This seems like non-news. If a provider sends a notable amount of spam they will be blocked.

I do hope that they are careful to avoid blocking personal mail servers that send 10 messages getting blocked if 1 is marked as spam.

kevincox,
@kevincox@lemmy.ml avatar

In his defense, it does seem that he got everyone’s attention.

/s

kevincox,
@kevincox@lemmy.ml avatar

Obviously you should set up device mapper to encrypt the gdrive device then put the swap on the encrypted mapper device.

kevincox,
@kevincox@lemmy.ml avatar

I switched to hosting my own inbound mail. I mostly switched because after trying a few providers they almost all dropped some email that I wanted (not Spam, completely dropped) so I set up my own. It is quite nice to have full control over configuration, filtering, backups and whatever else.

Right now I am using a paid rely to send, but maybe I’ll see how my IP’s reputation at some point.

kevincox,
@kevincox@lemmy.ml avatar

That would be slower. This tries all of the tools in parallel.

kevincox,
@kevincox@lemmy.ml avatar

The idea is that only one will succeed. Look, it is a comic not a production-ready solution.

kevincox,
@kevincox@lemmy.ml avatar

You are missing the point. The author is satirizing the fact that there are so many tools and patterns that do basically the same thing. The author doesn’t want to bother figuring out what installation method this particular tool recommends. So they have this script so that he can run geterinstalled inkscape and let the computer figure out which one works.

If you were going to write geterinstalled pip foo you may as well just run pip install foo.

Also note the title-text, which addresses this exact issue:

The failures usually don’t hurt anything, and if it installs several versions, it increases the chance that one of them is right. […]

xkcd.com/1654/

kevincox,
@kevincox@lemmy.ml avatar

Everyone knows that debugging is twice as hard as writing a program in the first place. So if you’re as clever as you can be when you write it, how will you ever debug it?

Brian Kernighan - The Elements of Programming Style, 2nd edition, chapter 2

kevincox,
@kevincox@lemmy.ml avatar

Yeah, some of the world marches slower than other parts.

kevincox,
@kevincox@lemmy.ml avatar

You are looking too short term. Valve has been very concerned about Microsoft for a long time (maybe a decade now?). They have traditionally been dependent on the Windows platform while Microsoft has a competing built-in store and the Xbox product line. This means that they are dependent on one of their biggest competitors. If Microsoft wasn’t concerned about anti-competitive legal action they probably would have smited them already.

Especially with macOS dying for gaming and iOS having no third-party stores they have made multiple pushes into Linux as a platform where they don’t depend on Microsoft. While the Steam Deck has been very successful, they have already blown money of failed attempts in the past and running Windows on the Steam Deck would likely not be a huge cost (bulk licenses are cheap and they are spending a lot of money on Linux development).

So whether or not they are making more or less money in the short term doesn’t appear to be Valve’s motivation. Their primary motivation is to unlock themselves from Microsoft, whether or not that is best for profits right now.

AI language models can exceed PNG and FLAC in lossless compression, says study (arstechnica.com)

While LLMs have been used for… a lot, it seems like this use might be one where it’s not only reliable but it appears to outperform existing methods of image compression. Being able to cram more data into less space tends to lead to interesting developments, so I will be keeping my eye on this....

kevincox,
@kevincox@lemmy.ml avatar

I think this is a legitimate use case. It shouldn’t have any security vulnerabilities beyond regular compression-related vulnerabilities.

The core to compression is prediction. Most compression algorithms work sort of like this:

  1. Guess what the data is going to be.
  2. Encode the difference from the guess.

If your guess is good it doesn’t take much data to encode the difference. So the data stream is smaller.

AI image generation can be used to guess the data quite effectively, and it can use context that is hard to encode in classic algorithms (such as what a car looks like). This is basically the next step of shared dictionary compression (like what makes Brotli quite effective) where instead of building a dictionary as a simple Huffman table you compress the dictionary into the model weights. Since the model can do a pretty good job at creating “Image of a girl with brown hair looking right” you “just” need to encode the difference.

IIUC neither PNG or FLAC use pre-shared data, so sending a massive set of neural weights can be an advantage (and presumably you only need to send these weights occasionally).

kevincox,
@kevincox@lemmy.ml avatar

Even without any firewall you should be fine by default. Access to ports with no services listening do nothing. Firewalls are just defense-in-depth in case a service that you didn’t want to accidentally listens on a port. It may also slightly reduce kernel attack surface.

So I would say that you don’t need it. You will be fine. But if you want to be sure about what is listening on your machine then feel free to apply one.

kevincox,
@kevincox@lemmy.ml avatar

A major advantage is that this allows us to send proper cache-control headers, with responses to unauthenticated users being cacheable.

Note for people using Cloudflare that it has some pretty dumb caching behaviour so you will want to make sure to disable it for any endpoint that may be authenticated.

I don’t think I wrote down the exact behaviour but IIRC it basically ignores the Vary header. So it will serve the “unauthorized” page to future requests that have credentials. I think it will at least not cache responses with authentication if vary is included but it will cache the unauthenticated ones.

kevincox,
@kevincox@lemmy.ml avatar

I think we still have a long way to go before this is equivalent to “the preferred form for modification”. I’d give it at least 5 more years. It would be really cool if you could just say “Hello AI, please remove all ad code from Windows”. But I think it is going to be a long time until we get there.

Also as this gets closer companies will get more defensive. It will become an arms race of obfuscating the code vs the AI understanding it.

And still, free software that can be modified and the copies can be redistributed is a world away from being able to ask your AI to try and make these modifications yourself.

On top of all of that don’t forget about DMCA where circumventing digital protections is a crime, even if you don’t commit any other crime.

kevincox,
@kevincox@lemmy.ml avatar

Just use the browser client. They try to hide it but you can click thought the small text to launch it. The browser sandbox is one of the most reliably privacy options that we have.

  • All
  • Subscribed
  • Moderated
  • Favorites
  • random
  • uselessserver093
  • Food
  • aaaaaaacccccccce
  • test
  • CafeMeta
  • testmag
  • MUD
  • RhythmGameZone
  • RSS
  • dabs
  • KamenRider
  • TheResearchGuardian
  • KbinCafe
  • Socialism
  • oklahoma
  • SuperSentai
  • feritale
  • All magazines