HNHacker News
TopNewBestAskShowJobs

inoop

984 karma · joined January 26, 2011

submissionscomments
inoop··on PHP – The Right Way
You said:

> Hell, there's still a lot of 5.x deployments out there that work just fine.

forgive my ignorance but I was under the impression 5.x isn't actively maintained anymore?

inoop··on PHP – The Right Way
> Great so let's just leave all of the legacy terribleness in it. Let's not address all the quirks and horribleness that sounded like a good idea at the time. Let's not let the language evolve.

Nobody is saying that. The golden rule of API design is do not break your customers.

The way you let a language or API evolve is by introducing a new API. For example, instead of changing the semantics of count() you might introduce len() and then try and not fuck it up this time.

inoop··on PHP – The Right Way
> Because, suprisingly, Noone is forcing you to update immediately!

Excuse me, where do you work? Do you not have a company policy about not using software that isn't actively receiving security updates?

inoop··on PHP – The Right Way
> Even my preferred IDE, the Jetbrains suite which I love, are resource hogs

Ok, so you're saying that because a large, complex desktop application uses a lot of memory and is also written in Java that therefore the JVM is a memory hog?

Well then, given how much of a memory hog Chrome is, I guess we can all shitcan C/C++ as well.

Look, in any reasonable apples-to-apples comparison the JVM blows anything PHP has out of the water, including haxe, hiphop, etc.

And even if you write a PHP-to-bytecode compiler (e.g. https://github.com/jphp-group/jphp) then there are certain limitations to how fast and efficient any dynamically typed language can be. Look at all the shit V8 has to go through to do field lookups: https://v8.dev/blog/fast-properties

And then there's so much useless request-level overhead to PHP, even with pre-cached bytecode, you're never going to get even close in terms of latency to a well tuned JVM running something like spring boot.

And if you really hate Java as a language, you can always use something like Kotlin.

inoop··on PHP – The Right Way
> That's precisely what I'm saying: The whole purpose of a major version is to indicate breaking changes.

this is what I don't get. Why would anyone in their right mind use a language ecosystem where each major version upgrade breaks their code?

I just don't understand why people accept this from their tools. Imagine if Google would just randomly change their APIs every couple of months and then stop supporting the old ones. Nobody would use their stuff. But somehow the PHP community thinks this is perfectly normal.

It just boggles the mind.

inoop··on PHP – The Right Way
The Python 3.x change was a disaster, and perfectly illustrates the point I'm making here.

PHP should learn from that, instead of trying to repeat it (in slow motion)

inoop··on PHP – The Right Way
> If you're conversing with someone who believes that the JVM is a resource hog, then you are likely conversing with someone with decades of experience

As someone who has actually read the JVM specifications many times, has actively worked on a JVM implementation, and has a pretty good grasp on virtual machine design, I beg to differ.

But hey, I'll take the bait, what makes you think the JVM is a 'resource hog'?

inoop··on PHP – The Right Way
> did not change within the minor revision boundary

I'm confused, are you saying it's fine to change core language semantics as long as it's across major version boundaries? How the hell is that better?

No other reasonable language does this.

inoop··on PHP – The Right Way
> Downside JVM is a Resource hog

The fuck are you smoking? The JVM is one of the most mature, resource efficient, and fast language runtimes out there.

See, this is why nobody can take you people seriously.

inoop··on PHP – The Right Way
> pointless hearsay

This such a typical response of people who live in a bubble, and get angry when nobody else in the real world agrees with their insane ideas.

Just because people think PHP is garbage doesn't mean they don't know what they're talking about. In fact, in my experience, the hatred many experience people in the industry have of PHP almost always comes directly from having been forced to use it.

In my case, I've worked on several large PHP projects (100k+ sloc, developed over 10+ years by many people) and it's by far the single worst language and set of tools I ever used.

Literally everything from the language, to the runtime, to the standard library, third party libraries, etc. is just complete and utter amateur hour, and is done so much better in almost any other language ecosystem out there.

I'm glad you're somehow able to make it work for you, but don't pretend it's good. It's really not.

inoop··on PHP – The Right Way
> If you don't check what you pass to count() it's really not php's problem, it's your programming.

this is a horrible take, language semantics should never change in a backwards-incompatible way. This is API design 101.

inoop··on $45k in AWS charges due to account being hacked to mine cryptocurrency
Even if AWS had a hard spending limit, if an attacker has your root credentials, couldn't they still just increase the limits?
inoop··on $45k in AWS charges due to account being hacked to mine cryptocurrency
> AWS failing to implement budgets and hard limits

The problem isn't that AWS does not let you manage limits, because they do, to some extent: https://docs.aws.amazon.com/general/latest/gr/aws_service_li...

The problem is that if someone has your root credentials, they can just change these limits and go to town.

inoop··on Web3? I have my DAOts
Those goalposts got moved years ago
inoop··on Aukey kicked off Amazon following fake reviews allegations
Did you get free headphones to write this comment? :)
inoop··on Evolving a Curated Retro Game Collection
If you're into this sort of stuff but don't want to buy/repair/store all the console hardware, take a look at [MiSTer](https://github.com/MiSTer-devel/Main_MiSTer/wiki).
inoop··on A group of Google workers have announced plans to unionize
> engineers can "collectively bargain" with Google by simply leaving and working somewhere "better"

While I generally agree with the sentiment of your comment, I would like to point out that the above is only true for green card holders. There are a lot of H1B/L1B workers stuck at bad teams with high amounts of pressure/stress and incompetent or downright abusive managers.

For them, leaving the company isn't an option because it means leaving the country and leaving a life-changing amount of money on the table and denying their children the advantage of growing up in the US.

You might argue they can switch teams, which is technically true, but this can complicate and delay the green card process, and vindictive managers often smear engineers with HR because people bailing on them makes them look bad. At Amazon for example, particularly bad managers will PIP an engineer to block them from transferring teams.

So while in general engineers are treated well and can choose where they want to work, I think we should also show some solidarity with our friends who don't have the same options that we do.

inoop··on Goodreads plans to retire API access, disables existing API keys
AWS has a service for that, it's called [personalize](https://aws.amazon.com/personalize/)
inoop··on PHP 8: Before and After
> I don't really understand why in 2020 there's still this kind of blind hatred against this language.

I don't either, but what I also don't understand is why in 2020 anyone would use PHP over many available vastly superior alternatives.

Other than keeping old stuff running, why do people keep beating this dead horse? I just don't get it.

inoop··on The Serverless Revolution Has Stalled
This is surprising to me, I work with the CDK daily and I really enjoy it. Can you explain what issues you're hitting?
inoop··on The Serverless Revolution Has Stalled
Take a look at the [CDK](https://aws.amazon.com/cdk/) if you haven't already. It lets you define your infrastructure using TypeScript, which then compiles to CloudFormation. You can easily mix infrastructure and Lambda code in the same project if all you're doing is writing some NodeJS glue Lambdas which sounds like what you're looking for.

There's a couple of sharp edges still but in general it just 'makes sense'. If you don't like TypeScript there are also bindings for Python and Java, among others, although TypeScript is really the preferred language.

inoop··on Google TV
No kidding. I feel for the engineers who spent sleepless nights getting this to launch ...
inoop··on Google TV
It's an Apple TV/Roku/Fire TV but from Google?
inoop··on Which of these Amazon Prime purchases are real?
> Really a shame that Amazon does not seem to care much about this

Amazon cares, but Chinese sellers are paying Amazon customers to write fake reviews for them. There's an article about it here:

https://www.buzzfeednews.com/article/nicolenguyen/her-amazon...

This practice basically makes it impossible to tell fake reviews from real ones.

inoop··on “We already store data. In a database. It works well”
Pitching Bitcoin would be just as sad.
inoop··on I've been working on X11 on jailbroken iOS
This is an absolutely batshit crazy idea. I love it.
inoop··on A Week in the Life of a McDonald’s Cashier
Dutchie in NYC here. Dude(ette), I hear you, things aren't perfect back home. But frankly, you have no idea how much better things are for the low age earners in the Netherlands compared to the US. Working at a FAANG company here in NYC, you get 200-400k/year, and you use that money to pay thousands of dollars to live in a nice area in a building without rats and cockroaches and with proper sound proofing, which qualifies as luxury here.

And then you go to stand in line at the local wholefoods to buy $2.5 local chocolate croissants and $2 kombuchas from a teller who earns $15/hour.

Tip well, my friends, tip well.

inoop··on 200k people applied for jobs at Amazon in a single week
Serious question, have you ever interviewed people for software engineering positions? It's quantity over quality.
inoop··on Python Is Eating the World
> I would take a Python job over a Java/C/C++/Go/Rust any day

it's funny, I feel the exact opposite. I work on a team that maintains a digital catalog, and a lot of what we write is about taking in asset- and metadata files, asynchronously processing them, and then publishing that to a denormalized read-optimized data store. We often joke that we mostly take data from 'over here' and put it 'over there'.

All our stuff is in Java, and honestly, if you use Lombok to squeeze out the boilerplate, and a decent dependency injection framework like Guice or Dagger, modern Java really isn't so bad. Streams are clunky but they get the job done. We use Jackson a lot to serialize/deserialize Java pojos to JSON and XML, which is pretty seamless for us so far. The Optional class is again clunky, but it works well enough.

The thing for us though is that the problems we spend most time solving are just not really related to the language we write it in. The hard problems are much more around things like operations (cd/ci, metrics, alarms, canaries), performance (latency, load, etc.) and just the nuts and bolts of the business logic (what type should this new field be? what values can it take? how do we plumb this through to downstream system X owned by team Y? etc.)

I honestly wouldn't want to have to write this stuff in Python for a simple reason: I don't think I could live without static typing, which is a fantastic tool when you need to manage a large code base written by multiple people over multiple years. I can make a change in some package, do a dry-run compile of every system that uses it, and then see what needs updating. It gives me certain guarantees about data integrity right at compile time, which is super helpful when you're doing data conversion.

But hey, different jobs, different tools. Glad you found something you're happy with.

inoop··on “Python's batteries are leaking”
> At which point you have to scale the IT wall all over again if you work at a Fortune 500 company.

I work at a Fortune 500 company, and the only wall I have to scale when I want to use a library that nobody at our company has ever used before, is to get someone to check and approve the license (typically takes 1-2 days), and import it into our code repos.

I mean I see your point, but not everywhere is as bad as you make it seem.

← PreviousPage 2 of 10Next →