For the best experience on desktop, install the Chrome extension to track your reading on news.ycombinator.com
Hacker Newsnew | past | comments | ask | show | jobs | submit | history | more Sharlin's commentsregister

I guess if you're not allowed to use solar in the form of chemical potentials frozen long ago into carbon-y molecules buried underground, the second best thing is to use solar in the form of gravitational potential stored in water molecules that's constantly getting replenished because the planet just happens to work like that.

Happily, Helsinkians don't agree. Everyone seems to love Oodi.

It would "seem" that "everyone" loves Austin's downtown Central Library. Reality: they don't.

There's nothing "everyone" loves.

Austin Central Library has a 4.7/5.0 on 1,464 reviews on Google Maps. Of course, this is a biased sample. But, I think it's safe to say lots of people love it.


To me 4.7 on Google Maps means there is some merit to the hype, the experience will be above average but potentially barely so.

4.8 is an easy pick.

No idea how or if it applies to Austin library.


Move the goalposts harder, please.


*Toffoli

Cellular Automata Machines: A New Environment for Modeling, by Tommaso Toffoli and Norman Margolus

https://donhopkins.com/home/cam-book.pdf

CAM6 Demo:

https://www.youtube.com/watch?v=LyLMHxRNuck

Demo of Don Hopkins' CAM6 Cellular Automata Machine simulator.

Live App: https://donhopkins.com/home/CAM6

Github Repo: https://github.com/SimHacker/CAM6

Javacript Source Code: https://github.com/SimHacker/CAM6/blob/master/javascript/CAM...

Comments from the code:

  // This code originally started life as a CAM6 simulator written in C
  // and Forth, based on the original CAM6 hardware and compatible with
  // the brilliant Forth software developed by Toffoli and Margolus. But
  // then it took on a life of its own (not to mention a lot of other CA
  // rules), and evolved into supporting many other cellular automata
  // rules and image processing effects. Eventually it was translated to
  // C++ and Python, and then more recently it has finally been
  // rewritten from the ground up in JavaScript.
  // The CAM6 hardware and Forth software for defining rules and
  // orchestrating simulations is thoroughly described in this wonderful
  // book by Tommaso Toffoli and Norman Margolus of MIT.
  // Cellular Automata Machines: A New Environment for Modeling
  // Published April 1987 by MIT Press. ISBN: 9780262200608.
  // https://mitpress.mit.edu/9780262526319/cellular-automata-machines/

I'm always surprised at the high frequency of major typos in titles from HN posts

Sounds like a type of pasta


  def hash(str):
    len(str)
O(1), baby!

O(1) only if you're working in a language with length-stored strings (like Pascal[0]), right?

In something like C with its generic strings[1], it would surely have to be O(n) since you have to scan the entire string to calculate its length?

(I have always been terrible at big-O, mind.)

[0] There's probably more of them by now.

[1] ie. not a specific length-stored string type.


Yes. But that's a known misfeature of C and no other language does it like that. Plus I kind of meant arbitrary byte strings where you can have embedded zeroes and thus have to know the length.

You'd probably want 'return len(str)', if this is Python?

In any case, for some applications this is indeed a great hash function. Programs like rmlint use it as part of their checks for duplicate files: if files have different lengths, they can't have the same content after all.


Yes, too much Rust :D Eliding the `return` becomes so intuitive after a while that you sort of forget that most other languages require it.

Haskell and the Lisps also work like this.

Yes, I know, it's the natural way to do it in functional programming. Honestly I doubt there are any FP languages that don't do it like that.

I like that Rust, just like Lisp and Haskell et al also allow any block to return a value, not just functions. So if-then-else and loops etc can do that. It be nice if Python could do that.

Perhaps I should hack up Python to allow that. Would be an interesting little project.


Re: missing return keyword

Actually, in Python, None is a valid key...

(I'm so sorry. JavaScript has ruined me.)


Any `return c` for some constant is a valid and correct hash function. It just has a lot of collisions and degenerates hash-maps to terrible performance. That was in fact my first thought when I read "simplest hash functions".

That's why I said "probably".

If you use the identity function as your hashing function then is it O(0) because you are done before you start?

For an arbitrarily long input, you still have to compress it to constant size somehow.

Or pad all entries with 0s to an arbitrarily long size. The 0s can be assumed, and not actually stored. Therefore arbitrarily long entries need not be shortened.

I don't think there are any reasonable use cases for a non-constant-length hash.

> and 25 planets is >99% of players?

That doesn't sound so strange because the presumably the majority of visitors are going to try once or twice and then carry on, and it's actually pretty difficult to get even 25 points in this game.


"I hate corporations and I hate leftists, ergo they must be the same thing"

There’s this thing called the Berne Convention. Countries that cooperate on copyright are going to standardize their interpretations on questions like this sooner or later.

As far as I can see, the vast majority of people don’t pirate music these days (unlike 20 years ago). Most people wouldn’t even know where and how to pirate music. They just have Spotify or another streaming service.

> They just have Spotify or another streaming service.

That could have never existed without piracy causing a shift in market forces.


It's obvious that a computer program cannot have copyright because computer programs are not persons in any currently existing jurisdiction.

Whether a person can claim copyright of the output of a computer program is generally understood as depending on whether there was sufficient creative effort from said person, and it doesn't really matter whether the program is Photoshop or ChatGPT.


Just thinking out loud... why can't an algorithm be an artificial person in the legal sense that a corporation is? Why not legally incorporate the AI as a corporation so it can operate in the real world: have accounts, create and hold copyrights...

Corporations are required to have human directors with full operational authority over the corporation's actions. This allows a court to summon them and compel them to do or not do things in the physical world. There's no reason a corporation can't choose to have an AI operate their accounts, but this won't affect the copyright status, and if the directors try to claim they can't override the AI's control of the accounts they'll find themselves in jail for contempt the first time the corporation faces a lawsuit.

Because the law doesn't say it can. It's that simple.

So if creative effort was put into writing the prompt, then whoever wrote the prompt should have the copyright to the output produced by ChatGPT?

Sure, but the prompt wasn't the only input… there was considerable effort put into the training data as well :)

Copyright applies to legal persons, that's why corporations can have copyright at all.

Consider applying for YC's Summer 2026 batch! Applications are open till May 4

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

Search:

HN For You