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

TDD helps close to 0 % with fragility and only exists to help development


> const createUser = (

> attributes: UserAttributes,

> onCreate: (user: User) => void

> ): User => {

> user = User.create(attributes);

> onCreate(user);

This stood out to me, in an otherwise tame article, as probably the most terrible overthought interface possible. A literal callback function passed as a function reference to something that does three lines of code? Good luck with that, I much prefer even a slightly procedual implementation.


The three line function here is an example, but I spent a good part of a sprint having to deal with a 730-line function that could've been used as a perfect "real world scenario" of why this abuse of control flags (or type keys) is a bad idea.


Saying anyone is "responsible" for a suicide is disingenuous


People are absolutely, 100% responsible for his death.

A young person near the beginning of their career got sentenced to 13 federal crimes, 50 years of imprisonment and one million dollars in fines, for downloading some PDFs of scientific articles.

It's not like someone asked him to delete the PDFs and he killed himself in protest. His life was ruined to make an example out of him.


Well that is just objectively false. The man was never "sentenced to 13 federal crimes, 50 years of imprisonment and one million dollars in fines". It is blatantly false.


It is objectively false, but the spirit of your comment is grossly incorrect as well. He wasn't sentenced, but the "13 federal crimes" was a plea bargain offered by the prosecution. He killed himself beforehand.

FWIW, I actually have a close friend who ended up in North Kern for a couple years because of a plea deal fiasco. For most of us who never directly interact with the criminal courts, navigating such curcumstances is complelty bonkers and stressful, as I'm sure it was for Swartz.


Over zealous prosecution can make one’s life a living hell which certainly didn’t help.

Add to that a young man who might have had some depression issues (I’m not sure) and you have a heartbreaking tragedy.

From the Wikipedia:

Days before Swartz's funeral, Lawrence Lessig eulogized his friend and sometime-client in an essay, "Prosecutor as Bully." He decried the disproportionality of Swartz's prosecution and said, "The question this government needs to answer is why it was so necessary that Aaron Swartz be labeled a 'felon'. For in the 18 months of negotiations, that was what he was not willing to accept."

https://en.m.wikipedia.org/wiki/Aaron_Swartz

It’s heartbreaking even years on.


> Goal: Distribution of labor and resources based upon the needs of society > Proxy: Capitalism > Strong version of Goodhart's law leads to: Massive wealth disparities (with incomes ranging from hundreds of dollars per year to hundreds of dollars per second), with more than a billion people living in poverty

Nothing as annoying as online communists inserting their horrible political opinions everywhere. Try moving to a communist country. See how capitalism has raied billions out of poverty in only 30 years


These communists - are they in the room with you now?


We could start by considering not writing stuff like

> /*

> * Truncate to 8 chars if standard DES since not all crypt()'s do this.

> * If this turns out not to be safe we will have to use OS #ifdef's (sigh).

> */

> sav = pass[8];


there is no copy-on-write in the C language


But in C, the first half of the 'or'-dtatement applies.


Gnome and making bad choices, name a better combo


OSX and brainwashed plebs.


if C throws away portability it is no longer C


C's secret to portability is called #ifdef spaghetti and mostrosities like autoconf.


That is what many people fail to understand as to why us C programmers dislike C++


Indeed, because languages with reference parameters preceed C for about 15 years, and are present in most ALGOL derived dialects.


Writing CUDA by hand is like writing x86 assembly by hand, why would anyone ever do that willingly and not for fun?


So now standard C++17 or modern Fortran is like writing Assembly by hand?


> is **like** writing x86 assembly by hand

yes absolutely, way too granular and low level


What? CUDA is intentionally granular and low level, why do you feel that is a negative thing at this level of abstraction? Are you suggesting the tools should be better so that doesn't have to be the case? I can't figure out what you're actually trying to express here.


CUDA is absolutely fine just like x86 assembly is absolutely fine. They are well thought out. What I am saying is that from my perspective they are as granular and difficult, and programming directly in them for even small projects is not a good idea. GPU programming is, at the moment, stuck in 1960's way of thinking, as there are multiple people writing CUDA code by hand.


There's nothing 1960s about it, that's just not well reasoned. These computation constructs/tools just don't currently have better abstractions while maintaining the desired computational performance.

It's a strange intersection of needs where one wants or needs something like CUDA, but doesn't care to ensure their computation is actually running optimally. If you don't want to be bothered with control and granularity, why are you trying to write high performance CUDA code in the first place?

Would you mind elaborating as to what your hobby project was?


Now C++17 with NVidia parallel libraries is too granular and low level, what a joke.

Yes one can make use of the Assembly like low level APIs, which unlike OpenCL, are opt-in, not forced upon everyone.

Clever devs use the high level C++ and Fortran NVidia libraries.


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

Search: