Skip Navigation
Jump
Asgard launches world's first DDR5-9600 CUDIMMs — promising DDR5-10000+ modules are on the way
  • I'm not sure if latency is much of a thing with DDR5 compared to earlier gens, but 9600 MHz at CL44 is comparable in latency as 6400 MHz at CL30. The former with a latency of 9.167 and the latter having a latency of 9.375. So a slight imrovement to what I can see is one of the better choices currently available, so they seem like something worth buying if the price is reasonable.

    For AMD the frequency matters more (there are sweet spots for their CPUs), but these do not even support AMD Expo according to the article, so currently these are only worth using with Intel anyways.

    3
  • Jump
    Do You Still Use Git in the Terminal?
  • I am more than happy with Jetbrains and Visual Stuido to do most of my work. While VS has some annoying irks, I just like things more visual such as handling merges through seeing the code as I used to instead of a text like visualization.

    I do occasionally need an empty commit, visit the reflog because I fucked up or just do some check on existing commits on a branch. But no, daily I just do pull, merge, commit and push through my IDE.

    1
  • Jump
    People who lived in an HOA, what was your biggest nightmare with them?
  • Norway has something similar, you own the inside usually and the HOA own the outside, including the houses themselves. Live in one, largely a good thing but some things come slow since they need to be voted for of course. Generally worth it, since you get good deals on things like internet. It's cheaper but it's also something you usually have to use and the only option. Eg only that provider of internet.

    I'm my case, they are also responsible for my balanced ventilation, my exterior doors and my water heater. So when the time comes, they handle it. Shared costs cover snow plowing, the shared community building, upkeep of garage, outdoors and the buildings, and things like water bills and taxes paid. In particular, HOAs purchases do not need to pay a 2.5% of the purchase price fee when you purchase a home. This itself saves you quite a bit, and makes up for some of the extra you pay in monthly costs. (but pretty much all of those are at least going somewhere that benefit you anyways)

    The downsides are, there are special rules so some people that have membership may have a right to take over the winning bid in a sale. I myself used this to purchase my place, having gotten 10 years of seniority in "HOA company". You spend the seniority with your purchase, but also are not allowed to own more than one part. Also, no long term renting so there aren't any companies buying and renting out and things like that. You have to live in the HOA.

    2
  • Jump
    Why I Prefer Exceptions to Error Values
  • But nothing is forcing you to check exeptions in most languages, right?

    While not checking for exceptions and .unwrap() are pretty much the same, the first one is something you get by not doing anything extra while the latter is entirely a choice that has to be made. I think that is what makes the difference, and in similar ways why for example nullable enabled project in C# is desired over one that is not. You HAVE to check for null, or you can CHOOSE to assume it is not by trying to use the value directly. To me it makes a difference that we can accidentally forget about a possible exception or if we can choose to ignore it. Because problems dealt with early at compile time, are generally better than those that happen at runtime.

    2
  • Jump
    Why I Prefer Exceptions to Error Values
  • It can be pretty convenient to throw an error and be done with it. I think for some languages like Python, that is pretty much a prefered way to deal with things.

    But the entire point of Rust and Result is as you say, to handle the places were things go wrong. To force you to make a choice of what should happen in the error path. It both forces you to see problems you may not be aware of, and handle issues in ways that may not stop the entire execution of your function. And after handling the Result in those cases, you know that beyond that point you are always in a good state. Like most things in Rust, that may involve making decisions about using Result and Option in your structs/functions, and designing your program in ways that force correct use... but that a now problem instead of a later problem when it comes up during runtime.

    3
  • Jump
    Music industry’s 1990s hard drives, like all HDDs, are dying
  • If I had a cent every time an artist on patron had their computer die on them and lost works in progress or all their old stuff... I'd afford a few coffees.

    15
  • Jump
    After 350,000 signatures in an EU consumer rights campaign, Ubisoft is adding offline modes to The Crew games - but not the now-dead original
  • I think Destiny is a good argument. If D1 ends, then playing starting D2 won't be the full experience. And new players can start many years into a game. D1 is also stuck on a console, while D2 is so big they removed content from it. You literally can't play the base campaign in D2, a huge part of the story is no longer there. A great game that "you had to be there" to play.

    It's the extreme case but leaving games to die instead of having at least the chance for private servers is sad and a loss for everyone long term that don't get a chance to play it.

    8
  • Jump
    After 350,000 signatures in an EU consumer rights campaign, Ubisoft is adding offline modes to The Crew games - but not the now-dead original
  • I think Destiny is a good argument. If D1 ends, then playing starting D2 won't be the full experience. And new players can start many years into a game. D1 is also stuck on a console, while D2 is so big they removed content from it. You literally can't play the base campaign in D2, a huge part of the story is no longer there. A great game that "you had to be there" to play.

    It's the extreme case but leaving games to die instead of having at least the chance for private servers is sad and a loss for everyone long term that don't get a chance to play it.

    1
  • Jump
    Programming.dev instance: Sponsors needed
  • If Reddit back in the day had asked a few dollars for me to stick with using 3rd party apps using the API I would have. But they did the opposite, so here I am. First time actually donating to something, a measily $2 dollars a month, but hopefully a start to fund some of the free stuff I use.

    33
  • Jump
    Trump rebrands his ramblings as ‘I do the weave’ – but is he just losing it?
  • I still find it amazing people believe the same constant child like lying.

    Everyone says... A close friend of mine said... A professor said... Everyone knows...

    ...That I have the bestest (health/speech/IQ/humbleness/big hands)

    37
  • Jump
    Good Refactoring vs Bad Refactoring
  • I largely agree with this nodding along to many of the pitfalls presented. Except numbers 2s good refactor. I hope I won't sound too harsh/picky for an example that perhaps skipped renaming for clarity on the other parts, but I wanted to mention it.

    While I don't use javascript and may be missing some of the norms and context of the lanugage, creating lamda functions (i don't know the js term) and then hardcoding them into a function is barely an improvement. It's fine because they work well with map and filter, but it didn't address the vague naming. Renaming is refactoring too!

    isAdult is a simple function with a clear name, but formatUser and processUsers are surprisingly vague. formatUser gives only adult FormattedUsers, and that should probably be highlighted in the name of formatUser now that it is a resuable function. To me, it seems ripe for mistaken use given that it is the filter that at a glance handles removing non-adult users before the formatting, while formatUser doesn't appear to exepct only adult users from it's naming or even use! Ideally, formatUser should have checked the age on it's own and set isAdult true/false accordingly, instead of assuming it will be used only on adult Users.

    Likewise, the main function is called processUsers but could easily have been something more descriptive like GetAdultFormattedUsers or something similar depending on naming standards in js and the context it is used in. It may make more sense in the actual context, but in the example a FormattedUser doesn't have to be an adult, so a function processing users should clarify that it only actually creates adult formatted users since there is a case where a FormattedUser is not an adult.

    24
  • Jump
    Looking for a system/application language that is better than C/C++
  • He may have used the wrong word, but maintaining the same function signature across two files (while made easier by IDE tools) sucks ass to do. It was one of the major pain points for me doing a C++ course (along with the abyssmal compilation error messages). Not that I have tried Zig, but I do not see a reason to involve header files in my life if I can avoid it.

    2
  • Jump
    Natural Inspiration
  • Looks very Norwegian, and there seems to be a crossing on the road used to prevent sheep from leaving the area (while cars still can drive over it) which is also something we have in Norway.

    3
  • Jump
    is your blue my blue ?
  • I'm red green colorblind but ended up at 177, which is fairly close to the (as I see at least) middle while line dividing green and blue.

    Which is surprising because I bought blue chopsticks in Japan, and my mother say they are mainly green, much to my frustration.

    3
  • Jump
    Looking for a language, that can easily compile to WASM
  • Late here, but if you want the easy route then there is always Unity (C#) if it fits for your use case in game dev and the license isn't a problem for you.

    0
  • Jump
    Yt-dlp is the best way to download videos and audio
  • If you use it frequently, I suggest getting a GUI that have profiles or remember options so you don't have to mess with commands all the time. I wrote my own little command line wrspper which is Windows only since I don't have Linux to test on. Though it shouldn't take much effort to add support.

    Makes it much more convenient when you don't have to specify things like archive (ignore duplicates), filename to be "artist - title" (where possible), download destination, etc. Just alt-tab, Ctrl-v, Enter. And the download is running. And mine also has parallel downloads and queue for when you got many slow downloads.

    9
  • Jump
    Fatherhood (July 5, 1907)
  • I'm not sure if many children = bad in the comic, or if it is more nuanced.

    But triplets fight on average a lot more, and imagine 3 mini Everett Trues going et eachother! I'd jump out the window too.

    26
  • Jump
    I keep getting logged out today. Is it just me?
  • I sorta remember this happened, or something like it, try actually clearing your cookies and logging in again. That might make it stick.

    2
  • Jump
    Making a database identifier unique per user?
  • Ultimately, I don't see any need for users to care about ids. I'd just make a user ID column in the category table and use that for selecting categories. Rather think about a display name that is either known or made by the user.

    The only problem with increasing numbers is if you don't properly limit access to creator account and a user can just edit the url bar to get others categories. It's still a problem with other unique stuff, but less easy to crack when it's not sequential.

    If you really want it, just replace ID in the url with the category name, if that is a simple string without any special characters. Actually useful for users visually, avoids numbers, users only see what they care about, still no bridging table. And the query is still a simple where user_id = x and category_name = y. This actually means non-unique names, but you are always filtering on users, so you can instead use a constraint or unique composite index on user_id and category name.

    Personally i would stick with IDs because they are simple, and don't change so they are not prone to renaming, special character issues, and whatever else string handing deals with. And it's probably slower.

    1
  • I'm super new to Rust, like a day old really.

    But I tried a program made in Rust on Windows, and it refuses to work.

    Never prints anything. Just straight up instantly dead. Long story short, this thing relies on some linked stuff like ffmpeg in some form. So, I did my best trying to gather all the things it needs per github issues, reddit and other souces. And the end result was that it now spent 0.1 s longer before crashing, actually leaving time for some error in the Windows Event log. Nothing useful there either as far as I can see.

    So I clone the repo and get the required things to compile Rust, and I managed to build it from source at least. The executable doesn't run, but the Run in VS Code works, somehow. It prints the error messages corresponding to missing input. So i try to debug it, but nothing happens. No breakpoint is hit, and nothing is printed in the terminal, unlike when using Run or cargo Run. I can also just strip out everything it does in the file the main function is in, and it will hit breakpoints. But that didn't help me find out what is missing/broken though.

    So what the difference, is there a way to catch and prevent Rust from just going silent, and actually tell you what dependencies it failed to load?

    My entire reason for getting it running locally is to fix that. Because no one sane wants to deal with a program that doesn't tell you why it will not run... And when debugging also does nothing... I'm out of ideas.

    The program is called Av1an for reference, and it's a video encoding tool. I used a python version before they migrated to Rust, and wanted to give it a try again.

    Edit: Wrote linked library, but i think the proper term is dynamic libraries. I'm really not good with compiled programs.

    Update: Figured it out. Had to copy the out files from the ffmpeg compiled stuff back to the executable. Apparently Cargo Run includes that location when looing for the files, while running from the command line clearly doesn't.

    But the biggest whiplash, was that I got a full windows dialog popup when i tried to in the exectuable in CMD instead of Powershell. Told me the exact file I was missing too. I know PowerShell is a bitch when piping stuff, but I'm amazed no other program or error message could hand me that vital information. Fuck me, I wish I had tried that from the start....

    1