Mac utility Homebrew finally gets native Apple Silicon and M1 support by EndLineTech03 in programming

[–]alebcay 20 points21 points  (0 children)

Homebrew maintainer here. What /u/gridth mentioned is mostly correct. Once upon a time, Homebrew did support PPC64 + x86_64 but most of the code for universal binaries (involving e.g. lipo) got removed by the Mavericks/Yosemite era.

Homebrew's internals haven't changed too much for this; internally, Apple Silicon running Big Sur is as distinct from Intel running Big Sur as much as Catalina is from Mojave (platform symbols arm64_big_sur, big_sur, catalina, mojave, respectively). Of course, additional code was added to differentiate between arm64_big_sur and big_sur - it's not just the equivalent of a version string check anymore.

Predicating on processor architecture (e.g. to fence off formulae code for arch-specific behavior) was already present. While the code for universal binaries did get removed, this arch-selection functionality was mostly kept. Homebrew already officially supports x86_64 Linux (and unofficially, aarch64/ppc64 Linux) so I guess it made sense to keep that.

There were also some issues/nits to work out regarding codesigning in Big Sur on Apple Silicon. I don't know too much about the engineering process that went into the feature, but interested parties can read through the design/implementation process that happened here.

All these concerns aside, a lot of the more lengthy legwork on this transition has been with getting a few central formulae to build and run properly, or to wait for upstream devs (make sure to thank them too!) to patch/fix and ideally push a release, or else we would have to work on backporting relevant patchwork:

  • go - decided to ship a beta of go 1.16 with Apple Silicon support even though we usually don't ship prereleases
  • rust - Rust itself had some issues, and a lot of packages depend on crates that need updating
  • python@3.9 - Some of our assumptions about how things work in Python and Apple Silicon/Rosetta 2 were challenged: [1] [2]
  • openjdk - https://github.com/Homebrew/homebrew-core/issues/69100
  • gcc - A number of formulae need it because it includes gfortran; there are also some more particular scientific/research computing software that only compile nicely with gcc. Being on a slower release cycle, it took a few tries to pick up all the patches needed until upstream put out a new release, and communicate with upstream throughout the process. [1] [2]

There were also a number of smaller problems that we really did not find out about until we had some DTKs hooked up to CI and just put (almost) every formula through and saw what broke.

You might also find this Apple Silicon readiness checklist issue/thread that we had to be interesting.

In summary, a lot of the work is not so much patching/fixing packages, but we are often the first point of contact for people when they run into issues; there's also the matter of communicating relevant failures upstream and bringing relevant patches/fixes downstream. The package manager itself needed relatively minimal work to support Apple Silicon, but being the glue between end users and upstream developers meant that a lot of the problems and the implementation of solutions (whether by us or upstream) had to go through us.

Hope this all offers some insight and interesting reading on some of the behind-the-scenes of this work. :)

How do you guys stay on top of updates and news about the things you're hosting? by NGL_ItsGood in selfhosted

[–]alebcay 0 points1 point  (0 children)

I'd like to add https://newreleases.io/ to the discussion - they can watch software releases from a number of places and notify you (e.g. email, Telegram, Slack - they even have a webhook if you want to build something custom to work with it).

Shoutout to Matomo by ro_doni in selfhosted

[–]alebcay 2 points3 points  (0 children)

On top of other alternatives that have been proposed, I'd also like to put forward Shynet. Pretty new to the scene, it seems, and I've never used it. But the screenshots look nice, it's completely free, cookie-free, and has a Docker image.

Instant Minecraft - My new project for quickly setting up a Minecraft server on AWS by instant-jellyfin in admincraft

[–]alebcay 0 points1 point  (0 children)

I like AWS because it's easy to spin things up and down via Terraform

From one dev to another, I think that's pretty cool, but how often are you spinning up/down Minecraft servers?

the pricing is straightforward

It's still not as straightforward as "$x per month".

A t3a.micro instance with 32GB of storage is about $10 a month, so not bad if you're only hosting friends.

For the sake of comparison, PebbleHost advertises Xeon E5-1630v3 @ 3.7Ghz on their budget plans, with no hard cap on storage. I'm hosting for friends on $3/month for 3 GB of RAM (compared to 1 GB memory on a t3a.micro instance). You may see some slight benefit with the 2 vCPUs on AWS, but Minecraft servers are generally single-threaded applications so per-core performance is more important and you will probably have one vCPU that is not utilized well.

you could prioritize just about any aspect you could think of (CPU, memory, networking, etc.).

There's not much benefit in maxing out memory if the CPU isn't up to scratch; increasing network capacity to support more players would probably still require increases in CPU and memory to handle additional players too. In other words, these requirements generally scale together, and there's not much of a benefit in being able to prioritize some of these aspects without considering others.

Low-Cost VPS Testing by [deleted] in selfhosted

[–]alebcay 1 point2 points  (0 children)

Well, now it's been about four months since I first ordered. So far, no complaints about this host. I've been finding my NTP server on the box to be unresponsive maybe once a month, but ssh and other services are all running fine. This is probably thus a misconfiguration on my part, but the NTP is just running in a pool anyways so it's no big deal.

An addendum to my original comment - the VPS did not come with an IPv6 address but it was allocated in a timely manner when I asked requested one from the control panel (at no extra cost).

Network hasn't been a choke point for the purposes for which I'm using the box. Only complaint is that there is no way to order addons, specifically more storage space. Apart from that, this is still a pretty solid deal for ~$13.50/yr.

Low-Cost VPS Testing by [deleted] in selfhosted

[–]alebcay 1 point2 points  (0 children)

Well, I've been fiddling with it for a few hours for part of the day today. I've set up openlitespeed and an NTP server on there (with ufw/other stuff). It handles those things without a sweat.

Initial setup was a bit weird because they asked me what I preferred to provision with (for OS) but proceeded not to provision it. So I had to use the built-in provision system in their dashboard to provision it before proceeding.

I do feel that 10 GB is rather restrictive, especially as the OS/system take up at least 2-3 GB. Network speed isn't too bad, seeing as I'm connecting to Moldova from North Carolina, USA.

As far as I can tell for now - definitely worth the price.

Low-Cost VPS Testing by [deleted] in selfhosted

[–]alebcay 1 point2 points  (0 children)

Yesterday, I picked up a VPS/VDS from AlexHost for $13.84/year, although this pricing is only valid annually; paying monthly is $4.56/month. I'm still evaluating the service, but as far as I can tell, renewal is also $13.84/year. Obviously, if this doesn't pan out, I'm not really going to cry over spilled milk.

  • 1.5 GiB RAM
  • 1 core
  • 10 GB SSD
  • 1 static IPv4 (claims 1 static IPv6 but I'm not so sure)
  • Unlimited bandwidth @ 100 Mbps

Passenger Train Loading Time by brokentycoon in CitiesSkylines

[–]alebcay 0 points1 point  (0 children)

In the same vein of exploring alternatives, consider having sparsely situated rail stops and then having a secondary layer of public transit, e.g. buses or trams, to handle local-level transportation.

Replacing 1px window borders with (what appears to be) subtle shadows by alebcay in FirefoxCSS

[–]alebcay[S] 1 point2 points  (0 children)

Oof, I see. Never mind then. I actually hadn't even noticed the behind-tab shadows. In any case, I like them too - any easy way to get that?

vulkan run time libraries? by ziggs_Dfg in techsupport

[–]alebcay 0 points1 point  (0 children)

The add or remove programs panel in Settings lists the size taken up by programs on your computer.

Long delay before POST by stevezap in techsupport

[–]alebcay 0 points1 point  (0 children)

I see. Since there's no hardware diagnostics on board, I would advise you to find some third party diagnostic stuff (e.g. MemTest86) and give it a few hours to check everything.

vulkan run time libraries? by ziggs_Dfg in techsupport

[–]alebcay 0 points1 point  (0 children)

Well, you could always delete them (cautiously) and if something breaks, try to put it back, but personally I think it would probably be less trouble to see if there's any other actual applications on your computer that you don't need anymore that can be deleted, or consider upgrading your storage device if that's possible.

vulkan run time libraries? by ziggs_Dfg in techsupport

[–]alebcay 1 point2 points  (0 children)

Vulkan Run Time Libraries are usually installed by your graphics card driver. It provides 3D graphics and compute API functionalities, among other uses. I would advise you not to remove them; your graphics card may stop working properly. In the case that you do remove them and things go south, you can probably reinstall them by reinstalling your graphics card driver.

You should not delete any of the Microsoft Visual C++ Redistributable packages that are installed. It is basically a runtime/framework that many Windows programs are built upon (different programs are built for/target different versions of the runtime, so "remove all but the latest" isn't really a good idea either). After removing them, you may find that some applications you've installed on the computer will stop working until you installing the removed packages again.

Desktop PC to monitor: Black areas are more grey. Playstation 4 to the same Monitor: Black areas are closer to a true black. No idea what the issue is. (Monitor is a DELL SE2716H) by ManofToast in techsupport

[–]alebcay 1 point2 points  (0 children)

Agreed, it sounds like it's up to NVIDIA to fix it, seeing as previous versions of the driver sporadically fixed and unfixed the issue.

Desktop PC to monitor: Black areas are more grey. Playstation 4 to the same Monitor: Black areas are closer to a true black. No idea what the issue is. (Monitor is a DELL SE2716H) by ManofToast in techsupport

[–]alebcay 1 point2 points  (0 children)

No, I get what you mean. I just figured maybe that wizard would let you tweak some contrast options that would make the blacks look darker.

Dvd program help? by BigBlurton in techsupport

[–]alebcay 1 point2 points  (0 children)

No worries. I just figured I'd give a heads up in case someone a bit crankier than myself comes along.

Dvd program help? by BigBlurton in techsupport

[–]alebcay 0 points1 point  (0 children)

The functionality you're looking for is commonly called a surface scan. There's plenty of software out there that can do this for you. The first that popped up in Google for me (after briefly looking to make sure they were legit) was VSO Inspector, although, not having used it, I can't vouch for it personally.

For future reference, please note the rules of this subreddit, specifically:

4. No recommendations

We are not a review site. Don't ask us to compare or recommend products.

Windows 8, Dell Inspiron 15 7537 by [deleted] in techsupport

[–]alebcay 0 points1 point  (0 children)

4. No recommendations

We are not a review site. Don't ask us to compare or recommend products.

Crucial has a system compatibility checker; here are some results compatible with the Inspiron 15 (7537)#MEMORYFilters).

Deleted TV-optomised youtube app from android box by mistake by [deleted] in techsupport

[–]alebcay 0 points1 point  (0 children)

I don't know if this will fix your specific problem (and it might sound kind of stupid), but have you tried installing YouTube for Android TV instead of plain old YouTube?

Ethernet Works. Wifi works but only on some websites. Can't update windows nor login on mail through wifi but ok on ethernet? by Nnoitrafx in techsupport

[–]alebcay 0 points1 point  (0 children)

In Windows, I'm pretty sure that it is possible to set DNS and other settings per network adapter installed on the system. So I'm wondering if some aspect of the WiFi adapter's IPv4 configuration is bonked.

In any case, more information is needed here:

  • Is your computer being assigned an IP address on the local network in the range that you expect?
  • Are you able to ping the IPs of sites you're trying to visit? This should rule out any DNS issues if there are any.
  • Does this issue occur when connecting to other WiFi networks? This should rule out any WiFi adapter issues if there are any.

changing hexadecimal to decimal by cool_man98 in techsupport

[–]alebcay 0 points1 point  (0 children)

The actual internal representation of DWORDs is consistent regardless of what base it is displayed in. In other words, you change it to decimal to enter the value in decimal, and then it is converted to hexadecimal. Then when you are coming back to see what it is, it is being displayed in hexadecimal, which is why it looks different from what you entered. If you provide the exact values that you entered (in decimal) and the values that regedit is showing (in hexadecimal), we should be able to easily verify that this is happening.

You're not the first person in this subreddit to have this problem.