Hacker News new | past | comments | ask | show | jobs | submit login
Pointer Pointer (2012) (pointerpointer.com)
455 points by heinrich5991 on Dec 11, 2020 | hide | past | favorite | 64 comments



I love a light hearted thing every now and then, and this tickles me very much!

Reminds me of a "user locator" website I once saw. It claimed to use advanced algorithms to locate the person using the website, so when you clicked go it spent a while printing various "reticulating splines" type technobabble before finally showing a picture of a big finger pointing at the user with big H1 text saying "You are right there".


I like these one off fun sites. Sort of like how 'zombo.com' was making fun of the .com stuff . Unfortunately that one will be done as flash goes away.


Luckily, flash isn't needed any more: https://html5zombo.com/

We should have always known, as anything is possible at ZomboCom.


This is what the internet was supposed to be. Well, not totally that's all it was supposed to be. But random websites that people put together just because. I'm sure they learned something by doing it, so it wasn't a total waste for them. And now we all get a bit of levity in our day.


I need this! Does it still exist?


That was the original GPS application on the palm pilot. Just put a big X on the screen, with "You are here" underneath it.


This sounds ingenious and cool.


Here's a picture of all the different regions:https://imgur.com/a/oYDA5Ja

For those curious if how it works, Paul Irish did a breakdown of it quite a while ago: https://youtu.be/Z2ZXW2HBLPM

TL:DW - Vornoi Diagrams[1] and manual tagging, no machine learning needed.

[1] https://en.m.wikipedia.org/wiki/Voronoi_diagram


I just looked at the latest code and it doesn't seem like that's the case any more. It's just a simple grid and instead images are picked and scaled to point more accurately from what I can tell. Also it's React now...


If I'm reading it correctly, it loads up an array of points [0], and after you move your cursor it loops through all points and finds the one with the nearest distance [1]. It seems like every image has the URL structure /images/[index of point].jpg.

The interesting bit is it keeps a list of the 4 point/images you've most recently seen, and will ignore those when searching for the new nearest point/image. Then scales that image to point at your cursor more accurately. This is why it feels pixel-perfect or so, because you won't get a repeat image until you refresh, or try the same location 5 times.

To test that out, ctrl+tab away and back to the tab without moving your cursor. You'll always get a different image. Then refresh the page, and ctrl+tab away and back again without moving your cursor. You'll see the same images in order.

Also neat that what was once a jQuery app now uses React and Typescript.

[0] https://pointerpointer.com/new-positions.json

[1] From /static/js/Point.ts

    const bruteClosest = (position: Point, positions: Point[]) => {
      let index = undefined;
      let closest = Number.MAX_VALUE;
      for (let i = 0; i < positions.length; i++) {
        const pos = positions[i];
        const distance = distancePoints(pos, position);
        if (distance < closest && !lastPicked.includes(i)) {
          closest = distance;
          index = i;
        };
      }
      lastPicked.unshift(index!);
      lastPicked.length = Math.min(lastPicked.length, 4);
      return index;
    };


Thanks for sharing! Never heard about Vornoi Diagrams before..


From the title, I was thinking it might be an interactive demo of pointers in C, very surprised :)


I thought it'll be some rant about and/or explanation of pointers to pointers in C/C++. But I like this page more!


Me too, at first I thought it was a follow-up to that post the other day about Linus Torvalds' 'more elegant' linked list implementation using pointers to pointers.


I had expected that too and before I knew it I spent time looking for Drake's approving finger from the meme or Uncle Sam's "I want you" gesture. I couldn't find either.


Very relieved when it wasn't...it's been a long week.


This feels like something from the early days of the web - and I mean that in a good way.


this is something from early days of the web.


In the grand scheme of things yes - but not relative to our subjective experience :)


The title claims 2012.


Previous discussions:

https://news.ycombinator.com/item?id=4095237 (2012, has a video on how it works)

https://news.ycombinator.com/item?id=8583179 (2014)


Also a bit of "how does this work" from 2017: https://news.ycombinator.com/item?id=13460124


This is apparently by Studio Moniker in Amsterdam

https://studiomoniker.com/projects


Sure? Where's the reference?


It was created by Jonathan Puckey, Luna Maurer, Roel Wouters. Roel is part of Moniker.

Another similar pointer idea from Moniker https://studiomoniker.com/projects/do-not-touch


Very fun!

It would be cool if this was a bit faster, so you'd be able to move the mouse around and see it flashing up different pictures of people pointing at it in real time.


This is weirdly hilarious to me, I like it!


The site loads an adsbygoogle.js script from https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.....

I can't see any ads on the site. Is this load due to the site being hosted on a Google platform like GCP or Firebase?


Ads load for me on mobile. There's a banner at the bottom of the screen.


I love all of the photos. Lots of casual pics of happy people. Everything has a very 90s/00s vibe which I'm finding nostalgic.

Does anyone know where this database comes from? I feel like they were all scraped off old MySpace pages.


My guess is photobucket archives, that site was really popular among college age kids around that time.


Try to tilt your phone from horizontal to vertical and back. :)


It responds to landscape/portrait reorientation, nice!


I remember Jonathan Puckey* explaining this project at Resonate festival: the delay before showing the image is artificial and meant to create suspence.

This is what I’d call 'user experience'.

* Now at https://puckey.studio, but I think he was still working at/for https://studiomoniker.com at the time.


This was totally worth turning on scripts for. I wonder if the images were tagged by hand or automatically.


$50 on by hand being quicker than with ML



Today I learned that the internet is AWESOME.


Hehe, good Friday fun, nice one! :-)


Oh I remember this from back when I was in highschool, nice to see it again :)


Brilliant, worked without fail for me, peer reviewed by my daughter.


Gfcbdcvhfxvh


This is so werid, and strange.


[flagged]


What algorithmic bias is there? It’s literally just a grid that maps your pointer location to a picture, no AI involved. Sounds like you’re calling the author a racist.


And...?


[flagged]


Lighten up. Have some fun.

Life is more than just "important" things.

Or better yet: "Important" and "relevant" things should not be limited to serious, constructive, work/society relevant things. Fun is very very important for the mind and soul.

Have more fun.


Today's friday. The site is cool and hilarious. Problem also looks like a good application for ML.

Bonus points for candid photos, no ads, low resolution images and nostalgic scenes.

I like this structure of HN. Kinda like old Slashdot. Something funny and lighthearted amongst all the heavy articles.


> Problem also looks like a good application for ML.

Wouldn't that be complete overkill, though? Zooming and panning are so much simpler and less compute intensive.


I think the idea was to find images that point to a certain location from a collection of photos.

Not having a bunch of photos of people pointing and just zooming/panning to that bit.


ML methods would require labelled data to be trained.

Labelling itself already solves the issue (i.e. a bunch of photos with people pointing in certain directions).

So basically you'd solve the problem you want to solve in order to automate a task that you already performed.


> ML methods would require labelled data to be trained.

Not necessarily.

One could train a model on synthesized data using e.g. blender, some programmable 3D people models with hand controls and some generic background images to paste them on.


I've heard of this being used. It's surprising to hear you mention it. Have you done that?

It's a neat idea, and I hope it becomes more popular.


> It's surprising to hear you mention it.

Me specifically or in general?

Anyway, for a Multimedia Information Retrieval course I chose to do my term project on training a neural network with synthetic data. In particular I modded Minecraft such that when I press a button it saves two screenshots: one regular and one where the game renders a depth map instead. I used this to generate ~1000 samples with perfectly accurate depth maps. Because of the mods, texture pack and world I used the data was somewhat realistic: https://i.stack.imgur.com/Zai51.jpg https://i.stack.imgur.com/eamMR.png

This data was then used to train a neural network to predict the depth map of unseen images. It was relatively successful, but requires more data and more research, I only had so much time for a term paper.


I guess people upvoted this submission because they think the website has some sort of machine learning algorithm, which is the daily bread on Hacker News.


Personally I don't think there's any machine learning needed for this (but who knows what they used). If I were to build a replica, my approach would be to grab a decent amount of suitable photos, manually mark the pointed areas in them, and have some sort of scaling/cropping/offset handle near misses.

I upvoted the submission because I think it's a cool trick either way.


It just shows that a "Lot of Prep" can be "machine learning" to the observer.


In the ye olden demoscene days, we called that "precalc".

Just calculate all the effects up front and then draw them "in real time" :)


If it were "lot of prep" - e.g. a manually-tagged and fixed database of about 100,000 images of people pointing (assuming 100 columns and 100 rows in the browser-viewport) then that's still small enough for an instantaneous response from the web-server, so the relative long busy-time suggests that _something_ computationally expensive is running in the background - such as a "this-pointing-finger-does-not-exist"-engine.


It could just be fake busy. Timing is everything in comedy, so give a first time user a little suspense to think advanced computer magic is happening before the punchline arrives.


Exactly. Looking at the JS code (even minified), you can see that it's calling a setTimeout for effect - possibly also waiting for image load-, but all the data is there already.


If it runs instantaneously, it would probably be a pretty cool effect to have the pointing fingers trace your cursor as it moves.


If I had a piece of ML that could do that, I'd just run it once on the server and grab a coffee as it generates a set of 100k labeled images for me.

IIRC, the "this X does not exist" sites also don't run ML on request, but serve cached images. At least that was my impression from getting the same image more than once when I spammed F5 fast enough.


All work and no fun makes hacker a dull person.


This one is similar but for me a bit nicer, the eye in the left upper corner follows your pointer. https://www.ftm.nl/




Consider applying for YC's Spring batch! Applications are open till Feb 11.

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

Search: