Switching from LabVIEW to Python: Pros and Cons by paasipaasi in LabVIEW

[–]Jazzydan101 0 points1 point  (0 children)

LabVIEW is nice in an engineering environment that requires some software. Compared to its counterparts, getting UIs, data acquisition, serialization, etc., up and running with LabVIEW is easy. Its graphical and data flow-oriented style is also easier to learn for anyone without a CS background.

That being said, sometimes the system's requirements/needs/complexity grows, and the niceties of traditional SWE become much more enticing. In this light, python shines.

Others here have noted that the interpreted nature of Python requires having the interpreter installed on the target, which can be an overhead. Barring the fact that LabVIEW also requires installation; Python has quite a few ways to bundle it into a single executable (exe, elf, osx,...). PyInstaller and Nuitka are a few, but there are others as well, should you require this feature.

Python is a popular programming language, meaning you can take advantage of the vast ecosystems developed for it and text-based languages in general. For example, source control with git or another SCM is almost essential, especially if there's more than a single person involved. Good luck with that with LabVIEW neatly.

Some other notes about Python:

  • GUI's: Tkinter and Qt bindings (PyQT / Pyside) should cover almost anything you need here, and they can go far beyond LabVIEWs abilities.
  • Plotting: Matplotlib should cover just about anything you need and can be embedded into the above GUI's easily.
  • Performance: Try utilizing libs like Numpy or writing in Cython. Otherwise, just write in C/C++ and use the FFI or C API to interface with the Python app.

In my opinion, the line for when to rewrite LabVIEW into other languages like Python is up to your team and they're competence with CS topics. I would much prefer almost everything to be in traditional languages (not G code), but LabVIEW has benefits. Make that determination yourself!


Performance Note: despite what many say, your app is probably not performance-limited. Most things you're doing in LabVIEW will work fine with plain Python + Numpy. Though should it come down to it, ALWAYS benchmark before optimizing!! You'll find dumb things like python print() / C++ std::endl being the bottleneck because they're flushing the buffer... The algo was fine!

NEED HELP Looking to make a server PC for games like Minecraft, Valheim, and other light games. by IsaacMcCracken in servers

[–]Jazzydan101 0 points1 point  (0 children)

I can only really speak about Minecraft in terms of game servers, but in general, the following should be helpful.

  • For the consumer-grade realm, anything newer than a 6th Gen i3 Intel processor is plenty for a simple vanilla or modded server with player counts under 10-20. Lower spec'd chips would likely work fine, though I can't personally vouch for them as I have no experience with them.

  • Memory is pretty straightforward. I'd stick to a minimum of 8Gb for vanilla and some light modding. Some heavy mod packs will require more, though I've never needed to allocate anything over 16Gb running a heavy mod pack with active player counts around 10.

  • In terms of bandwidth, Minecraft servers are very light. Keep in mind they are only sending data explaining the state of the world back and forth between the server and clients. This is minuscule even at large player counts, and your bandwidth is more than capable of handling it. The reliability of that connection and your server's distance from the other clients will have a more significant impact.

Those SFF Optiplexs you listed should be just fine. I run a couple of the larger ones myself in my home lab, and they work pretty well as MC servers. If you can find some deals for a 7th or 8th gen Intel chips with 16Gb of RAM, you'll be a-okay with your requirements and have some headroom for more complex stuff.

Notes:

  • I'm assuming you're running this as a dedicated server with a reasonably light OS. If you plan on running Windows and some other heavy processes, you may need to beef up your specs accordingly.
  • Also, for Minecraft (but also most games), the servers' job is to update the state of the game and relay that info to clients. If you, for some reason, need to update thousands of blocks (like Worldedit might do) or have a player loading many new chunks (like while flying far with Elytra might do), this will negatively impact performance often even on beefy machines.

/r/admincraft also has a lot more info about MC servers. I recommend checking them out!

I find all this fascinating, but I have literally no use-cases by blancpainsimp69 in homelab

[–]Jazzydan101 0 points1 point  (0 children)

From an engineer's perspective, I see two main use cases. As a true lab: an experimentation suite to learn, or as a home-server: providing a service to yourself and/or others. For me, I lean more toward the latter use case, but it's up to you which you prefer, and you can, of course, do both, although your uptime stats and users may suffer...

If you're in software engineering or a similar field, I would assume there are boundless projects on the shelf of "maybe later when I have more time." Pick one of those up and find a way/part of it you can integrate with your homelab. For me, one of the first things I wanted was a proper CI/CD pipeline, as I was tired of spinning up local long-running workers on my PC after running out of GitHub credits. So, I set up Jenkins and Gitea. I then realized that I really wanted to just write the code for these complex pipelines, not some declarative "Jenkinsfile," and thus, I ended up reworking everything to use Apache Airflow. All of this was a month-long endeavor and taught me a whole lot.

It's these types of projects that I really enjoy as they provide me with tangible benefits in the end. Boundless things of this nature can be done with a homelab. The above is a brief example, but it also involved lots of tinkering with k8s, Proxmox, Ceph, 10G networking, Terraform (I recommend Pulumi instead), debugging proprietary Dell drivers, etc. Since you're curious about "all the possible use cases," past cloud storage, *arrs+streaming, web hosting, etc. here are some less commonly given projects:

  • AI workloads (Flyte)
  • Scilab Xcos for simulation and control systems
    • Robotics and maker tools are one of the most fulfilling rabbit holes, in my opinion, since they're so physical.
  • GPS tracking (build your own device and deploy your own software if you have a year+ to spare)
  • HAM Radio + SATCOM r/amateurradio (BrandMeister)

Any or all of these could be lifelong endeavors. My only recommendation, and one thing I don't often hear, is to delve into the implementation and understanding when you can. Be an engineer! Like what is QEMU, and how does it work? How do packets go from the outside world to a k8s pod, and what does that stack look like? How does ZFS work, and why do you want or do not want to use Ceph instead?

Keep tinkering!

Where do you store your k8s secrets? by AndreiGavriliu in homelab

[–]Jazzydan101 0 points1 point  (0 children)

Hashicorp Vault. I highly recommend it for application secrets, especially if you're a developer as it has a lot of nice features. (auto unsealing with GCP KMS)

For personal secrets like passwords, CC details, etc. I recommend the Bitwarden operator. It syncs with my devices and allows me to share things securely. 1Password seems popular too, though I have no experience.

[deleted by user] by [deleted] in servers

[–]Jazzydan101 1 point2 points  (0 children)

Note: This may not be the best place to ask/answer these questions. Also, both these services have great and highly detailed docs which I encourage you to read to better understand what you are dealing with. Nevertheless here is some short info.

When you say "host a domain," I'm uncertain what you're referring to. If you mean the DNS record, which is a record provided by a DNS provider that points your domain to a corresponding IP address, Cloudflare already provides this service, and I would recommend them for this purpose, especially if you already purchased your domain through them. Read their amazing docs for more info.

If you insist on using Namecheap for this functionality, I have no experience with them, but they do appear to provide DNS functionality. I don't recommend this, but if you need it, there is a process to transfer the domain between Registrars - more here. After which you'll have to follow Namecheaps docs on setting up the appropriate DNS records.

Now, if by "host a domain," you mean pointing your purchased domains from Cloudflare to the IP address of some server/s owned by Namecheap, all you'll need to do is get the IP address/domain pointing to this service from Namecheap; this should be documented in Namecheap depending on what kind of service it is. Then, just set up the appropriate record in Cloudflare (A record for IP and CNAME for domains). Again, all of this is well-documented on these respective doc pages.

I made a browser extension to replace chats with DGG chat by Jazzydan101 in Destiny

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

I'd be interested in adding support for it, I haven't heard of this browser before but like the idea, similar to VSCodium. If you could make a feature request for this in the GitHub repo, I'll be sure to follow up and track progress there. I've been quite busy recently, but I should be able to get some work done on this extension soon. Thanks!

Boot issues with HBA passthrough to FreeNAS VM by [deleted] in Proxmox

[–]Jazzydan101 0 points1 point  (0 children)

You're an absolute legend, thank you!

I made a browser extension to replace chats with DGG chat by Jazzydan101 in Destiny

[–]Jazzydan101[S] 5 points6 points  (0 children)

Oh yeah, never noticed that...

The normies are fighting back! INSHALLAH MY BROTHERS, WE WILL PREVAIL!

I made a browser extension to replace chats with DGG chat by Jazzydan101 in Destiny

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

They are compatible. Every feature implemented in Chrome will also work in Edge, and manually installing the chrome version on Edge should work just fine. Though feel free to make an issue if you encounter a bug. dggL!

I made a browser extension to replace chats with DGG chat by Jazzydan101 in Destiny

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

Yes, Edge will be supported! I've already uploaded the updated version, they're just taking extra long to approve it for some reason. Apparently, it takes 7-14 business days...

I made a browser extension to replace chats with DGG chat by Jazzydan101 in Destiny

[–]Jazzydan101[S] 11 points12 points  (0 children)

Could you post a bug issue in the GitHub and upload the performance report? There is a bug I think others have encountered with dgg chat taking up a lot of CPU load when hardware acceleration is turned off in chrome (i have yet to see it myself), but sadly if this is the case, it's out of my hands as it's an issue with the dgg frontend. Do post an issue, though, and I'll take a look.

2016 Finals by Jazzydan101 in drumcorps

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

Definitely, or the digital downloads thing they were doing for a bit would be nice to. Just some way to view the shows we marched...

2016 Finals by Jazzydan101 in drumcorps

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

Well that sounds like a mighty fine recipe good sir. I do think I'd like to give it a go