Ask Experienced Devs

1219 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'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?

2
 
 

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.

3
 
 

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?

4
 
 

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.

5
 
 

The problem is I am using beam.ParDo to call api, to enrich my data.

pipeline | "read_csv" >> beam.io.ReadFromCsv("...") 
                | "get_info_api" >> beam.ParDo(GetApiDoFN()) 
                | "write_output" >>  beam.io.WriteToBigQuery(...)

The problem is that api have limit. I need a way to control so it do not overload api or get 429 error.

I would like to set api call should not exceed 4 call / second.

How should I do it ?

6
 
 

cross-posted from: https://sh.itjust.works/post/19440902

I want to document my debugging sessions in a text file but I don't know if anyone did this before.

I came up with this kind of "language" that is a mix between Markdown and C++, but I still wonder if something equivalent exists already.

// When you click on the button
# [click button]
- A::f()
// - ... other method calls, don't document if you don't need to

# A::f()
// "..." for "parameters" where you don't need the details
- Stuff::g(...)
- Stuff::h(...)

// <Class> is a fake template thing to show the possible types of an object
# <SubStuffA | SubStuffB> Stuff::g(...)
- Stuff::g() {} // empty but I use v/=> for virtual call
  v/=> SubStuffA::g()
  v/=> SubStuffB::g()

# SubStuffA::g()

# SubStuffB::g()

# Stuff::h(...)

I document methods in the order of appearance in the code.

If you have any good idea about a reliable way to document a list of function calls, I'm interested!

7
 
 

Sorry for the burner account.

I have to figure out what to do with my life right now. I really enjoy programming, and honestly, of any kind. Haven't really found a kind of developing I dislike yet. I have been doing stuff for around 4-5 years by now, so I have confidence that I'm a good programmer, with the huge caveats that I've never finished any presentable project and I've never done anything with a team, I've only done solo stuff.

It seems like the logical thing to pick for a job. However, I've heard experiences of people with programming jobs and CS degrees that they're absolute hell to be in. Super long work days, absurd deadlines, crunch, and that doing a CS degree means you have absolutely zero time for anything else in your life.

Having a life like that really scares me. I'm not really a strong, disciplined person. I know I can't handle living like that. I'm scared I'll just realize I want to quit and end up having wasted years of money and work on a degree I don't want to use for anything - and that's even assuming CS college isn't that awful.

My biggest dream is doing indie game development, and it has always been that since I was a little kid, but I know that's not a safe prospect for a reliable living wage. At the same time, abandoning that dream completely would make me feel awful. So I NEED to have time to work on my own stuff.

I wouldn't go to a CS degree purely for more job opportunities, I'm sure there's a lot of things I'd be able to learn in one that I need. I just don't want to end up living just to work. I'm really only going off on rumours and experiences of other people I know though - and I don't have much of a chance of visiting a campus or talking to professors. Because of life reasons it'd have to be abroad and I'd have to do at least the first year online.

So... yeah. I'd appreciate hearing some experiences in CS degrees and in programming jobs. Is it really that bad time-wise? Is it something enjoyable?

8
 
 

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!

9
 
 

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.

10
 
 

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.

11
 
 

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.

12
 
 

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?

13
 
 

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!

14
 
 

My current team runs weekly retrospectives using the Lean Coffee format. More and more, I find that the items people are bringing up aren't really important or could just be a question in Slack.

For example, someone recently made a topic for how we can test credit card payments. Another topic was navel gazing about how we use Jira and multiple team members asked "what's the problem you're hoping to solve?" to which the only answer was "That's not what I've seen elsewhere".

I'm beginning to think that there's something wrong with our format or prompts, in that we aren't identifying important issues for discussion. Perhaps the format is stale or there's no serious issues lingering each week?

Any advice on alternative formats, how to get better feedback, etc. would be greatly appreciated.

15
 
 

Hello! I'm making changes to a web app that involves some aria classes, and I read the docs about how they work, but I'm not real confident in my ability to construct them into something that produces a well-usable experience for someone who's using the app. Is there a good way to get direct feedback from someone who uses a screenreader, or otherwise get some evaluation on whether what I've fumbled together is actually functioning well?

16
 
 

Would I have to drive there myself or could I pay an on-site tech to do it for a courtesy fee? Does it depend on the company?

17
 
 

I've interviewed for and been interviewed by companies large and small. We all know software engineer job interviews suck. But it's hard on the other side of the table too.

One of the better places I worked for had a lightweight process of one phone screen and a four hour on-site. The company also prepared offers before the on-site interview round.

When you finished interviewing, you got a same-day yes or no answer, and if it was yes, you had the offer in your inbox within an hour.

What interview practices have you found effective?

... And by what metric?

18
 
 

We have a team AMA coming up with a director. Apart from the typical "what are plans/goals for the team" type questions, what else could be useful or insightful questions?

19
 
 

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.

20
9
submitted 10 months ago* (last edited 10 months ago) by [email protected] to c/[email protected]
 
 

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?

21
 
 

Hi.

I'm a dev with 3 YOE, mostly in ML and MLOps, and more and more I'm trying to pivot into traditional software engineering. As of now I'm trying to really learn the fundamentals of backend engineering (as opposed to the bootstrapping DIY learning attitude that I had during my ML roles towards backend engineering), and I'm learning Node.JS. I'm getting familiar with the the concepts and the syntax, and so far so good. But one thing that I really lack is the imagination of what a good side-project might be.

So I ask experienced devs here, can you recommend me some good project ideas to work on, to make myself a better dev?

22
 
 

Hi experienced devs , I am a beginner programmer. I mostly use code completion and go-to source , and rename function and objects, code-pretty. Other features not so much. What features do you use often And what features are not that useful in an IDE and can be considered bloat? P.S.- Which is that one feature that you can't live without?( sorry for sounding like tiktok wannabe)

23
 
 

cross-posted from: https://lemmy.blahaj.zone/post/4160765

I am opening a woocommerce store pretty soon and I was looking through a various drop shipping/fulfilment on demand services. One of them offers their services through an API and there is some documentation on it, and how to run a test if it works correctly on my end but no information on how to "install" it on my store.

I can send you the link to the service and their documentation page - just don't want to do it here not to doxx myself 😄

What is API and how do I use it?

Many thanks

24
 
 

I got this article in a reply to a different conversation, and for the most part I agree with it. Gpg is old and we have better ways. I like signing my commits, I like feeling that these commits are actually and provably mine. But I'm not married to GPG like I used to be, I'd like a better way. The problem is that git used gpg for signing. I learned about this new thing called minisign and I wanna use it with git. So how do we switch? And if we can't switch, then how do we fix GPG?

25
 
 

For a personal project, I’m not exactly sure how to decide between cross-platform mobile frameworks (e.g. React Native, Ionic, Flutter, etc.).

I know a lot of it is use-case based, so as an example consider a highly simplified social media with creating posts with text and photo, editing your profile, and viewing/following others. What works best here and why?

For my project, I do have a web app as well built using NextJS, and I have a decent amount of experience with React. I’ve also used Flutter in the past and found it pretty easy to work with, but I’ve never tried my other options.

As far as I’m aware, most people generally recommend staying away from Ionic? I’m not exactly sure why that is or if that’s just an old sentiment.

Thanks!

view more: next ›