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

Steam250 [0] lists top games on Steam, and you can filter by tag and period. Additionally, it features a "hidden gems" section, with highly-rated but unpopular titles.

[0] https://steam250.com/


Fire - tysm for answer :D


I have built a Chrome extension to do this one year ago: [0]

Here is the list of technological problems:

1. When is a page ready to be indexed? Many websites are dynamic.

2. How to find the relevant content? (To avoid indexing noise)

3. How to keep an acceptable performance? Computing embeddings on each page is enough to transform a laptop into a small helicopter with its fans. (I used 384 as the embedding dimension. Below, too imprecise; above, too compute-heavy).

4. How to chunk a page? It is not enough to split the content into sentences. You must add context to them.

5. How to rank the results of a search? PageRank is not applicable here.

[0] https://www.youtube.com/watch?v=GYwJu5Kv-rA


For the most straightforward nominative pattern matching, I would write a small match function:

    type A = { kind: "kindA", a: "dataA" }
    type B = { kind: "kindB", b: "dataB" }
    type Sum = A | B

    const match = <
        const V extends { kind: string },
        const C extends { [ kind in V[ "kind" ] ]: ( value: V & { kind: kind } ) => unknown }
    >( value: V, cases: C ) => cases[ value.kind as V[ "kind" ] ]( value ) as ReturnType<C[ V[ "kind" ] ]>

    // You check the type of result, change the type of value to A or B, make the cases non-exhaustive...
    const howToUse = ( value: Sum ) => {
        const result = match( value, {
            kindA: _ => _.a,
            kindB: _ => _.b
        } )
    }
You can test it here: https://www.typescriptlang.org/play?#code/C4TwDgpgBAglC8UDeU...


I also built such an extension half a year ago [0]. The first iteration was a local-first natural-language full-text search for the browser history [1]. The second iteration was focusing on bookmarks [2].

None of these could spark enough interest to get feedback on what users want. I am sharing this experience so that you may study my attempt, if you want.

[0] https://getpinbot.com/

[1] https://www.youtube.com/watch?v=GYwJu5Kv-rA

[2] https://www.youtube.com/watch?v=PQh1qhvxZzc


I love it. I wrote an RFS[0] based on a similar idea. The big value prop in my mind isn’t the single user experience but rather automated trust signals on content quality based on access by members of your network graph and their proximity.

Hopefully yourself, author, and others continue to work on this idea.

[0] https://www.nothingeasyaboutthis.com/replacing-google-search...


Thank you! Will take a look at these. We mostly made this to solve something for ourselves and as a learning exercise, but hoping this may resonate with others too


The most clever way I have found is through a mathematic structure with the same shape, i.e., a magic square:

  2 7 6
  9 5 1
  4 3 8
Here, if a triplet of one player's cells sums to 15, that player has won.


If you want a similar extension which works without sending data to an external server, I made Pinbot as an experiment: https://getpinbot.com


If you need a free alternative, the closest I know of is Metropolis[0] by Chris Simpson, although it is closer to Gotham.

[0] https://github.com/dw5/metropolis


Good work, Altanis! After exactness, speed is certainly a priority. For my engine, I settled on Rapier, which also offers excellent performance (and determinism!). Do you think you could compare it with Kinetics?

Can you provide a high-level view of how you achieve that speed? I have also heard of eXtended Position-Based Dynamics as one of the latest improvements in physics engine. Do you have a perspective on that?


I will bench Rapier against Kinetics in a few minutes and upload results to GitHub. I'm sure it's much faster though, it uses Rust

As for the speed the engine provides, not much. I just optimized my spatial hashgrid. It used to iterate over every entity, found the cell it was in, and checked the objects in that cell. I replaced it by iterating over each cell, and checking the entities in the cell. Performance went up significantly (iirc 1k squares took around 6-7 mspt, now its 0.4mspt)

The engine actually uses position based dynamics (the penetration depth changes position), as for extended position dynamics, I looked into it but "softness" isn't a field in the entity object, so I decided to not implement it (extended pbd iirc just fixes softness)


Steam 250 [0] lists the top-rated games. You can filter by tags, price, date; but the most interesting category for me is the "hidden gems".

[0] https://steam250.com/


Probably A/B testing. If I ran such a service, I would try different prompts to find the best, by checking the user behaviour: do they stop rephrasing the question? If so, the prompt was probably effective.


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

Search: