Ask Experienced Devs

1230 readers
1 users here now

Icon base by Delapouite under CC BY 3.0 with modifications to add a gradient

founded 1 year ago
MODERATORS
1
 
 

I work in research (uni) and am writing a framework for heat processes to optimize their costs. This goes both for private houses and industrial processes. The goal is to enable industry players to see that/when renewable energies and heat reuse with heat pumps are cheaper than fossil fuels. I do this using digital twins for components and on a system level.

My boss hesitates because he thinks this must already exist. I want to pursue that path with my research, so any insights there are welcome, too, but this is primarily about the open-source project.

I searched GitHub and came up empty, but that is only a subset of the search. Do you have any idea how I can find this, one way or another? It would also be great if I could show that it likely does not exist.

2
 
 

I'm looking to set up a server of some kind that I can use to store more or less arbitrary files on demand.

While I have quite a bit of programming experience, I have little-to-no experience in the server-space, so I don't really know where I should be getting started/what kind of pitfalls I should be looking out for/what kind of design choices I should be making early on.

In short: I want some system that allows me to take more or less arbitrary files, send them from either my laptop or phone, and have them stored on a drive that I can have lying around somewhere hooked up to some setup. I don't need any automatic backing up, sending files manually is sufficient. The individual files I'll be sending probably won't be exceeding the MB range of sizes. Remotely downloading files from the storage is not an immediate requirement, if I need to retrieve them I can plug directly into the disk. What I want to protect myself against is the "freak accident" type of thing where all the devices I currently have copies of a file on are lost in a fire, while travelling, or something like that.

Does anyone here have any tips for where I should be looking to get started?

3
 
 

I'd like actual examples instead of "I work faster", something like "I can move straight to the middle of the file with 7mv" or "I can keep 4 different text snippets in memory and paste each with a number+pt, like 2pt", things that you actually use somewhat frequently instead of what you can do, but probably only did once.

4
 
 

I'm just so exhausted these days. We have formal SLA's, but its not like they're ever followed. After all, Customer X needs to be notified within 5 minutes of any anomalous events in their cluster, and Customer Y is our biggest customer, so we give them the white glove treatment.

Yadda yadda, bla bla. So on and so forth, almost every customer has some exception/difference in SLAs.

I was hired on to be an SRE, but I'm just a professional dashboard starer at this point. The amount of times I've been alerted in the middle of the night because CPU was running high for 5 minutes is too damn high. Just so I can apologize to Mr. Customer that they maybe had a teensy slowdown during that time.

If I try to get us back to fundamentals and suggest we should only alert on impact, not short lived anomalies, there is some surface level agreement, but everyone seems to think "well we might miss something, so we need to keep it".

It's like we're trying to prevent outages by monitoring for potential issues rather than actually making our system more robust and automate-able.

How do I convince these people that this isn't sustainable? That trying to "catch" incidents before they happen is a fools errand. It's like that chart about the "war on drugs" where it shows exponential expense growth as you try to prevent ALL drug usage (which is impossible). Yet this tech company seems to think we should be trying to prevent all outages with excessive monitoring.

And that doesn't even get into the bonkers agreements we make with customers to agree to do a deep dive research on why 2 different environments have a response time that differs by 1ms.

Or the agreements that force us to complete customer provided training - while not assessing how much training we already committed to. It's entirely normal to do 3-4x HIPAA / PCI / Compliance trainings when everyone else in the org only has to do one set of those.

I'm at a point where I'm considering moving on. This job just isn't sustainable and there's no interest in the org to make it sustainable.

But perhaps one of y'all managed to fix something similar in their org with a few key conversations and some effort? What other things could I try as a sort of final "Hail Mary" before looking to greener pastures?

5
 
 

cross-posted from: https://lemm.ee/post/33211685

Hello Lemmy,

I am the author of bluetuith, an open-source TUI-based bluetooth manager for Linux only. I have been working on this project for over 2 years on and off, and I was wondering about extending support to other platforms as well.

To begin with, the Bluetooth Classic (BR/EDR) implementation on Linux is fairly standardized (via bluez APIs), but on other platforms, especially windows, Bluetooth APIs are finicky, and tricky to deal with, and also there is no standardized management in general.

I would like to start creating a centralized Bluetooth server or a daemon for other platforms (natively maybe), mainly Windows and Linux, which can expose relevant APIs so that clients can use them to handle Bluetooth-based operations. I know this is quite an uphill task, but I would like suggestions on how to implement it, or if anyone has a better idea, please do suggest that as well.

To summarize, my current plan is this:

  • Create bluetooth servers natively for each platform, utilizing the platform's proven APIs to handle bluetooth-based functions and expose a standard API to clients
  • Adapt clients to use said APIs provided by the daemons to allow the user to control bluetooth in general.

For the server implementation (mainly to other platforms), I will require contributors, so contributors are highly welcome to be involved in the project. I am in the process of securing an NLnet grant to invest into this project and mainly pay contributors to implement this platform-wise (the proposal has been accepted, and the negotiation call will be hosted in a few weeks, more details about this can be further published if anyone has questions about this. If contributors are confirmed, maybe the budget could be adjusted as well).

I apologize if the post is naive or does not fit this community's guidelines, and if it doesn't, a comment on where to redirect this question would be great.

Constructive feedback is appreciated. Thank you.

Note: By Bluetooth operations, I mainly mean Bluetooth Classic based operations.

6
 
 

I'm really enthusiastic about anything involved with Unix/Unix-like operating systems and their ecosystems (Mostly Linux and a bit of BSD variations). I also know a couple of programming languages including C, C++23 and OCaml. But other than doing a couple of tiny projects mainly to practice my programming skills in the languages mentioned above, most of my experience is theoretical and it comes from reading books, blogs and watching conferences.

I'm interested in gaining "actual" experience by doing systems programming related projects but I'm not sure how to get started. How do I decide on which topic to choose? A topic which would not be too overwhelming and actually achievable? And how do I gain the background knowledge needed to implement a project without ending up copying and pasting everything from existing implementations?

Thank you!

7
 
 

Referring more to smaller places like my own - few hundred employees with ~20 person IT team (~10 developers).

I read enough about testing that it seems industry standard. But whenever I talk to coworkers and my EM, it's generally, "That would be nice, but it's not practical for our size and the business would allow us to slow down for that." We have ~5 manual testers, so things aren't considered "untested", but issues still frequently slip through. It's insurance software so at least bugs aren't killing people, but our quality still freaks me out a bit.

I try to write automated tests for my own code, since it seems valuable, but I avoid it whenever it's not straightforward. I've read books on testing, but they generally feel like either toy examples or far more effort than my company would be willing to spend. Over time I'm wondering if I'm just overly idealistic, and automated testing is more of a FAANG / bigger company thing.

8
 
 

I'm thinking of ways to help people move from established software to more open, flexible forms that don't lock them to another organization.

9
 
 

I am professionally a software developer for 8 years and I simply don't have ideas for personal projects (Can't find any problem that I can fix with programming). At times I feel like that's natural and I shouldn't worry about it. But on the other hand, I do like to imagine having something personal that I can work on so that even if some days on my main job are not satisfying, I can always work on my hobby project and find that missing satisfaction.

End goal here is obviously to get better sleep as sometimes my mind feels dissatisfied with the day's work.

Funnily, I day-dream about the idea of already having done the boring parts (simply manifesting a project that already exists) of some personal project and only solving exciting problems in relation to adding a new feature or exciting aspects.

This creates a problem as I hate staring at a blank file not knowing what to write.

10
 
 

Imagine, your are a Java developer with multiple years of experience in the job. You really like working with the language.

Your employer kind of canceled most of the Java projects of the company over time and is now really focused on AI...... And AI means here: LLMs, GPT, ... Not like basic Machine learning... It's all about language models. Most of this stuff and the tools are written in Python and your employers wants you to kind of throw away your pretty good Java skills completely and start over in Python.

The new tasks would be kind of "easy"... You have to prototype "LLM bots". And that's your perspective for like at least 1.5 years. No, not real software development.. Prototyping... And that means, quick and dirty is what they want... It's also very easy to impress your employer with GPT doing things. Easy money, isn't it?

I'm in this exact situation right now and worried.. What, if I quit in 2 years and the new potential employer for a Java job asks "What have you done recently?"

I kind of liked working there and like the colleges and the salary is fine and switching the job and maybe moving away is a huge thing for me... It could get better... But maybe also worse........?

What would you do in my situation? Accepting it? Starting a rebellion? Looking for a new job somewhere else?

11
 
 

I've been doing some interviews lately, and my most recent one seemed to be my most promising one so far, until he started doing what he called "light tech screening" and did some trivia questions to test my knowledge on what goes on under the hood. I do admit, I should have been better prepared on the topics, and didn't do as well as I could have. At the end, he said my experience was interesting but I needed a better grasp of the fundamentals, and that we should keep in touch. Afterwards, I messaged thanking him for his time, and that I needed to review my course material, asked if he thought I should review anything specific and if I could do that for a few weeks and revisit it like he said. He suggested I do a deep dive into JS/TS to really understand what goes on and why, and would be happy to revisit it in a few weeks, and again said to keep in touch.

Does that really mean keep in touch regularly or often? Or is it just a throw away yea reach out again in a few weeks when you're ready? I'm already pretty stoked to get a second chance at this, the company seems cool and I like that they aren't weighing everything on leetcode problems. If I should keep in touch regularly, what would that even be about? I also don't want to annoy him before meeting again.

Any advice would be appreciated!

12
 
 

Was just wondering what's popular nowadays, maybe I find something new and better - what kind of tools are you using to access and manage databases?

I'm personally using Dbeaver a lot but honestly it feels increasingly more buggy and unreliable as time passes, every installation and update has had (unique) issues so far and there's little support. However the ease of use and some powerful, convenient, utilities in it make it preferable to others.

13
 
 

I'm looking for an external monitor for both programming and gaming. Currently, I'm using a 1080p monitor, but I'm tired of turning my head between the macbook and the monitor when I have to deal with 3+ windows.

So, I think a 2K monitor would be a nice improvement for my QoL, wouldn't hurt my GPU too much compared to a 4k monitor. Any suggestion or should I scrub the idea?

14
1
Odoo Developer (programming.dev)
submitted 1 year ago* (last edited 1 year ago) by ManeraKai@programming.dev to c/ask_experienced_devs@programming.dev
 
 

A friend of mine has an eCommerce company of ~30 people. They're now collaborating with an Odoo Partner to implement Odoo as their ERP. He wants me to become their Odoo Developer and Maintainer in the future. He wants me to not just know how to code, but also understand the parts the business is running. From where should I start learning?