HNHacker News
TopNewBestAskShowJobs

mr__y

349 karma · joined May 5, 2018

submissionscomments
mr__y··on The End of the Beginning
>this is no longer possible because we can't bring compute any closer to the user than the mobile devices.

this is based on a very dubious assumption that bringing compute closer is the only path for innovation.

and even that is not true, you could imagine compute being even closer with a direct brain interface (actually you could consider google glasses to be an attempt at bringing compute closer)

mr__y··on NextMind is building a real-time brain computer interface
Wouldn't this make a literal tinfoil hat effective ad-blocker or at least an actual privacy enhancement?
mr__y··on Ask HN: How do I choose the right resource to learn CS fundamentals?
>instead of repeating a slightly different version of what you've already learned

while I generally agree with your idea, a little counterpoint: it depends on a way you consume those materials. If you do that thoroughly, actually read and analyze source codes or examples, try things on your own as instructed, complete excercises and so on there is absolutely no point in doing multiple thins on the same topic. But if your preferred method is fast skimming, skipping some excercises and so on then skimming two or three books/videos/whatever on the same subject could make some sense. The latter method is very chaotic and is probably not the best idea to apply it for learning the fundamentals, but I just wanted to point out that such a learning technique does exist and sometimes makes sense, especially if just the general understanding is your goal.

mr__y··on The battle to save America’s undercover spies in the digital age
>Whatever controls they had to block spidering, limit further than immediate contacts, etc would have to kick in.

On the other hand their business requires the ability to discover candidates by HR people so I guess that completely disabling search/discovery is out of question. Of course a simple limit to a number of queries or their reach would still be a huge problem for the scraper while not being a problem for most of the users and therefore not hurting the business.

Then considering that such massive scraping is probably already illegal and additionally the operation is being done by some intelligence agency meaning that legality is not an issue we can do a lot more that simple scraping using some proxies. This could include use of botnets (free resources, mich wider and more realistic pool of IPs) and/or hacked accounts (to scrape as a verified reputable user).

This all of course makes such a scrape a lot harder and probably not something that a single person with just a personal budget could do,but I believe this is still within the reach of even a small organization. And I'm 100% certain that this does not require multi-billion black budgets or large datacenters hidden underground.

>a) Not having a profile isn't definitive. You could have missed it, it could have been locked down, or the person joined late.

of course you are right with that, but then I could have full-scrapes being done once a year or even more often. While missing a profile once is obviously quite realistic and actually expected I assume that it would be unlikely that the same profile is ommited 20 times in a row given that the scraping has generally been proven to be effective.

Additionally I was initially thinking about using such data as one of the metrics not as a definitive spy-detector. Your account missing in my 2009-2017 scrapes and appearing just recently does not make you a spy but does increase a likelihood of you being so.

>You can't go back to build your baseline. You had to have the foresight to scrape it then or count on one of the breaches to establish who had accounts when.

Thats true. And even with data available from breaches might not be accurate or even be intentionally altered. But then again not everyone runs an intelligence agency

mr__y··on The battle to save America’s undercover spies in the digital age
>and it doesn't show others when you connected

if I actually scraped all the profiles in 2009, then in 2014 and then in 2019 I could tell whether an account is a 10+-year old account by simply checking if it is available in my 2009 snapshot. Does not matter if the social network displays or leaks profile age in one way or another. If it's not in my 2009 and not in 2014 snapshots then that profile is 5- years old. With frequent enough snapshots I would get even better timing resolotion. Now given that it's neither that hard nor that expensive to scrape or store that amounts of data, such an approach would actually be feasible.

mr__y··on Too Much Crypto [pdf]
>but this often does more to hurt low-resource users than brute force also.

1MB memory usage would not hurt most of the low-resource users while having 1MB memory for each of the millions of computational units in a brute-force rig would hurt the attacker a lot more. I assume that it is relatively easy to have a huge number of brute-force cracking units in a simple GPU/FPGA/ASIC rig but if each of them would additionally need lets say 1MB of RAM that would present a serious problem for the constructor of such rig.

I do get that AES will happily run on a 20-year old smart-card simplified cpu without a problem while my fictional 1meg-requiring cipher would be problematic, but then again it's 2019 and 1MB is not that of a problem for the least powerful smartphones or even embedded systems.

mr__y··on The battle to save America’s undercover spies in the digital age
Assuming that the average adult citizen is nowadays using social networks for more than a decade you could cross-reference the persons photo with many snapshots of your scraped data expecting the person to show in most of them, not just one. With such approach, the fake profiles would have to be created with many years advance to succeed. Now given that using cryptography it is relatively easy to verify if our reference data was not tampered with this insertion of fake profiles would be kind of hard. Hacking such systems in one way or another could be a "solution" depending on how such systems operate (and if they actually exist or are just a theoretical possibility imagined by hn community)
mr__y··on Too Much Crypto [pdf]
>We know we need at least like 80 bits to start to be safe against brute force.

you could imagine a cipher with a computational/memory[0] intensity so high that the brute force attack could be practically infeasible even at lower key-sizes. I am not advocating using smaller keys, just pointing out that there is more to brute-force resistance that simply just the key-length number. (That is probably the numerology the GP was referring to)

[0]Since memory intensity instead of pure computational intensity seems to be employed by some hashing alghorithms I wonder is that would be possible block ciphers as well. The way I understand this, it makes ASIC/FPGA brute-forcing a lot harder/expensive

mr__y··on The battle to save America’s undercover spies in the digital age
>Unless foregin governments continuously poll and save data from FB and IG apis (which is possible) all of that can be faked or deleted.

Given how simple and relatively cheap that is I would be very suprised if they don't. This is a kind of operation that a few people with their private budgets could pull off (I mean just scraping the contents and storing a single copy , not the analysis part) so don't expect powerful and not-so-powerful organizations or goverments restraining themselves from doing so. This is neither expensive nor difficult while being extremely valuable

mr__y··on The battle to save America’s undercover spies in the digital age
Why bother with bugging a bathroom when most people will carry a wiretap device with geolocation there willingly? And continue to do so despite the evidence that device is actually listening? Then, why bother bugging a bedroom if people would put another listening-all-the-time device there too? But then why bother even with that when most people will handle the most private conversations through one app or another that stores all the conversation history in a datacenter you have access to? And then, to make analysis of those conversations easier you get a generation that prefers texting over voice. I can't really imagine making it even easier to wiretap everyone and everything.
mr__y··on Too Much Crypto [pdf]
>"Crypto performance doesn't matter"

the argument I was trying to make is more in the sense "is it worth to take (even a minimal) risk optimizing performance given that this very performance gain is not (that) important overall"

That being said, I do understand that there are a lot of areas where performance/energy budget is tight and this actually makes a (huge) difference

mr__y··on Too Much Crypto [pdf]
2x+ speedup would assume that all you do is just doing encryption/decryption while in most cases crypto would use only a small percentage of cpu time anyways. So if - let's say 1% of cpu time is spent on crypto, then that 2x gain translates to .5% overall speedup. On the other hand I do understand that this % varies a lot depending on what software/system you look at
mr__y··on Too Much Crypto [pdf]
A) debatable

B) very,very debatable, especially this piece: "understand the space well-enough"

C) I tend to agree, but then (especially with hardware-supported crypto) there is not much to be gained by reducing the number of rounds

mr__y··on The Joys of Unix Keyboards
I use Caps Lock only to turn off Caps Lock if I accidentally pressed it previously
mr__y··on Fake “like” factories – how we reverse engineered facebooks user IDs [video]
>First of all, it is not like FB employees are pushing people into gas chambers in Dachau

I laughed at this way louder than I'm willing to admit

mr__y··on Fake “like” factories – how we reverse engineered facebooks user IDs [video]
It's probably not that they can't classify fake accounts but that doing so at a scale requires too large resources and it's more economical to employ only simpler techniques that weed out most of the bots and live with the remaining few.

Then if they also happen to anyhow benefit from the existence of those fake accounts then it becomes even harder to justify costly filters and leads to a sufficient-enough-to-not-look-obviously-weak grade filtering

mr__y··on Fake “like” factories – how we reverse engineered facebooks user IDs [video]
There are a lot of JS-based detection techniques that rely on things being or not being available. By using an actual browser you have JS/WASM environment that is identical to what is expected from a real user. By using [scripting language of choice] you would need to emulate everything that a given bot-detection system tries to check.

From my very limited experience there are two main categories of websites:

1. Using curl and/or [library of your choice] in a [scripting language of choice] is enough

2. Forget about not being detected without a full blown browser unless you want to spend endless hours trying to emulate whatever is needed to be emulated and also willing to burn some accounts and IPs in the process.

mr__y··on Fake “like” factories – how we reverse engineered facebooks user IDs [video]
Selenium is still relatively easy to detect by JS, but on the other hand it does require some dedicated[0] effort even if just the user-agent is overriden and that itself might be enough to work for relatively long time. Other important thing is rotating over different IPs that appear realistic[1]

[0] dedicated in a sense of lets include some script specifically designed to detect Selenium. [1] for example it's kind of unlikely that non-bot visitor is using IP from a range used by amazon instances. not sure how often this is used but I assume that most bot-detection systems would use that information at least as one of the metrics

mr__y··on Scaling React Server Side Rendering
Depending on the code and the dependencies it might not be that free if you run on some unexpected problems after those upgrades due to some incompatibilities or even reliance on now-fixed bug. While I understand that the latter should not be the case given the code is written properly but with sufficiently large projects this is not as uncommon as we would like it to be.

Also there is a more common scenario where updating one thing requires updating other packages and through a long chain of denependencies one of the pieces being updated has something missing in the new version (that was available in the previous version) and anything that relies on that will stop working.

Anyway, even the best case scenario where everything is perfectly fine after the updates still requires detailed testing to ensure that really everything is as OK as it seems. So even then this is not totally free

But then of course, it may still be the easiest path for improving the performance.

mr__y··on This Page is Designed to Last
HTML may contain style and script tags. Sometimes minification may break CSS or JS - however rare that is, if you want your archive to be reliable you don't want functionality that may break something. If you intend to reduce storage space usage, HTML may be gzipped - this is "losless" so it does not carry a risk of breaking anything
mr__y··on How tracking pixels work
The ads can be made relevant relative to website's content, not my previous activity. If I'm reading a tutorial on how to fix something there may be ads for tools that are required for that. This is very relevant to me and at the same time does not need any information about my previous browsing history or other activities.

On the other hand, when I'm later visiting pornhub I'm unlikely to consider purchase of those tools even though they may appear relevant to my interests based on my previous browsing history. On the other hand, I am more likely to be interested in meeting hot moms from my area then - which is again solely context based.

mr__y··on How Shopify Manages API Versioning and Breaking Changes
>those apps continue to be updated and utilizing the latest features.

while this is orthogonal to Shopify API or your post at all, since you mentioned the need of updates, I just wanted to use that opportunity to vent my frustration with the constant push to update everything all the time and judging any piece of software by using "when was the last update" as a metric.

The problem I see is that not all apps or libs need (frequent) updates, many (maybe most) do need them, but some don't. They provide some functionality, they do that well and you could call them "complete". Maybe some security fix could be needed from time to time, but with a mature code being in use for many years event those are not frequent.

For example, consider something like ping utility. It does what it does for many decades. There was a need to add IPv6 support, but that was almost two decades ago. Why would anyone need to update it? I do not want any additional functionality, I don't want it to send emails or have social media share button. I want it to send ICMP echo requests and receive ICMP echo replies and nothing more. Aside from some security fixes no updates should be needed for 10+ years. This utility is done. It should not be thrown upon just because there were no updates for many years.

While of course neither ecommerce or Shopify platform are "done" and they get many updates now and will get updates in future it does not mean that some functionalities could have reached "done" stage.

For a "complete and done" addon, there could be a need for a security fix from time to time. There could be a need for some adjustments if a major browser introduces a new deviation from JS/CSS/HTML standards and forces everyone to update their code. But those events happen from time to time, possibly not that frequently. This means that some addon/plugin would not require any updates during the periods between those events and those periods could be many months/years long. But hey: "this addon did not receive any updates for 13 months, it must be really bad and should be avoided". This leads to a situation where a competing solution with tons of bugs will look better just because it receives two updates a week.

mr__y··on PinePhone Review
Imagine future cashless society with mobile-only payments. And a smart-car that needs a phone to open/start. And a smart-home with front-door unlocked with a phone. If you loose/break your phone - no problem, you can replace it with a new one, borrow one or use that old phone you keep in a drawer just in case. Not a huge deal. But if your account gets locked you have a problem. I'm afraid we as a society are giving too much control to a few corporations. It's not that of a problem yet of course
mr__y··on PinePhone Review
This. It may not (yet) be suitable for every-day use, but it is absolutely great for pet-projects or some tinkering. Also I would love to see enthusiasts creating alternative ecosystem around this, like open, federated social networking apps or maybe something with mesh-network support and hackernews reader app (of course). It won't get mainstream in general public, but could be sort-of mainstream among groups of open/free-everything enthusiasts.
mr__y··on Undocumented Catalina file access change
I would expect them to send search the query if and when I search for something and send exactly nothing when I don't
mr__y··on Amazon, Apple, Google, and the Zigbee Alliance to develop connectivity standard
Also relevant https://www.youtube.com/watch?v=JeQD4UdGY-A
mr__y··on Amazon, Apple, Google, and the Zigbee Alliance to develop connectivity standard
>drive-by type attacks would be very concerning

not only that. One insecure system in the area could be infected and then controlled to attack other networks in the area. With a high density of IoT devices you could have malware spreading wirelessly device-to-device. Also with a wide IoT adoption with such devices being used by public/utilities companies (smart street lamps, leakage monitoring in pipes, smart electric grid etc) you don't even need a densely populated area to have that problem.

>I am more concerned about the bigger threat, global attacks.

I once read something among the lines that IT security needs its own Pearl Harbor event. I can neither quote it exactly or attribute it to any source

mr__y··on Amazon, Apple, Google, and the Zigbee Alliance to develop connectivity standard
How would you solve access permissions in DHT? What if a node in DHT holds data that it is not granted to read? This would imply encryption of the data to prevent unauthorized reads - this does not really seem as a complicated problem - the data could be encrypted with only the nodes granted the read access having the decryption key(s). What seems harder to me is write permissions - if the data is encrypted/signed, only those nodes that have been granted permissions (and thus have copies of keys) would be able to overwrite/change that data. So the node that holds the data would not be able to overwrite it if it does not have r/w access to that piece of data. Nothing prevents from removing this data though. (I'm assuming the possibility of some nodes being malicious)
mr__y··on Amazon, Apple, Google, and the Zigbee Alliance to develop connectivity standard
Thanks, it looks really interesting and seems to do what I just described. The thing it lacks though is - in my opinion - RPC-style messages. For example an alarm controller could subscribe to motion events, but when such an event occur it should be able to turn on sound-device immediately or shut some locks. The one-to-one communication as described here: https://github.com/mqtt/mqtt.github.io/wiki/one_to_one seems more like a hack than a proper solution.
mr__y··on Amazon, Apple, Google, and the Zigbee Alliance to develop connectivity standard
"Since your recent comment does not meet our Community Standards(tm) your account has been suspended for a period of 28 days*. Additionally you will not be able to turn on the lights during that period and your microwave usage will be limited to 90 seconds daily."
← PreviousPage 3 of 8Next →