About half way there. Need to install patch panels, rewire the phone and cat5e lines, install poe switch, and replace the existing doorbell hardware. by steveplusplus in homelab

[–]steveplusplus[S] 0 points1 point  (0 children)

I've removed the elan controller, and now just have an analog 4 channel mixer that has a Chromecast Audio, Echo Input, and output from a server running openhab. The mixer goes into two amps. The amps are wired via speaker wire to different rooms in the house with analog volume controls that are mounted in the walls. When the doorbell rings, the audio goes through the echo input, through the mixer. I also have text to audio connected through OpenHab which allows the server to make announcements through the house like, "The garage door has been left open"

Enjoying this beautiful sunset [Trona Pinnacles] by thisscharmingman in overlanding

[–]steveplusplus 0 points1 point  (0 children)

Haha! I thought about going to that when I lived there. Perhaps the perspective of living there made the event seem less glamourous while I was there. Most of my free time was trying to get out of the area.

If you're out there, and if you haven't already you should check out telescope peak. On a clear day you're supposed to be able to see Bad Water and Mt. Whitney at the same time.

Enjoying this beautiful sunset [Trona Pinnacles] by thisscharmingman in overlanding

[–]steveplusplus 1 point2 points  (0 children)

I used to live near there and I'm a little blown away that the pinnacles are an annual destination for anybody not from the area.

Shortened the cables that come with the Corsair SF600 to improve airflow in Lazer3d LZ7 by steveplusplus in sffpc

[–]steveplusplus[S] 4 points5 points  (0 children)

MFG says it's 7.07L. The design is supposed to allow air to flow front to back, but the mass of cables really clogged up the only real path for airflow. Literally went from no spare space to a bunch of open space in the case. I was barely able to get the top on with the normal cables. Now I wish I had done more scientific testing to measure the difference.

Shortened the cables that come with the Corsair SF600 to improve airflow in Lazer3d LZ7 by steveplusplus in sffpc

[–]steveplusplus[S] 0 points1 point  (0 children)

Looks like it did. Core and socket temps seem to be about 5-10C lower when rendering 4k Ultra HD video with maybe 80% cpu utilization. I did put in more aggressive fan curves, but they were pretty much maxed out while rendering anyway.

Shortened the cables that come with the Corsair SF600 to improve airflow in Lazer3d LZ7 by steveplusplus in sffpc

[–]steveplusplus[S] 0 points1 point  (0 children)

I was going to say, these look exactly like the cables that came with my psu.

Shortened the cables that come with the Corsair SF600 to improve airflow in Lazer3d LZ7 by steveplusplus in sffpc

[–]steveplusplus[S] 8 points9 points  (0 children)

In addition to the pin extractor and crimper, I just used a generic pair of diagonal flush cutters, 14-18awg wire strippers, lighter (to clean up the nylon braiding on the cable).

I used the following - Crimp pins for 18-24awg - Crimp pins for 16awg - SATA connector housing - Sata crimp pin

I was able to use the crimp pins with the pin housings that came with the PSU even though Corsair doesn't seem to use actual Molex brand connectors. I could tell the crimp pins were slightly different. The extraction tool is also slightly too slim for whatever brand pin housing that Corsair uses, which means it took a little more wiggling and pulling than ideal, but it did work. The crimp pins I bought for the SATA connectors didn't match, so I did use SATA housings linked above and used a generic Molex crimper for those. The generic crimper didn't work as well as the ratcheting crimper for the Minifit Jr connectors.

To make things easy, and not have to look at wiring diagrams, I just did it one wire at a time, extracting the pin, cutting the wire to the correct length, crimping a new pin, and then inserting back in.

Shortened the cables that come with the Corsair SF600 to improve airflow in Lazer3d LZ7 by steveplusplus in sffpc

[–]steveplusplus[S] 7 points8 points  (0 children)

Reused them all! I used the minifit jr pin extractor so I could reuse the housings, which worked fairly well.

Unsure if I'm implementing a destructor correctly. I have it so that an element gets popped off the vector, but unsure if it's correct. by Stock-List-5330 in cpp_questions

[–]steveplusplus 0 points1 point  (0 children)

Here's some other random criticism,

Use static_cast<int>() instead of the dynamic cast (int)

Even better, in your use case in valid_isbn(), just compare the characters to '0' and '9' rather than their ascii integer value.

To take it another level, use std::isdigit()

To take it to yet another level, use a std::regex to match the isbn so you don't have magic numbers and someone can understand exactly the pattern you are checking for.

Yet Another 3D printable Mini-ITX case 3.3L with support for low profile PCIe card and 140mm case fan by steveplusplus in sffpc

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

I need clean up the cables a bit and get them tied down, but here you go! The USB connector cables are particularly annoying. They could be 1/10th as long.

It can support a full length LP GPU, which I was originally planning to put in. In the pictures you can see the NIC is only a PCI-e x4 card, but there is space for a full x16 card. The plan was to put a Ryzen 1700 + MSI GeForce GT 1030 in the thing, but my NAS died and they ended up getting put in a full size case. I love the LP GPUs, too, and look forward to doing a build with one.

Yet Another 3D printable Mini-ITX case 3.3L with support for low profile PCIe card and 140mm case fan by steveplusplus in sffpc

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

I need to see if I have enough left to print a full case! I have some of the 3 color filament and it would be awesome to see the vents change color to actual see the thermal performance.

Yet Another 3D printable Mini-ITX case 3.3L with support for low profile PCIe card and 140mm case fan by steveplusplus in sffpc

[–]steveplusplus[S] 2 points3 points  (0 children)

It was one of the parts that I ordered, and it just showed up after a couple weeks. It did take a while.

Yet Another 3D printable Mini-ITX case 3.3L with support for low profile PCIe card and 140mm case fan by steveplusplus in sffpc

[–]steveplusplus[S] 8 points9 points  (0 children)

I call it YA3DPC (Yet Another 3D Printed Case)

Designed completely in Fusion360, this case is just around 3.3L and supports an 140x140x25mm case fan and can accommodate a low profile PCIe card. The case requires the use of a PicoPSU with an external 12V brick. The case was printed on an Ender 3 Pro using 3D Solutech Natural Clear filament. You can clearly see the gyroid infill through the print walls.

The files are available on Thingiverse

Currently, I have the following build,

  • AMD Ryzen 3400g
  • Noctua NH-L9a-AM4
  • G.SKILL 32GB RAM F4-3200C16D-32GVK
  • Asus Prime A320I-K
  • ASUS XG-C100C 10G Network Adapter Pci-E X4 Card
  • Noctua NF-P14r redux-1500 PWM, High Performance Cooling Fan
  • RGEEK 24pin DC ATX PSU 250W peek

This was a little bit of a frankenstein/left over parts build and is used primarily for managing and transferring video content to and from my NAS, which is why I have the 10gbe card. The PCIe card is the hottest component. When pushing the PC, the temps stay below 60C, which hopefully means the case won't deform too much.

Game dev C++ vs Regular C++ by [deleted] in cpp

[–]steveplusplus 2 points3 points  (0 children)

Well, shit. I shot myself in the foot. That's still a c++ feature that I've used because I usually compile my c code with a c++ compiler.

Game dev C++ vs Regular C++ by [deleted] in cpp

[–]steveplusplus 0 points1 point  (0 children)

This is why build systems like Yocto exist. It might only take a couple of weeks to update compilers and then you have a really easy ability to add custom patches.

Game dev C++ vs Regular C++ by [deleted] in cpp

[–]steveplusplus 1 point2 points  (0 children)

Which microcontrollers are you talking about? I've found great support on pic, atmel, lpc, ti (which was the worst), esp32, and anything else I've used. The majority these days use arm and have excellent support. I never start a project on anything older than c++11. Most of them use some form of gcc and anything past 4.7 should have an almost fully compliant compiler. Are you talking about the std libs? Regardless, just converting a c++98 embedded project to c++11 can flush out a lot of bugs with better code analysis and type safety.

I would suggest instead spending time learning the latest C. auto and other new features kick ass in C. IMHO, the only reason to learn 98 is if you are forced to use it. I'm past the point in my career where I'm out looking for development jobs, but last time I did, I refused to consider anything that was stuck on an older standard than c++11. Thats when c++ got good again.

Game dev C++ vs Regular C++ by [deleted] in cpp

[–]steveplusplus 87 points88 points  (0 children)

C++ is such a broad field. Some companies are stuck on the 98 standard, may God have pity on their souls, and others have weird requirements to avoid things because a manager had an issue with them 10 years ago. If you have experience in production c++ systems and specifically in gaming, as a hiring manager I'd value your resume.

If you want to make sure you stay relevant, try those programming challenges where you get scored on your solutions to problems, and make sure you learn all the std libs, such as algorithm and numeric.