HN user

karyon

252 karma
Posts3
Comments68
View on HN

I donate 10% of my net income to charities.

Having a budget for donations is really nice because it makes giving away money much easier. In my mental model this is simply not my money, but I can decide where it goes. This also makes spontaneous donations much easier. When the Ukraine war broke out and my employer set up a donation matching program, giving away 2000€ didn't require second thoughts from me.

Scaling your donations with your salary is nice because it gives you a reason to ask for higher salary besides becoming even richer.

With a software engineering salary, this is also enough money to support multiple organizations with a significant amount of money each. Discovering new organizations that do cool stuff and reading the occasional newsletter with positive news, knowing that your money supported that outcome, is really nice.

I give the bulk of it to the Against Malaria Foundation, drawing from the effective altruism idea. They distribute mosquito nets and score very high in the (years of "healthy" life saved)/dollar metric. The rest goes to various NGOs around human rights, civil liberties, environmental protection, journalism, and the FOSS/donationware that I use.

LineageOS does not have certification (i.e. does not meet Google's quality standards) to install the Google applications. Manufacturers who want to ship with Google Apps have to take everything up a notch to get the certification, which is a huge amount of work (on top of everything that LineageOS and the likes are doing).

that's how the start page of Autodesk Civil3D's and InfraWork's are built (steps 2 and 3 only). Screenshot here: https://knowledge.autodesk.com/support/infraworks/learn-expl...

There's not much more to it than you can see, there's the BIM360 tab on the left that allows browsing through a cloud directory structure, and Civil3D also has a learning content tab.

Qt-based Software uses Qt WebEngine instead of the .NET stuff. The reason we're using HTML + JS is that we wanted to share the start page between different applications and HTML + JS is the lowest common denominator so to say, something that every team could integrate.

Megadesk 6 years ago

They updated the frame to be less wobbly in early 2020: https://www.fully.com/the-new-improved-jarvis/ (so sibling comment may not apply)

I own that one (extended version) and in the "sitting" position (I assume that's how you would use the wheel) I can make it wobble front to back by a few millimeters if i really lean onto it, but side-to-side i can move it barely a millimeter or two even when yanking it rather hard. It feels really solid in that direction. In the standing position, it does move more.

Yes, I have. "Every Western institution" is obviously an hyperbole, I wouldn't consider that ignorant. I started skimming the reply-article at some point, as it seemed to me like most nitpicks the author had might be correct, but missed the point of the original article. Reminding me of https://news.ycombinator.com/item?id=22854475.

(OT: 'Please don't comment on whether someone read an article. "Did you even read the article? It mentions that" can be shortened to "The article mentions that." ', from the HN guidelines)

Can someone expand on this? I found the article interesting, energetic and containing a strong and, to me, positive and useful message ("ask yourself what are you building?").

Yet parent calls it ignorant, of what? a sibling comment is "horrified" that the article gained so much attention here, although it seems to me that with it's focus on building stuff it's 100% on topic (which is "Anything that good hackers would find interesting").

As it's a little unsettling to me that other people find it horrifying that people like me found the article interesting, any details would be appreciated.

Good points. We believe we have fixed the physical-order-and- scraping-issue by using random uuids as primary keys, showing stuff in the UI always ordered by PK, and periodically doing a CLUSTER, which physically rearranges the table after some index (pk in our case).

We haven't thought about higher-order storage layers. I guess we should do that... Thanks!

The attack vector would be an attacker getting their hands at a DB dump including XIDs. Without any particular measures, they'd be able to de-anonymize every vote ever made, which is kind of a worst case scenario for an anonymity-focused app. Granted, since usually there are no dumps including XIDs lying around (e.g. backups don't contain them), this would effectively require an attacker to gain access to the database. When they're that far they could of course do all sorts of bad things, but most of those could probably be fixed with recreating the VM with a backup. Deanonymizing existing votes cannot be fixed :)

We also thought about hashing user IDs, but with any practical number of users in the database it would be possible for an attacker to just hash all existing user IDs and checking them all. So that would be more an obfuscation, making de-anonymization harder, but not impossible.

edit: we considered putting the user's password into that hash as well. that would also enable us to let the user edit their vote later, while still retaining anonymity. But then we'd need to ask them for their PW when voting, or we put a hash of the PW into their session data, and we'd need to restrict changing the PW until the election is over, and it seemed not worthwhile.

Re "same business transaction": That would probably still allow for correlating the votes with the flags because they'll still be added with some XID, which are monotonically increasing. Of course, it would require more effort and probably even guesswork, but still :)

Rewriting the election in the same transaction sounds smarter than the periodic solution. I need to discuss that with the team, thanks!

There's also one inherent data privacy problem in MVCC that I've been running into.

Suppose you have an app that lets people anonymously vote or comment on stuff, but only once. The vote in the DB must not have any connection to the person. So, you give the person a flag whether or not they voted already, and store the vote separately.

Now, you'd want to set both values in the same transaction for obvious reasons. But, since Postgres uses MVCC, the two tuples that are added to the database both contain the same transaction ID (XID), so there's the connection between user and vote again.

There seems to be no way to instruct postgres to "clean" those XIDs in any way. What we're doing now is periodically and manually updating every tuple in each affected table with dummy changes, essentially duplicating all tuples with all new XIDs, and then running VACUUM to delete the tuples with the old, potentially-deanonymizing XIDs. We haven't found anything easier...

you seem to assume that the bandwidth used by netflix is fixed. however, what actually happens on network saturation (given net neutrality) is that both netflix and non-netflix content will slow down. netflix watchers will see buffering or will get a lower resolution.

that is the point of net neutrality: handling packets on a non-discriminatory best-effort basis. if the "channel is stuffed", then a certain percentage of all the packets in the channel, including the netflix ones, will be dropped.

SES-10 Mission 9 years ago

In the hosted webcast they explained that the droneship is on a satellite link and expected to loose connection as soon as the first stage closes in due to vibrations. Edit: someone else here said the exhaust fumes might also disrupt the satellite link.

For one, all shaders would need to be converted from HLSL to GLSL

There are transpilers (cross-compilers?) that translate from HLSL to GLSL and back and into every other shading language out there, there's really a lot of such tools.

Secondly as I understand it the Vulkan API is much more low level and barebones than DirectX

Vulkan is about as low-level as Direct3D 12, which has not much in common with Direct3D 11 and lower, just like Vulkan has not much in common with OpenGL. OpenGL is (very roughly) equivalent to Direct3D 11, and Vulkan is more like Direct3d 12. The thing is that switching between the similar APIs is a lot of work, but does not require large refactorings, whereas switching from OpenGL/Direct3D11 to Vulkan/D3d12 requires more fundamental work.

How to Be a Stoic 9 years ago

Actually, that quote was the one sentence I didn't understand. Who's spilling the wine? And why does that buy tranquility? If you could help me that would be great :)

yes. in short, it didn't work for me. either your ROM supports that out of the box (mine didn't), or you install xposed (should be rather simple with their installer, but didn't work for me, likely because my five year old device isn't supported), or you patch your ROM manually to enable "app impersonation" (signature spoofing), that didn't work for me either.

but the xposed route should be simple, provided you have root access.

Making a lot of money is considered the primary goal in our capitalist society

It might be the goal of people lacking empathy and people who think happiness comes with money, which is true only up to an amount far below 1M. Unless, again, the money is meant to be given to others. I am not sure what you mean by considering my argument a non-sequitur, could you elaborate?

the sheer mechanics of our economy would guarantee it to be a net positive

By "Making a positive impact on others" I didn't mean making a positive impact on the economy. I meant helping actual problems like hunger, diseases and pollution.

Well, "real talk" doesn't contradict "full of arrogance". In my opinion, maximizing pay just for the sake of accumulating/spending a lot of money is quite unsympathetic, and indeed to some extend arrogant. Unless of course you plan to make a positive impact on others or our planet with that money, but to me your posts don't make that impression.

notes/questions:

4. a citation why chrome would be "safer" than firefox (or edge) would be appreciated. in terms of privacy, i wouldn't trust chrome as much as i'd trust firefox.

7 and 10: as others have noted, where is the security risk in storing the encrypted vault in the cloud? actually, choosing user-friendly solutions has a security benefit in itself because it doesn't make you switch to less secure alternatives ("i'll just use my standard password for this one thing) out of laziness

9. should mention PGP, although that's certianly not convenient and might not work for less tech-savvy people.