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

> I managed to fix my source code alone, like twelve months ago.

I’ve just mentioned to one of my friend yesterday, that you cannot do this anymore properly with new things. I’ve started a new project with some few years old Android libraries, and if I encounter a problem, then there is a high chance that there is nothing about it on the public internet anymore. And yesterday I suffered greatly because of this. I tried to fix a problem, I had a clearly suboptimal solution from myself after several hours, but I hated it, but I couldn’t find any good information about it (multi library AndroidManifest merging in case of instrumented tests). Then I hit Claude Code with a clear example where it fails. It solved it, perfectly. Then I asked in a separate session how this merging works, and why its own solution works. It answered well, then I asked for sources, and it cannot provide me anything. I tried Google and Kagi, and I couldn’t find anything. Even after I knew the solution. The information existed only hidden from the public (or rather deep in AGP’s source code), in the LLM. And I’m quite sure that I wasn’t the only one who had this problem before, yet there is no proper example to solve this on the internet at all, or even anything to suggests how the merging works. The existing information is about a completely separate procedure without instrumented tests.

So, you cannot be sure anymore, that you can solve it by yourself. Because people don’t share that much anymore. Just look at StackOverflow.


It looks like you could write that blogpost and get some traffic, on the other side. Very interesting how the flow has changed direction based on your example.

You can write in it like in imperative languages. I did it when I first encountered it long time ago, and I didn’t know how to write, or why I should write code in a functional way. It’s like how you can write in an object oriented way in simple C. It’s possible, and it’s a good thought experiment, but it’s not recommended. So, it’s definitely not “enforced” in a strict sense.

Isn’t code in Haskell pure by default and you have to use special keywords to have code with side effects?

There's no special keyword, just a "generic" type `IO<T>` defined in standard library which has a similar "tainting" property like `async` function coloring.

Any side effect has to be performed inside `IO<T>` type, which means impure functions need to be marked as `IO<T>` return. And any function that tries to "execute" `IO<T>` side effect has to mark itself as returning `IO<T>` as well.


It's pure even with side effects.

You basically compose a description of the side effects and pass this value representing those to the main handler which is special in that it can execute the side effects.

For the rest of the codebase this is simply an ordinary value you can pass on/store etc.


Chat Control was nowhere near to become law. Last Fall, they would have voted about whether they really talk about it, but even that failed. Even if it would have been successful, nothing would have guaranteed that it becomes a law, or that it wouldn’t have been watered down completely. And the whole topic was kept alive somehow when it was well known even in September that the proposal was dead, because Germany doesn’t support it, and they didn’t have the necessary number of votes. Yet, there were articles even in November which stated that Germany decided only at that time that they don’t support it, which was obviously not true. It seemed to me like an artificial bubble of outrage. It was a bad proposal, so the outrage was needed until September. It’s just strange that people still pretend that it’s not dead half year after it became impossible to even consider it in the parliament.

https://en.wikipedia.org/wiki/United_States_Department_of_De...

Stoping and questioning why somebody uses DoD or DoW is way more telling than using any of those. Especially that both are perfectly fine, even officially.

A square was renamed in my home city about 20 years ago. We still use the original one usually, even teens know that name. I use a form of the original name of our main stadium which was renamed almost 30 years ago. Heck, some people use names of streets which are not official for almost 40 years now. Btw, the same with departments of the government. Nobody follows how they called at the moment, because nobody really cares. That’s the strange when somebody cares.


Or it could have just been a genuine question. I'm not American and I've seen DoW used in newspapers and thought the name change was official. Personally I've thought it a more apt and honest name for what they do.

But the backlash in the commments here show how ideologically charged the question seem to be.


I wasn't aware of how ideologically charged the question was. I'm also not American, but I'm glad I made the question. It's a clear sign for us not Americans to just leave them be.

> It's a clear sign for us not Americans to just leave them be.

Depending on where you live in the world that might be quite hard to do soon.


I agree. I live in Brazil and even though tariffs and interventions weren't directed at us, they influence the economy and political decisions. Also, Venezuela is right next to us, so instabilities there do tend to affect the whole region.

> Or it could have just been a genuine question.

Yes, exactly that’s why I wrote several examples to support why the chance for that is very-very slim.


Easier to work in hypotheticals than to do a bit of research like read the other comments. Just explained it was an honest question and why.

Do you really trust in random comments on the internet which states something to which the possibility is slim, because literally nobody cares why somebody calls the way it is, when that somebody knows both names, and when it's not political? I don't think that's optimal, and it's a hefty understatement of course.

> [p for mat in state_dict.values() for row in mat for p in row]

I'm so happy without seeing Python list comprehensions nowadays.

I don't know why they couldn't go with something like this:

[state_dict.values() for mat for row for p]

or in more difficult cases

[state_dict.values() for mat to mat*2 for row for p to p/2]

I know, I know, different times, but still.


I would have gone for:

[for p in row in mat in state_dict.values()]


That’s also an option. The left to right flow is better for the sake of autocomplete and comprehension: when you start to read your right to left version, you don’t know what is p, then row, then mat. With left to right, this problem doesn’t exist.

One for sure, both are superior to the garbled mess of Python’s.

Of course if the programming language would be in a right to left natural language, then these are reversed.


I don't understand how some people decide here, who the good programmers are. A lot of people reminded me a guy from West Palm Beach, who votes on elections solely on the principle of who has more "fame". Paul Graham is famous for sure (at least in HN circles), but I never considered him an exceptional or good programmer at all. So I always interpreted his words with a hefty amount of grain of salt. And sometimes some comments have a list of "good" coders, then half of them is like these famous, but not good ones.

> Paul Graham is famous for sure (at least in HN circles), but I never considered him an exceptional or good programmer at all.

pg wrote a Lisp dialect, Arc, with Morris. The Morris from "the Morris worm". These people are at the very least hackers and they definitely know how to code.

I don't think a "not good programmer" can write a Lisp dialect. At least of all the "not good" programmers I met in my life, 0% of them could have written a Lisp dialect.

It's not because Arc didn't reach the level of fame of Linux or Quake or Kubernetes or whatever that pg is not a good programmer.


I met a coder, who has several self made programming languages, and I would never allow him anywhere near any codebases for which I'm responsible. So writing a Lisp dialect, is not something which makes you a good coder for sure. Even as a junior you can do that. Making it good, and be able to really reason for choices is a different story. I've never seen any good new reasoning from Graham like for example how Dan Abramov do all the time. They are not even close, and definitely not in favor of Graham.

> I don't think a "not good programmer" can write a Lisp dialect.

You can write a lisp in 145 lines of Python: https://norvig.com/lispy.html


That doesn't disprove anything. Peter Norvig is about as far from "not good programmer" as one can get.

It's not about Peter. Of course, he's a great programmer. The point is that you can follow nicely written tutorials and have your own in a very short period of time. It's not particularly difficult to build a Lisp.

> pg wrote a Lisp dialect, Arc

Wasn't Arc just a collection of Scheme macros?


Presumably he got better in the intervening decades, but part of how we stopped the Morris Worm was that it was badly written (see the various version of With Microscope and Tweezers for detail, particularly about the "am I already running" check that ended up being why it got noticed, "because exponential growth".) Even for "bored 1st year grad student skipping lectures" it should have been better code :-)

(Also, writing a Scheme dialect was a first-semester CS problem set - if you're in a 1980s academic CS environment it was more effort to not accidentally write a lisp interpreter into something, something in the water supply...)


I take him to be a good programmer on top of a pioneer venture capitalist and entrepreneur but Hackers and Painters contains some pretty bad predictions and takes on programming, and if he didn't have that good foresight then, it has probably become worse with the years.


Just from coding: Clean Code. Most companies require this on principle. But nobody follows it. And there is a good reason, because if you follow it, your code will be completely unreadable and thus unmaintainable.

Or, like me, the kind of questions in which I’m interested are answered in a way worse rate by LLMs than StackOverflow, like ever.

I have and had problems with StackOverflow. But LLMs are nowhere near that, and unfortunately, as we can see, StackOverflow is basically dead, and that’s very problematic with kinda new things, like Android compose. There was exactly zero time when for example Opus could answer the best options for the first time, like a simple one, like I want a zero WindowInset object… it gives an answer for sure, and completely ignores the simplest one. And that happens all the time. I’m not saying that StackOverflow was good regarding this, but it was better for sure.


Because in such adversarial environments, your best employees leave, and quickly. And those people worth way more than half of your workforce.

Which response are we talking about which was problematic?

Hurting MAGA feelings or criticising Israel I'd guess.

I'm worried a political activist might go off the rails at some point for whatever their cause is and I have their software running on my computer... I don't want to be part of someone else's crusade.

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

Search: