Jump to content

dcgreen2k

Member
  • Posts

    1,941
  • Joined

  • Last visited

Everything posted by dcgreen2k

  1. From https://frontiergroup.org/resources/fact-file-computing-is-using-more-energy-than-ever/ "In 2020, the information and communication technology sector as a whole, including data centers, networks and user devices, consumed about 915 TWh of electricity, or 4-6% of all electricity used in the world." "Data centers consumed 240-340 terawatt-hours of electricity in 2022..." "Globally, cryptocurrency mining consumed 110 TWh of electricity in 2022." That's interesting, but we still don't really know how much of that total is from home computing. Let's see what the US Energy Information Administration has to say about it: https://www.eia.gov/energyexplained/electricity/use-of-electricity.php In the USA, home computers and their related equipment account for only 2.3% of residential energy usage. That's only about 34.5TWh. Heating and cooling take up the most energy usage compared to all other categories by far. So, home computers, at least in the USA, consume a lot less electricity than you might imagine. This makes sense - the average user doesn't have a high-power i7 or an RTX 4090, they're more likely to have an i3 or i5 and a basic graphics card, if not just integrated graphics. The people who run datacenters don't take energy efficiency lightly either. They have massive electricity bills to manage, so getting the most computing power per watt is going to be a priority.
  2. That's strange, could you post a picture of what your first layer looks like?
  3. Brims make the print's first layer extend outward, to increase contact area with the print bed. This might be called something different in the software you're using. Here's what a brim should look like, shown in blue. I'm using Ultimaker Cura as my slicer.
  4. 3D printers are fine with that kind of shaking. It only becomes an issue if you have a large, top-heavy print. Using a brim is a good idea. What filament material are you using and what temperature is your print bed set to?
  5. Here's what I see in the file you posted: Are you printing it like how it's shown in the image? If so, then that's the source of your issues. The main problem is that you have a very large overhang - that's the long horizontal segment. 3D printers can't print out in the air like that without using supports. The second issue is that you have a small portion of the print touching the print bed relative to its size. This means your print is more likely to accidentally come off the print bed. For the best chance of success, lay your model flat like this:
  6. Yes and yes. Qt is very widely used in commercial applications and is my personal favorite library for creating GUIs. Lots of popular programs use it, like Davinci Resolve, VirtualBox, and OBS Studio. I believe you'd want to look into NodeJS to run JavaScript like that. However, I wouldn't bother with JavaScript unless you want to go into web development.
  7. One of the things I did when I was learning how to program seriously was implement various sorting algorithms. I wrote a program to generate random numbers, strings, etc. and write it to a file, then another program that reads the file and sorts the data in whatever order you choose. It's good practice for learning how to work with data and think about the performance of various algorithms. For example, when I was testing out insertion sort on a large file - maybe 10s of GBs? - my program ran for 8 hours before I shut it down. In contrast, radix sort took only 5 minutes to sort the entire file. However, for smaller sets of data, insertion sort could be faster since radix sort needs lots of overhead to run. Something in this area that I never got around to, but would be a good exercise, is to make it so that your sorting code can accept ANY data type whose objects can be compared to one another.
  8. It seems to use 5V, although this actually doesn't matter for your use case. All you need to do to turn the PC on/off is bridge the two power switch pins, using a relay or transistor. This is the same reason you can turn a PC on with a screwdriver if you don't have a power button hooked up.
  9. Back when my friends and I used to host servers, we used LogMeIn Hamachi. It's free and lets you set up a VPN that you and your friends can connect to, allowing them to connect to your game server. It doesn't require any port forwarding. A Hamachi VPN is protected with a login, so just give your friend the login info and only they can join it.
  10. A while back I was helping a coworker fix some build errors he was having on a software project we were working on. We eventually got it working, but his method of debugging was to just look on StackOverflow and copy/paste random commands into his terminal until the errors were resolved. He was doing it all so fast that there was NO way he actually read what he was copying. Needless to say, that was... concerning to watch.
  11. That's most likely the sound of a relay turning on/off, and it's completely normal. I have multiple power supplies that make the same noise.
  12. I majored in computer engineering with a computer science minor, and I used the laptop in my sig with a Ryzen 7 4800h and RTX 2060. It was overkill for the vast majority of the work I did. The only work that really needed the power was training machine learning models and compiling Verilog.
  13. I've been meaning to pop an SSD into that system for a while now, might give me a chance to test how it performs without that old hard drive.
  14. From personal experience, you can run GTAV on mostly Low settings and 1280x1024 resolution at a playable FPS with a C2Q Q6600 and GTX 750Ti. The main issue I had was that textures wouldn't load in if you drove around too fast, but that may have been due to the old hard drive in that system. I was even able to run it with a C2D E6700, but the missing textures problem was much worse.
  15. Visited my parents' house and found the CPU my first PC came with, a Core 2 Duo E6700. I remember it being decently capable for work and light gaming, but I eventually replaced it with a Core 2 Quad Q6600 once I graduated from just playing Minecraft and flash games. I still have that system - might pop this CPU back in to see how it fares in 2024.
  16. I bought a Blue Snowball iCE for gaming a couple years back and I've been very satisfied with it. It looks to be around the maximum end of your budget.
  17. That's pretty surprising to me. The majority of the people on my research team use Linux for work, with only a couple on Windows. We don't have any MacOS users. I totally agree with that. This kind of minimal GUI is definitely uncommon - I only know one person who does this kind of thing and he lives inside NixOS and Emacs.
  18. I found this in one of his videos, is this what you're talking about? It looks like he's just using a window manager to get the super clean look. At the top of the screen, you can see he has GitHub open in a web browser and GNU Emacs as his text editor. A lot of the terminal-based work he does seems to be done through Emacs plugins, although I'm not super familiar with it.
  19. I don't think you can customize the default terminal, but you can customize the GUI ones. Everybody uses GUI based terminal emulators because of how much more convenient they are - the functionality is largely the same between the two since they're just bash terminals.
  20. If this is meant to go on your personal machine, I highly recommend keeping the desktop environment. It makes everyday use much easier. That being said, if you'd like to have Debian boot to a terminal by default, run the command: systemctl set-default multi-user.target To have it boot to the GUI, run this: systemctl set-default graphical.target Alternatively, if you want to switch to a terminal from your desktop, use Ctrl+Alt+F* https://wiki.debian.org/Console. On my system, Ctrl+Alt+F3 brings me to a terminal and Ctrl+Alt+F2 brings me back to the graphical environment. If you'd like to keep the GUI but have it use less resources, you can install a lightweight desktop environment. Xfce and Lxde seem to be popular for this.
  21. The first time I ever had to take off/reinstall a heatsink was when I upgraded my first gaming PC's CPU to a Core 2 Quad. I forgot to buy thermal paste so I decided I'd just use the stuff that was already on the old CPU. The problem was that this PC was around 10 years old at the time, so the existing thermal paste was completely dried up. Being excited with one of my first major upgrades, I decided to just scrape off the dried crumbles of thermal paste and scatter them on the new CPU, and surprisingly, it worked. It never thermal throttled and could play games all day long. A few months later, I replaced the dried thermal paste with toothpaste. That also worked great.
  22. I can't say too much about the Windows API, but to answer the question in your title: Yes, libraries written in C++ generally will not work with C code (unless you do things like writing wrappers for the C++ code). In contrast, most "plain" C code can be used in C++ just fine. There are some C features/syntax that aren't valid in C++ though: https://en.wikipedia.org/wiki/Compatibility_of_C_and_C%2B%2B If you want to learn C++, go ahead. I certainly find C++ nicer to use than C for building larger programs, although there's a lot of added complexity for someone new-ish to programming. It also has a much larger standard library compared to C (hooray, generic data structures). As for the Rust vs. C++ argument, it's really up to you to decide. Rust is newer, popular, and has builtin memory safety while C++ is a lot more mature. C++ is my choice because of how common it is in my fields of interest, but I'll get around to learning Rust too someday.
  23. The actual code that gets generated appears to be mostly the same, aside from some differences in how they name things and manage the stack. The lines with INCLUDELIB in the MSVC version are likely directives for the linker. LIBCMT is just the system's C library and OLDNAMES seems to be a compatibility layer for Windows: https://devblogs.microsoft.com/oldnewthing/20200730-00/?p=104021
  24. Memory error checkers are used very often, and UBSan seems to be the most popular currently. I believe the usefulness of those tools is somewhat tied to how good the project's architecture and testing practices are. If you thoroughly test a module as soon as you write it, it's easy to pinpoint errors and fix them before they propagate to later parts of the project. On the other hand, if you wait to write any tests, have sparse tests, or write spaghetti code, then going through a list of errors, fixing old code, and making sure nothing breaks is going to be a painful process.
×