
YouTube video has its own URL in it - ignaloidas
https://www.youtube.com/watch?v=D6L__oR1O9A
======
dewey
I think it's most likely done with the API. From what I remember from looking
at it a while ago you can create the entry before, then it'll give you the
right endpoint where you post your actual file to later on in the process. You
just have to do that quickly enough so the endpoint doesn't expire.

~~~
iforgotpassword
It's apparently even been done before, see here at around the three minute
mark:
[https://youtube.com/watch?v=UMYTSJTU0Vk](https://youtube.com/watch?v=UMYTSJTU0Vk)

~~~
rebane2001
Oh hi, creator of the video here!

It's just a fun video of me messing around with Windows 8.1 I made a while
back, trying out different "apps" and stuff. I thought it'd be a fun easter
egg to download the video itself when I was trying out that strange YouTube
MP3 downloader app :D

I didn't do it with the API (even though I tried to at first), just the normal
youtube.com/upload site. I used Fiddler (Burpsuite alternative) to achieve
this

I am not the first person to do this however, Insane Doll Gallery has made a
video demonstrating this [youtu.be/ufq2Eb78kSU] (apparently used the API) and
the channel NightFalls Studios has also used this trick in their My Little
Pony comic animations [youtu.be/FDLvR9xrCag and youtu.be/7oXsOmqs6R4]

~~~
hanniabu
I always see creators popping up when something they made is mentioned. I find
it too coincidental that you just happened to be on HN and happened to find
the comment mentioning it. Do you use a service that scrapes sites and pings
you of keyword mentions?

~~~
leppr
Websites can use the "referer" [1] property to show you where visitors are
coming from.

[1]: [https://developer.mozilla.org/en-
US/docs/Web/HTTP/Headers/Re...](https://developer.mozilla.org/en-
US/docs/Web/HTTP/Headers/Referer)

~~~
rebane2001
This is true, but for YouTube, the "referer" stats won't appear for a couple
of days

------
triMichael
Definitely not the same technique, but at one point I watched a Mario Maker
puzzle level someone had uploaded that used part of its own level code as a
clue. The trick was that only two characters of the level code were used,
which is hexadecimal, so there are 256 combinations of those two characters,
allowing the level creator to brute force re-uploading the level until getting
the desired combination.

~~~
georgespencer
Reminds me of the brilliant New York Times crossword which "predicted" the
winner of the US election in 1996:

[http://www.alaricstephen.com/main-featured/2017/7/3/the-
clin...](http://www.alaricstephen.com/main-featured/2017/7/3/the-
clintonbobdole-crossword)

~~~
Lammy
This page seems to have zero text or image content unless I let SquareSpace
run Javascript (and ostensibly track me).

~~~
nullandvoid
Would your quality of life browsing the web not be infinitely better if you
just span up a VM and sat behind a vpn on it?

~~~
mnw21cam
Um, no. No, I don't think so.

------
kerblang
Done more than once before, this one even has an explanation, which matches
some of the guesses people already posted I think
[https://www.youtube.com/watch?v=ufq2Eb78kSU](https://www.youtube.com/watch?v=ufq2Eb78kSU)

~~~
carusooneliner
Excellent, this explains it. The YouTube video you shared says the trick is to
create a resumable upload using YouTube API. The steps involved :

1\. create a resumable session (here we specify video length in bytes)

2\. YouTube returns a session URI which contains the upload ID

3\. create a video with the upload ID baked in (edit video to match length
from step 1)

4\. upload video to the session URI

[https://developers.google.com/youtube/v3/guides/using_resuma...](https://developers.google.com/youtube/v3/guides/using_resumable_upload_protocol)

~~~
samstave
I have not been doing any edits of video for a long time... What are most
people editing vids with these days?

~~~
wybiral
As someone who uses Linux, I've found Blender + ffmpeg to be a powerful combo.
Almost all of the videos on my channel use those two.

The video sequence editor in Blender is awesome for arranging tracks, audio,
transitions, overlays, text, etc. And with ffmpeg you can move it to any
format you need. To clean up audio I use Audacity.

~~~
StavrosK
Blender? Really? Huh, I've been looking for a program to do some simple video
editing. Would you happen to know of a good tutorial for the basics of non-
linear video editing with Blender?

~~~
steelframe
I've used Blender for video editing, but I had to pull up a fairly long
Youtube video on how to set up my environment and choose settings in Blender's
UI.

I've just pulled down a 2.80 release candidate with the UI overhaul to see if
it's any better. It's actually pretty nice. I just selected the video editor
option in the startup screen, and things sort of worked like I expect in a
NLE.

~~~
StavrosK
Oh huh, maybe I'll just get that then, thanks!

------
turdnagel
C.f. this tweet, which has a link to itself:
[https://twitter.com/mauritscorneIis/status/99142460340155187...](https://twitter.com/mauritscorneIis/status/991424603401551872)

(And as we all know Twitter has no edit button, no post-upload shenanigans are
possible here, just some clever guessing and reverse-engineering Twitter's ID
generation algorithm)

~~~
vincentchu
This tweet (or one like it) caused a massive Twitter outage.

~~~
brokensegue
Citation?

~~~
vincentchu
Used to work there :D

~~~
StavrosK
Was it because Twitter tried to recursively load the previews?

------
soupfordummies
Interestingly, there's a frame or two at the very beginning that shows a
document open that could suggest an exploit of some kind.

Screenshot: [https://i.imgur.com/3oTXTDK.png](https://i.imgur.com/3oTXTDK.png)

~~~
pavel_lishin
_From: Pi_

 _To: Pi_

 _Subject: Project Time Machine - Test #3_

It sounds like someone's trying to create some fun meta-fiction - it looks
like a letter from the creator's future self to his past-self, describing
future-self's experience going through some iteration of the time-loop ("Don't
talk about fate. You did it once and it was cringy.")

~~~
lioeters
Indeed - using the Czech-language version of Word and email client.

------
thepiwo
Reminds me of the gif showing its own hash
[https://news.ycombinator.com/item?id=13823704](https://news.ycombinator.com/item?id=13823704)

------
Deimorz
A somewhat related story about why text posts on reddit are called "self
posts" (copy-pasted from a thread from 5 years ago where someone asked why,
linked near the top of the explanation):

\---

It's actually a bit of a long story, but it's kind of an interesting part of
reddit's history. Some of my details are probably off, but this is how I
understand it.

A long, long time ago, reddit only supported submitting links. Link
submissions were pretty much exactly the same as they still are now, including
having a comments page that you could go to with an address like the page
we're currently on:
[http://www.reddit.com/r/help/comments/2bmy3l/what_does_the_s...](http://www.reddit.com/r/help/comments/2bmy3l/what_does_the_self_in_for_example_selfhelp_refer/)

If you look at that address, one thing to notice is that it includes the
submission's ID in base-36, which for this post is "2bmy3l". If you go to
[http://www.reddit.com/r/all/new](http://www.reddit.com/r/all/new) and look at
the links to the comments pages of the newest posts, you'll notice that their
IDs are increasing. For example, at the time I'm writing this, the newest IDs
are 2bo3uw, 2bo3ux, 2bo3uy.

Since the IDs are increasing, you can predict which ones are coming up. You
know that the next ID after those ones should be 2bo3uz. So some person
decided it would be funny if they pre-constructed a link like this:
[http://www.reddit.com/r/reddit.com/comments/<id>/this_post_w...](http://www.reddit.com/r/reddit.com/comments/<id>/this_post_will_link_to_itself/)
and then checked which IDs were coming up, filled in the "<id>" spot with one
that should be used soon, and submitted it.

If they got their timing right, they'd end up with a link post that actually
went nowhere. Clicking it would just take you to its own comments page, since
they had managed to predict the url that the comments page would have. This
was a "self post", a post that linked to itself.

So this was a pretty neat trick, and when it was successfully pulled off for
the first time, it got a whole bunch of attention. Unfortunately, reddit's
never been very good at just seeing some new popular thing as a novelty and
moving on. No, of course pretty much everybody wanted to get their own "self
post". The majority of the new submissions to the site were suddenly just
people trying to make a self post, completely drowning out all the real
submissions.

It was causing a gigantic mess, so one of the admins at the time decided to
get people to stop by taking all the fun out of the game. They made it so that
you could just choose to make a self post. You didn't have to guess the ID or
anything, you just selected that you wanted to make a self post and
automatically got one. It didn't have the option to add additional text or
anything yet (that came later), it was just a title that linked to its own
comments page.

So that's how self posts came about, and where the name originated. A quick
solution to a mess being made by users that eventually turned into one of the
most important pieces of reddit.

~~~
StavrosK
Oh man, I remember trying (and succeeding) to do this with comments, back
before you had a 30 second grace period before getting the asterisk. I wrote a
comment that linked to itself.

I later became "more" famous for inadvertently DDoSing reddit, and forgot all
about it until someone replied to one of my comments saying "aren't you the
asshole who brought down reddit as an April fool's joke?". "Huh? No! Oh,
wait".

~~~
trazire
How?

~~~
StavrosK
I created the f7u12 subreddit, so I thought it would be funny if I put the
"reddit is down" graphic over the subreddit front page with CSS.

It had millions of subscribers. They all kept refreshing.

~~~
pbhjpbhj
Lol, that's good. Also le f7u12, haven't thought about that in years .. I
guess you brought rageguy over from 4chan then?

~~~
StavrosK
It had already spread by then, I just created the subreddit and it took off.

------
userbinator
I guess this could be referred to as a YouTube quine (as opposed to a YouTube
queen.) It'd be even more amusing if the video ID contained something
meaningful --- I've seen that happen by coincidence.

------
mwidell
For some users, at least for me, it is actually possible to just replace the
video file in the upload interface on YouTubes website, within the first hour
or so. Using this method this would be easy.

------
cloudking
Maybe 1) start upload till URL appears 2) go offline 3) replace file 4) go
online

~~~
modinfo
You're right, I did what you said and it works. This is easier than I
expected.

[https://www.youtube.com/watch?v=bF37GjdwJvk](https://www.youtube.com/watch?v=bF37GjdwJvk)

~~~
cloudking
Nice, was a lucky guess!

------
TazeTSchnitzel
Another way to achieve this would be to make a video which flashes each
possible digit of the YouTube video ID alphabet once for each digit, then use
YouTube's video editor to cut out all the incorrect digits.

~~~
rebane2001
The video, running at 60fps, would have to be 38996161157 years long for this
to be a possibility Even if you predicted the first 3 symbols of the id, you'd
still need a 148758 years long video

~~~
josinalvo
each possible digit, not each possible ID.

You seem to be calculating some combinatorial explosion, where there probably
is none

~~~
rebane2001
You need to flash each possible ID, as the YouTube video editor only allows
for trimming

~~~
TazeTSchnitzel
No, YouTube lets you cut out parts of a video retroactively. “Video editor”
might be the wrong name.

------
mjevans
It would be more useful if Google / Youtube's API allowed 'reserving a slot'
which would create a video ID endpoint but not finalize the content. Accounts
might have a per-account limit of some small number of floating slots which
would also timeout after a day or two.

This wouldn't violate the write-once model since the submission wouldn't be
completed, it'd just defer finalizing and publishing it for a little.

~~~
MichaelApproved
More useful for what application? Other than a novelty, why would anyone need
a reserved spot?

~~~
josinalvo
To provide a link to next week's video/ the next of a series inside the
previous?

~~~
cameronbrown
URL shorteners do this trick, can just update the redirect. Most people just
put videos in a playlist so it comes recommended next though.

~~~
judge2020
And end cards were made for exactly this purpose - you can't put them in the
description but at the end you can link to latest video in a playlist.

~~~
anticensor
Video descriptions can be edited.

------
nafey
This looks really interesting. Has YouTube ever published their URL generation
technique?

Any one has a guess how this was done? If they use a one way hash over
metadata and content if video does this not mean that someone has figured out
their secret key.

~~~
apocalyptic0n3
As far as I was aware, the ID is just a hashed version of the actual database
id being passed through an algorithm using base64. hashids[0] implements a
similar method of obfuscating IDs.

0: [https://hashids.org/](https://hashids.org/)

~~~
blattimwind
You can also permute your ID space using a block cipher.

------
Doubl
This reminds me of the holy Grail (for me anyway) of a file containing its own
hash

~~~
aasasd
What do you know, this has been posted in another comment in the thread:
[https://news.ycombinator.com/item?id=13823704](https://news.ycombinator.com/item?id=13823704)

------
retpirato
You know you can edit previously uploaded videos,right?
[https://spencerdailey.com/2019/06/24/youtube-should-give-
use...](https://spencerdailey.com/2019/06/24/youtube-should-give-users-a-way-
of-knowing-if-a-video-has-been-altered-after-its-been-posted-a-no-brainer-
consideration-in-2019/)

------
raverbashing
Ok now give me a text file (or some kind of image file) that contains its own
md5/sha1/sha256 hash in the text (or in the image)

~~~
sp332

      It's a PDF, a ZIP, and an HTML page:
      If you drop it on itself in a browser,
      it can give you a PDF viewer, a video
      and a PNG explaining the whole file structure.
      All these files have the same MD5.
    

[https://twitter.com/angealbertini/status/1111329484647616513](https://twitter.com/angealbertini/status/1111329484647616513)

The explanation for how the MD5 trick is achieved is in the PDF, starting on
page 21.

Edit: whoops, probably more relevant is this earlier issue, which has the MD5
printed on the cover.
[https://github.com/angea/pocorgtfo/blob/master/contents/issu...](https://github.com/angea/pocorgtfo/blob/master/contents/issue14.pdf)
The relevant article in that issue starts on page 46.

------
cglong
Can we add "[video]" to this title?

------
amenghra
[https://twitter.com/selfrefer/status/3128391843](https://twitter.com/selfrefer/status/3128391843)
is a self referencing tweet and more impressive (since there’s no api to
“cheat”).

------
dalore
Can't you just upload a video, get the url. Make a new video and upload it as
an edit?

~~~
Matticus_Rex
No, you can edit a video in YT but you can't reupload a new video with the
same URL.

~~~
llao
I am very sure that high profile users can do that.

edit: Yes, sorry for the crappy source though ->
[https://www.reviewjournal.com/insidetech/youtube-lets-
some-u...](https://www.reviewjournal.com/insidetech/youtube-lets-some-users-
fix-videos-without-changing-the-url/)

------
qpleple
Anybody knows how?

~~~
Avamander
Start uploading a video, pause the upload, you could already get the ID of the
vid, render rest of the video and then continue the upload that now contains
the ID of the video :D

~~~
techaddict009
How to pause? and re upload pending part with new video?

~~~
adrianmonk
Here's a guess: upload from a browser running on Linux, and create a FUSE
filesystem that blocks read() calls until you've generated the video.

I tried it with a named pipe ("mknod /tmp/foo.mp4 p") and it gave me an error,
but before the error, the web page blocked during upload, but it showed me the
URL that will be used (before I gave it a single byte of data).

------
frenchman99
[https://developers.google.com/youtube/v3/guides/using_resuma...](https://developers.google.com/youtube/v3/guides/using_resumable_upload_protocol)

------
sbhn
Live streaming your live stream

~~~
iforgotpassword
Wouldn't it say streamed instead of published then in the description box?

------
qhfgva
Somewhat in the same vein:
[http://madeofmistake.com/selfrefdata](http://madeofmistake.com/selfrefdata)

------
mamadontloveme
Clever way to do it :) And the frames at the start are there, because his
solution needed time to get the ID in order to dynamically show it inside
Minecraft.

------
tonymet
my guess is the url is a hash of the video upload time, username , video
length (is deterministic) so he uploaded 100 (or 1000) and kept the one that
worked

tip: if you see something magic it's usually just dilligence in disguise.
(like the Prestige)

------
frenk4
The video shows a '0' but the url has an 'O'

~~~
lysium
I thought, '0' (zero) is filled/dashed in that font to distinguish it from
'O'. Or you're trolling. ;-)

------
kentms
If the video was reading the actual url in real time, then, if I add another
query string parameter it should show up on the video. Which is not the case.
So I assume it was somehow edited.

------
anewguy9000
i thought this was going to be an infinity mirror. oh well

------
m463
Reminds me of the guy that posted this:

[https://news.ycombinator.com/item?id=20456139](https://news.ycombinator.com/item?id=20456139)

~~~
rohan1024
Okay, how did you do it?

~~~
henkslaaf
Post first half, then edit? Just a guess.

~~~
taneq
Let's see if that works.

Yep!
[https://news.ycombinator.com/item?id=20457180](https://news.ycombinator.com/item?id=20457180)

