There's also OpenStreetMap.org.
191 karma · joined August 13, 2015
There's also OpenStreetMap.org.
It would be great to see an HTML minifier in F#. I've thought about building one as a way of learning the language. An F# based static site generator, similar to Jekyll or Hugo, would also be neat.
Compilation of F# is a confusing story to me. If it's still compiling to an IR, and getting JITted at runtime, that seems kind of inefficient in a world where Go exists. There's the CoreRT project, I think, that allows for precompiled .NET applications, but I'm not sure how F# fits in. I also read that all Windows Store/UWP applications are precompiled on Microsoft's cloud. I'm curious about compile-time flags and optimizations for F#, but they're rarely mentioned.
I guess I could ask the question more broadly. Why does every company that "designs its own chip" use ARM instead of designing its own ISA? How much work does it save? How much optimization does it forsake? I'm reminded of John Regehr's post on discovering the optimal instruction set: https://blog.regehr.org/archives/669
He also failed to mention a key AMP rule: all CSS is in the head, a max of 50 KB. There is no external CSS at all. That's crucial. It reverses a persistent anti-pattern in web development that calls for a bunch of separate files for CSS and JS. Almost all CSS on most webpages is unused (this is still true of a lot of AMP sites -- 50 KB is way too much CSS for an article).
I think the reality here is that early 21st-century web developers are terrible at web development. They stuff massive amounts of JS and CSS down users throats, distributed across 50 or a 100 requests, and call themselves "engineers".
AMP, or something even better, needs to be the default way to build websites.
I think it's possible to build a significantly better browser than Chrome or anything else out there. And I think at least a few million people would pay more than $100 for it (there are 326 million people in the US alone). This would be a good time to do it.
Instead of building PHP apps on a PHP platform built in Go, people should just build apps in Go. Or in C++, D, Nim, F#, C#, or even Java 8 or 10 with that new AOT compiler. (I think F# and C# can also be compiled in advance with CoreRT, but even if they can't, they're a huge upgrade over any interpreted language.)
I would mention Rust except that it's terrible. All popular programming languages in our timeline are bad, and deter millions of smart people from the profession. But Rust is extraordinarily bad and should be replaced.
As an Arizonan, I like that we don't have to change our clocks. DST doesn't make sense for us – we don't need more hours of sunlight.
DST leads to subtle bugs. On Android, Google Calendar changes the times of events/appointments of Arizona users when DST starts. It's insane, and they've been doing it for years. They've screwed up so many schedules that I'm surprised there hasn't been a class action suit.
Ironic aside: Notice the "Processing math" message on the lower left when you first open the page? That's MathJax, a huge JS library, chugging away because Chrome doesn't support MathML. Try going to the page in Firefox and you'll see that it processes "the math" a hell of a lot faster than Chrome. Firefox supports MathML, and MathJax probably generates MathML for it.
Brotli is fine if you can precompress static files on a prep server or desktop.
It's unprofessional and unscientific to evaluate compression codecs without measuring how much CPU and memory they use. Brotli is a disappointment, coming 20 years after gzip. In 20 years we should expect something better than Brotli, something that is better optimized for modern CPUs, vectorized by default, and with a much better dictionary.
Is it going to use more battery than HEVC? VP9 uses much more battery than H.264. Even when both have hardware decoders, VP9 uses a bit more juice. It's the computational complexity difference. Of course HEVC probably uses more juice than h.264 as well, but VP9 is notoriously inefficient and it would suck if AV1 was less energy efficient than HEVC.
Anyway, on VP9... its disadvantage is that it's very computationally taxing compared to H.264 (and presumably VP8). MS Edge won't use VP9 on laptops that don't have hardware decoding for it, because decoding VP9 with software kills battery life. Are other browsers following similar policies on laptops? (this is only applies when the laptop is running on battery, and Edge will let you force VP9 even on battery in its flags).
H.264 is quite elegant and efficient from a computational perspective. Note that even when laptops have and use hardware decoding for VP9, they still use more battery than hardware decoding H.264 (which will be in any computer that has hardware for VP9). Though there must be a threshold where a difference in bitrate would equalize them.
I guess the days of H.264 computational efficiency are over if we want better compression. I'll read your links to see what to expect from AV1.
No one would make big expensive movies and GoT type shows without copyright. Copyright has the strongest defense, since the creative work is so obvious, concrete, and unique.
I for one wouldn't give away my work in a society without copyright – I'd likely try to found a society with IP protection and then release my work on my terms, which others would hopefully find agreeable.
If there's any software that has a chance of convincing me of patent worthiness, it's probably codecs. Or at least the co(d) part. I'm muddled on decoding because it seems like just figuring out how to read something should be treated differently.
Is the term 20 years now? That's too long for any kind of software, even codecs. I think an important principle that should influence the design of patent law is the rough likelihood of the invention being made by others, or qualitatively matched or exceeded by others, in various spans of time. (Of course you have to model this assuming certain patent laws in place, as well as no patent system at all, to really do it right.)
I despise patent predators, née trolls. But MPEG-LA isn't a good example for me to work with because I think they're actual companies that do stuff – make movies, Blu-ray players, TVs, etc. Some of them invented DVD and Blu-ray probably, and evidently they invented MPEG-2, which I remember was viewed as pretty slick and technically awesome when it came out (as were DVDs – I remember VCRs and boy did they suck).
But 20 years? Yeah, no, this stuff should be 10 at most. I mean, would it hurt us to have 10 year terms on codecs? Would we get lesser quality codecs? I doubt it. HEVC is pretty amazing though, and it's clearly better than VP9, so it looks like the proprietary stuff beats open source in this field (tiny sample, yes, but there are many more examples available). Daala seemed to be going nowhere. Mozilla didn't seem to be able to finish it. Now some companies have teamed up for AV1, FOSS. I guess we'll see how good it is compared to HEVC.
The latter is called "working the patent", which is the opposite of what patent predators, née trolls do. Apparently some countries require holders to work the patent, and I'm a big supporter of fundamental patent reform in the US that would require people/corporations to produce and sell the invention in order to maintain a patent. That would almost vaporize all the patent predators out there.
Right now we have a system where you can just think shit up and write it down. Boom, you've got a patent (with the help of a lawyer usually). That's a ridiculous legal system. The system should be designed around actual market activity – the introduction of innovative products. I think it's an important right that someone who invents something should have exclusive commercial rights to it for a while, but not a right to just sit back and stop other people from using their brains too.
Your percentage of profits idea is something I liked for a while when I was thinking a lot about reform, but I now think that it would be way too hard to enforce. It would be such a mess to carve out exactly what the profit or revenue was that could be attributed purely to some part of a product that hinged on some dude's patent, along with all the other encumbered parts and features. It would be worse than the mess that is the income tax and corporate income tax.
It's very often the case that the first page of search results are all from the same website, usually the company behind the term or brand, which is not what we want most of the time. For example, a lot of searches on AWS will return nothing but Amazon pages. We should get one or two links to Amazon's AWS pages, and the rest should be third-party reviews, how-tos, and so forth.
I think Google's algorithmic approach to search might be overwrought, overengineered, and beatable by fundamentally different approaches. Right now, the results suck. Ironically, I think what most users are after in most searches would be best satisfied by a web index, like Yahoo used to be in the 90s, not by Google's algorithmic approach.