HNHacker News
TopNewBestAskShowJobs

n0on3

281 karma · joined February 5, 2011

submissionscomments
n0on3··on Why Don't Americans Use Bidets?
So many comments mention bidet vs toilet paper or bidet as a solution to toilet paper shortage. This is so weird to me (and I guess to others raised in countries where the idea of not having a bidet is not even considered) because in the way we are taught the two aren't mutually exclusive, and I ain't talking about using toilet paper to dry yourself. Sure, one can manage with just one of them if needed but still... ¯\_(ツ)_/¯
n0on3··on Cargo Cult Science (1974)
I think that's not just your opinion, but rather the actual definition of scientific theory. Lots of popular science or introductory textbooks begin with this very definition.

https://en.wikipedia.org/wiki/Scientific_theory#Essential_cr...

n0on3··on Show HN: Can’t afford Bloomberg Terminal? No prob, I built the next best thing
https://www.imdb.com/title/tt1596363/
n0on3··on Twitter names famed hacker 'Mudge' as head of security
> security should be following basics as specified in common security standards (PCI DSS, ISO 27001 etc)

Would be nice but no, not really. The standards you mentioned are mostly compliance requirements. To be honest, a good chunk of the industry considers them as kind of a joke from a security perspective.

> It's comprehensive and not that hard to learn

Have you even read these standards? I mean, they might be "not hard to learn" but they are far from comprehensive (or specific, depending on which one you are looking at)

> Twitter are not remotely close to operating like that given their recent hacks

Ask literally any security professional you trust, companies compliant with PCI DSS and ISO27k1 get security incidents and breaches all the time just like everyone else and possibly more (given that if they need compliance with these standards they are probably big enough to have very wide/heterogeneous infrastructure/applications portfolio/administration practices/etc). If they claim they don't, that's most likely because their telemetry sucks (so, it still happens they just don't know about it)

n0on3··on Black Hole Visualization in Unreal Engine
I'm no expert but from what I recall you wouldn't get there: as you get closer you would reach a point where the difference of gravity in the space occupied by your own body is such that you would get torn apart and turned into spaghetti
n0on3··on Why I left my tenured academic job
That's true, but I think on one hand these are fairly rare cases compared to the whole industry while on the other there is also the point that these divisions might not be as stable and long-lasting as one might expect.

Related, discussed on HN a while ago: https://blog.dshr.org/2020/05/the-death-of-corporate-researc... Previous discussions https://news.ycombinator.com/item?id=24200764 and https://news.ycombinator.com/item?id=23246672

n0on3··on Why I left my tenured academic job
I wish the best to the author and I hope he finds a great environment in Talos to do great things (afaict he probably will).

However, and this is mostly for the sake of others reading this, be aware that the security industry has its own versions of the problems mentioned affecting the academic environment, and these versions are in most cases way worst than in academia. With the exclusion of some enlighten cases (which most often coincide with a good financial situation that allows for teams that do cool stuff without too-pressing metrics on the immediate business), in private companies literally everything is driven by money and to that one must add up that the incentives that the people part of the companies have (to this: in private companies the turnover is way higher than in academia). Some examples:

- Papers that don't deserve to be written? wait for that endless stream of tasks that does not deserve to be done that way (but need to be done that way the same, because <reason-you-cannot-argue-against>).

- Optimizing for the wrong things? wait for words like "cost-effective" to pop up.

- Move away from very cool stuff? yeah, that does not happen because the cool stuff are not even on the table, unless they can bring in money fast.

- Non peer-review things dismissed? wait for not-approved-by-manager-X or not-in-the-agenda-of-key-person-Y or subject-to-approval-of-Z-who-cannot-possibly-even-understand-the-value-of-that.

- No time for tech stuff? sorry, that doesn't change much unless your job is highly operational (which you won't enjoy much because it will have to be "cost-effective", thus most likely repetitive and metrics-based).

I'm not saying that every private company is a circle of hell in the security industry, but unfortunately most have far harder-to-deal-with problems than those listed for people looking for things like the author. Afaik, the common big difference is you get paid more and you see real-world cases as they happen.

(edit: formatting)

n0on3··on People expect technology to suck because it sucks
I don't see your point, it's obvious that among billions _some_ made better choices, but collectively it's still our choices that led to this. And I think it's pointless to blame "titans of the industry" while almost literally everyone else too buy into the same pattern, or you mean to tell that there is a _signigicant_ sum of companies in the tech industry that ships with a "quality first" mindset? I do not mean to be sarcastic, if that's your point please make a list, I would really appreciate that.

And yes, I blame the victims for their/our short-sightedness, it's not like anyone forced people to buy and re-buy broken products for decades.

n0on3··on People expect technology to suck because it sucks
Advancement in tech are nowadays driven only by profit, which in turn is driven by sales, which prioritise what people are likely to pay for. People expect technology to be affordable and they really don't care what the effect of this is. Put competition in the mix and you get a lot of stuff that sucks because the field of battle is not the quality, is pricing and marketing.

And then stuff dies after a short time. And/or is just left forgotten because it's more broken/an annoyance than it is useful. Or, and this is key, you are stuck with it because for a mix of reasons there is no viable alternative.

One would expect that on the long run the ultimate victims of this (the users of technology) would realise that rather then the ten thousand loads of tech crap they buy they would be much better off with a bunch of stuff that actually works without annoyances for a better quality of life but people just don't. Because again, pricing and marketing.

It used to be _create value and make a profit from it_, now it's the other way around: _aim for profit and consider creating value as a cost of doing so_ (and therefore should be minimised, who gives a frack if the user is annoyed or the thing is broken as long as there is profit).

People has been even trained for decades by major products in the industry to accept that tech doesn't work/is broken/sucks. The good stuff we have exist because at some point for some small time quality became competitive advantage, then on top of that other cycles of craploads piled on.

We did this.

n0on3··on Security by obscurity is underrated
> This is actually the misunderstanding that the author is talking about

I don't think so. It's like when someone confuses encoding and encryption because both "hide the plain text", they're just not the same thing no matter how you choose to view it.

> People commonly misunderstand the concept and assume that obscurity is a bad practice in general, even when used as a secondary layer. It's not uncommon for junior engineers to object to any level of obfuscation or security because they can imagine a scenario where a sufficiently skilled attacker can defeat it, but that's missing the point.

So how about teching these people instead of accomodating the misunderstanding and its unforseen consequences? I say this because the point of spreading "security by obscurity is bad" directly relates indeed to people, who use to think of security as a binary thing (it's either secure or not secure) with the consequent misconception that if there is something in place than it's secure.

> Slowing down your adversaries and weeding out the low-effort attacks is still valuable.

Definitely yes. But that is not security by obscurity. I always liked the safe analogy: it's good if you still need the key to open it even if you have its blueprints, a huge number of models both open and close with their own keys to play with and the time to take all of them apart. I think most people who dealt with math and cryptography get this more among security professionals and engineers.

> That's exactly what the author says in the article. I don't see where the author is disagreeing with what you said.

The part when he based the article ignoring the definition of the subject. If one reads his article with the definition in mind, then the whole article disagrees with this. I don't mean to be pedantic on definitions but I think there are good reasons for this one that are just being ignored.

n0on3··on Security by obscurity is underrated
It seems to me that the article is missing a few of points on what "security by obscurity" means.

From Wikipedia: "reliance [...] on design or implementation secrecy as _the main method_ of providing security [...]"

So, to use the model mentioned in the article, a single slice of cheese. It's not "an additional layer of defense", it's the main one (so you have other... weaker layers? ¯\_(ツ)_/¯)

Second, "reliance on secrecy of design and implementation" is different from "reliance on secrecy of _whatever-else_", because design and implementation are most often either easily discoverable (sure, occasional skids might not scan port 64323 but what about someone who can observe your traffic?) or pretty much guaranteed to be discovered by adveraries with (not even as much as one might think) time and motivation.

Third, some of the examples mentioned (e.g., the decoy cars) are not even security by obscurity, that's called deception.

So, sure, you can do non-standard stuff to make it harder for _some_ not discover your vulnerabilities (ssh non-standard port is actually a good thing given the massive amounts of bots around), but that should never be your only (or your main) layer of defense.

Security by obscurity is not underrated, by definition it's just bad.

n0on3··on Stopping phishing campaigns with Bash
Not much against taking a compromised system down, but the provider can (should?) do that according to their ToS (and whatever containment / response procedures they have in place), not some targeted victim playing vigilante by running what is basically a trivial DOS attack. My point was this is not a good thing to show off / encourage people to do and can have unexpectedly bad consequences.
n0on3··on Stopping phishing campaigns with Bash
They claim they will do all this for you if they are (allegedly) proxying malicious content. Source: their abuse form [1], selecting "Phishing & Malware". Did you have bad experiences with this? Might be worth sharing.

[1] https://www.cloudflare.com/abuse/form

n0on3··on Stopping phishing campaigns with Bash
You should be able to find the registar abuse contact information in the whois, in the fields "Registrar Abuse Contact Email" and "Registrar Abuse Telephone Number". Registrars are required to provide these for the accreditation to ICANN [0]. Both email and valid phone number are required.

[0] https://www.icann.org/resources/pages/faqs-2013-11-26-en

n0on3··on Stopping phishing campaigns with Bash
I had. My experience is mixed, sometimes all you wrote happens (like, it takes days to get processed), sometimes it doesn't (you might be surprised how fast some small providers can react, sometimes faster than bigger ones). If you want to speedup the process, contacting the legitimate owner is the way (and hope their response is faster).

I understand the will to take action, but doxing a phishing site can cause collaterals you did not foresee and you want to avoid, legally and otherwise. And it doesn't solve anything, as previously explained, it just temporarily turns them down, which leads to a comparison between the time invested by the adversary (who will block your source as first thing) and yours (and you don't want to go there). Definitely is not something to suggest to inexperienced people as "a good way to fight phishing" (which they'll take literally, because it looks cool). There might be exceptions to this (as in, calculated risks) but they go far beyond what makes sense for someone alone to do.

n0on3··on Stopping phishing campaigns with Bash
The infrastructure provider (if any) has likely seen more of these than you can imagine and again, they have proper channels for this and the people who monitor them know how to handle it, they won't lash out on you. Same goes for the domain registar.

As per the box legitimate owner, while I agree that there is all kind of crazy out there and you can avoid this if it makes you uncomfortable (abuse-at-provider will most likely contact them shortly without involving you), I don't see the lash out or strike at you scenarios likely, in my experience usually you get a thank you.

To be clear, I'm not suggesting email "Bro, you are compromised, bye", I mean, you can just inform them that you received the link and were taken to a phishing site that looks like hosted on his machine, attach screens, advice them on next steps if you want to go the extra mile in niceness. You're doing them a favour without breaking any law, why would they get mad at you?

n0on3··on Stopping phishing campaigns with Bash
That's really... not an appropriate response, and not only for the legal reasons others mentioned.

Phishing sites can be / are often served by compromised hosts, so you might as well end up doxing a box who is not run by the bad guy, causing all sorts of mayem for the legitimate owners / admins (in addition to they be compromised).

Plus, you didn't solve anything, from the pattern you used it's pretty easy to cleanup the data for the adversary, get rid of your garbage and put the thing back on the next day, so you've only temporarily disrupted their operation.

A more appropriate response is to report the abuse who manages the infrastructure (most likely a legitimate provider) and the domain registar; both usually have appropriate channels and response procedures just for that. If you feel kind and keen to do some free work, you can find out if the infrastructure has also a legitimate purpose and contact the legitimate administrator. Also, there are a lot of abuse lists that accept contributions, as in submitions for malicious sites, where you can report this (so it gets fetched by a variety of stuff and blocked by others while it's operational before it gets eradicated).

I understand this does not give you any credit or allow you to write a blog post about looping requests in bash but still.

n0on3··on Why Should You Learn Vim in 2020
IMHO the reasons in 2020 are the same of the last few years and are not changing any time soon: you don't need to leave the terminal AND it is everywhere AND (once you get used to it) it is extremely powerful and blazing fast (most "normal" people think vim users are having some sort of meltdown when they see vim users do even pretty simple stuff).

TBH, although this might be an unpopular opinion among vim users, I don't think vim is worth for coding beyond simple scripting, a decent setup requires way too much work which defeats one of its key points. But for everything else in editing files, nothing compares.

n0on3··on Spotify CEO: musicians can no longer release music only “once every 3-4 years”
I wish as a species we were smart enough not to turn everything good we did or could do into shit in the name of profit by building models that just churn more. TBH, reading "what is required [by music artists][...] is creating a continuous engagement with their fans" my arms fell off to the ground. Seriously, now the requirement for a form of art is engaging with fans? Well thanks Spotify for the nails to seal the coffin of good music I guess.
n0on3··on Show HN: Puree – Password-based Uniform-Random-Equivalent Encryption
You are mixing multiple different scenarios with a combination of statements that apply only to some of them and a bunch of trivial assertions that despite true do not support your point. You failed to understand I never said "proof-of-inability-to-decrypt" is generally useless. On the contrary in facts, it does indeed solve the last scenario you mentioned, which is however not the one you originally described.

To clarify, being held captive "by a sane adversary" until you supposedly decrypt allegedly encrypted data is different from falling into the hands of someone willing and enabled to torture you. Unless you consider torure a "sane" practice. If you cannot understand the difference maybe you should follow your own recommendation and learn a little more.

n0on3··on Show HN: Puree – Password-based Uniform-Random-Equivalent Encryption
> Being able to prove that you cannot possibly decrypt the partition, moves you out of the XKCD 538 scenario.

It does not. I think your mistake is modelling an adversary willing and enabled to torture like an entity that behaves like you would do, which I assume is according to logic + knowledge + willing/able to communicate + respect for human life.

How about the adversary just not buying your proof and torture you anyway (to death) just in case you are trying to deceive? How about the adversary not even giving you the opportunity to explain or show your proof? (imagine getting yelled "open it" because they don't speak much english other than that and get beaten for whatever you do that doesn't look like "opening it")

I'm writing this just in case someone reading will actually at some point need to prepare for such threat. "Proof of inability to decrypt" (as also "Denial of encryption") does not give you a way out of the "XKCD 538 scenario". If you can't avoid the scenario entirely, there are better bets (e.g., disguise still-encrypted data as plausible, non-sensitive other data).

n0on3··on Show HN: Puree – Password-based Uniform-Random-Equivalent Encryption
If you face an adversary that is willing to torture you and can get away with it what you __really__ need is to deny the opportunity to do so.

I find it naive suggesting that "Proof of inability to decrypt" can lead to a positive outcome in such scenario.

n0on3··on Ask HN: How do you maintain your medical record?
well, to be honest, this sounds like kind of overselling reality.

There is a system in place that tracks and records some things, like days off prescribed by base doctors, prescriptions for which national care pays and few other stuff, but most of everything else, including charts from when you are admitted in most hospitals and of course whatever you do outside of the public care (which kind of sucks and has insane waiting times, which means you most often do) is not included in that.

So.. nope.

n0on3··on DNS 101: An Introduction to Domain Name Servers
related from early today: https://news.ycombinator.com/item?id=21264814
n0on3··on How the brain 'approximates' without counting
That might as well be a shortcut, as in your brain has done 2*2 so many times that you have an immediate path for that fixed answer... if this is the case there's no actual calculation performed, as in you can't do the same thing for "what if you slice 73 carrots in half"...
n0on3··on Hacked in a public space? Thanks, HTTPS
exactly the comment I was going to write :)
n0on3··on Open Dylan
I had a quick lock at the website, the 'history' page, the 'old.' website etc., but I still didn't get an answer to a very basic question for a programming language which is: why?

Somewhere in a post from a couple of years ago I read "a vision of a different world: one with the flexibility of Smalltalk, the power of Lisp, while still allowing for compilation to efficient code", but as someone said in a comment to the link of that post in HN these these are already covered (and if not, they have a lot of people working on them) by other more popular (and more friendly imho, from the few examples I had a look to) languages..

So again, why Dylan?

n0on3··on Launching a Mac App and Becoming the Top Paid App Globally
Nice article. On a completely unrelated subject, the guy in the video left the machine unlocked. Bad guy.
n0on3··on Making Python's __init__ method magical
Here is another version implemented as a decorator. Actually I’d also like not to use inspect, but didn’t find any nice way to get the kwargs default values without it, any suggestion?

    import inspect
    
    def autoinit(decorated_init):
        def _wrap(*args, **kwargs):
            obj,  nargs= args[0], args[1:]
            names = decorated_init.func_code.co_varnames[1:len(nargs)+1]
            nargs = {k: nargs[names.index(k)] for k in names}
            kwa_keys = decorated_init.func_code.co_varnames[len(nargs)+1:]
            kwa_defaults = inspect.getargspec(decorated_init).defaults
            for k in kwa_keys:
                nargs[k] = kwargs[k] if (k in kwargs) else kwa_defaults[kwa_keys.index(k)]
            for k, v in nargs.iteritems():
                setattr(obj, k, v)
            return decorated_init(*args, **kwargs)
        return _wrap
    
    
    if __name__ == '__main__':
    
        class Foo():
            @autoinit
            def __init__(self, a, b, x=0, y=0):
                self.p = 'Hello, I am set inside the __init__'
                self.s = self.a + self.b + self.x + self.y
    
        f = Foo(1, 2, x=120, y=5)
        for param in 'abxyps':
            print param, '=>', getattr(f, param)
    
        f = Foo(31, 33, x=64)
        for param in 'abxyps':
            print param, '=>', getattr(f, param)
    
        f = Foo(7, 121)
        for param in 'abxyps':
            print param, '=>', getattr(f, param)
n0on3··on Making Python's __init__ method magical
nice but it doesn't work if not all kwargs are passed..
← PreviousPage 2 of 3Next →