HNHacker News
TopNewBestAskShowJobs

anty

62 karma · joined September 8, 2010

Developer based in Austria.

Contact: hn(at)anty.at

submissionscomments
anty··on Gmail will no longer support checking emails from third-party accounts via POP
Gmail quietly drops forwarded mails sometimes. They don't put them into the spam directory, either.
anty··on Gmail will no longer support checking emails from third-party accounts via POP
With IMAP i need to run a mail server that stores my mails forever, right? I want to "import" a copy into Gmail and delete it on the original server.
anty··on Gmail will no longer support checking emails from third-party accounts via POP
Is there any solution that does not require me to run my own email server?

I have a 2GB email server. I use POP to regularly import the mails into Gmail. This deletes the mails on my limited-storage-server.

I already pay for Google storage. I do not want to pay (more) for another email server just so I can keep all my emails forever.

Forwarding mails does not work, because Gmail quietly drops mails. They don't even put them into the spam folder.

My webhoster told me I could pay for Google Workspace. There you apparently can use your own domain. But then I have a third service I have to pay.

anty··on SQLite offline sync for Android quick start
Thanks for the clarification. Looking forward to see your solutions to the constraint problems.
anty··on SQLite offline sync for Android quick start
Very cool, I'm working on something similar!

Naturally I have some questions:

1. I don't see any examples for foreign key constraints (ON DELETE and ON UPDATE) or UNIQUE constraints. Are constraints still supported? 2. How is row-level privacy implemented? Are "forbidden" rows not synced by the server logic, or are they encrypted?

anty··on YouTube No Translation
I did this too, but then YouTube translated videos in my native language to English.
anty··on Homomorphically Encrypting CRDTs
Please do! There are too few current articles about CRDTs around!
anty··on Fossify – A suite of open-source, ad-free apps
Google Photos also sometimes promotes a printing service. I forgot about that.
anty··on Fossify – A suite of open-source, ad-free apps
I don't see any ads on the mentioned apps on my Pixel phone.

I do have ads in the Play Store app and in the Gmail app, though.

anty··on Ask HN: What are you working on (August 2024)?
I'm integrating daily steps walked into my workout/nutrition tracking app EverBeat for Android. I've noticed that this is an important metric for many people interested in losing some weight.

I estimate burned calories on the minute-to-minute level for all activities, which is a fun challenge.

For the steps to calories conversion, I require time and distance walked. Unfortunately it's surprisingly difficult to get some kind of distance information from Android. Google Fit API provides this data, but will be killed soon. The RecordingAPI will hopefully provide this in the future, but not yet...

anty··on Show HN: I made a tool to help collect and validate startup ideas
Great Landingpage! Inspired by Pieter Levels?
anty··on Google Fit dev APIs shutdown set, fate of Android, Wear OS apps go unannounced
It's not. Google Fit uploaded everything to the cloud, but Google Health Connect keeps the data on the device.
anty··on Google Fit dev APIs shutdown set, fate of Android, Wear OS apps go unannounced
> I have a Renpho scale, the way it works for me is that when I step on the scale it turns it on and connects to my device via bluetooth which wakes the app. The weight is captured and synced in the background to both the Renpho cloud service as well as the local Health Connect.

I bought a Wifi scale specifically so I don't have to have my phone with bluetooth on, nearby. Does the BT-connection open the app itself, or just initiate a sync in a background service? I was under the impression that it is impossible to access Google Health Connect in the background – I get access-errors in my log when I start my own app from the IDE while the screen is off.

> [...] they get a lot of write storage to health connect for free from the API

Is this really an issue that is solved by using Google Health Connect?

> As I understand it the access is 30 days prior to the first permission given.

You are right, I edited my original post accordingly.

anty··on Google Fit dev APIs shutdown set, fate of Android, Wear OS apps go unannounced
> It's more secure and allows a wider more diverse suite of apps to integrate into it.

It's more secure, yes. But since the data stays on the device now, web apps cannot read or write health data anymore. You need to develop a dedicated app to access the data on the device. And the user has to interact with the app, or the data will not be accessible.

E.g. my Withings scale writes my body weight to Google Health Connect. But I need to open the Withings app every time for that to work. The app-developers cannot do this in the background afaik. (The data flow is: scale -> cloud -> app -> Google Health Connect.)

Another issue I see is: There is no incentive for app developers to write data to Google Health Connect. Even if you subscribe to the idea of using it as your data-store, you will lose access to the data if a user uninstalls your app. It's only possible to read data up to 30 days in the past, or however long the user has installed your app – hopefully they don't decide to reinstall it.

I really appreciate the inter-connectivity Google Health Connect allows between apps, though.

anty··on Show HN: Workout Tracker – self-hosted, single binary web application
Titan looks similar to the workout app that I'm developing: EverBeat! I'm also developing it for myself right now, that's why it is Android only atm. My goal is to employ subtle gamification to get the user/me to the gym more often.

I was wondering where you got the data from to know what muscle group is used in each exercise?

anty··on Skip the API, ship your database
Oh, I implemented something like that for my Android app. It seems to work quite well. I don't have many users yet, though.

I replicate the clients Sqlite DB to a central server (over a REST-API) where it is synced with existing data. I use an CRDT, so changes don't get lost and as long as the clocks of all the users devices are accurate, the merges are in the correct order.

This enables offline access, but also the use of my app without an account. You can always merge the data later. Multi-device merge is also possible, if you create an account. Especially the multi-device merge was a big headache until I settled for this approach.

Since it is a home-grown solution I still have to do some manual stuff that could be abstracted away, like converting datatypes to and from JSON, Kotlin, PHP, MySQL. There's not always an equivalent datatype in those technologies.

This approach probably won't work well for big databases that share data between multiple users, though.

anty··on Noyb win: First major fine (€ 1M) for using Google Analytics
Anyone has a list of good alternatives for Google Analytics that don't break the law, but let me have some insights into who visits my websites?
anty··on React SVG Drawing Library
Okay, I guess you could attach that functionality to an existing component. It just feels wrong to me, that you would put something that looks like a separate component into a hook to inject into another component. I thought there was some benefit in doing it like this, that I cannot think of...
anty··on React SVG Drawing Library
Yes, but you could do that in a component as well?
anty··on React SVG Drawing Library
As someone learning React atm: Why is this developed as a hook, and not as a component?
anty··on Local-first software: You own your data, in spite of the cloud
I was hoping to read more about how merging of conflicts are done. The article tells us, that "users have an intuitive sense of human collaboration and avoid creating conflicts with their collaborators". Regarding non-clear merging, it states that it's still an open research question of how to let the application or the user with a view of the change history merge the conflicts.

How to merge conflicts is probably the most important part in a non-trivial app. Does anyone know of examples or research that has been done in this direction?

anty··on Certificates for localhost
Same here. We use a subdomain with HTTPS that points to 127.0.0.1, and a WebSockets-Server on our clients machines. We install the private key on each machine for this to work... yeah.

It's always a nightmare, when a browser-upgrade comes along and changes something.

Currently the following connections work:

"wss://localhost.example.com:4321/somepath", // Mac: Chrome, Safari, FF

"wss://localhost:4321/somepath", // Win: Chrome, FF

"wss://127.0.0.1:4320/somepath" // Win: EDGE, IE11, IE10

Some other combinations are possible, that's just what I know we use atm.

The worst thing is: I didn't find a way to catch connection-errors to these URLs. So I have to use timeouts, and try all of them... (or decide by User-Agent which URLs to try.)

I wish there would be some kind of standard that solves this problem.

anty··on Citizenfour HD
The closest I could find is Snowdens legal fund: https://edwardsnowden.com/donate/
anty··on Ask HN: How do you find freelance/contract gigs?
If you are still searching, them I'm the guy for you! Can you contact me with some more details at hn(at)anty(dot)at please?

Thanks, Andreas

anty··on Ask HN: Passive income ideas?
There seems to be a lot of competition in this field. Did you evaluate existing services? It's an interesting problem.
anty··on Show HN: urlbox.io - Add beautiful website screenshots to your site
I played around with the sign-up form because I'm designing something similar at the moment. Once I get a "username not valid" error, I can't re-enable the submit-button anymore. You might want to fix that. Also I don't think that the username was already in use, because I entered a random email. Probably a validation error.

To say something positive: I like that the headline changes the last word periodically. That caught my attention.

anty··on EU: Possession/distribution of hacking tools to be made a criminal offence
Where does it state in the article that possession of hacking tools is made a criminal offence?
anty··on How Not to write a "REST" API
Username and password are still sent in plain-text. You could use HTTPS to make the communication secure.
anty··on I quit my high-paying job to follow my dream of launching a startup. Here it is.
I had the exact same idea a year ago. Looked for competitors and found one very good looking that provided this service for free, with a great website. That's why I didn't develop it. I hope there's enough demand so that op has success, though.
anty··on Fuck passwords
Reminds me that I have locked myself out from my Google account by using umlauts (specifically an "Ä").
Page 1 of 2Next →