this post was submitted on 05 Sep 2024
36 points (90.9% liked)

Technology

59086 readers
3496 users here now

This is a most excellent place for technology news and articles.


Our Rules


  1. Follow the lemmy.world rules.
  2. Only tech related content.
  3. Be excellent to each another!
  4. Mod approved content bots can post up to 10 articles per day.
  5. Threads asking for personal tech support may be deleted.
  6. Politics threads may be removed.
  7. No memes allowed as posts, OK to post as comments.
  8. Only approved bots from the list below, to ask if your bot can be added please contact us.
  9. Check for duplicates before posting, duplicates may be removed

Approved Bots


founded 1 year ago
MODERATORS
 

I’m planning to build a computer primarily for programming and want to ensure it’s upgradeable for the future. and Hardware with opensource drivers support.

all 24 comments
sorted by: hot top controversial new old
[–] Kit@lemmy.blahaj.zone 21 points 2 months ago (1 children)

It depends highly on what you will be programming.

[–] unknown_user@lemmy.ml 4 points 2 months ago (4 children)

Low level programming C, rust and Machine Learning programming with Python. No need of huge graphics card.

[–] Mihies@programming.dev 16 points 2 months ago

I'm not sure that serious ML doesn't need a huge graphics card.

[–] huginn@feddit.it 10 points 2 months ago

ML means you need a beefy GPU. That could always be a secondary addition though - add it in later as an external GPU and call it good.

[–] sga@lemmy.world 7 points 2 months ago

well even a raspberry pi would be enough, except for ML

depending on what exactly in ML, and what our the sizes of datasets involved?, like i did some work, but for me 8 GiB RAM was enough, but if you want to do larger databases, you would need somewhat good GPU (essentially large matrix multipliers) with plenty of VRAM

[–] mozz@mbin.grits.dev 4 points 2 months ago

Low level programming C

Could be pretty much any computer

rust

Need a lot of memory (8-16 GB) if you are planning on dissecting any existing projects

Machine Learning programming with Python

Start with colab / huggingface and get a feel for what level of hardware you need for the stuff you’re doing before you start buying stuff

If you want just a general high quality system with upgradability etc, frame.work or System76 are supposed to be good high end providers.

[–] anamethatisnt@lemmy.world 9 points 2 months ago (2 children)

I used to think a lot about up-gradability before but often find that when a cpu is too slow then it is also so old that I have to change the motherboard and ram too for compatibility reasons.
Same thing with the motherboard, if it fails I've never had it be new enough that I can bring my cpu and ram with me to my next motherboard (unless buying an older motherboard second hand).
And many of my disks will be old enough that I want to replace them too, at least if they have anything important on them.

Only things I've brought with me when upgrading desktops have been my case (including fans), psu, gpu and (some) disks.
Having a quiet and dust proof case that is easy to build in and a good psu that https://cultists.network/140/psu-tier-list/ endorses has become higher priority to me since then, as I know they might last me more than one build.

[–] lemming741@lemmy.world 2 points 2 months ago* (last edited 2 months ago)
[–] vrek@programming.dev -5 points 2 months ago (3 children)

I tend to recommend a 3 year cycle. Year 1 upgrade peripherals (speakers, monitors, maybe chair, keyboard, mouse etc) year 2. Upgrade video card and hard drives. year 3. Upgrade motherboard, ram and cpu. Year 4 repeat year 1

With this you can you can do 95% of the latest stuff with "good" stuff (think XX70 cards rather then 80 or 90 series) since you are never that outdated on any portion.

[–] borari@lemmy.dbzer0.com 11 points 2 months ago (1 children)

You upgrade your chair, keyboard, mouse, and speakers every 3-4 years? You might as well be flushing your money down the toilet. You’re giving pretty terrible advice imo.

[–] vrek@programming.dev 1 points 2 months ago

No, I replace some of them, Whatever needs it's.

[–] huginn@feddit.it 5 points 2 months ago

I bought an expensive chair 8 years ago and it's as good as the day I bought it. I'll easily get another 8 out of it and it will likely last 30+ years of heavy use.

Which makes it cheaper than buying a $120 chair every 3 years.

[–] Plopp@lemmy.world 3 points 2 months ago (1 children)

Replacing peripherals that often is nuts. Buy proper gear instead of wasting your money. My speakers are 20 years old and still look and sound like new, my proper office chair finally needs replacing or repairing but I got it used 24 years ago (do yourself a favor and never buy a "gaming chair", buy a proper ergonomic office chair meant to sit in 8+ hrs/day). Monitor is 12 years old and works great for anything that doesn't require >60Hz. Buy quality keyb+mouse and replace them when they break if you can't repair them.

And depending on what you do, your computer could last longer than you think. I'm still running a first gen Threadripper from 2017 and it still handles everything I'm throwing at it without hesitation, granted I'm not throwing very heavy things at it these days.

[–] vrek@programming.dev 1 points 2 months ago

No, I replace some of them, Whatever needs it's. For example this is actually a peripheral year so my monitors are good, my desk is good, I'm 50/50 on my chair but I'm planning to replace my speakers.

[–] DmMacniel@feddit.org 6 points 2 months ago (1 children)

I mean you can program on a potato, so what would be your programming need? Something specific you want to get into?

Yes Hardware Firewalls exist, but those are primarily infrastructure and not part of a computer.

If all you want to do is program on that rig, then maybe consider an integrated GPU solution so you don't have to invest in a overpriced Graphics card.

When you care about security and privacy you probably want to run a Linux distribution/BSD instead of Windows? Or do you want Apple (as then this discussion would be superfluous anyway)

[–] unknown_user@lemmy.ml 2 points 2 months ago (2 children)

I currently have a HP laptop with decent hardware with void linux. The problem is i cannot repair or upgrade that laptop apart of ram and HDD. I want to upgrade or repair on my own.

[–] sga@lemmy.world 5 points 2 months ago

I have a question, what are you exactly seeking to repair?, like if you have a good working laptop, and if it gives good performance, then there may not be much need of repairing. One of the reasons for getting repairable hardware is that they last long, like I have laptops which are 13 and 7 years old, and they both "work", batteries are dead, and replacements are not good, but other than that fine machines. If your laptop is not very flimsy, you may not even need an upgrade for a long time.

[–] DmMacniel@feddit.org 1 points 2 months ago (1 children)

Okay, so you want a laptop or a desktop?

[–] unknown_user@lemmy.ml 0 points 2 months ago
[–] ceiphas@lemmy.world 4 points 2 months ago

as a senior developer my advice is: buy parts and learn to assemble, the exchangeable parts are (at least for me):

  • CPU/Mainboard/RAM : always bought as a bundle (RAM at least 32GB), because dependencies are too high, I prefer AMD, but ymmv
  • GPU : Easy to switch, easy to spend a fortune, i always prefer mid range cards or older ones like the AMD RX 6600
  • Storage: Always the fastest possible, if you need to go cheap, then make it smaller, linux does need no significant space, and i run my system on a 240GB M.2
  • Case/PSU: Buy it only once, i still use a case from the 90`s, the PSU will only be upgraded if connectors change, 750W are enough for most of the work
  • HID: Dont go cheap on Monitors and Mouse/Keyboard, IPS displays are a must, if you have multiple screens (angular view is distorted otherwise), Most gaming input devices work very good for programmers, i prefer logitech (with ratbag), but corsair has very goot support under linux too (ckb-next)
[–] 0x0@programming.dev 3 points 2 months ago (1 children)

As a rule of thumb i buy high-end to last me for ages.

I prefer Asus motherboards, the last one lasted 10 years and i only replaced it 'cos of bad diagnostics on my end.

I prefer AMD CPUs because, so far, AMD has stuck to socket upgradeability - that board came with an AM+ Athlon which i replaced with a Phenom. Current one's Ryzen 5 and i can upgrade to Ruzen 9 if so desired. I'd say Threadripper is overkill, stay on Ryzen.

32 GiB RAM is nice, more is nicer, especially if you play with virtualization. You may want to remount your /tmp as an in RAM tmpfs (otherwise you won't be able to compile firefox on gentoo).

I don't care about graphics cards (beware some CPUs don't support your mobo's on-board graphics) but you mentioned LLMs... so... go gamer on that, can't help you there.

Storage... really depends on your projects... 1TB HDD is more than enough for most stuff, find good brands within your budget/needs. I prefer SSDs because they're quiet and curently have 3 Crucial MX500s on a ZRAID6 2 TB pool.

Same for fans: Noctua or be Quiet.

PSU's probably.. 400W? Dunno, always buy more than you need and you're gonna need to feed that external GPU...

[–] HubertManne@moist.catsweat.com 5 points 2 months ago

I feel you always want to spend at least the best price per value for power supply and maybe a bit more or even the pricey high end. Overall its a cheap part and so important to quality.

[–] muntedcrocodile@lemm.ee -1 points 2 months ago

U looking for portable or wanna go full desktop? Wjat about gaming? If u plan on messing with ai then a fat gpu is nessasary. Id go with amd and try get a lot a threads over single thread performance.