HNHacker News
TopNewBestAskShowJobs

cooper12

1,200 karma · joined October 26, 2013

submissionscomments
cooper12··on iPhone 6S getting iOS 14 is like the Galaxy S6 getting Android 11
I hear this conspiracy theory so often from non-technical people. I think what's going on is that obviously this isn't being done intentionally, but rather each new release is mainly written for and performance tested on the newest Apple devices (not to mention obvious hardware differences like CPU instructions/speed/cache size/memory). Apple might test that everything works, but they're not on these older devices 24/7 that they'll notice slight degradations. Also, devices are not uniform. On some devices the flash memory has been written to countless times and degraded. Other people are running tons of crapware or have the storage full to the brim. Finally there's always going to be some psychological suggestion going on: if I tell you to look for a certain thing, you'll be more likely to notice it, real or not.
cooper12··on Bootstrap 5 alpha
Unfortunately vanilla JS is much less readable. JQuery function names make your intent very clear and chaining them is elegant. Also, very minor, but the "magic" (syntactic sugar) provided by `$()` compared to `document.querySelectorAll()` et al. makes using JQuery seem much more frictionless, especially since you know if you're using it, all the functions will work on whatever you selected and can also take HTML strings, etc.

One thing vanilla JS does have going for it though is performance. I profiled a script of mine and rewrote all the bottlenecks using native JS and it's undoubtedly faster.

cooper12··on FFmpeg 4.3
FFmpeg is hands down one of the most powerful and feature-packed tools I've used out there.[0] The associated complexity is also daunting, but thankfully there's a lot of documentation out there and it reflects the low level nuances of audiovisual formats.

I highly recommend anyone struggling to utilize it to write wrapper scripts around it so you only need to figure out things once. Here are some things I've done with it by that approach:

* Extracting any embedded subtitle files from MKVs. Nice if I want to search them or make changes.

* Back when GIFs were more popular, I converted any that were over 3MB to video to save space. If the output wasn't small enough, it would do a second pass with different settings to get it more compact. Not needed that much these days.

* "Barcodes" for videos, that is, it takes every second converted to a vertical sliver and combined you get an overview of how the average color of the film changes through its duration.

* A tool for creating video excerpts that lets me specify a start time and end time in more flexible timestamp formatting, and other things like a simple parameter for the output width.[1] It also allowed specifying a target filesize and did the math so the right bitrate would be chosen. I even include metadata so I know which original file it was made from and the parameters specified.

* Thumbnail previews. A lot of file sharing sites will include a file that includes some timestamped screenshots in a grid with encoding information at the top. This is good for movies so you see a high-level overview. The best part about doing this myself is that I could make it highly configurable, like choosing exactly how many images I want, the interval, whether I want timestamps, etc.

Note, for some of these, I also needed ImageMagick.

Also, when compiled with the right flags and libraries, FFmpeg has some really neat features: things like embedding subtitles, stabilizing video, hiding logos, etc. I recommend looking into the filters.

Thank you for all the manpower that goes into the project!

[0]: Two other ones that are also powerful are ImageMagick and Pandoc.

[1]: I initially wrote this in Bash, but later converted the code to Python to better handle command line arguments and allow things like using config files.

cooper12··on GitHub abandons 'master' and 'slave' terms to avoid row
Naming the default branch "master" is only a convention, not a requirement. Therefore, docs should not make any assumption about the name but give it as an example or <variable>. The deficiency here is clearly in the docs.
cooper12··on Is Dark Mode Such a Good Idea?
Unfortunately your proposed study design does not control for biases. For example, say I'm an audiophile comparing two audio formats, x and y, and I hear y is remarkably better. If I compare them side by side, my own brain might fool me that y is better. The way to control that is to do a blind test, where I won't know which one is x or y.

Also, asking people their impressions can be helpful in the human aspect of the research, but quantitatively you need some sort of metric you can evaluate their experience on. For example, you'd assign a task and see how well people did comparing the two modes, while also making sure the difference is statistically significant (meaning it wasn't just as likely to be chance).

This is just the beginning of where good study design starts. You'd also do things like assigning the modes themselves randomly, so to go back to the audiophile example, I might notice if it's always x and then y, but not if it's scrambled. You'd could go further and try to stratify the groups, so for example making sure one group isn't all elderly people and the other young. It goes on and on...

So while the scientific method is nice, especially for introducing science in educational contexts, the methodology and rationale behind research is much more deliberate and involved. By all means they can try out things themselves, but no, they will not "get better information than any study".

cooper12··on I bought netflix.soy
The whole framework arounds TLDs is very strange to me. One one hand, opening up all these gTLDs was supposed to alleviate problems with domain parking and name clashes (e.g. you could disambiguate your .blog from a .pizza restaurant). But all this did was shift the parking to other domains, some of which are ludicrously overpriced (anyone remember the .io hype?)

Secondly, regardless of where your site is hosted, you're also bound by the registrar's laws/restrictions (especially for ccTLDs), which doesn't make sense for something that is purely a routing mechanism that translates a name to an IP. It'd be fine if domain names were plentiful, but domain hacks[0] also make people use TLDs without regard to considering their territory or any implications.

The whole .org fiasco only proved further that this model with ICANN and for-profit registrars isn't tenable and a horrible fit for an open distributed internet. All these perverse incentives and political fuckery should not exist for something that is an essential part of a worldwide utility.

I'd love if HNers could share any promising alternatives to our current DNS system.

[0]: https://en.wikipedia.org/wiki/Domain_hack

cooper12··on Known anomalies in Unicode character names (2017)
Considering how huge the Unicode standard is, it's more surprising that there are so little (known) errors. CJK characters alone account for thousands upon thousands, and these can sometimes vary by just a single stroke. I suspect the majority of redundancies or suboptimal choices were the result of subsuming so many existing standards though. There might also be plain errors in research but are probably in the more obscure blocks.

See also, ghost kanji: https://www.japantimes.co.jp/life/2018/10/29/language/ghost-...

cooper12··on How does Chrome decide what to highlight when you double-click Japanese text?
It's not so much that because they handled it better, but because that was how they handled it. Even to this day vertical text layout in CSS is primitive.

Early Japanese on computers also used half-width kana but now it's all properly fullwidth.

Don't mistake technical limitations for choice.

cooper12··on CSS for Internationalisation
Umm, so they weren't wrong:

> Chrome first checks the HTML lang attribute and if it's not present it checks the Content-Language HTTP header. Then it gets a prediction from cld3.

cooper12··on How the Father of FinFETs Helped Save Moore’s Law
The fascinating part of this article is the path it took for FinFETs to go from a theoretical all the way to fruition. You have things like him hearing about a DARPA grant last-minute from a surfing buddy. He also was working in different areas throughout his career. Great quote:

> His career soon took a detour because semiconductors, he recalls, just seemed too easy. He switched to researching optical circuits, did his Ph.D. thesis on integrated optics...

cooper12··on China clamping down on coronavirus research, deleted pages suggest
> No more articles

https://news.google.com/search?q=hydroxychloroquine

cooper12··on Show HN: DNS over Wikipedia
I've written a userscript[0] before regarding official websites and I feel this is the hierarchy you should be using:

1. Try getting the Wikidata "official website" property

2. Then any link inside of a {{url}} template or |website= in an infobox

3. And if you really want to try to get something to resolve to, the first site wrapped in {{official website}}

If you need code to reference: https://en.wikipedia.org/wiki/User:Opencooper/domainRedirect...

[0]: https://en.wikipedia.org/wiki/User:Opencooper/domainRedirect

cooper12··on Rongorongo
Wikipedia only accepts freely-licensed [0] images where there is a possibility of obtaining them. [1] If you manage to get a better photograph, you are welcome to replace the image. If you know of someone who has such an image or could take one, you can request them to license it appropriately.

[0] Think things like Creative Commons or public domain. The license has to allow derivatives and commercial use for anyone, not just Wikipedia.

[1] So exceptions would be for dead people or things that we are very unlikely to get new pictures of. Doesn't apply when you could try getting a license or if there is an existing free image.

cooper12··on Rongorongo
From what I've seen, the Unicode blocks are left with space for suspected additions, though big change groups are usually added as extensions. Any erroneous additions could be marked as deprecated.
cooper12··on 'Where was the Lord?': Slave testimonies
That's like saying child labor was never mandatory. If labor is your only possible source of income, [0] and there are heavy incentives to perform labor, then people will perform labor. It being voluntary does not change the fact that it is heavily coercive (especially when your work pool has the lowest legal rights within the citizenry—a similar situation with child rights in the past).

[0]: And if you don't have money, you cannot access the commissary nor even make a simple phone call.

cooper12··on 'Where was the Lord?': Slave testimonies
Again, slavery was never completely abolished: https://en.wikipedia.org/wiki/Thirteenth_Amendment_to_the_Un.... The industrial complex is how it's capitalism: because there's a profit motive for private prisons to obtain inmates.

And not sure why you've decided to zero in on murder rates, as if everyone in prison is a convicted murderer. I also don't see how your family is relevant, as you can't extrapolate from that.

cooper12··on 'Where was the Lord?': Slave testimonies
Capitalism never ended slavery, it has actually prolonged it. The constitution expressly includes an exception for slavery: if one has been convicted of a crime. This has led to the prison-industrial complex. [0] Guess what demographic is disproportionately represented in these prisons? [1]

[0]: https://en.wikipedia.org/wiki/Prison%E2%80%93industrial_comp...

[1]: "African Americans are incarcerated at more than 5 times the rate of whites." (https://www.naacp.org/criminal-justice-fact-sheet/)

cooper12··on US cosmetics are full of chemicals banned by Europe
Let's just call it what it is: bribery.
cooper12··on China is blocking all language editions of Wikipedia
https://en.wikipedia.org/wiki/Wikipedia:Open_proxies#Rationa...
cooper12··on China is blocking all language editions of Wikipedia
> or is there a clear reason why that wouldn't work there?

There are Chinese-based alternatives to Wikipedia that are much more popular: https://en.wikipedia.org/wiki/Internet_in_China#Online_encyc....

cooper12··on The Moral Order of Panera
Okay I was incorrect on that front, [0] but the field of economics isn't exactly new, nor is the general idea itself (things like pay-what-you-want, voluntary contributions, etc).

[0]: Here's the paper: https://journals.sagepub.com/doi/abs/10.1177/205157071454056...

cooper12··on The Moral Order of Panera
The reason it's so negative is because it already notes that prior research showed consumer responsibilization doesn't work. Shaich might see himself as good-minded, even volunteering as cashier, but he comes off more as misguided (what with his Ted Talk enthusiasm) and out of touch (note the vast gap between the customers and this man who made $2 million that year). I'm not sure why you expected some bland analytical article. The author clearly doesn't agree with Libertarian ideals or conscious capitalism.
cooper12··on Sorting in Japanese – An Unsolved Problem (2011)
Great point. I was considering a very visual-minded reader but of course not everyone would be so good at it nor would they always just care about how the kanji looks rather than other aspects. It's a difficult problem indeed... My intention is to show that we'd need some sort of radical solution that might not be what we'd immediately jump to (for example the current approach the author mentions is having a separate field for readings, but this is clearly resource-intensive and wouldn't work on arbitrary data). To solve sorting for Japanese, I feel we need to rethink what it means to sort.
cooper12··on A German court forced the removal of a Wikipedia article’s history
Probably to discourage a witch hunt. The ire here shouldn't be directed towards the individual, who operated within the German legal system, but the courts themselves. Also I'm not sure what you're basing the latter part of your comment on. It doesn't really seem to match my understanding of the history of the project.
cooper12··on Sorting in Japanese – An Unsolved Problem (2011)
I actually made a serious attempt at learning the Four-Corner Method for kanji [0] and it was very frustrating. It would be difficult to determine what parts of the kanji belonged to which corner, and which exact shape they corresponded to. And strokes wouldn't always be interpreted the way I thought they'd be since it's based on a handwritten representation of the character. Many characters also have multiple FC numbers! The FC method was never meant to uniquely identify specific characters, but just to help narrow down a list of candidates in a dictionary. Funnily enough, I also argue something similar in this thread that has the same drawbacks :)

[0]: Because I was interested in typing characters while not actually knowing the kanji. The Tagaini Jisho app (https://www.tagaini.net/) was indispensable because it lets you search on multiple parameters including partial FC # and simpler methods like SKIP codes (http://nihongo.monash.edu/SKIP.html). The only characters I couldn't transcribe with this method were those printed so small that the individual strokes were difficult to make out.

cooper12··on Sorting in Japanese – An Unsolved Problem (2011)
Just a thought experiment, don't take it too seriously:

The crux of the issue is that kanji don't have an inherent "natural" ordering that a user would expect. Sorting by their character code doesn't mean anything to a Japanese person. But, what if we made our own standard of what entails a "natural order". There's nothing about A–Z that makes the alphabet obligated to be in that order (and not something like based on sound or shape) other than it being the convention that developed. Even hiragana can have different orderings (AIUEO vs IROHA [0])

One proposed method would be to do it how the dictionaries do it: first sort by major radical, [1] and then by stroke count. This is something most Japanese learn when learning how to write characters anyway (of course ambiguities would arise when the radical is shared and the stroke count is the same, but we could just choose a third arbitrary factor; we'd also have to decide on a specific written form as stroke count can differ depending on whether it is handwritten or the font).

We could then teach our approach to schoolchildren and it would just become accepted over time like other things they learn. But wait you say, it's more natural for them to sort on pronunciation. However, if I gave you a list of polygon names and told you to sort by the number of sides they had, you'd be perfectly capable of doing it despite that not being alphabetical. Things are less "unnatural" if you grew up learning them and your brain doesn't experience dissonance.

Anyway, just my hot take.

[0]: https://en.wikipedia.org/wiki/Iroha

[1]: https://en.wikipedia.org/wiki/Radical_(Chinese_characters)

cooper12··on A Real-Time Wideband Neural Vocoder at 1.6 Kb/S Using LPCNet
Similar as in the same approach, or as in "apply neural networks to all the things"? Because if it's the former, this approach was very specifically tailored to human speech, taking into account how much it can compress/interpolate qualities like pitch and the spectral envelope. That's far too specific to apply to video.

As for the latter, you'd have to perhaps feed Google Scholar the right incantations or ask someone with knowledge. As far as I know, video codecs already have a huge bag of tricks they use (for example the B-frames borrowed in this post). Even then, the key points in this codec were that firstly it's meant for use at very low bitrates, where existing codecs break down, and then secondly it's a vocoder, so it's converting audio to an intermediate form and resynthesizing it. That kind of lossiness is acceptable for audio, but I'm not sure how it would work acceptably for video.

cooper12··on Twitter forces all new users to enter a valid phone number
> twitter is just silliness

It was one of the premier sources for propaganda during a certain country's recent election. It has been used to coordinate protests. It's been used to break national news. You can get minute-by-minute updates of events from it. Let's not pretend that one of the world's most-used communication platforms doesn't play a huge role in modern discourse.

cooper12··on The Books That Wouldn’t Die
Other than in the article, the only other instance I found of the term was from this event at Columbia University, [0] at which the co-authors were both openers. So the term seems to be specific to them and pretty new. Still, in the OP article, the sidebar does solicit readers to submit their candidates and it hints that the list might be published, so something to keep an eye out for.

[0]: https://english.columbia.edu/events/undead-texts-grand-narra...

cooper12··on Facebook’s algorithm change has spurred an angry, Fox News-dominated News Feed
Oh, you meant Breitbart and Infowars? Those can still be used, but require whitelisting; so still not a ban. You can read the linked discussions for more information. Not gonna rehash and spell it all out for you here. I wouldn't say two instances are a pattern of anything, but going by your logic, guess that side of the spectrum just has more history of spam and persistent abuse on the English Wikipedia.
← PreviousPage 2 of 27Next →