Hacker Newsnew | past | comments | ask | show | jobs | submit | rlidwka's commentslogin

There is another basic choice: write a code that is intentionally incompatible with ad blockers.

They can name an important navigation element "ad", so ad blocker will hide it for example. Then, when a bunch of users start complaining that the website does not work, point out that it's all ad blocker's fault (because without it everything works).

I've seen a few precedents already.


I'm happy to continue to modify my ad blocker until it allows me to use enough of facebook to be happy. How I choose to render the data Facebook sends me, is up to me.


While I think that this is a very bad idea, one could dynamically name them in a defective way. The relevant information (blocking lists) are openly available.


This just demands a new strategy for blocking.


That works for small websites, but big sites will simply have exceptions listed.


You can store this hash on the server and use it as a password. If this hash gets stolen, the attacker will be able to log in on YOUR website, but not on other websites user may share passwords with.

After that you can ditch server-side hashing, and use authentication protocol like CRAM-MD5 (I don't remember what the modern alternatives are) to protect against network traffic interception. While still not technically storing your users' passwords in the database.

EDIT: Using asymmetric crypto with a private key derived from the password would probably be better. But still, client-side hashing DOES gain you something.


I'm afraid there are plenty of potential victims out there for both FBI and Al-Qaeda. So one organization does not really interfere with another.


Victims? Were the guards at Auschwitz victims too? Someone who tries to slaughter civilians to spread terror is not a victim, they are the enemy. No one would ever call a neo-Nazi a victim. The moral double standard toward minorities in the West is ridiculous. It's the soft bigotry of lowered expectations.


Atwood's Law: any application that can be written in JavaScript, will eventually be written in JavaScript.

// quoting https://blog.codinghorror.com/the-principle-of-least-power/


Potentially, higher acceleration/deceleration would allow a computer to use simpler collision prevention algorithms. Also, there is no shifter there.


improved acceleration/deceleration aren't givens for electric vehicles. You shouldn't let the Teslas cloud your perception here - usually they are slower than their internal combustion peers. Also, no reason for a self driving algorithm to worry about shifting. In an automatic car do you worry about shifting?


> Without inheritance, as soon as you want to cast mixer to something else, you're either relying on binary wizardry by the compiler

Why would you want to cast mixer to something else? What real-life task does it solve?

> If we assume we have both a hardware mixer and a soft mixer which both have the set volume method, we wan't polymorphism so we can treat them equally.

Polymorphism isn't OOP feature. You can have overloaded `mixer_set(struct, int)` without any OOP wizardry involved.


> Why would you want to cast mixer to something else?

Did you ever heard about interfaces? You can have a IMixer interface, a Mixer baseclass and some concrete mixer classes depending on your task. Like null-mixer for mocking, software mixer for legacy computers, hardware mixer with GPU support, etc. Use your imagination, Luke!


Or you could just have data. The behavior of mixing is not going to change because of those things.


Let's suppose you want labels, text boxes, and buttons on a form.

Now you can do this without OOP or making a huge chunk of form code, but OOP is a natural fit. Especially if we may want to add pictures or video in the future.


Are you saying all these outlets (labels, text box, buttons) are inheriting from a base FormObject that can be rendered?

That would work without OOP. Make a FormRender component that manages that logic (being rendered in a form) and other components, one that manages a keyboard, other that can be clicked and handle hover, touch states, etc.


Sure, but routing get's complex in your solution. The point was OOP is a natural fit for collections of different types in some context ex:GUI, Simulation, etc. The classic OOP case is probably a MUD where OO code ends up being very straightforward.

IMO, the problem is it works really well in so many contexts that people end up trying to use it everywhere.


OO in MUDs seemed so natural to me, I think, because they're closer to the actor model that OO was really designed for. Instead of "methods", many objects in MUDs (depending on the system, I used to know more when I was research writing a MUD engine in erlang), respond to messages in more of a smalltalk-style.


Routing? I'm just saying that OOP is as much of a perfect fit to GUI that Entity Component Systems (composition) are.


ECS works well when you can predefine everything ahead of time. But, it must be extended for every additional type.

As to messaging, consider what happens when you add JavaScript that can change the DOM. Now, you need to pass messages in both directions not just What is your Height- Width, but also my Height-Width has changed. Animated Gifs or Videos now want to update things in real time, and other windows can cover parts of your view port.

And let's not forget about transparency.

PS: ECS can still work, but it starts getting really complex.


And you started slow reinvention of OOP!


No, the name of the game is composition. See ECS in game dev.


> Personally I believe that psychiatry can be both a science and not a science

Like alchemy, astrology or theology? Or medical sciences in middle ages?

Like all those "sciences", psychiatry lacks a solid base, a set of verifiable facts which entire science is based upon. Why those disorders happen? Which substance causes them? Anybody can answer that?


Medicine as practiced now has both scientific and non-scientific parts. Original research, as in bioinformatics, drug discovery, etc. constitutes the scientific part as it uses systematic experimentation, logic, statistics, etc. to deduce universal laws that can be independently verified.

However, the application of this knowledge to actual individuals in an doctor's office or hospital is an inherently subjective and non-scientific process, involving subjective inputs such as 'Rate your pain on a scale of 1-10.', 'How are you feeling after we upped your dose?', 'Is this treatment plan allowing you to get back on the job?' etc. The value a doctor provides is taking the vast corpus of medical knowledge (both scientific and not) and applying it to a single individual. This is not science, but is critical for the medical treatment process.


So what's the argument, that we should just wait a few centuries to help anyone who is mentally ill because we don't know enough about the underlying mechanisms?


> Do you believe that psychiatry provides us valid knowledge that allows us to

No, it really doesn't.

If someone comes into a clinic and ask psychiatrist for a help, he is gonna be diagnosed with some kind of a disorder 100% the time.

But if you think about it, it's not psychiatrist who determines if the person is healthy, it's the person himself. If you meet with a psychiatrist, you have a disorder. Period.

> treat individuals who have mental influences that cause them to be a danger to themselves or society?

It reminds me of an old Soviet practice to treat people who were under influence from Western countries. Quite obviously, it was considered a mental disorder which was dangerous to themselves and for the (Communist) society. So those were usually locked up in a psychiatric clinic and never heard from ever since.

The methods to determine if a person is "ill" never changed. "I think that person has disorder, so let's come up with a disorder that fits more or less." As mentioned in the article above, the response should be: where is your blood test?

> If not, by what means to propose that we do so?

Quite easy really. Whether a person is a danger to society or not, should be determined by a court jury based on his previous actions.


> If you meet with a psychiatrist, you have a disorder. Period.

Whether or not that's true, it's irrelevant to the statement about providing valid knowledge. If a person goes to a family doctor, they have a health issue. If a person goes to a lawyer, they have a legal issue. To an accountant, they have a fiscal issue. Merely 'going to [professional]' does not mean that they have invalid knowledge.

> Whether a person is a danger to society or not, should be determined by a court jury based on his previous actions.

Not only is this is a huge waste of time and money (court officials, jury, legal teams...), but it's even more subjective that the system you want it to replace. And it's already well-known that courts deal with mentally ill people far worse than mental health services do.


> If not, by what means to propose that we do so?

>> Quite easy really. Whether a person is a danger to society or not, should be determined by a court jury based on his previous actions.

A couple of problems with this solution come to mind. You say that the knowledge that psychiatry produces is invalid because it is non-scientific. The process by which the justice system produces knowledge is decidedly non-scientific and inherently subjective. Why do you hold the knowledge produced by the non-scientific process of justice above the non-scientifically produced knowledge of psychiatry?

Additionally, by the time the justice system gets involved, a crime against society has already occurred. Surely we can do better than waiting for tragedy before intervening?


I remember some people being offended by an auto-generated captcha text.




That's bad design too.

In a previous job, I generated millions of unique codes. We only used a character set without confusable characters (0 vs O), vowels, etc. Captchas should do the same.


Dealing with captcha fields can be deeply painful and is at best annoying. I'm with them.


Better solution is:

    BEGIN TRAN; DELETE (without where clause)
... on the same line.

I've lost a lot of data to "oh lets find that line in mysql history... up, up, enter, FUCK"


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: