Hacker Newsnew | past | comments | ask | show | jobs | submit | more gempir's commentslogin

That means your code will stay old.

A new language feature is released, you cannot apply it to old code, since that would make a big PR. You need to do super slowly over time and most old code will never see it.

A better static type checker, that finds some bugs for you, you cannot fix them as your PR would be too big, you instead would need to make a baseline and split it up endlessly.

In theory yes, maybe a bit safer to do it this way, but discouraging developers to make changes is bad IMO. Obviously depends on your usecase, if you develop software that is critical to people's literal life, then you'll move more carefully.

But I wager 99% of the software the world produces is some commerce software, where the only thing lost is money.


> A new language feature is released, you cannot apply it to old code, since that would make a big PR.

Good. Don't change code for the sake of shiny new things syndrome.

> A better static type checker, that finds some bugs for you, you cannot fix them as your PR would be too big,

Good. Report each bug separately, with a suggested fix, categorised by region of the code. Just because you ran the program, that doesn't mean you understand the code well enough to actually fix stuff: those bugs may be symptomatic of a deeper issue with the module they're part of. The last thing you need is to turn accidentally-correct code into subtly-wrong code.

If you do understand the code well enough, what's the harm in submitting each bugfix as a separate (independent) commit? It makes it easier for the reviewers to go "yup, yup, yup", rather than having to think "does this part affect that part?".


This is easier to do with uv than it is with pip.

You can create venvs wherever you please and then just install stuff into them. Nobody forces the project onto you, at work we don't even use the .toml yet because it's relatively new, we still use a python_requirements.txt and install into a venv that is global to the system.


Way to go to create non-reproducible results. Basically, nothing production ready is rolling out of that one.


This is what the OP wanted. I don't agree to do it this way.

At work for us we use uv pip freeze to generate a more strict requirements file.


What I was referring to is:

> [...] at work we don't even use the .toml yet because it's relatively new, we still use a python_requirements.txt and install into a venv that is global to the system.

Unless your `python_requirements.txt` also carries checksums, like uv's lock files or poetry's lock files, that is. Though of course things get spicy and non-reproducible again, if you have then multiple projects/services, each with their own `python_requirements.txt`, all installing into that same global venv ...


I think this thread went a bit off-topic with heavy discussions about the community or developer.

As a user of Valetudo for 4+ years now, I can say that it's a wonderful Software once you get it running once. Depending on your vacuum model it's easier or more complicated.

I bought a used Z10 Pro 4 years ago and with a UART-to-USB I could order from ali-express I rooted it effortlessly. Valetudo got many cool updates over the years and was always reliable for me. Not once did I have to re-root or something because the Software bricked itself or whatever.

The updates were beautifully done and simply done in the UI. And I'm very happy that the Home Assistant integration worked great as well.

Personally I couldn't buy a Vacuum robot anymore without Valetudo. Having a remote controllable camera and probably even microphone in some models in my home seems insane.

The Defcon talks from Dennis Giese confirmed that some manufacturers literally send every log line to their cloud server and there was already some bigger mainstream drama of vacuum pictures ending up on facebook somehow a few years ago.


Well, same. The thing is that, if my stock vacuum starts behaving erratically, I can always contact the manufacturer without fear of being banned.

At this point, I have to choose whether I want a vacuum that phones home, or one where I know absolutely zero people will be able to help me, because they (and me) have all gotten banned.


I can see why author's strictness in adhering to his community rules is off-putting, but at the same time, for all the complaining, I do not see anyone being willing to put the effort in to build a different community. Yes, this is work, but one wants it, go and do it (not referring specifically to you, stavros, but to the general theme in the entire discussion).

After all, this is free software, published under the Apache 2.0 license. Fork it and build a community you want it to have (you don't even have to do any code changes, and you can simply reject any external PRs more politely :)).

With that said, maybe the author is right in wanting to keep this "infrastructure" boring and to attempt to safe-guard their time, but at the same time, they do spend a lot of time defending their approach to this and complaining how nobody has read their 20 pages of "community instructions", which really, is an expected behavior for everyone (no matter how much one wishes otherwise). I can't not wonder if it would be less time & energy consuming if they did it more politely?


This person wanted to create an alternate community because the Telegram channel was such crap.

https://www.reddit.com/r/valetudorobotusers/comments/1lmz85n...

There's a huge amount of drama over there because hypfer came in and tried to poison everybody against him.

> I have only 3 relevant interests here:

> Spreading information about offline IoT, because this is the journey on which using Valetudo has put me

> Providing a safe space where anyone can discuss ANYTHING about Valetudo, without fear or retribution

> Provide help with Valetudo to anyone, including people who don't want to create a TG account, and especially people who were banned from TG

I've kind of gone down the rabbit hole on this whole thing this morning and after a lot of reading my conclusion is that the leader of this project thinks that they are communicating far more clearly than they are. But trying to use an analogy of a private garden when it's clear that they just don't want to field questions from people is not the way to communicate.

Here's another relevant example. Somebody that did a huge amount of work and then asked a technical question that reflected that they had done the work and was banned with no comment.

> With all of that prerequisite searching out of the way, I decided to create a Telegram account to join the support chat and ask there whether or not splitting the "Mop Dock Wastewater Tank not installed or full" error into two distinct errors has already been investigated, and to express this as a feature request if it hasn't. I included justification for why I think it might be a feasible task, since there are three vendor error codes in DreameValetudoRobot.js mapped to that error and it stands to reason that maybe they could be split out with some basic testing.

> The next notification I saw from Telegram was: Valetudo: Hypfer !pban 1y


You misunderstand, I didn't say hypfer should or shouldn't do something. I said I don't want to use his project, as is my right, because I don't like being banned from talking to anyone who might have the same problem as me if I say something hypfer doesn't like.

Even so, I'd be happy to run a community for any other project, but I don't really like hypfer's behavior and don't want to help him out.


One option is to not help him at all: fork the project, run it completely independently in any way you see fit.

Many a FOSS project has been forked due to disagreements with how it was maintained, technically or socially — this is the lovely thing about free software, that the author agrees to as well.


No, the lovely thing about free software is that enables people to work together, not that it has an escape hatch for when they can't.

Forking a project duplicates effort and requires much more work than just allowing collaboration.

Again, though, I have no particular desire to do anything here. I don't even use my vacuum.


Edit to answer the first point: free software as a cultural movement grew out of a need to control the hardware a software engineer bought and which came with no source code for the drivers. Friends made along the way was great, and I agree that's lovely, but ultimately that's what free software enables, among other lovely things (like not depending on a manufacturer you disagree with, or another programmer you disagree with).

Forking a project does not duplicate the effort — collaboration requires a lot of effort, and the more collaborators, the more expensive it is (usually even more than 2x). This is why many well-run free software projects have their own BDFLs (Linux, Python... OK, maybe not so benevolent at all times :)).

If the two of us wanted to take a project in a different direction, and insisted on keeping it a single project, we'd have to do more work to reach compromises all the time, neither side ever being fully happy, but doing duplicate work for an imperfect result.

As you are well aware, RoI calculation is not as simple as LoC count, and typing in the code is the fast part. With two projects with clearer missions, willing contributors flock to the one they align better with, which leads to one being more stable, another being quicker to add new features.

And no, getting all of those contributors on a single project would not result in a single project that is both stable and adding new features quickly.

Obviously, no expectation on you to do anything. I just find it surprising you do not see the value in a different way to organize a community compared to what's common, even if what's valuable to you is different.


The escape hatch is the feature that force everyone to be nice.

What if you don't like Windows 11 forcing to make an account? You get a time machine, go back 30 years and start a hobby OS project and hope the best.

What if you don't like Linux? You fork the project and just ignore what Linus publish in his tree. (The hard part is doing a better job than Linus and convincing enough people that you can do it.) So Linus must be nice enough to keep most people happy.


> keep most people happy.

Not _most_ in the sense of a plurality of all users. _most_ in the sense of some subset of contributors. Free software is still a dictatorship of the able. A person who cannot contribute (whether that be code or money to pay someone else to code) something important is still without recourse.

If Linus decided to add a bunch of malware to the kernel, my mom would still be unable to fix that.

FOSS is still better than proprietary, but it's not perfect either.


You are right, but your mom would easily benefit from someone else who would be able to fix that: free software relies on the fact that someone "able" is at least not looking to hurt you, which is, for a popular enough software, a given.

For software that is not popular enough, you are right that in practice, your mom wouldn't be able to do anything other than stop using the software.

But of course FOSS is not perfect, it's just a way to empower your users: nothing more, nothing less.


> I do not see anyone being willing to put the effort in to build a different community.

There is a small community on Discord: https://discord.gg/tfPVDGQuYm

To manage expectations: It is less active than the official channel of course, but then it is not as old as the official TG groups and it's not exactly endorsed by the developer (e.g. it's not linked to on the Valetudo website as an independent/alternate support platform). But it's an option to discuss Valetudo and related topics, and get some support if the official way doesn't work out.

Disclaimer: I am not affiliated with that Discord, I just happen to hang out there.


> I can't not wonder if it would be less time & energy consuming if they did it more politely?

This is an interesting question that comes up from time to time and it's actually not as it seems. While it is work and taxing at all, the whole act of explaining is actually not very expensive. In fact, it is simply tapping into the stream of consciousness and piping it into a text input.

What _would_ be expensive actions would be to:

a) _not_ explain, see that something isn't quite right and then try to handle the internal discomfort sparking from that.

b) mask and play a different "more polite" role, which actually just means "accepting the unsolicited emotional offloading and the task of handling those attached to it"

both being "providing a service" to the random person that just approached me, and operating in a style that is unnatural to me. This is counterintuitive for the vast majority of people, because for them it works exactly the other way round.

Doing this emotional labor for free would also be just giving away the thing that makes me money. Specifically, being able to understand technical details and also communicating those to people that won't necessarily do.

Effectively, the free-plan includes technical support but not emotional consulting. This, for some, is hard to understand, for others, it is hard to accept.

And, of course, it always gets worse when social media (like HN) is involved, because these machines erase any context and replace it with violently jamming in defaults + rewarding those that dunk the hardest and make the in-group of the mob feel pleasant feelings.


I get you, and I can understand how emotionally taxing it is to not do anything and "keep it in" (should have said this, could have done that, why are they not reading simple instructions... — I've spent one too many sleepless nights mostly when I wasn't behaving as myself but rather adapting to social expectation).

So I think you are completely right to set the boundaries you want to set, but perhaps you can recruit someone else in the community who doesn't get so annoyed at people not respecting others' time, because let's be honest, that's what people do (mostly because it usually works due to the social norms being what they are).

It is why some people are unapproachable and build boundaries (eg. imagine even executive assistants to executives in order to not divide their attention on every little thing).


> but perhaps you can recruit someone else in the community who doesn't get so annoyed at people not respecting others' time

No, I can't. The world, in this aspect, is wrong. It is flawed. Rotten, even. I (and actually we) cannot approach this by just accommodating what is broken.

Everyone has been doing that and you can see what damage this has done to democracy and to reality itself.

As the docs state, Valetudo is counter-culture. The definition of being that is that you will hear a steady stream of loud screaming, because culture is being countered. If this stream stops, that means that the countering also stopped.

I do not think that we can afford to let the world deteriorate even further than it has already. We need to re-learn context. No matter how painful that might turn out.

I know HN is the last place for this :D But I also didn't ask to be linked here. I did however ask to not be posted here anymore.

I also believe that Valetudo is a unique opportunity for this, because no one is being held at gunpoint and forced to use it, nor will anyone die because they can't use it. But, at the same time, it is highly-polished software that just works and offers massive amounts of value for free. You only pay with accepting that context exists and that other humans exist.

> It is why some people are unapproachable and build boundaries

This is precisely what I am doing. I would argue thought that the "unapproachable" really depends on where one is coming from.


We are getting philosophical, but I wouldn't say the "world is wrong": the world simply is.

Yes, people engage on a topic they have spent few thoughts on. But let's be honest, many who have spent many thoughts on something do not really come up with some genuinely interesting insight either. Thus I have doubts that humans as a whole can "re-learn context", and even those who can, will usually not invest enough in the topic the other side might care about.

I applaud you for your desire to "fix the world", but over time, I've learned to accept it for what it is, and I don't feel the same annoyance you seem to when I am being misunderstood even when I state things plainly (I am mostly — I admit — smugly amused, except when it's the person who can directly affect my life).

Anyway, as long as you are not overly frustrated, keep doing what you are doing (which sounds like building great free software for de-clouding robot vacuums), and fighting the fights that matter to you!


Is it counter-culture to post about Valetudo here when you asked for it not to be or is it only counter-culture when you’re enforcing your preferred social construct?


There was a guy who not only didn't need your help. He came nicely and politely talking to you about a idea for future updates and has done all the technical investigation to check how the feature is and how it could be implemented.

You banned him without even acknowledging him.

Also, Opnsense, home assistant, the homelab community, the dozen of thousand of docker maintainers, they ALL either support directly the people using their software or at least do not try to hinder the community efforts to build their own self help spaces. Which you tried to do with Reddit.

People have simply asked a simple question yet you banned them directly, as if they are asking you directly, they didn't DM you directly and they asked the group telegram that you said they will find help in, yet you want to be the one leading the conversation and not let anyone ask questions and have other people helping them.

Just the moment you were writing this comment on, you were clearly irritated and banned people from Telegram for asking mundane questions just because you were in a bad mood.

Also, and the final thing that leaves no doubt, purging the whole github issue backlog was just demonic. There was literally no gain from this beside some sadistic privilege of showing who's boss.


Yeah that’s fair. Personally I very very rarely use manufacturer support because it’s just very limited. And also likely limited to 2 years.

And when the software is fully offline and I control the update cycle, it’s unlikely the vacuum will just start misbehaving unless the actual hardware is damaged


Yeah, I more meant if there's a bug in Valetudo, I'm SOL since I can't contact anyone.


In theory, you can contact anyone who is willing to dive deep and fix it for you, right? Including the original authors.

Obviously, open source vacuum robots don't have a strength in numbers yet, but suddenly, they are appealing to me too.


That is the case with every FOSS software where you did not buy a support contract.

Would it help you to be able to contact me when I then say "actually, I do not care"? And then what?


Someone else had the same problem and helps, the way I help other people with their problems.

You seem to be saying that OSS communities don't help, which is obviously not true. I'm a member of many OSS communities where users help each other, and that's a core part of why I prefer OSS projects.

This doesn't happen when you ban most people.


> you ban most people.

I do not ban most people as so much that I ban people that did not read and act according to the rules of the space. Which does turn out to be "most people" when you look at an unfiltered set of all humanity, because the ideology of the space is rather far away from that baseline. That is on purpose though and clearly explained many times in the documentation.

The "Why not Valetudo?" page is a good start. The "FAQ" also houses some info. Code of Conduct, obviously and the Contributing.md too.

The information is out there and I did try my best to make it comprehensible and coherent. Most people that get banned usually get banned because they did not read the information first but instead showed up with defaults.


Your reasons are your own, but that doesn't change my point above. For me, an OSS project without a strong community looks about as bad as the original manufacturer software, with all the phoning home and other disadvantages that entails.


Oh, yes, absolutely.

I am not in any way challenging that. That is the correct Take-away. Genuinely.

As said, the culture is different. I do not intend to convince you that my project would be better than what the vendor can offer. In fact, you have correctly pointed out that in your situation, the vendor might actually offer the _better_ experience with actual paid support.


> Would it help you to be able to contact me when I then say "actually, I do not care"? And then what?

Well, yes, because it's not just you being contacted. In this hypothetical world, it's also all the other people that you have banned. And if any of them know the answer, they can answer and help the person, you can announce you do not care and be ignored, and then everybody goes on and the world is a strictly better place for it.


>I think this thread went a bit off-topic with heavy discussions about the community or developer.

Not off topic at all but extremely relevant.


Not sure how this is off-topic, software and community go hand in hand. Despite the focus on community, there is still a healthy emphasis on the software part (and many compliments lol).


I've been using the cosmic-de on arch for a few months now. Started with the alpha and then switched to their git main branch.

I absolutely loved it. It is such a breath of fresh air. I previously used to run i3 and a bunch of other tooling around it I can't even remember. Setup always had some weird edge case or was weird to use. Gnome always felt very bloated and laggy.

I then tried sway because I wanted to see if Wayland was any better performance and was not very impressed, although it just might be a configuration issue, the out of the box experience was just not good. And I wasn't in the tinkering mood anymore.

I installed cosmic and everything just worked. It felt snappy, no weird lags, nice but not too slow animations, even a build in window manager that was close enough to i3 that I no longer need sway or i3.

Notification, Display Management, Login, Autolaunching apps, Window Management etc. everything finally feels like a full operating system the way I have never experienced linux before. Maybe Ubuntu or Mint came close, but those came with their own troubles.


If you don't like tinkering, the likes of i3 and sway are not for you.


I agree, I just have phases. Sometimes I really love tinkering. But I when I got a new computer, I already had to setup so many things, I just wasn't into fiddling with i3 at that time.


Why haven’t you just transferred your config? I’ve got a new laptop, rsynced my entire system, updated some things here and there, and that was it.


Resolution changed, GPU changed and I was running X11 on the old system, it was time for Wayland


I would recommend checking out Cosmic by System76. It's getting a beta very soon but I've been using the alpha and straight their git main for months now and it's very stable.

It looks amazing and feels super snappy, I have never had such a painless Linux desktop experience. It even has a tiling window manager functionality built-in that was enough for me to sway away from i3/sway. But it also just works like a normal desktop that a non-technical user can use with ease.

https://bsky.app/profile/system76.bsky.social/post/3lylz3cfy...


I'm actually super excited about this project. Out of curiosity, does the compositor they use have HDR support? It's one of the features I miss on Linux desktops.


> It's one of the features I miss on Linux desktops.

Not sure about Cosmic, but both Gnome and KDE support HDR these days. Hyprland does as well and I think support for it was also merged into Sway recently.


With the risk of sounding like a fanboy.

LTT makes 9.2% of their revenue on In-Video Sponsors and 12.5% on Sponsored Projects (which are like full videos for a sponsor)

I wouldn't call this the vast majority

https://youtu.be/GeCP-0nuziE?si=2ob1AixcwGZwR4VC&t=719


A huge % of that overall revenue figure is their e-commerce business which will be relatively low margin. They are making roughly double in sponsored videos and sponsored projects than with adsense.

It makese sense that some of that sponsor revenue is tied to youtube viewcounts.


If sponsored projects and in-video sponsor spots dried up because of low view count I feel like a +20% loss would be something they would feel on their bottomline?

I suspect their business still requires that revenue.

But my example could be better. Take any moderately sized youtube channel which has a sponsorship in each video. Maybe one of the gaming channels that figured this out? If they lose the sponsorships it would probably not be great for them.


I personally feel home office makes jobs feel much more like jobs. You have no social relation to your coworkers and it's very hard to build one remotely. Most people barely communicate in zoom meetings beyond the minimum what is required of them.

Good office jobs can feel fun, building something with like minded people and building a social relationship at the same time with them.

Many people are not looking for that, many people just want a job that makes money and let's them log off at a set time. I personally don't enjoy that type of job and feel it's not sustainable over decades. I need some fun in my job.


The device is under the power of law. You can already see it on iOS and Android is pushing for it too.

You will only be allowed to install "approved" applications, your device, not your choice anymore.


Next, they will add some kind of verified signature that must be signed by a trusted third-party provider to the PWA spec and only allow the installation of such on Android


Tmux prevents vendor lock-in but on Terminal level. It's so established and standard that everyone knows they need to support it, which is great. I don't need my terminal do display pictures, render video or whatever crazy features they come up with next, I want a solid base with the essentials.

The rest the Operating system applications can probably do better anyway. VLC, MPV, Apple Preview IrfanView etc.

That's why I love Alacritty, no fuss, no overcomplication. The basics, fast and stable.


It worked out for this specific person under these specific circumstances with a methodology he might have not even fully shared.

You should not conclude from that, that it is healthy for every person to do so.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: