Live data from Hacker News

Digg's v4 launch: an optimism born of necessity (2018)

lethain.com

71–80 of 358 posts

Re: Digg's v4 launch: an optimism born of necessity (2018)

#71
post #34

I was really hoping there would be an analysis of why the v4 was needed from a revenue point of view. The v4 essentially winked the company because no one likes the UX/UI. Digg insisted on it. Interestingly years later, Reddit followed the same route. They moved to the exact same UI that I hated with digg. Luckily they kept the older UI which is what kept me with the site. I am yet to get an answer about why the rede…

> why the redesign was necessary and what it would give them they couldn’t get with the old design

Revenue. Well, that's what they hoped.

At the expense of user experience.

Enshittification, but without the lock-in, which ended predictably

Re: Digg's v4 launch: an optimism born of necessity (2018)

#72
Original Digg was what reddit is now. And Reddit was what Hacker news is now. But luckily I cant see a mass migration here from reddit. I cant even see a reddit replacement. Discord is the platform of choice for discussion these days. Most users will either drift off there or find alternative single issue forums to replace what they were viewing on Reddit. This is one of the places i'll come to but I'll see if I can find other communitities with a decent level of activity as well.

Re: Digg's v4 launch: an optimism born of necessity (2018)

#73

Earlier quoted context omitted.

This is why I’m excited for the Reddit third party apps change. In a few years nobody will remember that this is what precipitated the fall of Reddit. It’s already turned into an echo-chamber of nonsense, ruled by all-powerful mods to whom every user is a racist transphobe nazi homophobe enemy. Even the smaller subs catch the contagion year over year. I’ve been a Redditor since before the narwhal baconed at midnight.…

[flagged]

Evidently I sympathize with reprehensible views about some group… although it’s not clear precisely which group or which views, even to myself. Suffice it to say I’m deplorable though, otherwise I wouldn’t be complaining.

Re: Digg's v4 launch: an optimism born of necessity (2018)

#74
I have been through several full rewrites of major money makers. It’s almost always a really bad idea. Almost being the key word.

Beyond second system syndrome, you really have no idea what your users actually like about your product vs your competitors. You’re too close to the product.

A rewrite that breaks users muscle memory and frustrates them is the perfect time for a jump to a competitor.

You are basically always better off mutating over time at a much more tolerable rate.

Re: Digg's v4 launch: an optimism born of necessity (2018)

#75
post #3

> Our API server was a Python Tornado service... and one of the most frequently accessed endpoint was used to retrieve user by their name or id. Because it supported retrieval by either name or id, it set default values for both parameters as empty lists. This is a super reasonable thing to do! However, Python only initializes default parameters when the function is first evaluated, which means that the same list is…

Sure it's a known footgun, but I wouldn't be so harsh without knowing more. It could be the result of a series of only slightly bad decisions.

A junior developer creates a function with default of [] instead of (), but otherwise no mutations:

    def get_user(unchecked_ids=[]):
        ids = get_valid_ids(unchecked_ids)
        if not ids: ids = [current_user_id]
        return query_users(ids)
Alice introduces a mutation in a place that is currently safe.

    fa55099 - 45 minutes ago - Alice - Avoid creating unnecessary new list
     def get_user(unchecked_ids=[]):
         ids = get_valid_ids(unchecked_ids)
    -    if not ids: ids = [current_user_id]
    +    if not ids: ids.append(current_user_id)
         return query_users(ids)
Meanwhile Bob simplifies the code in a separate branch.

    f4e704c - 30 minutes ago - Bob - Fix caller who was sending invalid ids
    + def get_user(ids=[]):
    - def get_user(unchecked_ids=[]):
    -     ids = get_valid_ids(unchecked_ids)
          if not ids: ids = [current_user_id]
          return query_users(ids)
Then Charlie does something else on the branch, tries to merge it into master, and Git auto-resolves the conflict because there's no overlap between the changes.

    def get_user(ids=[]):
        if not ids: ids.append(current_user_id)
        return query_users(ids)
And now everyone sees the data of a random user, and your foot is missing.

Is it good code? No. Good version control hygiene? Also no. Should you crucify the developer who made this mistake? Of course not, especially once you add the boilerplate chaff that was omitted here. That's why it's called a footgun, it's easy to misuse.

Re: Digg's v4 launch: an optimism born of necessity (2018)

#76

Good read. Interesting that the author’s takeaway is that folks consider Digg v4 to be a catastrophic launch because of the myriad technical issues. I don’t even remember there being technical issues, I just remember logging in one day to find a website I enjoyed replaced with a bunch of crap I wasn’t interested in.

This is why I’m excited for the Reddit third party apps change. In a few years nobody will remember that this is what precipitated the fall of Reddit. It’s already turned into an echo-chamber of nonsense, ruled by all-powerful mods to whom every user is a racist transphobe nazi homophobe enemy. Even the smaller subs catch the contagion year over year. I’ve been a Redditor since before the narwhal baconed at midnight.…

[flagged]

Re: Digg's v4 launch: an optimism born of necessity (2018)

#78
post #3

> Our API server was a Python Tornado service... and one of the most frequently accessed endpoint was used to retrieve user by their name or id. Because it supported retrieval by either name or id, it set default values for both parameters as empty lists. This is a super reasonable thing to do! However, Python only initializes default parameters when the function is first evaluated, which means that the same list is…

Forget about production, how did this make it into python? This is so unbelievably stupid it makes PHP look like a sensible language.

It's an interesting decision to be sure. Then again it's not really that arcane, the question is simply whether you calculate function defaults once or on every invocation. Python made the choice to run it once.

What I don't get here is why they didn't simply use 'None' instead. If a parameter is optional then 'None' makes way more sense than an empty list.

Re: Digg's v4 launch: an optimism born of necessity (2018)

#79

Earlier quoted context omitted.

This is why I’m excited for the Reddit third party apps change. In a few years nobody will remember that this is what precipitated the fall of Reddit. It’s already turned into an echo-chamber of nonsense, ruled by all-powerful mods to whom every user is a racist transphobe nazi homophobe enemy. Even the smaller subs catch the contagion year over year. I’ve been a Redditor since before the narwhal baconed at midnight.…

[flagged]

“You must be fun at parties”, “awwwkard”, “okaaaaay”, “tell us what you really think”…

It’s just a way to dismiss a point.

Reddit has controversial subreddits, the vast majority of which were closed down. That’s neither here nor there.

I’m not looking for a pleasant subreddit for racists. I’m looking for a subreddit for my local hometown where the default assumption isn’t that it’s populated by racists.

I’m looking for a subreddit for posting Star Trek memes where the default assumption is that I’m not interested in depriving trans people of their right to exist.

The problem with Reddit and its mods is that the defaults are way out of wack. It’s always war-time and anybody who isn’t quoting from the latest propaganda film is a commie-nazi.

Re: Digg's v4 launch: an optimism born of necessity (2018)

#80

Albeit unpopular opinion, this kind of things is one of the reasons why I'll always push for Java instead of a jigsaw of different languages that sound cool. Stability, scalability and simplicity. Yes, you read correctly. Whomever complains that Java is bloated or complex, needs only to look on who is writing that "piece" of code. Expert developers will write proper code that anyone can maintain and keep simple. Too…

Digg didn't fail because it didn't use Java, that's preposterous. Java isn't more scalable, stable or simple than any other solution, that's Java consultancy bullshit.

Java is just about the only sane language that one should use for complex projects.

All phones since the last 30 years (including the famous Nokias) shipped with Java and apps that simply worked. Android is constructed on top of Java. What I build today with pure Java will run in 100 years from today without needing changes. Quite a different scenario for whatever other language that breaks stuff every couple of versions.

Using other languages is of course possible. In the same manner as building a wheel with stone is possible instead of using rubber.

Post reply on HN