Category: Tech / Science

Unnderrated Statistical Methods

[D] What is in your opinion an underrated Statistical method that should be used more often? from statistics

Plotting the data and inspecting it visually. Should be done every time if possible before doing any analyses.

Yeah fam. Visualise it. Not visualising is like a doctor who doesn’t read your notes.

LCA, LPA, and LTA are all underutilized. I think the perception is that they’re no different than cluster analysis, so why not use the easier method (like k means cluster analysis). I’ve seen so many people conflate IRT and CFA with them as well. I think a general lack of understanding about the approach is definitely a contributing factor.

Thinking about and modeling the generative process of your data.

coarsened exact matching for causal inference.

Came to see this

Depression and Summer

Often, when Dr. Rosenthal talked about his research, someone would approach him to say that the same thing happened to them — but in the summer. In 1987, he and his colleagues published a report of 12 people who experienced a pattern of seasonal depression between March and October. This and subsequent work suggested that summer SAD presented differently than its winter counterpart, and might have different causes.

“Summer SAD is more of an agitated depression,” said Dr. Rosenthal, a clinical professor of psychiatry at the Georgetown University School of Medicine. While those with winter SAD tend to oversleep and overeat, summer SAD often shows up with insomnia and lowered appetite.

Seasonal Affective Disorder Isn’t Just for Winter
Feeling blue even though everyone seems to be basking in perfect summer weather? There might be a good reason for that.
Cameron Walker

Overuse of Inheritance – Object Oriented Programming

Many of these books claim that by creating these abstractions, in this example Person, you can “re-use” them in other projects. However, in 15 years of my professional experience, I have hardly seen many (or any) examples of such abstractions being used across projects in a useful manner.

At one point, I started creating a class library of these abstractions that I could share across projects. After a little while, that class library ended up being bloated with lots of unrelated abstractions and versioning it across different projects ended up being a nightmare. If you have done this before, you may relate to this story.

Once I was engaged as a consultant for a greenfield project, and in the introductory session, the data architect of the project walked me through tons of UML class diagrams (more than 50 pages). Every class was inheriting from another class and eventually, they all led to a class that was called “Thing”! No joke!

What text books tell you about inheritance in OOP is wrong
Mosh Hamedani

AIDS – Early Warning of, New York Times – July 3, 1981

Doctors in New York and California have diagnosed among homosexual men 41 cases of a rare and often rapidly fatal form of cancer. Eight of the victims died less than 24 months after the diagnosis was made.

The cause of the outbreak is unknown, and there is as yet no evidence of contagion. But the doctors who have made the diagnoses, mostly in New York City and the San Francisco Bay area, are alerting other physicians who treat large numbers of homosexual men to the problem in an effort to help identify more cases and to reduce the delay in offering chemotherapy treatment.

The sudden appearance of the cancer, called Kaposi’s Sarcoma, has prompted a medical investigation that experts say could have as much scientific as public health importance because of what it may teach about determining the causes of more common types of cancer.

Lawrence K. Altman
July 3, 1981

Clear Introduction to Modern JavaScript – Node, Webpack, Babel, Grunt

So this is modern JavaScript in a nutshell. We went from plain HTML and JS to using a package manager to automatically download 3rd party packages, a module bundler to create a single script file, a transpiler to use future JavaScript features, and a task runner to automate different parts of the build process. Definitely a lot of moving pieces here, especially for beginners. Web development used to be a great entry point for people new to programming precisely because it was so easy to get up and running; nowadays it can be quite daunting, especially because the various tools tend to change rapidly.

Why is C Preferred for Some Scenarios?

What are common uses of C in the real world outside of embedded and OS dev? from C_Programming

Consider expanding what you normally think of as “embedded”: I develop embedded C applications but our box has the same processing power as a gaming computer.

Most safety-critical applications are written in C or Ada.

Most safety-critical applications are written in C

This puzzles me — wasn’t safety one of the main reasons for developing alternatives to C and C++?

You’re thinking of things like type safety, garbage collection, etc.

I’m talking about safety in terms of people dying. Things like garbage collection are the opposite of life safety: what if your airplane decided it needed to free up memory ten seconds from touchdown so it ran the garbage collector? What if running the garbage collector caused a valve to respond 0.1 seconds late to a command, which caused a chain reaction resulting in a hydraulic line bursting and losing control of the rudder?

C can be safe because it does exactly what the programmer tells it to do, nothing more and nothing less. There’s no magic going on behind the scenes which could have complex interactions with other behind the scenes magic.

A common example is C++’s std::vector. This container expands as needed to accommodate as many elements as you need. But you have a limited amount of memory on the system, so you need to do static analysis to determine the maximum size of that vector. And you need to be sure that you have enough memory for that plus everything else in your system.

We’ll now you’ve eliminated a lot of the convenience of using std::vector: you might as well just allocate that max size to it and avoid all the overhead std::vector imposes by growing in size.

The other main advantage of std::vector is templates. If you were to use a template in safety critical code you’d need to prove that the code generated by the compiler is correct for every template. We’ll now you’re diving down into all this auto-generated machine code: it would be easier to just write that code yourself and avoid the complexity introduced my the compiler’s template generator.

So, if we’ve eliminated all the usefulness of std::vector, why use it at all?

Repeat that process for most features in most languages and voila! You’re back at C 🙂

Computer Snobs Circa 2006

Linux Snobs, The Real Barriers to Entry

“It’s not Windows. It’s not distro wars. Sometimes it’s just the arrogant attitude that keeps people from switching from Windows. ‘As I spoke to newbies, one Windows user who wanted to learn about Linux shared the encouraging and constructive note (not) he received from one of the project members. The responding note read: “Hi jackass, RTFM and stop wasting our time trying to help you children learn.””

Well duh! Of course it’s the arrogant users that are keeping people from trying Linux. That’s precisely the reason why I use a Mac.

I managed to escape from that cult, and you can too brother!

Meet me by the fence tonight at 1am. I’ll have a van waiting. We can take you to a place where Father Steve will never find you. There is another life out there for you, trust me!

Are you kidding me? The Mac community is composed of 30% latte-sipping wannabe ‘artists’, 50% trendsters with too much money, 25% hippies, 4% Hollywood actors, and 1% Steve Jobs. And Steve is the least arrogant one of the bunch.

That’s why I Switched(tm) to OpenBSD, the least arrogant OS community!

I can go up to the head development guy, Theo, and he answers all my questions!! Usually the answer is how evil George Bush and Richard Stallman are, and how stupid I am for being a stupid American that supports stupid people and asks stupid questions because I am stupid. I don’t know how that solves my problems, but at least he answers!!!!

One huge difference is that the Microsoft tech support guys are paid to listen to your stupidities. You are a lot more patient and understanding when you’re paid.