• Activity
  • Votes
  • Comments
  • New
  • All activity
    1. What programming/technical projects have you been working on?

      This is a recurring post to discuss programming or other technical projects that we've been working on. Tell us about one of your recent projects, either at work or personal projects. What's...

      This is a recurring post to discuss programming or other technical projects that we've been working on. Tell us about one of your recent projects, either at work or personal projects. What's interesting about it? Are you having trouble with anything?

      6 votes
    2. When should you really use a NoSQL database?

      I've always used Postgres. For a medium-sized app that I work on right now it's running great. Were I to seriously need more throughput I'd either shard (no small task I know) or use CockroachDB...

      I've always used Postgres. For a medium-sized app that I work on right now it's running great. Were I to seriously need more throughput I'd either shard (no small task I know) or use CockroachDB (which to my understanding is basically Postgres with built-in sharding and no extension support). Throwing away relationships, constraints, unique compound indices and all of the tools I love that Postgres provides just to get schemaless JSON with high write throughput out of the box doesn't sound like a good deal. But so many people have made the decision to go NoSQL so there must be something I'm missing.

      8 votes
    3. What programming/technical projects have you been working on?

      This is a recurring post to discuss programming or other technical projects that we've been working on. Tell us about one of your recent projects, either at work or personal projects. What's...

      This is a recurring post to discuss programming or other technical projects that we've been working on. Tell us about one of your recent projects, either at work or personal projects. What's interesting about it? Are you having trouble with anything?

      6 votes
    4. Do data storage providers 'share' identical data among clients?

      What I mean is, if two clients of a provider upload the same data, do the hosts identify the match and create only references to the identical data for the multiple clients, or do they simply have...

      What I mean is, if two clients of a provider upload the same data, do the hosts identify the match and create only references to the identical data for the multiple clients, or do they simply have two copies of the same data on their server?

      Caveat: I am merely geeky.

      What prompted the thought was an article maybe on /. that Russia might run out of data storage, and this would impact entertainment providers. Seems a good way to save space if that's an issue.

      I would guess not, as storage is pretty cheap these days (or was at least in the before times), and it would raise privacy and possibly copyright issues. But a semi-scrupulous and miserly provider might consider it I suppose. Anyone here have any insights or knowledges?

      9 votes
    5. Fortnightly Programming Q&A Thread

      General Programming Q&A thread! Ask any questions about programming, answer the questions of other users, or post suggestions for future threads. Don't forget to format your code using the triple...

      General Programming Q&A thread! Ask any questions about programming, answer the questions of other users, or post suggestions for future threads.

      Don't forget to format your code using the triple backticks or tildes:

      Here is my schema:
      
      ```sql
      CREATE TABLE article_to_warehouse (
        article_id   INTEGER
      , warehouse_id INTEGER
      )
      ;
      ```
      
      How do I add a `UNIQUE` constraint?
      
      2 votes
    6. Why store code as text files?

      Code is usually version controlled nowadays in git or some other VCS. These typically operate on text files and record the changes applied to the files over their history. One drawback from this...

      Code is usually version controlled nowadays in git or some other VCS. These typically operate on text files and record the changes applied to the files over their history. One drawback from this is that formatting of the code can introduce changesbto the files that make no semantic difference, e.g. newlines are added/removed, indentation is altered etc.

      Consistent formatting makes the code easier to read, but the style used is an aesthetic preference. There might be objective reasons for readability in at least the extreme cases, but in many cases the formatting is purely a preferred style.

      If we instead version controlled code in the form of an abstract syntax tree (AST) (possibly even as just a series of transformations on that tree), we could have any formatting we'd like! When editing the code we would just be changing a projection of the AST and when we've made our changes the transformations could be made to the stored AST. If two languages shared the same AST the choice of language even becomes a choice for the programmer. Sadly this has some limitations since ASTs are usually language specific... But we could possibly take this a step further.

      Could we take a compiled binary and use that as the basis for generating an AST? This is essentially what decompilers do. For heavily optimized code this is severely limited, but for debug builds a lot of extra information is retained in the binary that can be utilized to construct a sensible representation. This way of storing code the language used becomes a style preference! Code compiled from one language might become alien when viewed in another language (thinking of lazy Haskell code viewed in C), but maybe that is a corner case?

      There are issues when considering binaries for different platforms. A binary for the JVM isn't the same as one for ARM64 or one compiled to run on an x86. So there are some limitations there...

      One (very) good thing about storing code as text files is the ubiquity of software capable of viewing and editing text. It would however be cool if we could make programming language a stylistic preference that is compatible with other languages! At least the AST part should be perfectly achievable.

      16 votes
    7. What programming/technical projects have you been working on?

      This is a recurring post to discuss programming or other technical projects that we've been working on. Tell us about one of your recent projects, either at work or personal projects. What's...

      This is a recurring post to discuss programming or other technical projects that we've been working on. Tell us about one of your recent projects, either at work or personal projects. What's interesting about it? Are you having trouble with anything?

      7 votes
    8. Quick question after a kernel update, mostly fear-based

      As some are aware, my NAS hates me. Anyway, I ran an update just now and it spat out the following: Setting up linux-firmware (1.187.27) ... update-initramfs: Generating...

      As some are aware, my NAS hates me. Anyway, I ran an update just now and it spat out the following:

      Setting up linux-firmware (1.187.27) ...
      update-initramfs: Generating /boot/initrd.img-5.13.0-30-generic
      I: The initramfs will attempt to resume from /dev/sdb2
      I: (UUID=e6480da4-95f0-4cf3-a047-a43ef09f978f)
      I: Set the RESUME variable to override this.
      update-initramfs: Generating /boot/initrd.img-5.11.0-27-generic
      I: The initramfs will attempt to resume from /dev/sdb2
      I: (UUID=e6480da4-95f0-4cf3-a047-a43ef09f978f)
      

      UUID=e6480da4-95f0-4cf3-a047-a43ef09f978f is /swap.

      /dev/sdb2: UUID="e6480da4-95f0-4cf3-a047-a43ef09f978f" TYPE="swap" PARTUUID="329487d0-88c7-4d47-ab82-dc4b80bd3bfe"
      

      The full log is below. If I reboot this thing, will it tell me that it cannot find GRUB like the previous installation that shit the bed?

      My assumption is that its simply telling me that it's enabled some sort of hibernation and will use the /swap for that.. but I'm totally on edge with this thing. I don't have a lot to set up with the system-side of things, so I put off trying to fix the old installation from the previous post until later.

      Anyway, does anything here seem fishy?

      Full output The following packages will be upgraded: linux-firmware 1 upgraded, 0 newly installed, 0 to remove and 2 not upgraded. Need to get 115 MB of archives. After this operation, 2,980 kB of additional disk space will be used. Do you want to continue? [Y/n] y Get:1 http://ca.archive.ubuntu.com/ubuntu focal-updates/main amd64 linux-firmware all 1.187.27 [115 MB] Fetched 115 MB in 5s (24.0 MB/s) (Reading database ... 201924 files and directories currently installed.) Preparing to unpack .../linux-firmware_1.187.27_all.deb ... Unpacking linux-firmware (1.187.27) over (1.187.26) ... Setting up linux-firmware (1.187.27) ... update-initramfs: Generating /boot/initrd.img-5.13.0-30-generic I: The initramfs will attempt to resume from /dev/sdb2 I: (UUID=e6480da4-95f0-4cf3-a047-a43ef09f978f) I: Set the RESUME variable to override this. update-initramfs: Generating /boot/initrd.img-5.11.0-27-generic I: The initramfs will attempt to resume from /dev/sdb2 I: (UUID=e6480da4-95f0-4cf3-a047-a43ef09f978f) I: Set the RESUME variable to override this.

      ➜ ~ sudo blkid
      /dev/sdb2: UUID="e6480da4-95f0-4cf3-a047-a43ef09f978f" TYPE="swap" PARTUUID="329487d0-88c7-4d47-ab82-dc4b80bd3bfe"
      /dev/sdb5: UUID="842ddd01-963f-4cea-b04f-a52b6b719a16" TYPE="ext4" PARTUUID="21a6f4e9-9893-423a-a30d-5981ac30b02b"
      /dev/loop0: TYPE="squashfs"
      /dev/loop1: TYPE="squashfs"
      /dev/loop2: TYPE="squashfs"
      /dev/loop3: TYPE="squashfs"
      /dev/loop4: TYPE="squashfs"
      /dev/loop5: TYPE="squashfs"
      /dev/loop6: TYPE="squashfs"
      /dev/loop7: TYPE="squashfs"
      /dev/sda1: LABEL="Ext-4tb" UUID="6024-5AA9" TYPE="exfat" PARTLABEL="My Passport" PARTUUID="0b02c637-1696-4e38-85a1-9bb43103e675"
      /dev/sdb1: UUID="5cfbef39-3eb7-41e6-8223-e6881b4f3286" TYPE="ext4" PARTUUID="7df42fb5-0531-457c-92b5-fbf1878b043f"
      /dev/sdb3: UUID="4f30a4a2-9f28-4831-a22c-dc5b969c4f17" TYPE="ext4" PARTUUID="77f89dbc-f0d7-40d5-9174-ac03a786502e"
      /dev/sdb4: PARTUUID="93457ed0-e4ee-439f-9f41-5c106fb531e6"
      /dev/sdc1: PARTUUID="59c46c38-983b-41a1-9b01-17932ce1408c"
      /dev/sdc2: UUID="5A80-D8B1" TYPE="vfat" PARTUUID="dc39bca7-9d28-45df-9474-ae879b51304e"
      /dev/sdc3: UUID="5c159f93-0d79-46ca-81bc-862f9703c439" TYPE="ext4" PARTUUID="db95b761-edd1-423e-8f23-748bc3e24fbc"
      /dev/loop8: TYPE="squashfs"
      /dev/loop9: TYPE="squashfs"
      /dev/loop10: TYPE="squashfs"
      /dev/loop11: TYPE="squashfs"

      ➜ ~ du -h /boot
      2.5M /boot/grub/i386-pc
      2.3M /boot/grub/fonts
      7.1M /boot/grub
      du: cannot read directory '/boot/lost+found': Permission denied
      16K /boot/lost+found
      147M /boot

      edit:

      here's my fstab
      UUID=842ddd01-963f-4cea-b04f-a52b6b719a16 /          ext4  errors=remount-ro 0   1
      # /boot was on /dev/sdb1 during installation
      UUID=5cfbef39-3eb7-41e6-8223-e6881b4f3286 /boot      ext4  defaults          0   2
      # /home was on /dev/sdb3 during installation
      UUID=4f30a4a2-9f28-4831-a22c-dc5b969c4f17 /home      ext4  defaults          0   2
      # swap was on /dev/sdb2 during installation
      UUID=e6480da4-95f0-4cf3-a047-a43ef09f978f none       swap  tf                0   0
      
      3 votes
    9. Fortnightly Programming Q&A Thread

      General Programming Q&A thread! Ask any questions about programming, answer the questions of other users, or post suggestions for future threads. Don't forget to format your code using the triple...

      General Programming Q&A thread! Ask any questions about programming, answer the questions of other users, or post suggestions for future threads.

      Don't forget to format your code using the triple backticks or tildes:

      Here is my schema:
      
      ```sql
      CREATE TABLE article_to_warehouse (
        article_id   INTEGER
      , warehouse_id INTEGER
      )
      ;
      ```
      
      How do I add a `UNIQUE` constraint?
      
      6 votes
    10. Looking for a good map of the internet

      I did some cursory Googling but found stuff that I'm not looking for (maps of the web and traceroutes hooked up to GeoIP lookups). Is there a resource that will show me the internet as a series of...

      I did some cursory Googling but found stuff that I'm not looking for (maps of the web and traceroutes hooked up to GeoIP lookups). Is there a resource that will show me the internet as a series of interconnected hops? Preferably with information on the connections between nodes that indicates the amount of traffic. I'm interested in the topography of the internet itself - not physically where hops are located.

      7 votes
    11. Fixing GRUB / Bad Kernels

      A few months ago I got a new to me HP Proliant ML310e Gen8. For the most part it works well, but I went to add some drives to it yesterday and grub / whateverthefuck doesn't like the one and only...

      A few months ago I got a new to me HP Proliant ML310e Gen8. For the most part it works well, but I went to add some drives to it yesterday and grub / whateverthefuck doesn't like the one and only kernel that is installed.

      I'm running Ubuntu 20.04. I looked around saw guides like this. this, and this -- but I'm not sure if this will fix the issue.

      After grub I get the ol'

      ---[end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0) ]---
      

      I think I need to run something with initramfs or something, but I just want to be sure before I go messing around.

      The bad kernel listed is 5.11.0-27-generic. I'm a little out of my element with this part of things.

      2 votes
    12. Experience with Crystal programming language?

      I have heard just a little bit about the language Crystal every so often, probably since it was first mentioned on /r/programming. From what I know, it's Ruby-like syntax but with a static type...

      I have heard just a little bit about the language Crystal every so often, probably since it was first mentioned on /r/programming. From what I know, it's Ruby-like syntax but with a static type system, which seems like a big benefit to me.

      I written just a little bit of Ruby, so the syntax isn't very familiar to me, and I haven't bothered trying Crystal out, but I'm curious to know what kinds of things people do with it.

      So, my questions are: Do you have any experience with Crystal? If so, what have you used it for? Was it a professional or recreational project? How did you like it? What about it stood out to you compared to your experiences with other languages?

      Thanks!

      8 votes
    13. What programming/technical projects have you been working on?

      This is a recurring post to discuss programming or other technical projects that we've been working on. Tell us about one of your recent projects, either at work or personal projects. What's...

      This is a recurring post to discuss programming or other technical projects that we've been working on. Tell us about one of your recent projects, either at work or personal projects. What's interesting about it? Are you having trouble with anything?

      8 votes
    14. If I wanted to make a game like Wordle, where would I start?

      A lot of game engines are geared towards making full-fat games with 3D graphics and animations and sound effects and all that jazz. What if, instead, I want to make something dead simple,...

      A lot of game engines are geared towards making full-fat games with 3D graphics and animations and sound effects and all that jazz. What if, instead, I want to make something dead simple, graphics-less, and minimalistic -- like Wordle? What's the best way to get to something like that (almost more of a digital toy than a full-fledged game)?

      It doesn't have to be web-based at all (though it can be if that's easier? I'm genuinely not sure). My preference would be for open-source engines/tools, but that's not a necessity.

      12 votes
    15. Looking for recommendations for self-hostable static blog software

      I used to use a random FOSS Python program to manage my blog. The software honestly wasn't the best (partially my own fault for not setting it up super well) and I stopped using it, lost my blog's...

      I used to use a random FOSS Python program to manage my blog. The software honestly wasn't the best (partially my own fault for not setting it up super well) and I stopped using it, lost my blog's source code, and haven't updated the blog in a long time because of that. So I'm looking for a static site generator that is simple, well maintained, and no-frills.

      14 votes
    16. What programming/technical projects have you been working on?

      This is a recurring post to discuss programming or other technical projects that we've been working on. Tell us about one of your recent projects, either at work or personal projects. What's...

      This is a recurring post to discuss programming or other technical projects that we've been working on. Tell us about one of your recent projects, either at work or personal projects. What's interesting about it? Are you having trouble with anything?

      5 votes
    17. Fortnightly Programming Q&A Thread

      General Programming Q&A thread! Ask any questions about programming, answer the questions of other users, or post suggestions for future threads. Don't forget to format your code using the triple...

      General Programming Q&A thread! Ask any questions about programming, answer the questions of other users, or post suggestions for future threads.

      Don't forget to format your code using the triple backticks or tildes:

      Here is my schema:
      
      ```sql
      CREATE TABLE article_to_warehouse (
        article_id   INTEGER
      , warehouse_id INTEGER
      )
      ;
      ```
      
      How do I add a `UNIQUE` constraint?
      
      3 votes
    18. Uninterruptible Power Supply (UPS) recommendations and advice

      Hello everyone, I usually do my own research, and then I try to find multiple matching results and afterwards, read specifically in detail about each recommendation, but, I have to be honest that...

      Hello everyone,

      I usually do my own research, and then I try to find multiple matching results and afterwards, read specifically in detail about each recommendation, but, I have to be honest that for UPS recommendations that I’ve seen, it seems to be a very personal recommendation depending on the wattage and connected devices.

      First of all, most people recommend CyberPower or APC, but I’ve also seen some recommendations for Eaton. Is there any other brand that I should be looking into?

      The devices I would like to connect to a UPS would be: desktop, TV, Apple TV, NAS, router and probably my Nintendo Switch.

      There are some general things I've found out while searching that I think I would like some confirmation:

      • I actually think I should buy two UPS's, or? I think just one for the desktop and another one just for the remaining devices, since the desktop uses a lot more wattage.
      • Pure Sine Wave: It does not matter for smaller stuff (routers, etc) but it seems that anything above 70 W, it should use a UPS with this. So, that would mean I need pure sine wave, since my desktop and TV definitely use more than 70 W of power.
      • Some people said to search for a UPS with line conditioning so that you always get a perfect sine wave. Would you agree?
      • USB connection (not a faux USB!) so that the NAS detects the power failure and shuts down gracefully.
      • It is important that the UPS has removable battery for better longevity.

      How would I choose a UPS? Do I need to see the total wattage of all my devices and then pick the UPS accordingly? Anything I'm missing?

      My budget would be up to €100 or €150 in case it is really worth it.

      Thank you in advance for all replies.

      13 votes
    19. What programming/technical projects have you been working on?

      This is a recurring post to discuss programming or other technical projects that we've been working on. Tell us about one of your recent projects, either at work or personal projects. What's...

      This is a recurring post to discuss programming or other technical projects that we've been working on. Tell us about one of your recent projects, either at work or personal projects. What's interesting about it? Are you having trouble with anything?

      5 votes
    20. What programming/technical projects have you been working on?

      This is a recurring post to discuss programming or other technical projects that we've been working on. Tell us about one of your recent projects, either at work or personal projects. What's...

      This is a recurring post to discuss programming or other technical projects that we've been working on. Tell us about one of your recent projects, either at work or personal projects. What's interesting about it? Are you having trouble with anything?

      4 votes
    21. What are your favorite Linux distributions to use for gaming and as a daily driver, and why?

      I'm curious what experiences people who game on linux have had, what your favorite distros are, and why. Mind sharing them in this thread? I'm in the market. My old GTX770 just bit the dust. I...

      I'm curious what experiences people who game on linux have had, what your favorite distros are, and why. Mind sharing them in this thread? I'm in the market.

      My old GTX770 just bit the dust. I picked up a Radeon 6600 to replace it, only to discover after installing it that while the 6600XT has Windows 7 drivers, the 6600 itself does not. The desktop works, but that's it. A little strange, but not entirely unexpected.

      My ancient frankenstein Win 7 Enterprise has got to go (into a VM, already on its way) and there is simply no way in hell I will ever use any version of the spyware/bloatware mess that Windows has become today. They lost me forever the second they put a marketplace and ads into my start menu. Ain't nobody got time for that, or at least, I don't.

      That means it's finally Linux time, for real - no going back. I'm rather excited. :D

      Side note: My original install date for Windows 7 Enterprise was 11-12-2011, it's lasted nearly eleven years without a BSOD or the need to reinstall. They really did fix windows decay syndrome in v7. That's the longest I've ever had a desktop OS last. Can any desktop linux distro manage to go that long, I wonder?

      The last time I ran a linux daily driver was Ubuntu for two years around '08, until I got sick of the pulseaudio issues. I'm not worried about that anymore, linux is ready for primetime now. That begs the question of which distro to use. I've toyed with or supported just about all of them at work (mint, redhat, suse, ubuntu, arch, deb, slack just to name a few). I'm a sysadmin by trade so I'm not phased by the learning curve, I know linux cold already.

      It's more a question of which distro is going to bother me the least acting as my daily driver. I like to tinker at work, but if I have to do it all the time at home I get cranky. I prefer the 'it just works' experience. The primary requirement is linux gaming, as this is my main gaming rig. That means lots of Skyrim Special Edition, Stellaris, Rimworld, emulators, etc.

      There's so many choices out there I'm not sure how to tell which one is the best and I don't particularly feel like putting a dozen of them through their paces over a month to find out - so I'm asking Tildes. ;) I don't mind trying a couple. Steam is required. Good support for WINE is a bonus. Ditto virtual desktop support - is Compiz still a thing or is there something better?

      Here are the system specs. I'm sure it's all fully linux compatible.

      1. Asus Maximus IV Extreme-Z
      2. Intel i7 2600K (3.2GHz, OC'ed to 4.2GHz with a Noctua air cooler, never breaks 60'C)
      3. Sapphire RX6600 GPU w 8GB of DDR6
      4. 16GB of G.Skill DDR3 2400MHz memory
      5. 500GB Samsung SSD, 4x4TB WD Red NAS drives

      Yeah, it's long in the tooth, and I'm glad I went for the Z/K combo so the new GPU isn't entirely gimped plugged into a much older PCIe 2.0 mainboard. I'll pick up a Ryzen sometime to replace it, but not until after the chip shortage shakes out. It was hard enough getting that 6600 in this market without getting scalped.

      21 votes