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

I'm Satoshi Nakamoto. AMA.

Are you Adam Back?

Didn't he molest his sister?

This blog reads like it was written by ChatGPT.


We all yearn for the BlackBerry. I wish we got a modern one with support for the popular messaging apps (WhatsApp, Slack, etc). I know there are some smartphones out there with physical keyboards that run Android, but they feel more like a prototype than a full product.


You can't call it Ivy! That's an emacs package!


I genuinely can't tell if this is serious or not (or if the fact that it's impossible to tell is itself the point)


This is the same problem with cheating on tests and homework. By making getting a higher education degree mandatory for entry level jobs to be able to afford a normal life, people are incentiviced to get the degree, not the education. By tackling this particular case of students with fake disabilities, the universities will hurt people with real disabilities. Same thing with anti cheating measures that affect people that don't cheat. The root case of all this is making degrees mandatory on our society.


In TypeScript you can enable this by using BrandedTypes like this:

  type UserId = string & { readonly __tag: unique symbol };

In Python you can use `NewType` from the typing module:

  from typing import NewType
  from uuid import UUID

  UserId = NewType("UserId", UUID)


In Python 3.12 syntax, you can use

    type UserIs = UUID


`type UserId = UUID` creates a TypeAlias, not the same thing (from a type checker's point of view) as a NewType [1].

[1] https://typing.python.org/en/latest/spec/aliases.html


Why git though? Wouldn't it be simpler to just append the timestamp to the beginning or end of each line/paragraph, and just hide it when editing?


Yeah, I do something similar with org-node (org-roam alternative) where every capture templates has an inactive timestamp at the end before the tags.

i.e. Idea: Build minesweeper in the terminal with Ratatui @ [2025-02-05 Wed 18:01] :@someday:

And then I capture it in a daily note (or very rarely refile it) that has an org-id. Then everything gets connected with links and backlinks.

I keep the usual CREATED in the properties drawer empty in case I want to turn that heading into a node for linking at some point.

Though I'm still figuring out some things about my approach as I go. One thing is clear, org-mode can be adapted to quite a lot of workflows regardless of their weirdness or efficacy.


My org capture template from bernt Hanson's website clocks in and out giving you a timestamp. There is a "note" capture type.

https://doc.norang.ca/org-mode.html


Git gives you a full history of changes which is convenient for many other reasons. I also do sometimes put dated and less often timestamped entries when desired.


This is less a guide on how to do fp in Javascript, and more of a tutorial on how to implement a pure-functional-programming language in Javascript.

Javascript can do some functional programming, but it's not Haskell or OCaml. If you try to use it like that it quickly becomes a big mess and one that is not performant at all. You want to do pure, functional programming? Then write Haskell, or Elm, or Purescript.

I'm saying this as someone that loves fp, but is trying to get rid of a considerable chunk of fp-ts on a big codebase at work.

As a wise man once said, don't fight the language. Doing this deviates from Javascript semantics. It's a hack that is not actually helping people learn fp.

Also, please, don't do monads in Javascript! Monads are a solution for pure languages to deal with effects. Javascript can just do effects as it is!


Most of the books in libraries are books most people haven't read, does that make every library an anti-library?


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

Search: