HNHacker News
TopNewBestAskShowJobs

ReflectedImage

476 karma · joined May 12, 2020

submissionscomments
ReflectedImage··on Python types have an expectations problem
It should be fair obvious that when you use a very verbose very boiler plate heavy coding style like static typing that because the programmer is writing a lot more lines of code per software feature and because the programmers make errors on a per line written basis that the number of the bugs will drastically increase.

You can easily find information on duck typed programs being significantly shorter and that statically typed and ducked typed programs have the same bug count per line. You can also look at the language defective tables showing ducked type Clojure as having the least bugs in commerical software and statically typed C++ having the most bugs in commerical software.

Google is your friend here.

ReflectedImage··on Python types have an expectations problem
Using static typing in Python is a serious mistake. The point of static typing is to allow an compiler to compile your code for performance reasons and nothing else. People do not normally compile Python code with a compiler.

Static typing significantly increases code length compared to duck typing, significantly increases development times and significantly increases bug count per delivered software feature.

It additionally gives developers the false impression that you can write large projects in Python without splitting the codebase into small micro-services. Hint: You can't, it is always a complete disaster as Python's support for static typing isn't good enough for large projects.

ReflectedImage··on Digital Ocean killed my droplets and gives a vague reply
Had trouble signing up for Digital Ocean, called up their support team, got a really bad response and decided I'll just blacklist them.

If they were giving me trouble during sign up then what hope was there for support afterwards?

ReflectedImage··on On being listed as an artist whose work was used to train Midjourney
Regular artists take a large number of other artists work and combine them together to produce new art works.

Midjourney is performing the same blending function as regular artists.

It's hard to see why one is any different from the other other than a human is involved.

ReflectedImage··on Cloudflare Termination Video: A Master Class in How Not to Terminate Someone
She had 3 deals on the go, the fact they didn't close during the Christmas holidays is to be expected.

Based on that video alone and the skill she used in communicating with HR, she's a brillant sales person. No doubt about it.

ReflectedImage··on Alaska Airlines grounds Boeing 737 Max 9 planes after mid-air window blowout
Very high. The incident suggests that there will be many more incidents in the years to come with different parts of the plane. It's a quality control thing.
ReflectedImage··on Alaska Airlines 737 Max makes emergency landing due to depressurization
What you mean to say throwaway51104 is that it is completely Boeing's fault and you work on minimal wage in a hired PR firm trying to defend them on social media.

There have been warnings for years that Boeing has lost the plot and abandoned their safety culture.

ReflectedImage··on Gas utilities used tobacco tactics to avoid gas stove regulations
Per the article, a proper extractor fan doesn't migrate the problem.

So you are basically poisoning yourself and your family.

ReflectedImage··on Swedish Tesla strike goes international as Norwegian and Danish unions join in
Irrelevant, the workers get more pay if they have an union. The unions are no more corrupt than the business itself.
ReflectedImage··on Swedish Tesla strike goes international as Norwegian and Danish unions join in
Well there is only 1 courier available for legal reasons and none of the other couriers would deliver them either. :p
ReflectedImage··on "Useless Ruby sugar": Argument forwarding
"What is the difference between the same amount of code but split between one monolith versus many microservices"

Encapsulation at a larger grain level.

"Yes .. keep rewriting working code - that's a path to success." If you had done any courses on software requirements, you wouldn't be saying that. It's the entire premise behind agile software development.

ReflectedImage··on "Useless Ruby sugar": Argument forwarding
Static typing is a very bad software development practice. There are a lot of other software development practices that are superior to it.

"help you in refactoring" It's a terrible way to refactor your code.

There are far better and far superior software development practices out there, which do everything static typing does and more.

"There is no way around verifying your assumptions about types" Yes, there are. There are many many ways to do this that do a lot better job than static typing. Static typing is known to be terrible at eliminating bugs from code.

The complain here is not that static typing isn't better than nothing but that static typing is such a low tier solution, that if you were doing anything proper you wouldn't be touching it.

ReflectedImage··on "Useless Ruby sugar": Argument forwarding
Because JavaScript is the worse programming language in common commerical usage today. It was designed over several decades by browser manufacturers.

Absolute anything else would be better than it.

Static typing in Python is a complete disaster when it's used on real commerical projects. I've seen the code thank you very much.

ReflectedImage··on "Useless Ruby sugar": Argument forwarding
"maintaining LARGE applications"

And that is very poor software engineering. You should be breaking down those large applications into smaller more maintainable micro-services.

It's bad really bad.

"compile-time support for validating assumptions"

Bad software development again. If you are checking assumptions at compile time then you are slowing down your software development iteration loop. It's the 4 hour compile time problem from C++ revisited.

"over significant periods of time"

Bad, really bad software development again. As business requirements change over the life-time of a software project, you need to retire and replace old code with new code that better meets the changing business needs.

Static typing is useful for performance reasons but that doesn't apply in a scripting language. In pretty much every other context it's terrible.

ReflectedImage··on "Useless Ruby sugar": Argument forwarding
Programming languages shouldn't have two competing two type systems in them. Static typing in a scripting language like Ruby is just poor engineering.
ReflectedImage··on Why people in Google hate Go?
OOP languages like Java are not considered to be good.
ReflectedImage··on The costs of microservices (2020)
Microservices not being able to talk to each other the network basically never comes up.

What you are saying is outright ridiculous.

ReflectedImage··on It's easy to screw up on breaking news but you have to admit when you do
Israel saying that the hospital contained a Hamas base and their bombing of it was righteous and just didn't exactly help matters.

Since the IDF is known for hospital bombings everyone on all sides (including Israel) just assumed that they did it.

The fact that it wasn't the IDF is quite a surprise for all parties involved.

ReflectedImage··on Amazon to managers: You can now sack employees who won't come 3 times a week
Hear that managers, you now have an excuse to shrink your own teams and future promotion prospects!
ReflectedImage··on Clearview doesn't let Europeans delete themselves anymore
Yes but of course you must go through every comment the user made and check for personally identifying information and remove it.
ReflectedImage··on In-memory database Redis wants to dabble in disk
Perhaps you are looking for LMDB?
ReflectedImage··on First Brexit, now X-it: Musk 'considering' pulling platform from EU over probe
Only if X wasn't viewed as a dying platform.
ReflectedImage··on Binance US No Longer Allows USD Withdrawal for Users
VC is the search for unicorns. Fund 50 companies and 1 will make back the costs of the other 49 and then some.

By design the average VC tech company (the 49) is a flaming failure. That doesn't mean they can't be packaged up and sold.

ReflectedImage··on Binance US No Longer Allows USD Withdrawal for Users
I'm not convinced that crypto is much worse than the rest of tech. Your average VC tech company is run as a pump and dump scheme. They take a crazy idea, get a ton of funding for it, go public and sell the shares to uninformed investors who are left holding the bag when it all comes crashing down.
ReflectedImage··on Ask HN: How do I stop companies from scraping my site?
Commerical web scraping services exist that can scrap any web content. The best you can do is ask nicely in a robots.txt file.
ReflectedImage··on The Economics of Programming Languages [video]
Or does it allow you build a lot of very similar languages with slightly different looking syntax?
ReflectedImage··on Strong static typing, a hill I'm willing to die on
In modern dynamically typed languages, you do not need to check for overflow or underflow and you don't need any special library to do so, it's built directly into the language.
ReflectedImage··on Strong static typing, a hill I'm willing to die on
Dynamically typed programs can be structured in far better ways than statically typed programs.

>Both programs have the same underlying structure No they don't, this is just a massive gap in your knowledge.

> try refactoring Python code without type hints in a large code base

I've done that on multiple occasions, the test suite is fine, thank you very much.

ReflectedImage··on Strong static typing, a hill I'm willing to die on
You have errors coming from using static types. Static typing blew up a space rocket, if you weren't aware.

JavaScript is terrible because it was built over 3 decades by different competing browser vendors.

ReflectedImage··on Strong static typing, a hill I'm willing to die on
That problem is also solved by dynamically typed languages. Your IDE picks it up.
← PreviousPage 6 of 19Next →