H.266/Versatile Video Coding (VVC) - <AUTHOR> https://newsletter.fraunhofer.de/-viewonline2/17386/465/11/14SHcBTt/V44RELLZBp/1 <comment><USER2> It's interesting that they are able to continue improving video compression. You'd think that it would have all been figured out by now.

Is this continued improvement related to the improvement of technology? Or just coincidental?

Like, why couldn't have H.266 been invented 30 years ago? Is it because the computers back in the day wouldn't have been fast enough to realistically use it?

Do we have algorithms today that can compress way better but would be too slow to encode/decode?

<comment><USER3> Video compression is a calculus of IO capacity, memory, and algorithmic complexity. Take the MPEG-1 codec for instance, it was new about 30 years ago. While today most people think of MPEG-1 videos as low quality the spec provides the ability to handle bit rates up to 100Mb/s and resolutions up to 4095x4095. That was _way_ higher than the hardware of the time supported.

One of MPEG-1's design goals was to get VHS-quality video at a bitrate that could stream over T1/E1 lines or 1x CD-ROMs. The limit on bitrate led to increased algorithmic complexity. It was well into the Pentium/PowerPC era until desktop systems could play back VCD quality MPEG-1 video in software.

Later MPEG codecs increased their algorithmic complexity to squeeze better quality video into low bit rates. A lot of those features existed on paper 20-30 years ago but weren't practical on hardware of the time, even custom ASICs. Even within a spec features are bound to profiles so a file/stream can be handled by less capable decoders/hardware.

There's plenty of video codecs or settings for them that can choke modern hardware. It also depends on what you mean by "modern hardware". There's codecs/configurations a Threadripper with 64GB of RAM in a mains powered jet engine sounding desktop could handle in software that would kill a Snapdragon with 6GB of RAM in a phone. There's also codecs/configurations the Snapdragon in the phone could play using hardware acceleration that would choke a low powered Celeron or Atom decoding in software.

<comment><USER4> Are there codecs that require high compute (Threadripper) for encode but can be easily decoded on a Snapdragon ?

<comment><USER5> Yes — many codecs can be optimized for decoding at the expense of encoding. This is appropriate for any sort of broadcast (YouTube, television, etc).

Also, in many applications, it's suitable to exchange time for memory / compute. You can spend an hour of compute time optimally encoding a 20-minute YouTube video, with no real downside.

Neither of these approaches are suitable for things like video conferencing, where there is a small number of receivers for each encoded stream and latency is critical. At 60fps, you have less than 17ms to encode each frame.

Interestingly, for a while, real-time encoders were going in a massively parallel direction, in which an ASIC chopped up a frame and encoded different regions in parallel. This was a useful optimization for a while, but now, common GPUs can handle encoding an entire 1080p frame (and sometimes even 4K) within that 17ms budget. Encoding the whole frame at once is way simpler from an engineering standpoint, and you can get better compression and / or fewer artifacts since the algorithm can take into account all the frame data rather than just chopped up bits.

<comment><USER6> Surely videoconferencing doesn't actually use 60 FPS...

<comment><USER3> Some web conferencing would want to do 60fps. There's also realtime streaming like Twitch, PS Now, and Google's Stadia.

<comment><USER7> Twitch isn't real time.

<comment><USER8> Yes it is. The delay on a Twitch stream doesn't mean they don't have to deal with encoding and transmitting frames at full speed. If Twitch wasn't real time, you'd only be able to watch live streams slowed down!

<comment><USER9> That's a different definition than most people mean when they say "real-time".

<comment><USER10> Not me. All realtime systems have some latency, but what makes them realtime is that they must maintain throughput, processing data as quickly as it comes in. You can subdivide to hard-realtime and soft-realtime depending on how strict your latency requirements are, but it is still realtime.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER11> Can we all just agree on using AV1 instead of another patent encumbered format?

<comment><USER12> No, because the market is more than happy to pay a few cents or dollars per device to get better compression and lower transmission bandwidth. This observation has held true consistently in the 3 decades since compressed digital media was invented.

<comment><USER13> The market is rather unhappy. E.g. Win10 doesn't ship an H265 codec because it's too expensive.

<comment><USER12> At 99 cents for the add on, the decision to charge users smells more like a political decision than an economic one. The cost to Microsoft is undoubtedly far less than that. 99 cents is basically the bare minimum you can charge when you accept credit cards as a method of payment.

<comment><USER14> That's 1% of the cost of windows, for a video codec when there's already dozens of free alternatives

<comment><USER12> There's a fixed cap on the royalty rate, so even if we assume Microsoft paid for a license for each copy of Windows sold to customers, on a per-copy basis it would be much less than 1%.

</comment></comment></comment></comment></comment></comment><comment><USER15> Naively hoped I'd read 'this will be released to the community under a GPL license' or similar. Instead found the words 'patent' and 'transparent licensing model'.

I appreciate that it costs money and time to develop these algorithms, but when you're backed by multi-billion dollar "partners from industry including Apple, Ericsson, Intel, Huawei, Microsoft, Qualcomm, and Sony" perhaps they could swallow the costs? It is 2020 after all.

<comment><USER16> The dirty secret of video codecs is that you can't make a modern video codec that isn't patent encumbered, which in turn makes it so that even if they wanted to be open, they go for defensive patents, which in turn perpetuate the situation.

At least the patent licenses usually used with MPEG mean that private use of open source implementations is free.

<comment><USER17> Software patents aren't a thing in ~~Europe~~ a few European countries. Sure it's difficult to ignore the American market for a company, but an independent developer could specify a state of the art video codec without thinking about patents.

Edited because I didn't know that some European countries accept software patents.

<comment><USER16> Software patents are a very complex thing.

For example, many countries in EU do not allow patents on software, but that's not something you can claim to be true for all of them - at least before Brexit, since iirc UK was pretty happy to provide software patents.

Then there's a case where if you're really willing you can, as far as I understand, force a patent dispute through WTO, with possibility of patent valid in USA being executed for example in Poland, despite the fact that the patent is invalid in Poland (it doesn't matter if your software is part of physical solution in Poland, algorithms of any kind are not patentable).

<comment><USER17> One more benefit of the brexit for mainland Europe! I didn't know about using the WTO to dispute invalide patents. I guess a WTO dispute can make sense for a Boeing software patent used by Airbus. I wonder whether the WTO would care about an independent developer. It's not very good press, but perhaps it's fine for them.

<comment><USER16> WTO doesn't care, WTO serves as a forum to get it through.

The question is, does a "practicing entity" holding the patent cares enough to go through the hardest route to get the patent executed using WTO as a forum? One needs to compare costs and benefits. It's why patent trolling involved pretty much few counties in Texas, because that's where the costs were lowest compared to benefits.

</comment></comment></comment></comment></comment></comment><comment><USER18> Can anyone verify if this is a real number? It's possible sometimes to make surprising claims (such as 50% lower size) by relying on unusual or unrealistic situations. I would rather if they use a standard set of test videos with different content and resolutions, and some objective measure of fidelity to the original, when quoting these percentages. But if the 50% number is real, then that is truly remarkable. I wonder how many more CPU instructions are required per second of decoded video compared to HEVC.

<comment><USER19> If one trusted numbers like this, and followed a chain of en vogue codecs back through history, you'd expect that a modern codec would produce files sizes like 3% of MPEG-2 on the same input data. It's all spin.

I'm sure it does better, but I'm equally sure it'll turn out to be an incremental benefit in practice.

> I wonder how many more CPU instructions are required per second of decoded > video compared to HEVC.

CPU cycles are cheap. The real cost is the addition of _yet another ?!@$!!#@ video codec block on every consumer SoC shipped over the coming decade_.

Opinionated bile: video encoding is a Solved Problem in the modern world, no matter how much the experts want it to be exciting. The low hanging fruit has been picked, and we should just pick something and move on. JPEG-2000 and WebP failed too, but at least there it was only some extra forgotten software. Continuing to bang on the video problem is wasting an absolutely obscene amount of silicon.

<comment><USER20> MPEG-2 doesn't support video larger than 1920x1152, so it's hard to compare on 4k video, let alone 8k. But according to [https://www.researchgate.net/publication/321412719_Subjectiv...](https://www.researchgate.net/publication/321412719_Subjective_and_objective_quality_assessment_of_MPEG-2_H264_and_H265_videos) H.265 can achieve similar visual quality with 10% of the bit rate of MPEG-2 even on SD video (832*480). [Edit: not 720p]

<comment><USER21> 832x480 is ~480p video (720x480 is standard widescreen dvd) 720p is 1280x720

</comment></comment></comment></comment><comment><USER22> Nobody mentioning EVC? Worth a read for anyone concerned about patent licensing:

[https://en.wikipedia.org/wiki/Essential_Video_Coding](https://en.wikipedia.org/wiki/Essential_Video_Coding)

There are 3 video coding formats expected out of (former) MPEG this year:

[https://www.streamingmedia.com/Articles/Editorial/Featured-A...](https://www.streamingmedia.com/Articles/Editorial/Featured- Articles/Inside-MPEGs-Ambitious-Plan-to-Launch-3-Video-Codecs- in-2020-134694.aspx?utm_source=related_articles&utm_medium=gutenberg&utm_campaign=editors_selection)

So this isn't necessarily _the_ successor to HEVC (except that it is, in terms of development and licensing methods).

</comment><comment><USER23> > _A uniform and transparent licensing model based on the FRAND principle > (i.e., fair, reasonable, and non-discriminatory) is planned to be > established for the use of standard essential patents related to H.266 > /VVC._

Maybe. On the other hand, maybe not. Leoanardo Chiariglione, founder and chairman of MPEG, thinks MPEG has for all practical purposes ceased to be:

[https://blog.chiariglione.org/a-future-without- mpeg/](https://blog.chiariglione.org/a-future-without-mpeg/)

The disorganised and fractured licensing around HEVC contributed to that. And, so far, VVC's licensing looks like it's headed down the same path as HEVC.

Maybe AV1's simple, royalty-free licensing will motivate them to get their act together with VVC licensing.

</comment><comment><USER24> Shouldn't deep learning based video codecs take over dedicated hardware video decoders as more tensor cores become available in all new hardware?

NVIDIA's DLSS 2.0 supersampling is already moving into that direction.

<comment><USER20> Instead of a video file or stream, that would be more like shipping a program that recreates the video. It might be cool, but it's not really feasible to play back that kind of thing on normal TV hardware.

<comment><USER24> I'm not sure what you mean. There are already multiple research articles that show that deep neural network based video compression can be competitive, here's an example:

[https://papers.nips.cc/paper/9127-deep-generative-video- comp...](https://papers.nips.cc/paper/9127-deep-generative-video- compression.pdf)

</comment></comment></comment><comment><USER25> The fact that the underground scene is still pumping 264 instead of 265 (I'd estimate 90/10 split optimistically) tells me the real world is not quite ready for 266.

So I guess it comes down to 266 hw support. Or powerful CPUs that can push sw decoding?

</comment><comment><USER26> What I don't understand, why do internationa; standardization organizations allows patent-encumbered technologies to become de-jure standards.

MPEG, WiFi, GSM…

IMHO, intentional standards must be implementable without any patent fees, or they are very bad standards.

<comment><USER27> There's no law requiring wifi - "de facto". And they're standards because they're quite good! They have hardware support and parallelization and account for all use cases, even the marginal ones, and have reference implementations and support. Standards orgs don't care about patents because they're not relevant. This isn't a case of trolling - this is literally a software patent being used for its intended purpose by its developer, to extract profit by coming up with a new idea, and letting others use it.

</comment></comment><comment><USER28> I'm no expert when it comes to video codecs but I'm surprised that we're still able to see such strong claims of algorithmic improvements to h264, and now to h265. I'm also aware of how patent-encumbered this whole field is and I'm skeptical that this is just a money grab.

This is really just a press release, what's actually new? Can it be implemented efficiently in hardware?

<comment><USER29> Your skepticism is very healthy, especially in this arena. With video codecs, information theory is ultimately the devil you must answer to at the end of the day. No amount of patents, specifications or algorithmic fantasy can get you away from fundamental constraints.

It seems like the major trade-off being taken right now is along lines of using more memory to buffer additional frames. This can help you in certain scenarios, but in the general case, you cannot ever hope that a prior frame of video has any bearing on future frames of video. It is just exceedingly likely that most frames of video look much like prior frames. So, you can certainly play this game to a point, but you will quickly find yourself on the other end of the bell curve.

You can also play games with ML, but I argue that you are going even further from the fundamental "truth" of your source data with this kind of technique, even if it appears to be a better aesthetic result in isolation of any other concern.

There are also lots of one-off edge cases that have always been impossible to address with any interframe video compression scheme. Just look at the slowmo guys on youtube dump confetti on a 4K camera. No algorithm except for the dumbest intraframe techniques (i.e. JPEG) can faithfully reproduce scenes with information this dense, and usually at the expense of dramatic bandwidth increases.

Bandwidth is cheap and ubiquitous. I say we just use the algorithms that are the fastest and most efficient for our devices. We aren't in 2010 sucking 3G or edge through a straw anymore. Most people can get 20+mbps in their smartphones in decently-populated areas.

<comment><USER27> The advantage of the H-series of codecs is strong support of hardware implementation. This has been a selling point since H.262. You can get a H.265 IP core from Xilinx, Intel, and other major vendors -- so the actual runtime performance for H.266 (once a core is available) will be very low and constant (and comparable to current codecs). Bandwidth and storage space are real costs, despite the handwaving around it, and reducing these requirements while not reducing visual quality is an important step.

As for "information-dense scenes": Pathologic cases such as the HBO intro screen are encoded into modern codecs as noise, and regenerated client-side, because there's no actual information there. These scenes are either engineered or pure noise.

</comment></comment></comment><comment><USER30> that sounds great, but this is a press release with no real technical details. can anyone in the know add some context? for instance, whats the tradeoff? I assume more CPU?

webrtc based video chats are all still using h264, did they not adopt 265 yet for technical or licensing reasons? what is the likelihood of broad browser support for h266 anytime soon?

<comment><USER31> H.265/HEVC takes about ten times as much computation to encode than H.264 [1], so H.264 still has legitimate technical use cases, even with licensing/patents aside.

This makes it great for a company like Netflix or YouTube, but less good for one-to-one and/or battery sensitive use cases like video calls. However, specialized chips help, and some mobile devices can record in HEVC in real time (mine from 2019 can). I believe current smartphones have HEVC encoding hardware, but I'm struggling to find a source for that right now.

I haven't seen the details of this new codec yet, but it's quite possible it also has a large encoding cost which will make it better suited to particular use cases, as opposed to a blanket upgrade.

[1] [http://www.praim.com/en/news/advanced- protocols-h264-vs-h265...](http://www.praim.com/en/news/advanced- protocols-h264-vs-h265/)

<comment><USER32> iPhone 7 onwards[1], Qualcomm Snapdragon 610 onwards[2], and Intel Skylake and later CPUs[3] can all encode and decode H.265 in hardware to varying profile levels.

1: [https://support.apple.com/en-gb/HT207022](https://support.apple.com/en- gb/HT207022)

2: [https://www.qualcomm.com/snapdragon/processors/comparison](https://www.qualcomm.com/snapdragon/processors/comparison)

3: [https://trac.ffmpeg.org/wiki/Hardware/QuickSync](https://trac.ffmpeg.org/wiki/Hardware/QuickSync)

<comment><USER33> QuickSync is actually a feature of Intel's integrated GPU. Parts without GPUs, no matter how recent, don't have QuickSync.

</comment></comment></comment></comment><comment><USER34> Huh. I wonder how encoding speeds compare. I rarely chose h265 over h264 because similar levels of visual quality took massively more time.

<comment><USER35> But for most situation you encode once and play multiple times. Wouldn't it be better to reduce storage and bandwidth costs with a smaller file (assuming the same quality)?

<comment><USER34> It's a trade off. When I have a batch of 40 videos and encoding h264 takes 20 minutes per video and h265 takes 4 hours means the difference between 13 days and 160 days.

The latter isn't practical, I'll eat the couple hundred MB in order to save a lot of time.

<comment><USER36> I think by "13 days and 160 days" you mean "13 hours and 160 hours".

</comment></comment></comment></comment><comment><USER37> At some point the compressed version of "Joker" will be 45 chars:

"Sequel to Dark Night starring Joaquin Phoenix"

Of course we will not have to film movies in the first place then. We will just put a description into a compressor start watching.

<comment><USER38> 8 MiB Shrek is kind of an AV1 meme at this point.

</comment></comment><comment><USER39> H.265 is still not mainstream, and not used to full extend of its performance

I'm not sure if 265 is worth spending efforts on now when 266 is about to crash the party, and will be equally adopted at least "equally poorly"

<comment><USER40> H.265 seems pretty mainstream by now. Older devices obviously don't support it in hardware, but pretty much all newer ones seem to, no?

It's just a slow percolation throughout the ecosystem as people buy new hardware and video servers selectively send the next-generation streams to those users.

The effort on h.265 has already been spent. Now it looks like h.266 is the next generation. It's going to be years before chips for it will be in devices. That's just how each new generation works.

</comment></comment><comment> 0-_-0 Question is, how does it compare to AV1?

<comment><USER41> I guess only time will tell.

AV1 is supposed to be 30% better than HEVC and they claim H.266 is 50% better than HECV. This would mean that H.266 is roughly 30% better than AV1. By better I'm always referring to the bandwidth/space needed.

But take this with more than a grain of salt since bandwidth/space are only one of many things that matter and also these comparisons are dependent on so many things like resolution, material (animatic/real), etc. etc.

<comment><USER42> I don't think your math adds up. Is 150 30% better than 130? It is only 14% better.

Regardless, these early performance claims are most likely complete bullshit.

<comment><USER43> It's about size: 50 is about 30% better than 70, which is 30% better than 100.

</comment></comment></comment></comment><comment><USER38> It is mildly amusing that the very simple vector art "VVC" logo on their webpage is displayed by sending the viewer a 711 KB .jpg file.

</comment><comment><USER44> Will it be used? Probably the last one that does not use some sort of AI Compression.See this for image compression [https://hific.github.io/](https://hific.github.io/) In the next 10 years AI Compression will be everywhere. The problem will be standartisation. Classic compression algoritms can't beat AI ones.

<comment><USER40> AI compression is super, super cool... but while standardization is certainly a major issue, isn't the model size a much larger one?

Given that model sizes for decoding seem like they'll be on the order of many gigabytes, it will be impossible to run AI decompression in software, but will need chips, and chips that are a lot more complex (expensive?) than today's.

I think AI compression has a good chance of coming eventually, but in 10 years it will still be in research labs. There is absolutely no way it will have made it into consumer chips by then.

<comment><USER44> "Isn't the model size a much larger one?" yap It will probably be different, and systems will have to download the weights and network model, as new models come in, I don't think that we will have a fixed model with fixed weights, the evolution is too fast. Decoding will take place using the AI chip on the device aka "AI accelerator"

</comment></comment></comment><comment><USER45> I wonder how small would one of those 700mb divx/xvid movies would be if compressed with this new encoding method.

</comment><comment><USER40> They talk about saving 50% of bits over h.265, but also talk about it being designed especially for 4K/8K video.

Are normal 1080p videos going to see this fabled 50% savings over h.265? Or is the 50% _only_ for 4K/8K, while 1080p gets maybe only 10-20% savings?

The press release unfortunately seems rather ambiguous about this.

</comment><comment><USER46> Among other things, I have worked with and developed technology in the uncompressed professional imaging domain for decades. One of the things I always watch out for is precisely the terminology and language used in this release:

"for equal perceptual quality"

Put a different way: We can fool your eyes/brain into thinking you are looking at the same images.

For most consumer use cases where the objective is to view images --rather than process them-- this is fine. The human vision system (HVS, eyes + brain processing) is tolerant of and can handle lots of missing or distorted data. However, the minute you get into having to process the images in hardware or software things can change radically.

Take, as an example, color sub-sampling. You start with a camera with three distinct sensors. Each sensor has a full frame color filter. They are optically coupled to see the same image through a prism. This means you sample the red, green and blue portions of the visible spectrum at full spatial resolution. If we are talking about a 1K x 1K image, you are capturing one million pixels of each, red, green and blue.

BTW, I am using "1K" to mean one thousand, not 1024.

Such a camera is very expensive and impractical for consumer applications. Enter the Bayer filter [0].

You can now use a single sensor to capture all three color components. However, instead of having one million samples for each components you have 250K red, 500K green and 250K blue. Still a million samples total (that's the resolution of the sensor) yet you've sliced it up into three components.

This can be reconstructed into full one million samples per color components through various techniques, one of them being the use of polyphase FIR (Finite Impulse Response) filters looking across a range of samples. Generally speaking, the wider the filter the better the results, however, you'll always have issues around the edges of the image. There are also more sophisticated solutions that apply FIR filters diagonally as well as temporally (use multiple frames).

You are essentially trying to reconstruct the original image by guessing or calculating the missing samples. By doing so you introduce spatial (and even temporal) frequency domain issues that would not have been present in the case of a fully sampled (3 sensor) capture system.

In a typical transmission chain the reconstructed RGB data is eventually encoded into the YCbCr color space [1]. I think of this as the first step in the perceptual "let's see what we can get away with" encoding process. YCbCr is about what the HVS sees. "Y" is the "luma", or intensity component. "Cb" and "Cr" are color difference samples for blue and red.

However, it doesn't stop there. The next step is to, again, subsample some of it in order to reduce data for encoding, compression, storage and transmission. This is where you get into the concept of chroma subsampling [2] and terminology such as 4:4:4, 4:2:2, etc.

Here, again, we reduce data by throwing away (not quite) color information. It turns out your brain can deal with irregularities in color far more so than in the luma, or intensity, portion of an image. And so, "4:4:4" means we take every sample of the YCbCr encoded image, while "4:2:2" means we cut down Cb and Cr in half.

There's an additional step which encodes the image in a nonlinear fashion, which, again, is a perceptual trick. This introduces Y' (Y prime) as "luminance" rather than "luma". It turns out that your HVS is far more sensitive to minute detail in the low-lights (the darker portions of the image, say, from 50% down to black) than in the highlights. You can have massive errors in the highlights and your HVS just won't see them, particularly if things are blended through wide FIR filters during display. [3]

Throughout this chain of optical and mathematical wrangling you are highly dependent on the accuracy of each step in the process. How much distortion is introduced depends on a range of factors, not the least of which is the way math is done in software or chips that touch every single sample's data. With so much math in the processing chain you have to be extremely careful about not introducing errors by truncation or rounding.

We then introduce compression algorithms. In the case of motion video they will typically compress a reference frame as a still and then encode the difference with respect to that frame for subsequent frames. They divide an image into blocks of pixels and then spatially process these blocks to develop a dictionary of blocks to store, transmit, etc.

The key technology in compression is the Discrete Cosine Transform (DCT) [4]. This bit of math transforms the image from the spatial domain to the frequency domain. Once again, we are trying to trick the eye. Reduce information the HVS might not perceive. We are not as sensitive to detail, which means it's safe to remove some detail. That's what DCT is about.

So, we started with a 3 sensor full-sampling camera, reduced it to a single sensor and three away 75% of red samples, 50% of green samples and 75% of blue samples. We then reconstruct the full RGB data mathematically, perceptually encode it to YCbCr, apply gamma encoding if necessary, apply DCT to reduce high frequency information based on agreed-upon perceptual thresholds and then store and transmit the final result. For display on an RGB display we reverse the process. Errors are introduced every step of the way, the hope and objective being to trick the HVS into seeing an acceptable image.

All of this is great for watching a movie or a TikTok video. However, when you work in machine vision or any domain that requires high quality image data, the issues with the processing chain presented above can introduce problems with consequences ranging from the introduction of errors (Was that a truck in front of our self driving car or something else?) to making it impossible to make valid use of the images (Is that a tumor or healthy tissue?).

While H.266 sounds fantastic for TikTok or Netflix, I fear that the constant effort to find creative ways to trick the HVS might introduce issues in machine vision, machine learning and AI that most in the field will not realize. Unless someone has a reasonable depth of expertise in imaging they might very well assume the technology they are using is perfectly adequate for the task. Imagine developing a training data set consisting of millions of images without understanding the images have "processing damage" because of the way they were acquired and processed before they even saw their first learning algorithm.

Having worked in this field for quite some time --not many people take a 20x magnifying lens to pixels on a display to see what the processing is doing to the image-- I am concerned about the divergence between HVS trickery, which, again, is fine for TikTok and Netflix and MV/ML/AI. A while ago there was a discussion on HN about ML misclassification of people of color. While I haven't looked into this in detail, I am convinced, based on experience, that the numerical HVS trickery I describe above has something to do with this problem. If you train models with distorted data you have to expect errors in classification. As they say, garbage-in, garbage-out.

Nothing wrong with H.266, it sounds fantastic. However, I think MV/ML/AI practitioners need to be deeply aware of what data they are working with and how it got to their neural network. It is for this reason that we've avoided using off-the-shelf image processing chips to the extent possible. When you use an FPGA to process images with your own processing chain you are in control of what happens to every single pixel's data and, more importantly, you can qualify and quantify any errors that might be introduced in the chain.

[0] [https://en.wikipedia.org/wiki/Bayer_filter](https://en.wikipedia.org/wiki/Bayer_filter)

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

[2] [https://en.wikipedia.org/wiki/Chroma_subsampling](https://en.wikipedia.org/wiki/Chroma_subsampling)

[3] [https://en.wikipedia.org/wiki/Gamma_correction](https://en.wikipedia.org/wiki/Gamma_correction)

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

<comment><USER47> Don't you think that the iterated convolution process in neural networks is, in a measure, able to overlook this kind of 'visual trickery' ? I can imagine that the network is not able to perform well if you change the color profile of the input when you trained on another one, but small texture attenuations, diminished chroma components, etc. may not be as important when the image is downsampled and split a huge number of times (wondering)

<comment><USER46> Here's one way to look at it: Contrast and well defined edges can be important in feature extraction. Our vision system, on the other hand, can do just fine with less information in the high frequencies (where edges live).

<comment><USER47> I see your point, and I'm not particularly defending neural networks, but IMO, nothing prevents a network to generate a kernel able to detect 'fuzzy edges' and to refine it to an edge after some convolutions. So, if the input images are always consistent between them and with the input images for inference, I think the problem may be diminished (?), even if, as you say, we introduce some misclassification error. Obviously, to have the guarantee that all the input images are generated in the same way is a very strong condition difficult to achieve.

<comment><USER46> From my perspective, the only way to get there is if AI practitioners make a paradigm shift towards encoding understanding rather than making classifier systems trained with massive data sets. The classification approach has a very real asymptotic limit on what can be achieved. You can train NN's using large data sets on some domains but not all domains. Just think about what a dog can do, even just a puppy. We are nowhere near to that. Not even close. This is because our AI classifies without understanding.

I have books on AI that are thirty years old. I think I can say they cover somewhere between 80% and 90% (if not more) of what AI is today. The difference is computing that is thousands, millions, of times faster, massive amounts of storage, etc. In other words, one could very well argue we haven't done much in 30 years other than build faster computers.

<comment><USER47> I don't think that neural networks are the right framework to achieve general purpose artificial intelligence (AGI). And indeed, the AI field may need a paradigm shift to achieve higher classification goals. I believe that probabilistic neural networks may be an interesting extension toward general purpose AI, even though this kind of networks need even more data.

If we take the example of a puppy, it seems to generalize pretty well using something like one-shot learning, but is it? I cannot confirm for sure how much data a puppy has already digested before being able to do what we could call "one shot learning". So maybe, the exposure to data is already there, waiting for a specialization toward a particular task.

Giving the ability to a network to be probabilistic enable it to do inference using uncertainty, which is clearly a neat feature when you are gravitating toward AGI for scene understanding.

In the case of video compression, scene understanding may introduce more artifacts IMO: Even if the scene is captured with high end cameras, on a pixel level basis, the edges will never be perfectly neat. I think this will decrease the ability of any network to "understand" which object is at the edges, this results in low classification rates on them, resulting in bad compression/decompression quality (?) for features that are important to the human eye.

All in all, I'm not sure that NN are the right tool for this kind of problems. But we are diverging from the main subject VVC, Thanks for the very interesting comments :)

</comment></comment></comment></comment></comment></comment><comment><USER48> 50% is very impressive. It's not just a gold rush of low hanging fruit anymore, they did real work, created real benefits. I'm willing to pay a little tax on my devices or softwares for this.

</comment><comment><USER49> My 2012 Mac Mini has quickly become much less useful since YouTube switched from H.264 (AVC) to VP9 for videos larger than 1080p a couple of years ago (Apple devices have hardware decoders). I've tested 4K h.264 videos and they play wonderfully thanks to the hardware.

My internet connection speeds and hard drive space have increased much faster than my CPU speeds (internet being basically a free upgrade).

So I don't appreciate new codecs coming out and obsoleting my hardware to save companies a few cents on bandwidth. H.264 got a good run in, but there isn't a "universal" replacement for it where I can buy hardware with decoding support that will work for at least 5-10 years.

<comment><USER40> Honestly, the expectation that a 2012 computer will play 4K video seems a little unreasonable, no? 4K video virtually didn't even exist back then. I'm actually amazed it even handles it in h.264.

This isn't about saving companies a few cents on bandwidth. It's about _halving_ internet traffic, about doubling the number of videos you can store on your phone. That's pretty huge. You can still get h.264 video in 1080p on YouTube so your computer is still meeting the expectations it was manufactured for.

<comment><USER49> It's not so much about it being able to handle 4K, but Youtube already has too low of a bitrate for 1080p (resulting in MPEG artifacts, color banding, etc). So I like to watch in 2.7K or 4K downsampled, since at least I get a higher bitrate.

The bigger problem that I didn't mention is with videoconferencing: FaceTime is hardware accelerated and has no issues with 720p, but anything WebRTC seems to prefer VP8 or VP9 codecs, which fails on my Mini and strains my 2015 MBP. Feels like a waste of perfectly good hardware to me.

</comment></comment></comment><comment><USER50> I'd rather have slightly larger files that don't take hardware acceleration only available on modern CPU to decode without dying (ie, h264). Streaming is creating incentives for bad video codecs that only do one thing well: stream. Other aspects are neglected.

And it's not like any actual 4K content (besides porn, real, nature, or otherwise) actually exists. Broadcast and movie media is done in 2K then extrapolated and scaled to "4K" for streaming services.

<comment><USER40> Huh? TV and movies are widely shot with 4K cameras these days.

What is 2K? I've never even heard of a "2K" camera. Where did you get the idea things are being filmed in "2K" and being scaled to 4K?

Genuinely curious where you're getting this information from. Or are you confused because 1080p refers to the vertical resolution while 4K refers to the horizontal resolution?

<comment><USER50> [https://www.engadget.com/2019-06-19-upscaled- uhd-4k-digital-...](https://www.engadget.com/2019-06-19-upscaled- uhd-4k-digital-intermediate-explainer.html) is one easily found example but it wasn't where I had read it. I'm pretty sure I've seen it on HN itself.

 _edit_ : here's another [https://old.reddit.com/r/cordcutters/comments/9x3v4e/just_le...](https://old.reddit.com/r/cordcutters/comments/9x3v4e/just_learned_most_4k_content_is_actually_2k/)

<comment><USER40> OK, so by 2K you mean 1080p. That's a very unusual nomenclature but I see what you mean, thanks.

The top link in the reddit thread disproves what you're saying though:

[https://4kmedia.org/real-or-fake-4k/](https://4kmedia.org/real-or-fake-4k/)

Somewhere between a third and a half of films are listed as "real 4K".

So there is actually _tons_ of real 4K content. (And the list is just films -- there are plenty of streaming TV shows in real 4K too, like Mrs Maisel.)

There might be another reason for the misperception -- it's true that film editing is generally done in something lower-quality like compressed 1080p, but that's just for speed/space while you work. All the clips "point" to the 4K originals, so when the final master is produced, it's still produced out of that "real" 4K.

<comment><USER51> BTW: I really dislike calling horizontal 2660px as "2K" resolution. It's even close to 3K than 2K. It should be called as 2.5K.

</comment></comment></comment></comment></comment><comment><USER52> Will devices need new hardware. Also I thought companies were all on board with royalty free VP9

</comment><comment><USER53> So how does it achieve this compression from a laypersons perspective?

</comment><comment><USER54> How many weeks does it take to encode a 1-minute video on an average (non- gaming, I mean without a huge fancy GPU card or an i9/Threadripper CPU) PC?

</comment><comment><USER55> Anyone know how this compares to AV1?

</comment><comment><USER56> It will be first adopted by pirates for sure

<comment><USER57> H264 seems to still be the preferred codec in this space, even though H265 is a smaller file size.

Largely due to the CPU over head of H265, though I am not sure why more people do not use GPU encoding over CPU Encoding, I have never been able to notice the difference visually

<comment><USER35> Nvidia's NVENC doesn't support CRF, one of the more popular methods of rate control during encoding.

<comment><USER58> NVENC is too low quality for the scene.

</comment></comment></comment></comment><comment><USER59> Due to the patenting Fraunhofer probably did more harm to humanity than something good. At least its software division.

</comment><comment><USER60> Another patent encumbered monstrosity? No, thanks. Enough of this junk. Some just never learn.</comment>


From Reddit to Pornhub, Websites Slow Down for Net Neutrality on September 10 - <AUTHOR> https://www.eff.org/deeplinks/2014/09/reddit-pornhub-websites-slow-down-net-neutrality-september-10

<comment><USER2> This kind of action from big names is absolutely crucial to halt the ridiculous situation we're faced with.

I'd happily put up with "protest slow-downs" every day of the week if it helps motivate the non-technical masses to understand the importance of what's being slowly taken away from them behind the scenes.

</comment><comment><USER3> We made a simple one-click way to implement this on CloudFlare: [http://blog.cloudflare.com/participate-in-the-internet- slowd...](http://blog.cloudflare.com/participate-in-the-internet-slowdown- with-one-click)

</comment><comment><USER4> Websites are only putting banners up with a loading spinner to help illustrate the issue[0], not throttling their upload speeds. Wouldn't it be better to _actually_ slow down their content? I suppose that hurts the bottom-line so it can't even be considered. =/

[0] A quote from a TechHive.com article on the subject: " Note: The slowdown will only be simulated, not actual—the spinning "loading" icons you'll see on those sites are entirely symbolic."

<comment> k-mcgrady The reason I'm against actually slowing down is because they probably won't bother to geo-target it. Net neutrality isn't a problem where I live, there's nothing I can do to help people in the US, so I don't want my day disrupted. A spinner I'm ok with.

<comment><USER5> Please elaborate. Net neutrality affects the whole web no?

<comment><USER6> Net neutrality is about ISPs being able to limit or slow other services, or force those services to pay more, for access to their customers. For example, Comcast throttling netflix, forcing Netflix to pay Comcast for unrestricted access to their customers, or forcing their customers to pay more for unrestricted access to Netflix (or some combination of the three).

This is only really an issue with American ISPs, as the US is one of the few (or the only?) jurisdictions where this sort of behaviour is allowed.

</comment></comment></comment></comment><comment><USER7> > We've already made a huge impact. The Sunlight Foundation recently analyzed > over 800,000 comments submitted to the FCC about net neutrality– and found > that more than 99% of them supported stronger protections for neutrality.

99% of the comments support net neutrality? AT&T, Verizon, and Comcast must be freaking out.

<comment><USER8> They would freak out if the public comments actually mattered. Unless you know otherwise, I'm guessing the FCC doesn't much care what the riff-raff think is a good idea. They're more interested in maintaining relationships with big business and keeping that revolving door spinning.

<comment><USER7> > They would freak out if the public comments actually mattered.

I disagree with your point that public comments don't matter, since they reflect public opinion. The public are paying the bills of the telcos, and the FCC for that matter. The public can switch providers at any time, if they feel their current provider is acting against their interest. The public also has the ability to elect decision makers who can assign or fire people from the FCC. What are your thoughts?

<comment><USER8> In a perfect world, I'd agree with you.

But, in reality, how many Americans have any real choices in ISP/telco? I have a choice of two mega-telcos (Cox and Verizon), neither of which provides good value (when compared to plans in Europe).

As for the FCC, the revolving door is very real incentive for regulators to do what existing corporate interests tell them. Why would they care if they're removed from the FCC when they have a corner office waiting on K St?

</comment></comment></comment></comment><comment><USER9> I hope many other big companies will join them. Google, Cloudflare, Rackspace, Digitalocean, Linode, and many others, I'm looking at you

<comment><USER10> I like Rackspace, but I wonder if and how their position on net neutrality might change if CenturyLink is serious about buying them.

</comment></comment><comment><USER11> "Don't worry—Pornhub promises it won't actually load pages more slowly."

Nice click bait title.

<comment><USER7> Well, considering there's an extra banner with CSS, HTML, and images loading, the page will load slightly more slowly. Also, there's no way to close the banner for a second or two, so there's a short simulation of a browsing experience being impeded.

</comment></comment><comment><USER12> Except none of them actually slow down, they just run an extra banner.

<comment><USER13> It takes more time to send you the banner, so they are slower to some extent.

<comment><USER14> this is negligible (the screen space it takes is probably more important)

</comment></comment></comment><comment><USER15> I am not a fan of this especially since it is happening during the workweek and I wont have anything to do while sitting in lectures(I'm not talking about pornhub here ;) ).

<comment><USER16> I don't think you're supposed to like it. It's supposed to show you how bad it would get without net neutrality

<comment><USER17> Unfortunately absolutely nobody agrees what net neutrality means.

EDIT: I can be more specific. People have been constantly talking about Netflix and Verizon in the past year with regard to Net Neutrality, but in fact Netflix was being asked to behave as a big player and to help pay for the costs of running the network. Whether they should be paying for peering is out of scope for net neutrality, it's completely distracting. On a fully neutral net, the traffic from Netflix could kill your visits to HackerNews and PornHub, based on sheer volume. Network operators, though I agree they should have been expanding capacity, took action to ensure the network continued working for everyone.

If we had municipal internet _and_ neutrality, you would have a situation where the burden to expand network capacity is on taxpayers, and whoever shoves the most packets into the core network can dominate everyone.

The Internet would stop working immediately.

I'm certainly not arguing _against_ regulation, I'm arguing against the naivete` of 100% neutrality. There is no greater friend to a small upstart in a garage than network prioritization, but because you rarely have a network service which is _intended_ to be a service provider in your garage, arguments related to this don't much hold water.

It's frustrating for me because I largely agree with the intent and am on the same side as people pushing neutrality, but it's a term which has come to mean nothing and is largely talked about and criticized by people who do not know how to run a computer network. :/</comment></comment></comment>


Popular Indian cars fail crash tests - <AUTHOR> http://www.bbc.co.uk/news/world-asia-india-25974754

<comment><USER2> A Ford spokesperson told the BBC: "Safety is one of the highest priorities in the design of our vehicles. Our vehicles consistently meet or exceed applicable industry safety standards."

translation :

"We build cars to the minimum required to meet legislation in each market."

I know India quite well. My friend's driving test was :

"drive 100 yards, go round a traffic island, drive 50 yards and park by the side of the road"

Congratulations, here's your license.

<comment><USER3> You don't need a license to drive a car in India. All you need is a car. Nobody ever checks.</comment></comment>


Automatically art-directed responsive images - <AUTHOR> http://cloudinary.com/blog/automatically_art_directed_responsive_images <comment><AUTHOR> This post by Eric Portis explains how to adapt your images according to the art direction of your website's responsive layout using the HTML5 picture element, while dynamically generating cropped and resized versions of the images in the cloud using Cloudinary.

</comment><comment><USER2> Was waiting for this one!</comment>


The Impact of the Lambda Calculus (1997) [pdf] - <AUTHOR> http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.25.9348 <comment><USER2> If anyone's wondering, the Y combinator gets mentioned on page 14, though only in passing.

Didn't seem to mention fixed points in the section on representing proofs in lambda calculus, though. It can easily be observed that the type of Y is (P -> P) -> P, that is, a proposition implying itself implies itself. Since the first part is obviously a tautology, this reduces to a proof of "for all P, P is true". Hooray, anything is possible! This is closely related to Löb's theorem, Gödel's incompleteness theorems, and all those other fun things.

The net result is that there is a fundamental equivalence between true theorems that cannot be proven (cf. Gödel) and correct programs that cannot be shown to halt (cf. Turing).</comment>


Ask HN: Please review my app: Scheduling (employee scheduling software) - <AUTHOR> http://schedulingapp.com <comment><AUTHOR> This has been my side project for a bit over a year now, working on it nights/weekends (I do Rails consulting full time). I finally thought it was good enough to get out there. There's definitely more I'd like to add to the app, such as shift trades, but I thought it was good enough for an MVP and would love any feedback.

</comment><comment><USER2> The majority of places I've worked where schedules were 'posted' and I would 'trade shifts' with someone else have been retail and food service jobs, not 'office' jobs. Yet the signup page only talks about different sizes of offices ('small','medium', etc). Might want to reconsider that wording ("organization"?)

<comment><AUTHOR> I like that wording a lot more and think you're right about that.

<comment><USER3> As someone who manages a dozen retail employees I concur. I'm using a custom developed Excel/VBA solution but would love to use something web-based.

If you are going to target retail business (I think you should) you should keep in mind that most people working retail are young and have other commitments (school, other jobs, etc). For this reason I think having employee-editable "availability" schedules would be a killer feature.

edit: I see that you have a "request day off" feature: is it possible to request just a portion of a day off? Think - "I have an exam that morning but can work at noon"

<comment><AUTHOR> Yep that's built in though I should probably highlight it more on the tour. There are two possible ways to request time off:

\- In your profile. These are times that you can never work and they are recurring. You can set yourself to be unavailabile every Monday from 2-4pm, for example.

\- In the Requests Off section. This section is for one time requests off, as in your exam example.

</comment></comment></comment></comment><comment><USER4> The hardest part about making a complicated schedule is making sure all the posts are covered. Do I have six editors, four designers, two rewrite, one reader and three runners in on Sunday? And if not, who is available -- they haven't worked six days in a row, aren't due off that day or on vacation and have the right skills -- to cover?

When your app can answer this for schedulers you've got something great. Otherwise I fear a spreadsheet is "good enough" and free. Good luck!

<comment><USER5> I work for a company that specialises in scheduling software - our main market is healthcare, where this 'do we have the right staff?' question is key.

It's a completely different ball game from simple 'this person is doing this' scheduling. You essentially have to understand the demand - not just number of staff of different types, but complex skill requirements; lots of info about supply (staff - their skills and various other bits of info that rules need to know about) and then have a rules engine that matches them together and can check for items like working too long in a row, or too many weekends, or whatever - all parameter driven as every manager wants different things.

When you get this right - ie proper 'demand driven' scheduling - this is where the real benefits of scheduling software vs excel or paper come in. Instead of simply answering 'what is everyone doing' you are answering 'do we have the right staff - and if not, what is going wrong?'

But a word of warning - it's a nightmare to get your product there. The devil is very much in the detail. If you've modelled the demand as three shifts, but some people fulfil the demand working 12 hour shifts, how do you show that all matched up? How from a ui perspective do you assign shifts in a way that prevents over staffing and understaffing? How can we model the demand in a way that allows for flexibility but isn't a massive pain to create for each schedule?

I think you've done a good job of a simple and straightforward scheduling product that is affordable. Be careful about going down the rabbit hole of demand and rule driven scheduling. It sounds like a quick bolt on but actually you need to build it from the ground up with that concept in mind to really make it work.

Good luck!

</comment></comment><comment><USER6> I think you'd benefit from replacing the screenshot of the "my office scheduling" page on the homepage, with an explanatory graphic. The text there is too small to read, but I found myself squinting to make it out to try to glean the features I could expect from the product. As an example, I cite Highrise's homepage: <http://highrisehq.com/>, where icons and descriptive text are used to better present what I can do with the application.

I think that having two metrics of plan/pricing levels is confusing. I'd like to purchase by users in my office, but I don't care how many gigabytes of storage space it costs you. It's also not clear exactly what counts towards that storage quota. Will you be tallying the space used by my calendar events in your database? Will there be a feature where I can upload large files to share with appointments? I couldn't find an explanation of why I'd want to pay for storage space anywhere. Once this is defined, maybe an add-on of 'n' gigabytes of addon storage can be purchased for those requiring the additional space- but right now it just appears to be one more thing to confuse someone about to make a purchase.

</comment><comment><USER7> The market inhibitor for scheduling software/app is usually the mixed needs factor.

Offices have very little requirements for scheduling and the product would have to so much "better" than stubby pencil or excel that it is hard to drive usage.

On the other hand service industries with volume concerns are so in depth with regards to scheduling that the product must integrate projections and production demands. The problem being that what those two words mean to each company is different. How each company employs the basics of volume projections are not standard.

I have spent a decade vetting software and products to make scheduling easier but in the end the main inhibitor to adoption is ease of use. If it isn't substantially easier to use and just as accurate and communicative as the original practice then adoption is a negative.

Sorry for any typos.

</comment><comment><USER8> I noticed pedalpete actually mentioned my staff scheduling business (<http://www.helloscheduling.com>), Hello Scheduling in his compete metrics. A few important things to think about:

1) Those compete metrics are really far off compared to what I am seeing in Google Analytics.

2) You have to remember that Excel and paper schedules are REALLY flexible. If your scheduling software is rigid, people will sign up, but then abandon returning to what feels comfortable to them.

Since we launched our application in mid-January 2011, we have consistently had sign ups but then high abandonment. As we've release features that made the product more flexible and addressed more unique scheduling needs, we've seen usage increase.

This is a really tough space, but don't lose heart.

</comment><comment><USER9> I run a payroll site (<http://smallpayroll.ca>). I could see some small businesses that rely on shift work like this, especially if it could push hours into their payroll software.

There aren't enough features for a call centre to use it, but I could see convenience stores and restaurants loving it.

What's the storage space used for? I looked at the pricing page and the storage per level really stood out. 1GB is a lot, what am I storing? How do I know I have enough storage?

</comment><comment><USER10> Some sort of graphical representation of hours covered would be awesome and I don't see it. That's the hardest thing about scheduling people in public service, making sure there's alway (x) people there. Maybe create a graphical representation of coverage. Also support lunches because that's important for the scheduler to know.

</comment><comment><USER11> I built a similar project last year, but abandoned it due to lack of business.

Just around the time I got my beta out, I discovered shiftplanning.com (they were in beta about a month before me) - I would say quality wise, my build was very similar to shiftplanning, much better than schedulefly.

The reason I ditched it was that after working with a number of local businesses, I found they always had excuses to not use it. They would say stuff like 'if you can show us our monthly labour costs, then we'll start using it'. But they weren't able to get monthly labour costs the way they used excel, so an online solution would have been better. Another request was holiday scheduling, which I did add, but still, no increase in usage. It was excuse after excuse, so I clearly think this is an area where people recognize a pain, but don't seem to care enough about it.

Along with that, my heart was not really in it (I was convinced to build it after mentioning to a friend that it was crazy how businesses were still scheduling with excel and paper, etc.etc.).

The problems aren't technical. There are LOTS of scheduling sites. I hadn't seen any of quality until I built mine, and then saw shiftplanning. Your site looks pretty good, but schedulers should be able to select a shift, rather than entering a time, as most businesses have standard shifts for their business, and then need the ability to just edit the time for specific cases, stuff like that.

In the end, I'm happy I didn't dedicate too much time to the project. Looking at the compete scores [http://siteanalytics.compete.com/schedulefly.com+shiftplanni...](http://siteanalytics.compete.com/schedulefly.com+shiftplanning.com+scheduleanywhere.com/), this just doesn't seem to be an area of interest to businesses.

ShiftPlanning is free, and they still can't get a large number of users. The problems are multiple.

1) You can likely only target small businesses or branches of a larger business. I spoke to a few chains, and they all said (surprisingly) that they don't dictate an online schedule service for their outlets.

2) It is an add-on service option for large operations like call-centers,etc which is already offered through their pbx or other systems. One business I spoke to had an add-on which came with their ERP system.

3) along with the groups I mentioned already, here's another 3 [http://siteanalytics.compete.com/fendza.com+helloscheduling....](http://siteanalytics.compete.com/fendza.com+helloscheduling.com+shiftboard.com/) some of these guys have been at it a long time. I'll admit that I think most of these are poorly designed, but that can't be the only problem.

I don't expect you to read this comment and just give-up. That would be lame. But I do hope to open your eyes a bit, maybe you'll see another opportunity in a related space, or this comment will help you somehow.

If you have any questions, please feel free to ask.

<comment><AUTHOR> Thanks a lot for the thoughtful response. I do have some questions for you.

\- How did you market it?

\- You said you talked to local businesses and chains. What did you do to get to them? What was most effective?

\- Are there any marketing avenues you think should be avoided?

\- Are there any features which you found to be not worth it? I'm keeping it simple for now but would appreciate knowing where not to take it.

\- What finally made you decide to abandon it? What did you do with your customers?

<comment><USER11> As I mentioned, I was in closed beta. I never did a full release, my marketing was limited to people I spoke with, people I know who own/manage businesses with scheduling needs.

The number of people I spoke to who said 'that's GREAT!!! I want that for my company' was probably 20. Of course, I had mentioned it to probably 100 people but most aren't in a position where they really care or do staff scheduling. About 5 people who manage staff said they had no interest, reasons they gave where that they don't like/trust/need computers to do it, or that there schedules were so simple it wasn't necessary.

I did an initial slow beta release to 5 companies, 3 tried the service. After three weeks 0 were making schedules. I spoke to them about the changes that needed to be made, what they would like to see, and got a bunch of feedback, but nothing really actionable, as I had mentioned (or nothing that would actually have made a difference I believe).

I then sent emails inviting other businesses to use the service. I can't remember the exact numbers or responses. It wasn't high. They looked, a few signed-up and said they'd get there supervisors to look at it. A few weeks later, again, nobody was using it to build their schedules. Another round of calls, coffees to discuss what was needed, etc. lots of responses like 'when this supervisor gets back we'll start using it', 'we're just changing this', 'we need time to do x', etc. etc. It took a bit of time on my part to realize these were just excuses to not use the service. If I'd filled the need, they'd have used it.

Of course, you could say 'well maybe your product sucked'. Fair enough. Maybe it did, but I'll tell you that it was a whole lot better than most of the stuff out there. As I'm sure you know, there are lots of scheduling sites that are almost impossible to make heads or tails of due to poor UI and design. I'm not a great designer and a friend did a bit of design for me, but I'm pretty good at UI, and this was pretty simple to use. It worked, just nobody cared.

Speaking to local businesses I found was easy, and in my research, I had spoken to a bunch of businesses about how they do their scheduling so I understood their needs before I started building. Then I figured it was just a matter of getting a product out there and tweaking it and adding features based on feedback.

I know a few people who work for large chains in IT or other management capacity, so that was my in with the chains.

I would say in the end I found all features not worth it ;) but I too started fairly slowly. I'm trying to remember all the features it had. It wasn't SUPER feature heavy. The feature list that I remember was

1) add employees

2) employee types (manager, scheduler, staff)

3) create template shifts (one click to add a shift to the schedule instead of selecting start/end-times each time.

4) add shift to schedule

5) add shift request

6) request time off

7) employee payroll accounting

8) calculate over-time

9) publish schedule/send-emails, etc. etc.

10) holiday planning (as requested by a business)

The decision to abandon it was mostly made for me. 0 for 25 is not a good record, particularly when you have a personal relationship with most of those businesses.

I actually made a little test to see what would happen. I made sure that no schedules had been made for the upcoming week, and I just shutdown the site.

I figured if people noticed and wanted to know what happened to the site and wanted the service, they would ask. Of course, I mean the people who had already seen it and new about it. Nobody asked, nobody knew it went away, nobody cared.

I contrast that with another site I shutdown late last year, and I still get emails from people asking me to bring it back, or what happened to it, thanking me for building it, etc. etc.

I know I'm quick to make decisions on these sorts of things, but as I mentioned before, my heart wasn't in it, and it seemed that customers weren't passionate and didn't feel the pain.

The decision to abandon ship was made when I considered the alternatives businesses had (including a free competitor in the space with a decent product), and the impact I felt my product could make.

I didn't do anything with my customers. I hadn't charged them (actually I didn't build a billing system as that would have been an extra charge up front that I wasn't willing to invest in until I had enough paying customers to make it profitable). The businesses are all still doing there schedules as they always had I assume.

I've worked for a few start-ups now both as a programmer and in other biz-dev, product management capacities, etc. etc. along with my own personal projects. There is a certain feeling I think you get when launching a product that has some traction, even if only minor. There is a buzz about it, and people get talking about it. So I guess in the end, a big part of my abandon decision was that this just didn't have that 'GO!' energy to it and I didn't have the rocketfuel for the project.

The great thing I take away from these sorts of projects is that there is no shortage of great things to be done, problems to be solved and opportunities.

</comment></comment></comment><comment><USER12> Signing up:

Timezones drop down is not tab-able, and stops at GMT-5?!?!

Speaking as a European, this is the sort of thing that really pisses us off!

<comment><USER12> Its not clear to me that you have to post a schedule after saving it. I saved 3 before realising I had to post them to avoid losing them.

<comment><AUTHOR> Schedules that haven't been posted show up under drafts in the "Schedules" section. I think you're right and I need to find a way to make this more obvious.

</comment></comment></comment><comment><USER13> You might prevent the last person removing themselves from the project. After creating a project, I was able to remove myself. The project now has no one to be administered by.

<comment><AUTHOR> Thanks a lot for that, I'll add in the validation.

</comment></comment><comment><USER14> A feature you should strongly think about is around MI functionality. Smaller organisations, who I presume you are targeting, would typically use Excel for their MI needs.

If you could automate the generation of pretty and useful MI, perhaps through a dashboard on the site, it would be a great route in.

Better still, if you have paying customers how about meeting them and understanding first hand what they would find useful.

</comment><comment><USER15> I'd ditch that green header image you are using. It looks washed out on my machine. Love the concept though. I had to write auto-scheduling software for a call center in college so something like this would probably have broad appeal.

<comment><USER16> Bold and/or bigger and a slightly darker gray could make it work. it's the only real color on the page.

</comment></comment><comment><USER17> How do you plan to reach customers? (without giving away your secret sauce)

This is a question I will ask every "Review my app" from now on.

<comment><AUTHOR> I was planning on doing a bit of online marketing but mostly in person -- brochures, business cards with the app info, phone calls, etc.

</comment></comment><comment><USER18> Where can I email bugs/support? looking for an email address, so I can attach video. Thanks.

<comment><AUTHOR> Support or bugs go to firstname.lastname@example.com. There's a support link in the bottom right of the app as well.

</comment></comment><comment><USER19> Good luck man.. it's a tough field to break into. Tons and tons of competitors (like me) and few businesses who would actually use it.

\- James F. Founder, Fendza.com (<http://www.fendza.com>)

<comment><USER19> BTW; your site looks good, nice clean design.. I, too, would probably change the screenshot away from Office to something like restaurants, retails stores, etc.

Funny thing is; you'll start getting people copying you almost exactly. I found two other 'employee scheduling software' sites that almost directly ripped off my entire website.

Anyways, feel free to hit me up if you have any questions about anything.</comment></comment>


A Wake-Up Call for Tech Managers: Listen to Your Programmers - <AUTHOR> https://medium.com/coaching-notes/a-wake-up-call-for-tech-managers-d0415775efd0 <comment><USER2> My oldest is 15 now, and is starting to give serious thought to his future career. He's considering following in his father's footsteps and focusing on computer science, and I'm steering him away from it. Why? After all, it pays well, and there are lots of job openings - if you have a CS degree (and are under about 45), you'll definitely be able to find good-paying work. But on the other hand - the absolute best you can possibly hope for is to be a nameless, faceless, arbitrary replaceable cog with four feet of deskspace in a noisy, repurposed, open airplane hangar who joins a daily standup each morning and recites a list of the JIRA ticket numbers you worked on and defending why it's taken more than a day or two to close any one of them. And then when you hit 45 and you're too old to code, you not only won't be able to find a soul- sucking buy high-paying close-jira-tickets-as-fast-as-possible "programmer" job but you won't be able to move into management either, because that's for people who went to business school... whose main skill is telling programmers that they have to close their JIRA tickets faster.

<comment><USER3> What's the best alternative? Personally, I can't think of a job that I would enjoy more than software development, even with the downsides that come with a lot of the big tech companies. And obviously the benefits are better than pretty much any other industry. If your biggest concern in your job is an open office, and dealing with things like stand-ups, you are in a pretty great position compared to pretty much everyone else in the world. Whenever I talk to my friends doing work in the trades, or truck driving or something I am incredibly glad that I chose to go into software.

<comment><USER4> I'm consistently envious of my friends in Civil Engineering. I'm sure it's a grass-is-greener situation, but they seem to have "Decent Pay" but in a far greater range of COLs, and with a far more entrenched expectation of long term job stability. (One friend's employer still offers pensions, which is like seeing someone driving a horse and buggy in tech)

I certainly hear a range of complaints as well, largely around funding and political angles, but for the most part the things that I find most painful about tech (work/life balance, high stress, long-term stability and career growth) seem less prevalent.

Additionally, I also don't see civil engineering becoming quite as commoditized towards "assembly line" work as a lot of CS often seems to resemble, but again, this just based off the stories they tell me so I'm waiting for another rail/harbor eng to come in and tell me why it's just as miserable :)

I say all this because, as slim as the article was, you would not imagine how much "just listen to your programmers" resonates with me. I've convinced multiple coworkers to nickname me Cassandra for the number of times I've precisely identified risk factors long before they were felt, and often even when management makes soothing and affirming noises, having action result from that is a rarity. I've certainly spent more time in the last 5 years of my career "learning how to manage up" than learning how to do anything tech- related.

Personal theory: It seems part-and-parcel with the pathology I've seen for corps to be very averse to promote from within the ranks to management.

</comment></comment></comment><comment><USER5> A recent example of a different way to do production is Alex Garland, director of Annihilation (and Ex Machina). He spoke about it somewhat at length at Google:

[https://youtu.be/w5i7idoijco?t=5m25s](https://youtu.be/w5i7idoijco?t=5m25s)

In my experience all of the major problems I've seen at software companies were problems the rank and file employees knew exactly how to solve, but weren't allowed to.

It seems extremely hard for managers to let go of responsibility and let their team take it on. I understand why: it's the managers neck on the line.

But the fact is, in almost every case the manager doesn't have the domain knowledge necessary to solve their own problems. Almost by definition: managers lead teams directly into the problems the manager can't solve.

It takes real guts to regularly take a chunk of your resources and hand them to an "underling" and yet that's absolutely what they must do.

I've also seen a lot of examples of managers requiring employees to "prove themselves", often meaning they can prove they can think like the manager thinks, before they can be trusted with an allocation of resources.

But this is pointless: the manager is already good at what they are good at, and blind to what they are bad at. By definition hedging your own deficiencies must be a leap of faith.</comment>


Apple lost another prototype iPhone, again - <AUTHOR> http://news.cnet.com/8301-13579_3-20099899-37/apple-loses-another-unreleased-iphone-exclusive/

<comment><USER2> Got pulled - I'm assuming that means it was a fake and they jumped the gun a bit?

<comment><USER3> It's back now. Maybe had to vet a source or two, but it's back.

</comment></comment><comment><USER4> No links to any kind of source like a police report...seems pretty fishy.</comment>


Show HN: FoxDen – WebRTC Collaboration App - <AUTHOR> URL:  http://l.aunch.us/EVmkQ
We just launched our WebRTC collaboration app. It's available on IOS, Android and Chrome.
If you'd like to join the beta use code RTFRIEND.
Would love any feedback. <comment><USER2> [https://www.producthunt.com/tech/foxden](https://www.producthunt.com/tech/foxden)</comment>


Announcing pushJS: Send javascript to any connected browser - <AUTHOR> http://adamilardi.com/?p=9 Visit my live demo @ http://li50-5.members.linode.com:8081/demo.html and http://li50-5.members.linode.com:8081/whoison<p>@adamilardi on twitter <comment><USER2> fun things to do: redirect users to porn site using: window.location = '<http://youporn.com>; (or worst) or just sending infinite number of messages while(1){alert('click ok!');}

</comment><comment><USER3> Isn't this just pusherapp.com? (not trying to be snide, just curious)

<comment><AUTHOR> I will check them out. I'm not affiliated with them.

</comment></comment><comment><AUTHOR> I'm RandomUser829

</comment><comment><USER4> What? You just push something through WebSockets and blindly eval() it?

This is going to sound snide, and I'm really just confounded... what was "created" here? What is there to "announce"?

<comment><AUTHOR> You can always add specific functionality to the javascript to handle specific commands. What was created is a nice example of how to integrate websockets with a message q into web application. It also lets you push ANY javascript via redis to anyone's browser. The concept has lots of potential. I'd like to see more widespread use of websockets. I believe projects like this can help get the ball rolling.

<comment><USER5> Many years ago, this was effectively the only way to do anything. JSON was created in response to how bad an idea pushing things down and running them through "eval" is, as are the rest of the technologies you are presumably reacting to.

Nobody can stop you and if you're one of the rare handful of people with enough discipline to prevent this from blowing up in your face, go nuts. But please don't go around telling people how wonderful this is without considering the history of _why_ we all don't just do this all time, considering it's actually _easier_ in terms of raw effort than actually using JSON et al properly.</comment></comment></comment>


OVH down - <AUTHOR> http://ovh.com/ <comment><USER2> Had some huge (10x) increase in ping times to Roubaix yesterday, but everything seems fine for me today. Firs time in 3 years I've noticed anything.

</comment><comment><USER3> I've got servers in their Canadian datacenter and everything seems peachy. I'm guessing this is their French infrastructure. Even [http://status.ovh.net/](http://status.ovh.net/) doesn't load.

<comment><USER4> It is their french datacenter - we are affected, they're saying should be back in an hour.

</comment></comment><comment><USER5> It seems to be related to a BGP leak:

[http://travaux.ovh.com/?do=details&id=16568](http://travaux.ovh.com/?do=details&id=16568)

<comment><AUTHOR> Link not working (down, too)

<comment><USER5> Here is a screenshot:

[http://i.imgur.com/eocXsNK.png](http://i.imgur.com/eocXsNK.png)

</comment></comment></comment><comment><USER6> Remember kids, have DC failover to a second provider.

<comment><USER7> Hey,

Just out of curiosity do you have any provider recommendations?

I have my servers on OVH but have been looking for a second provider/backup but cant seem to find any with affordable bandwidth (My services experience heavy traffic)

Thanks!

<comment><USER6> Are you in a OVH France or OVH Canada location?

What sort of latency can you tolerate? [e.g. Can you go from OVH Canada to Kansas City without it impacting your setup? Or France to Germany? Or do you need something closer?]

<comment><USER7> I am currently in OVH Canada,

90% of my customers are US customers with a large percentage on the East coast.

Kansas City would actually be very ideal, nothing more West than that though.

<comment><USER6> Since you want high bandwidth, OVH level prices/hardware/etc.

Reliable site is noticeably better but costs more. The others are Kimsufi/SoYouStart kind of providers. [e.g. the lower end OVH brands]

 __NYC Metro __

[http://www.reliablesite.net/](http://www.reliablesite.net/)

 __Kansas City __

[https://www.wholesaleinternet.net/dedicated/](https://www.wholesaleinternet.net/dedicated/)

[https://joesdatacenter.com/dedicated-server- packages/](https://joesdatacenter.com/dedicated-server-packages/)

[https://www.datashack.net/dedicated/](https://www.datashack.net/dedicated/)

 __South Carolina __

[https://billing.dacentec.com/hostbill/index.php?/cart/dedica...](https://billing.dacentec.com/hostbill/index.php?/cart/dedicated- servers/)

<comment><USER7> I wanted to thank you,

I forgot to mention that I also needed large storage 16tb+ however looking into [http://www.reliablesite.net/](http://www.reliablesite.net/) , they're pretty much EXACTLY what I was looking for.

Thanks again for your help you have helped me tons!

\- Kenny

</comment></comment></comment></comment></comment></comment><comment> ju-st postmortem from CEO: [https://pbs.twimg.com/media/Ca9N_zXXIAAwfm2.png](https://pbs.twimg.com/media/Ca9N_zXXIAAwfm2.png)

</comment><comment><USER8> live outage map: [https://currentlydown.com/ovh.net](https://currentlydown.com/ovh.net)

</comment><comment> ju-st All OVH links work for me, thanks to Ipv6 I suppose

</comment><comment><USER9> My two servers in Roubaix are still down.

</comment><comment><USER10> It appears to be back up for me.

</comment><comment><USER11> It's back up for us :)

</comment><comment><USER8> still down here. multiple servers. 94.23. _._ and 188.168. _._</comment>


Ask HN: Windows shell confusion – which shell people use on Windows? - <AUTHOR> Which shell/prompt do you use on Windows?
1. command prompt 	2. powershell 	3. cygwin 	4. git shell (Github for Windows, which is either command prompt, git bash, or powershell, depending on setting) 	5. git bash (which is bash, using MINGW64) 	6. Windows 10 Bash shell 	7. others
Windows Shell Confusion
I have been using Windows for development for years. After years of development, I have been more confused about the shell choice. It used to be simple.  Just use command prompt.  Our build script would be written for command prompt.  No problem there.  For a while, I used cygwin.  Cygwin was alright.  At least I can use ssh, scp, curl, and git on it.
I also use git shell from Github for Windows sometimes.  whenever the project' script requiring git.
However, so often, a tool would work on one shell, and not the others.  For example, firebase-tools CLI deploy would work on PowerShell, but not on git bash.  Most of the firebase-tools command works, but not for deploy command, which is interactive.  Now, I am in state of confusion, I often jump from one shell to another for different tool.  Obviously, I don't want to remember which tool to use for which shell, I just want to use one shell.
What about the new Windows Bash shell that comes with Windows 10 anniversary edition?  Is that the "one shell to rule them all"?  Do you recommend it to be "my precious"?
I would at least like to use it for
- git - curl - copy and paste folder path from file explorer (such a simple request, you can do this in command prompt and powershell, but not on git shell or git bash) - node - maven - common CLI tools today
Which shell do you use and which stack of technologies do you usually work with that works with it? <comment><AUTHOR> Relist the 7 shell choices in better formatting.

1\. command prompt

2\. powershell

3\. cygwin

4\. git shell (Github for Windows, which is either command prompt, git bash, or powershell, depending on setting)

5\. git bash (which is bash, using MINGW64)

6\. Windows 10 Bash shell

7\. others

I didn't notice that copy&paste ruined the format when I posted my original article.

</comment><comment><USER2> The new windows bash shell is pretty good, only been using it for ssh for now, however I think ssh, scp, curl & git could be done in windows bash shell just fine

</comment><comment><USER3> I use powershell as much as I can, but cygwin when I want to use commands that are in cygwin.

<comment><AUTHOR> Thanks,

What type of commands you use in cygwin? What type of things you use on powershell?

powershell does not support ssh, scp, and git, right?

</comment></comment><comment><USER4> Mostly the default one. Never had too much need for command line on Windows - it's beauty is in the great GUI tools, and build systems can be handled by simple bat files.

<comment><USER5> Any hints what the great GUI tools are?

How do you script them?

Or was that sarcasm?

<comment><USER4> TortoiseGit, for example. Makes Git usable for a visual person. Nothing even remotely as good exists on linux, sadly.

All the file handling is done by Total Commander. MC is kinda close on linux, but lacks a lot of features.

But yeah, i guess it's all irrelevant in the context of this question when it's read carefully...

<comment><AUTHOR> Thanks,

I understand your point of having great gui tool. for example, github for windows is a pretty good gui.

However, with a lot of tools, eg. firebase-tools, bower, npm, etc, it seems that command line is still needed a lot of times. Nowadays, it seems even when I'm not working on node.js, many tools require me to use npm and bower.</comment></comment></comment></comment>


Should you date a mathematician? - <AUTHOR> http://blog.tanyakhovanova.com/2011/03/should-you-date-a-mathematician/ <comment><USER2>
      Their wives complain that their husbands didn't
      notice that the furniture was repossessed or
      that their old cat died and was replaced by a
      dog. My third husband was like that. At some
      point in my marriage I discovered that he
      didn't know the color of my eyes. He didn't
      know the color of his eyes either. He wasn't
      color-blind: he was just indifferent. I asked
      him as a personal favor to learn the color of
      my eyes by heart and he did. My friend Irene
      even suggested creating a support group for the
      wives of such mathematicians.

I'm really bad when it comes to this sort of thing. My partner often quizzes me on things that were apparently "discussed" which I actually didn't hear because I was engrossed in something else.

I'm generally very apathetic which makes my partner question whether I love them sometimes. It _is_ peculiar why we should love.

<comment><USER3> > _My partner often quizzes me on things that were apparently "discussed" > which I actually didn't hear because I was engrossed in something else._

I absolutely _hate_ that. I have a pretty good memory, I do remember lot of random trivias about conversations. And yet my SO can _always_ find something that I missed, and likes to ask me about it few weeks after it was first spoken. I try to convince her to find another way of "checking" my attention, because this won't "fix" my memory. It'll only make me paranoid.

EDIT:

Another thing that I actually learned for her is the color of her eyes. I'm not indifferent. I simply don't notice. Maybe it's because of being myopic for most of my life, or maybe because I'm wired differently - but my brain just doesn't register those details unless I explicitly focus on them. Similarly, I often can't tell when someone brightened or darkened their hair (that is, unless it's something like going from blond to black). I suck at remembering faces, couldn't describe them from memory to save my life, and usually I even quickly forget what clothes someone is wearing. So my only countertip to this article is - for the love of $DEITY, don't assume everyone is sensitive to minor appearance changes. For some, it doesn't register. And it's not because of indifference.

</comment></comment><comment><USER4> My brother is a dentist. At four he leaves his office and goes home.

I have worked with software development for quite some time. The nasty thing is that lately it has become so easy to connect to work, fire up the dev- environment from home on evenings and weekends to continue tinker with that piece of code or that nasty bug.

Imagine having a job where your problem is not constrained to a person that has to be in your vicinity for you to work or a job where you cannot at least fake that you have problems with your internet connection :)

You cannot easily unscrew your head at the end of the day and it is only too natural to continue to linger in your head in problem-solving mode. Imagine doing this for the greater part of your life and you may end up with exactly the problems described here.

</comment><comment><USER5> Thanks to mobile phones we can at least pace around and talk to ourselves without appearing crazy.

</comment><comment><USER6> _Should you date a mathematician or not?

_Yes.</comment>


Google's Chief Economist Hal Varian: Computer Mediated Transactions [pdf] - <AUTHOR> http://www.sims.berkeley.edu/~hal/Papers/2010/cmt.pdf

<comment><USER2> From my self-interested perspective the coolest part about the modern economy is that small businesses can participate in it as much as the big guys. Totally automated fulfillment? Check. Scalable online advertising? Check. User behavior tracking? Check. A/B testing? Check. Micro-multinational 14 time zones away from freelancers and customers? Check and check.

Heck, you can do all of the above in your _spare time_.

</comment><comment><USER3> For me the most interesting data point was this paragraph on page 10:

 _In 2008, Google ran 6,000 experiments involving web search which resulted in 450–500 changes in the system. Some of these were experiments with the user interface, some were basic changes to the algorithm (Hoff (2009)). The ads team at Google ran a similar number of experiments, tweaking everything from the background color of the ads, to the spacing between the ads and search results, to the underlying ranking algorithm._

That's over a dozen A/B tests per day. For each product line.

</comment><comment><USER4> Greg Linden's take on the same: [http://glinden.blogspot.com/2010/02/personalization-and- diff...](http://glinden.blogspot.com/2010/02/personalization-and- differential.html)

</comment><comment><USER5> Prof. Varian lectured on this topic at the School of Information at UC Berkeley in October, 2009. The audio is here -

[http://www.ischool.berkeley.edu/newsandevents/events/dls2009...](http://www.ischool.berkeley.edu/newsandevents/events/dls20091028)</comment>


A new, undocumented INT1 tensor core instruction in Nvidia Ampere - <AUTHOR> https://github.com/NVIDIA/cutlass/blob/master/include/cutlass/arch/mma_sm80.h#L2006 <comment><AUTHOR> For the hardware and architecture nerds, CUTLASS now appears to include support for an INT1 (binary) AND-popcount matrix multiplication, in addition to the XOR-popcount present in Turing.</comment>


BBC blocks its podcasts on Google - <AUTHOR> https://podnews.net/article/bbc-blocks-google <comment><USER2> The author may not know Google Podcasts doesn't work the way any other podcast app does. Most apps like iTunes just are feed aggregators which facilitate downloading from a server of your choice. No terms are attached to being available in a given podcast app. Except for Google Podcasts, which requires you give Google an irrevocable worldwide license to your content and lets them host it themselves. Unlike almost every other podcast app, users can't add RSS feeds to Google Podcasts themselves, it's not the BBC which has broken well understood conventions and open standards of podcasting.

My guess is BBC has an issue with Google Podcasts' terms.</comment>


Introducing SeeWhatYouLike - New Facebook App - <AUTHOR> http://seewhatyoulikeapp.blogspot.co.il/

<comment><USER2> Great idea! I was waiting for some one to develop such thing for a long time :)

</comment><comment><USER3> Awesome app, it's all you need from FB.

<comment><AUTHOR> Thank You !

</comment></comment><comment><USER4> Love the idea for this app!</comment>


Was Alonzo Church Taoist? - <AUTHOR> http://lambdaway.free.fr/lambdaspeech/?view=tao <comment><USER2> I'm disappointed; this is as shallow an understanding of Taoism as you're likely to get. Sure, there is a core religious concept called "Taoism" that can _sort of_ be described as "everything is a zero-sum duality of a producer and a consumer, which returns to nothing in equilibrium"—but in practice, people who are Taoist have a whole bunch of other, _much more interesting_ beliefs.

There's an instant-classic article waiting to be written, about the usefulness of Taoism (and intertwined concepts like _qigong_ and _neidan_ ) as a thought- paradigm for pursuing mastery in modern intellectual crafts like computer programming. (It's a shame that Robert C. Martin isn't versed with Taoism; he keeps rubbing up against these ideas tangentially but never colliding with them.)

There's also a less classic, but highly entertaining article waiting to be written, comparing-and-contrasting computer programming to Taoist martial arts as practiced in _Xianxia_ novels. Abelson and Sussman's "programmer as wizard" analogy was _close_ , but there's an even better one.

<comment><USER3> I haven't read the article, but I'm already convinced that I'd much rather read YOUR article on the subject. If I'm not going to get that, can I at least get a few links to point towards more of what you're talking about?

<comment><AUTHOR> " I haven't read the article, but I'm already convinced that ... "

Reading an article is not required to get an opinion about its quality ... it's well known!

</comment></comment></comment><comment><USER4> I don't see any connection between this article and Taoism at all, apart from a quote at the top and a sentence at the bottom, both of which seem unconnected to the rest of the article. What am I missing?

<comment><AUTHOR> Don't you see some similarity between Yin/Yang and abstraction/application? Female vs male, delay vs force ...

<comment><USER4> Okay, I suppose. I must admit I'm not very familiar with Taoism (I'm actually more of a presbyterian...).

</comment></comment></comment><comment><USER5> Others have pointed out the shallow connection to Taoism. But even the discussion of the lambda calculus does not seem to be insightful. For example, recursion in lambda calculus does not need names.

<comment><AUTHOR> " For example, recursion in lambda calculus does not need names. "

You are right. Just a zest of Y-combinator and you can forget names as it is shown in section 4). And so you come back to pure lambda calculus. If you want more details have a look at [http://lambdaway.free.fr/lambdaspeech/?view=kiss](http://lambdaway.free.fr/lambdaspeech/?view=kiss) and [http://lambdaway.free.fr/lambdaspeech/?view=factory_201902_p...](http://lambdaway.free.fr/lambdaspeech/?view=factory_201902_paper)

So, I'm disapointed that nobody could understand that my question about Tao was somewhat provocative. A bit of humour.

A more serious point, IMHO, is the similarity between Yin/Yang and Abstraction/Application. Your opinion?

</comment></comment><comment><AUTHOR> So, I'm disapointed that nobody could understand that my question about Tao was somewhat provocative. A bit of humour, difficult to share... It's not an article on Tao!

A more serious point, IMHO, is the link between Yin/Yang and Abstraction/Application. Your opinion?

</comment><comment><USER6> I don't see the connection. An example of yin-yang for me in this field is centralization vs. decentralization. We've been through a few cycles already.

1\. mainframes (centralization)

2\. PC (decentralization)

3\. internet and cloud (centralization)

4\. now with mobile, crypto/blockchain (decentralization)

<comment><AUTHOR> Why not? For me yin/yang is connected to abstraction/application, abstraction delaying the evaluation of an expression and application forcing the evaluation. {lambda {x y} {+ x y}} delay the evaluation of {+ x y} and {{lambda {x y} {+ x y}} 3 4} forces the evaluation of {+ 3 4} to 7. The article tries to gently introduce, in a few lines without grey areas, concepts in programming languages which are not so easy to understand, a few data structures, pairs and lists, and recursion without any strange Y-combinator ... implicitely used in the long convoluted expression full of lambdas and explained in long in the two links given at the bottom of the page. This short article is a gentle call to read longer introductions on the making of a functional language for the web. Not a philosophical reflexion on Taoism.

</comment></comment><comment><USER7> This is merely clickbait. It's a lambda-calculus circle jerk disguised as a philosophical question.

<comment><AUTHOR> Just a little bit of humour on a subject, the lambda calculus, too often introduced so darkly. And if you read until the end you have links to more details. And your opinion will be welcome, always.

</comment></comment><comment><USER8> Presbyterian, I think.

<comment><USER9> very emphatically.

<comment><USER10> "A deeply religious person, Church was a lifelong member of the Presbyterian church.[7] He died in 1995 and was buried in Princeton Cemetery" wikipedia.

[7] "Introduction Alonzo Church: Life and Work" (PDF). p. 4. Archived from the original (PDF) on 1 September 2012. Retrieved 6 June 2012. "A deeply religious person, he was a lifelong member of the Presbyterian church."

</comment></comment></comment><comment><AUTHOR> Is there anybody out there?

<comment><USER11> just nod if you can hear me

<comment><AUTHOR> You would be nice to stay polite.</comment></comment></comment>


AWS says Open Elasticsearch shows it's pro-open source. Elastic says that FUD - <AUTHOR> https://www.zdnet.com/article/open-distro-for-elasticsearch-is-amazons-move-to-show-its-pro-open-source/ <comment><USER2> Isn't the reason for Open ES that ES is too closed?</comment>


The engineering of birds' nests - <AUTHOR> https://www.nytimes.com/2020/03/17/science/why-birds-are-the-worlds-best-engineers.html <comment><USER2> > "We hypothesize that a bird nest might effectively be a disordered stick > bomb, with just enough stored energy to keep it rigid,"

I've had the pleasure of seeing a golden eagle's nest on a mountain top up close and personal, and it was absolutely stunning how meticulous and clean it was. It shocked me. It wasn't a stick bomb at all, it felt organized and roomy, the surfaces were flat, the ambiance was relaxing. The thing felt downright designed and engineered.

<comment><USER3> Fascinating. I found a video where two eagles work together to arrange a new stick in their nest. (It takes place around 10:25.) They try multiple spots to see where it fits best. [0]

And unrelated to birds, but hearing about how animals "design and engineer" their living spaces reminds me of the pufferfish, which creates beautiful geometric artwork in the sand as a mating ritual. The fish is only about 4 inches long, but the artwork is over 6 feet in diameter. Picture [1] and article [2].

[0]: [https://www.youtube.com/watch?v=9KbtoO6CpQo](https://www.youtube.com/watch?v=9KbtoO6CpQo)

[1]: [https://pbs.twimg.com/media/C19XjjUUQAAuymb.jpg](https://pbs.twimg.com/media/C19XjjUUQAAuymb.jpg)

[2]: [https://en.wikipedia.org/wiki/Pufferfish_mating_ritual](https://en.wikipedia.org/wiki/Pufferfish_mating_ritual)

<comment><USER4> The pufferfish thing is amazing, thank you for sharing this!

<comment><USER3> Of course. Amazing username by the way! :)

<comment><USER4> There's a couple Dune themed usernames getting around.

Have you seen the latest episode of Star Trek: Picard?

</comment></comment></comment></comment></comment><comment><USER5> None of the images will load in the article. I am getting gnarly timeouts with the NYT CDN. Anyone else having trouble there?

</comment><comment><USER6> Why are articles behind paywalls allowed?

<comment><USER7> This[0] extension worked for me.

[0]: [https://github.com/iamadamdev/bypass-paywalls- chrome](https://github.com/iamadamdev/bypass-paywalls-chrome)</comment></comment>