Side comment: when I watch YouTube content on my iPad, I normally use the Brave browser instead of the app. It has a built-in ad blocker that works well on YouTube.
HN user
rg3
Programmer, gamer. With some bugs, both at the same time.
https://rg3.name/
Thanks, I've reported that to the current maintainers.
Note in C you can get the correct result if you use long doubles, which normally go to 80 bits[1]:
printf("%Lf\n", 9999999999999999.0L - 9999999999999998.0L);
In my x86_64 computer it breaks when you add enough digits. At this point it started outputting 0.0 as the difference:
printf("%Lf\n", 99999999999999999999.0L - 99999999999999999998.0L);
With 63 bits for the fraction part you more or less get around 19 decimal digits of precision, and the expression above uses 20 significant digits.
[1] https://en.wikipedia.org/wiki/Extended_precision#x86_extende...
Thanks for your kind words on behalf of the current team.[1]
Actually, the project started as far back as 2006 and moved to git in 2008, hence the first commit having that date. I don't remember the exact day I started the project, but on freshcode (formerly freshmeat), the first listed version is 2006.08.08.
youtube-dl -F VIDEO_URL will give you a list of formats in YouTube, that you can choose using the -f option. DASH streams contain only video or only audio normally.
If your phone supports OGG and you're downloading from YouTube, you can download format 171 (-f 171) and change the container to OGG with ffmpeg. That way you won't lose any quality.
If your music player supports OGG, you can also use youtube-dl -f FORMAT VIDEO_URL and give a numeric format that corresponds to a DASH webm audio-only stream, with vorbis audio (e.g. format 171 these days). The container is webm but it can be trivially changed to OGG with ffmpeg, which you can call via --exec automatically.
Edit: I mentioned that because you don't lose any quality reencoding.
As it was pointed out the first time youtube-dl was on Hacker News, our user base seems to be split regarding that behavior. When you copy a URL from a playlist, the URL includes both the video id and the playlist id.
Some people want to download the whole playlist when passing a URL from one of the videos (because otherwise it's hard to get an URL that contains just the playlist). Some other people just want to download the video they are currently watching.
That's why we have the --no-playlist option, which you can use and even stick in the configuration file. There's also --yes-playlist to override the configuration file if you need to.
Well, this is going to be more of a philosophical answer than a technical one: with the popularity of YouTube nowadays, which is available on every platform and allows for anyone, anywhere to instantly watch a video, the cat-and-mouse DRM game would not succeed. I think DRM is flawed (insert the typical lock-and-key analogy here) but it does work for some situations. For YouTube: probably not. Somewhere, someone talented would crack it and tools like youtube-dl would continue to exist. A recent example is youtube-dl using rtmpdump when available to download DRMed videos.
The current team should have more information, but I think most updates are due to other sites breaking and new sites being added that due to YouTube or bug fixes. I don't think YouTube is actively working against tools like youtube-dl, at all.
I agree. It's a consequence of the software being very volatile, having thousands of users and supporting so many sites. There's something to fix or to add every day.
That was indeed the original purpose.
Awesome! Not long ago I switched to mpv from mplayer. mpv being able to use youtube-dl without any glue script would be fantastic.
I think it's a legitimate choice. Personally I'm not worried my work is being used that way, as long as the original project is available and works.
It's very nice to see a project I started reach the front page of HN.
I remember starting the project around 2006. Back then, I had a dial-up connection and it wasn't easy for me to watch a video I liked a second time. It took ages. There were Greasemonkey scripts for Firefox that weren't working when I tried them, so I decided to start a new project in Python, using the standard urllib2. I made it command line because I thought it was a better approach for batch downloads and I had no experience writing GUI applications (and I still don't have much).
The first version was a pretty simple script that read the webpages and extracted the video URL from them. No objects or functions, just the straight work. I adapted the code for a few other websites and started adding some more features, giving birth to metacafe-dl and other projects.
The raise in popularity came in 2008, when Joe Barr (RIP) wrote an article about it for Linux.com.[1] It suddenly became much more popular and people started to request more features and support for many more sites.
So in 2008 the program was rewritten from scratch with support multiple video sites in mind, using a simple design (with some defects that I regret, but hey it works anyway!) that more or less survives until now. Naturally, I didn't change the name of the program. It would lose the bit of popularity it had. I should have named it something else from the start, but I didn't expect it to be so popular. One of these days we're going to be sued for trademark infringement.
In 2011 I stepped down as the maintainer due to lack of time, and the project is since then maintained by the amazing youtube-dl team which I always take an opportunity to thank for their great work.[2] The way I did this is simply by giving push access to my repository in Github. It's the best thing I did for the project bar none. Philipp Hagemeister[3] has been the head of the maintainers since then, but the second contributor, for example, was Filippo Valsorda[4], of Heartbleed tester[5] fame and now working for Cloudflare.
[1] http://archive09.linux.com/articles/114161 [2] http://rg3.name/201408141628.html [3] https://github.com/phihag [4] https://github.com/filosottile [5] https://filippo.io/Heartbleed/
If you already have an Android phone, I guess the RedPhone app is the most convenient and cheap way to make encrypted voice calls.
https://play.google.com/store/apps/details?id=org.thoughtcri...
Wow. I was still using it to monitor new releases of iotop. I think this is going to be shocking news for anyone who was running Linux or BSDs in the early 2000s.
Totally agree. As things are currently, wouldn't it be best if the story link was to the actual original post?
https://plus.google.com/+LennartPoetteringTheOneAndOnly/post...
It sets a bad precedent if government can dictate software features.
I don't think there's anything wrong with the government dictating software features for the software they want to use. If anyone doesn't want to implement a specific feature, that's totally fine. But their software won't be eligible for government use and working with official documents.
After all, it's public money and documents may better be saved in a good and properly documented format so anybody could, in theory, open them now or in the future.
I'm currently playing Dark Souls under Windows (I bought it during a Steam sale some days ago), and don't understand this. When the game launches it needs and account in "Games for Windows Live". I created an offline (local) profile without any trouble. Honestly, I don't know if my saved games are going to the cloud or not, but the game is working and I didn't have to sign up for any service or give an email address.
Here's a short (less than one minute) video on how to create a local profile:
I can't speak for the OP, but where I live in Spain it's not uncommon for a standard coffee to be about... €1.2 to €1.5.
I really like the refactoring done here. Congratulations to the author. He did an excellent job, IMHO.
There's one thing missing that I always wanted to have: put the contents of the README file _above_ the file listing. The truth is, many people in Github don't use the Pages feature and rely instead on the README being the main project page containing the description, instructions, etc. And sometimes you have to scroll a bit to get to that information. If the README was on top, the main project page at github.com would be given the importance many projects give it.
Variations of this idea: let the code be on top but only after a single click to expand the repo contents, unless the project lacks a README file. In that case expand the repo contents directly.
Thanks for clarifying. So the following complaint about DPI does not make sense, given that a 50 inches wide screen with a resolution of 600 pixels per inch has 32000 pixels.
Also, I don't understand the claim "between all of your displays you can only have 32,768 pixels". A 1920x1080 screen has over 2 million pixels (2073600 to be precise). Can anybody explain that part?
Thanks! I didn't catch that earlier submission.
A similar thing happened to me with youtube-dl. I handed the project over and gave commit access to a couple of contributors who are now doing an excellent job at keeping the program up to date.
Not long ago, this story was discussed here and makes a similar recommendation:
I think SourceForge was great but we've been spoiled by Github or Bitbucket. I never minded the ads, which are used to keep the site running, and were a minor inconvenient to provide access to a huge amount of open source projects, which was great.
Github and Bitbucket simply provided pages and sites which were easier to navigate. Specially Bitbucket, which has kept the Downloads section that Github removed. However, for me, the biggest "feature" that Github and Bitbucket provided was the ability to create projects easily because (a) the project name only had to be unique to your own projects instead of globally and (b) you could simply fill the project name and a brief project description to create it, instead of having to fill a form with lots of information about the project area and categories, licenses, development language or technologies, etc.
Note I haven't used SourceForge for new projects in a long time, so I don't know if my observations still stand true.
You're right and I stand corrected.
Your advice is good in general. However, note the OP is reporting user time (probably as shown by the "time" command). This time is the total CPU time used by the process. It's not measuring how much wall clock time it took to complete or the time used to complete involved IO operations. I think trusting that number should be fine in this case.