I just saw this one mention endurain, a fitness tracker. I’ve been looking for something to self host data about my health, fitness, etc. Has anyone tried this or anything else in the self-hosted or open source fitness space?
I just saw this one mention endurain, a fitness tracker. I’ve been looking for something to self host data about my health, fitness, etc. Has anyone tried this or anything else in the self-hosted or open source fitness space?
I think I ignored a lot of signs and indications under the feeling that well “I’m promo tracked to the next level and I worked hard so I’ll ignore it.” My partner told me to talk to somebody, friends said I worked hard. But then slowly my motivation to work at my job decreased. I delivered less, I made up excuses, I stop caring about projects when I used to really care. Which was a huge difference because I used to be a top tier developer every year.
But the big part was my personal life. After work I was tired and not motivated, even though I would barely do any work. loosing interest in hobbies was a big indication. Going to the gym, but not really pushing myself, etc. I think there’s some parallels with depression, but I never felt like I had that because I kept getting out of bed doing things.
I had a friend deacribe their experience and I just started thinking yeah I feel the same way. I finally had a health issue/mental breakdown that caused me to go to the doctor and pursue FMLA leave which is giving me partial pay to just focus on myself, focus on friends, and talk to a therapist. I don’t know what I’ll do when it ends. Probably won’t go back to the company.
Weirdly, a lot of my friends in the big tech industry have hit a breaking point and are leaving or on leaves.
I’m recovering from burnout after working at a big tech company for 10 years. I think this article tries to focus on how just giving people the right work will prevent burnout, but I think the causes are very complex and vary for different people. But it’s important to catch it before it’s bad. For me, I had difficult to please managers, or projects that went nowhere, or passion projects that were not invested in, or lack of strong non-work relationships, or even just looking at the company I worked at slowly lose all culture and turn into something that started to abuse customers and focus on profits.
The spec mandating its as a single string isn’t that crazy. It’s good to have a consistent response format so a basic deserializer can deserialize any error response object and get something out.
If you have different providers. One that returns error: { code: string }
and another does something else, you end up with the same problem this post talks about-- Inconsistency.
As far as I can tell, the spec doesn’t limit you to just the one field and you can add other optional fields to the top level to the response that the caller can optionally decide to handle. But if you know there’s going to be a field called error that is a string. You always get at least something out of that to present.
It just goes to show the small parts of API design matter just as much as the big parts. I’ve worked with a lot of engineers who are so eager to draw big boxes and arrow architectural diagrams, but then just rush the details because that’s not important.
The hard part is browsers. Cookies and local storage are limited by the origin URL. You need it explicitly set on the domains you intend to visit, but those domains don’t know your age. The one that knows the age is the identity provider, but it can’t set it for all domains. There are other techniques that you could use, like a smart card combined with a browser extension to do local based user info attestation, but those are difficult to manage at a nation scale and I suspect people will struggle with them, though there are some countries that do have national smart cards (e.g. Estonia.)
Its possible to implement something that hides your actual age from a website, but the tricky part is hiding what website you’re visiting from an identity provider.
Let’s walk through a wrong solution to get some fundamentals. If you’re familiar with SSO login, a website makes a request token to login the user and makes claims (these request pieces of user information.) One could simply request “is the user older than 18?” And that hides the actual age and user identity.
The problem is how do you hide what website you’re going to from the identity provider? In most SSO style logins, you need to know the web page to redirect back to the original site. Thus leaking information about websites you probably don’t want to share.
The problem with proposals that focus on the crypto is that they actually have to be implemented using today’s browser and HTTP standards to get people to use them.
On Android, you can specify which applications you want included or excluded. Or you can specify that you only route your home LAN IP ranges through wireguard. Both of those would accomplish your goal.
If you are port forwarding. I recommend not exposing it on the default port of 25565 and instead expose it as a random port. Then, assuming you have a domain name, create an SRV record that points to your IP and port. This will cut down on the drive by scanners who scan by ports, but won’t totally eliminate it. If you do use the SRV record, your friends won’t even notice there’s a different port.
There’s a set of special topics under homeassistant/
that devices also publish to that describe what each topic does and how HA should present it. HA will subscribe to everything under that root topic to discover all your MQTT devices.
Just updated and it looks like this one fixed the log spam:
json_loads was called from hacs, this is a deprecated function which will be removed in HA Core 2025.8.
Use homeassistant.util.json.json_loads instead, please create a bug report at https://github.com/hacs/integration/issues
It’s a little weird they don’t have a download update button on the new HACS dashboard for an individual repository, now you have to go to Settings > Updates. I also wish I could hide new and available repositories and only show the ones I have installed (you can’t seem to select Pending Restart, Pending Update, and Downloaded at the same time.)
As a professional software dev, I worked with pretty much every OS daily. My personal computer was a Windows, my work laptop was a Mac, and I ran my code on Linux so I was familiar with the things I liked and disliked about each. I also ran my own set of server with my websites, mail servers, and various research projects to learn and grow.
Then I decided it was time to order a new laptop and I didn’t want to go to Windows 11 because I felt Microsoft was going too much into features I didn’t want like Ads, more tracking, pushing AI. Don’t get me wrong, I like AI, but it was too much about forcing me to use it to justify their stock valuations.
I also was working on reducing my usage of big tech, setting up self hosted services like pi-hole, Home Assistant, starting to work my own Mint alternative. It just felt natural to get a Framework laptop and try running Linux on it.
I still have a Windows desktop for games and other things, I still use Mac at work. I still like the Mac for it’s power efficiency and it doesn’t get as hot. Linux has some annoyances here and there, like dbus locking up, or weird GNOME issues, or for a while my screen would artifact until set some kernel params, or the fact that my wifi card would crash and I had to replace it with an Intel card, but I’ll stick with it.
I actually have a double sided male A cable. I was shocked when I got it but I have this laptop cooler that has two A ports on it, presumably to allow a pass through but I’m always nervous that I’ll plug it in and fry something.
There’s two main ways of doing geo-based load balancing:
Of course, this doesn’t matter for companies that only have one data center.
Sorry, what do you mean route it directly? Maybe I didn’t clarify well enough.
My DNS is routed over the VPN but Internet traffic is routed directly. The problem is the load balancing is done based on where the DNS server is so say Google even though the traffic egresses directly to the internet bypassing the VPN it still goes to a Google DC near my home. Not all websites do this so its not always an issue.
Yes, but if you hit a company doing DNS based load balancing, DNS is going to return an IP that’s near to your DNS server which may not be near your device. That’s going to add to the latency.
I have Wireguard and I forward DNS and my internal traffic from my phone over the VPN to my pi-hole at home. All other traffic goes directly over the Internet, not the VPN. So that means only DNS encounters higher latency.
However, because a lot of companies do DNS based geo load balancing that means even if I’m on the east coast all my traffic gets sent to the West Coast because my DNS server is located there. That right there has the biggest impact on latency.
It’s tolerable on the same continent, but once I start getting into other continents then it gets a bit slow.
If you’re using it, Home Assistant natively supports Wake On Lan. This would only be able to handle the shutdown/sleep side of things.
Do the services themselves have any logs? Do you have a reverse proxy? Does it provide any logs? 503 means something received the request and tried to pass it on so something should have logs.
One place it would be useful is if you are worried about somebody breaking into your home and stealing your computer. Don’t store the key on the home computer, instead store it on a cloud server. The home computer connects to the cloud server, authenticates itself with some secret, then if the cloud server authorizes, it can return the decryption key.
Then if your computer gets stolen or seized, it’ll connect via a different IP and the cloud server can deny access or even wipe the encryption key.
this doesn’t protect against all risks, but it has its uses.
Example: https://www.ogselfhosting.com/index.php/2023/12/25/tang-clevis-for-a-luks-encrypted-debian-server