What Is Going on with the Record Industry? - <AUTHOR> http://www.newmusicbox.org/articles/what-is-going-on-with-the-record-industry <comment><USER2> Thoughtful piece. The insides of markets look very different than what you read in the press. The scope of complexity and considerations, is outlined here.</comment>


InspiredBeta: interviewing Zootool, Alfred App & Designmoo - <AUTHOR>

Hello
At inspiredBeta.com we'll be interviewing Zootool.com, AlfredApp.com & Designmoo.com next week. I'm in the process of putting together questions but thought I'd open it up to you guys to pose any questions to these budding startups.
I personally use Zootool and Alfred daily and throughly recommend them. I don't want to waste too much time giving praise in the interviews but rather I want to dig into the problem solving involved with these applications with regard to design/development/funding etc.
I don't use Designmoo's graphic resources but I do browse the website for inspiration (of which there is a lot). I know Rich Hemsley, co-founder, from Twitter and I made him aware that I don't fully support the idea of supplying designers with pre-made graphics.
As Community Director of DesignersCouch.org my role is to help nurture emerging designers as well as support seasoned professionals. The idea of a designer using a pre-made menu, for example, is somewhat contentious in my opinion. On the flip side I can see good reasons for using pre-made graphics such as a resource for developers who aren't strong designers. Also where do you draw the line for pre-made graphics? I myself have paid for icons or have used Photoshop/Fireworks patterns/brushes.
Regardless, I respect anyone that turns an idea into a working business model and I'm genuinely intrigued in the Designmoo/365psd journey.
I'm also intrigued on the impact of hitting the Apple Appstore main page. Zootool released an iPhone app recently and Apple staff picked it as a 'New and Noteworthy' app. Alfred App is in the top 100 free apps for Mac. So definitely want to ask about scaling/demand.
If you have any insightful questions that you'd like answered then please post below or email me (hello inspiredbeta.com). This is a great opportunity to delve into the creative minds of those behind successful apps.
Best, Mark <comment><AUTHOR> Can't add links to questions it seems but can to comments. Links mentioned above are:

<http://inspiredbeta.com/> <http://zootool.com/> <http://alfredapp.com/> <http://designmoo.com/> <http://designerscouch.org/></comment>


OpenSolaris' Fielding leaves developer community, slams Sun - <AUTHOR> http://www.thestandard.com/news/2008/02/20/web-pioneer-quits-opensolaris-project

<comment><USER2> I have recently tried the two OpenSolaris Indiana previews and for comparison Solaris 10 to see what Solaris is like. The Indiana project is a step in the right direction. But it seems to me that the complete lack of open development is a major problem of OpenSolaris. The individual Sun developers try hard to make Solaris more open, but Sun as a whole still wants control and keeps making unilateral decisions.

Then there are the old school Solaris admins that resist all substantial change of their favorite OS, even when it could bring in more users. Together with disgruntled community members because of Sun's actions the vibe of the community is not positive. I feel sorry for the Sun developers because they want to succeed and are technically very competent.

</comment><comment><USER3> Roy comments:

<http://roy.gbiv.com/untangled/2008/watching-the-ripples>

</comment><comment><USER4> [http://mail.opensolaris.org/pipermail/ogb- discuss/2008-Febru...](http://mail.opensolaris.org/pipermail/ogb- discuss/2008-February/004490.html)

"Ok, best of luck with your future endeavors!"

Sounds like Sun won't miss him.</comment>


I made an NES emulator – What I learned about the original Nintendo - <AUTHOR> https://medium.com/@fogleman/i-made-an-nes-emulator-here-s-what-i-learned-about-the-original-nintendo-2e078c9b28fe <comment><USER2> If you're into this kind of thing, just dig in and give it a shot! Old systems are surprisingly understandable after a few hours' research and fooling around.

There's a community that looks for unused content that remains in games. The main wiki for this community is <[http://tcrf.net/](http://tcrf.net/) >, which contains a fascinating amount of material. If you don't see your favorite old game on there, why not dissect it and try to find some unused stuff?

I did this for a favorite old game of mine called M.C. Kids. I reverse- engineered the game's level and graphics data formats and managed to create a level dumper for the game. Then, I did the same for a leaked prototype version of the game. I took the dumped images and made a page on TCRF comparing them:

[http://tcrf.net/Proto:M.C._Kids](http://tcrf.net/Proto:M.C._Kids)

It took a few months on afternoons and weekends. It was very challenging, but I never felt overwhelmed by the details. There's really only so much you can do with three registers and little more than adding and branching instructions. If you're curious to see what a reverse-engineered level dumper looks like, the code is available at <[https://gitlab.com/mcmapper/mcmapper/blob/master/main.c](https://gitlab.com/mcmapper/mcmapper/blob/master/main.c) >.

<comment><USER3> >Old systems are surprisingly understandable after a few hours' research and fooling around.

This is why I say old computers never die - their owners do! Old systems have lots of technology to engage the hacker mind.

By the way, my favourite emulator is Oriculator, which emulates the Oric-1/Atmos/Telestrat/Pravetz 8-bit machines that never had much of a chance in the 80's .. just look at this beautiful code, for example, of how to emulate a 6502:

[https://code.google.com/p/oriculator/source/browse/trunk/650...](https://code.google.com/p/oriculator/source/browse/trunk/6502.c)

With the revival of emulation of these systems, we're even getting new software written for them - in the modern era, titles are being released for these old machines that we would _never_ have though possible in the 80's. Just look at this beautiful collection for the Oric-1 - all made in the 21st Century - for example:

[http://space1999.defence-force.org/](http://space1999.defence-force.org/)

[http://stormlord.defence-force.org/](http://stormlord.defence-force.org/)

[http://1337.defence-force.org/](http://1337.defence-force.org/)

[http://im.defence-force.org/](http://im.defence-force.org/)

[http://skooldaze.defence-force.org/](http://skooldaze.defence-force.org/)

[http://oricium.defence-force.org/](http://oricium.defence-force.org/)

Featuring Gameplay and Graphics that we would _never_ have thought possible in the 80's!

[http://www.oric.org/software/pulsoids-1515.html](http://www.oric.org/software/pulsoids-1515.html)

Check out this collection from Twilighte, who before his untimely departure was a real master of this platform in the 21st century:

[http://www.oric.org/index.php?page=software&fille=softwarese...](http://www.oric.org/index.php?page=software&fille=softwaresearch)

So much fun to be had on these old machines!

<comment><USER4> I wonder why it's possible to get "better" programs for old hardware now.

Is it because the field of CS has advanced further, which means that we can apply modern ideas and algorithms?

Or is it because we can cheat and have a toolchain running on vastly superior hardware, which enables us to use it in ways that would have been too time- consuming to develop back in the day?

<comment><USER5> I don't think fancy algorithms and data structures are common or particularly useful in retrocomputing. I think it's primarily because programs were written back then under strict time and financial constraints, whereas now retroprograms and homebrew are written as hobbies, with the lack of deadlines and abundance of passion that entails.

<comment><USER3> I don't know about that - I've been following the Oric scene for a while and my perception is that there are indeed old programmers returning to the systems of their youth with renewed vigour, but also a better understanding for how to organize their project - and sources - in a way that makes more sense. 30 years of optimizing code does tend to turn you into a better developer, and when you return - for no reason other than the pure joy of it - to these old systems, often things are done in unique ways. Twilighte found a new video mode for the Oric-1 which inspired him to write games that were a bit more modern in their sense of quality and playability - I think the machines that came after the Oric inspired him quite a bit.

It also helps that the toolchains are far superior to what we used to have .. I never would have thought, in my youth, that I'd be writing C code for the Oric-1, but indeed the OSDK has a C compiler that makes the effort of packing code into 48k a lot more fun than it used to be!

But in the end, you don't write software for these old machines unless you have a lot of passion, and that's what counts, I think. There is a lot of passion for the Oric-1 these days, that is for sure .. at least in the small scene that keeps the machines alive.

<comment><USER5> You're right, decades of experience are also very important (though there are youngsters starting on platforms like the NES or TI graphing calculators doing cool stuff as well).

I'm not sure I agree about toolchains, though. The 6502 is not a very good target for C compilation, pretty much any assembly programmer can code circles around what cc65 produces. So, no offense to you or anyone else that writes C for 8-bit machines, but I don't think any of the new games and programs that really "push the limits" of these machines are written in C. So that leaves modern cross assemblers, which are indeed much more capable than common target/native assemblers of the olden days, but don't exactly afford a quantum leap of productivity either.

Then again, modern emulators are a godsend for debugging.

<comment><USER3> >>Then again, modern emulators are a godsend for debugging.

Hell yeah they are. I think thats also a key factor for why development on the old machines is experiencing a revival.

</comment></comment></comment></comment></comment></comment></comment><comment><USER6> Watching the sprites in vram while the game runs is really neat, and shows a bit about how the game is put together. For instance in Kirby's Adventure, (IIRC)Kirby's walking sprites take up about half the available RAM, and they get swapped out for the flying sprites when he jumps.

Compare this to some of the early non bank switched games where the all sprites fit entirely in memory, with some creative tweaks (bushes are recolored clouds, etc).

It's a bit myopic of Nintendo that on-cartridge mappers had to be necessary, but on the other hand, it's early 80's consumer hardware; it was probably state of the art in the late 70's ... which makes it hilarious that Wario's Woods was released in 1994.

<comment><USER7> I wouldn't call it "myopic," if anything it was forward-thinking...the cost of memory in the early 80s was high enough that including more than the 2 KB of built-in RAM might have made the Famicom/NES way too expensive. They designed the machine with internals that could be extended with extra memory and additional chips inside the _cartridges_ , so that over the ~15-year lifespan of the NES as technology advanced and the cost of memory dropped, the cartridges enabled ever more powerful, impressive games, but stayed about the same price ($40 iirc) the whole time.

<comment><USER8> And in those days, any amount of additional RAM had huge impacts on games (then sales).

</comment></comment></comment><comment><USER9> The source code is really clean and easily comprehensible. I really liked how you handled cpu frequency with console stepping on gl updates.

</comment><comment><USER10> Related to this is Lizard, a Kickstarter project that got funded last year, where one person is writing a new game for the NES. He's posted some development blogs as updates to the project, and it's fascinating reading about the design considerations he's taken:

[https://www.kickstarter.com/projects/1101008925/lizard/updat...](https://www.kickstarter.com/projects/1101008925/lizard/updates)

(Of note, this is the same one who made MOON8 - a cover project for Pink Floyd's Dark Side of the Moon for the NES [0] - and more recently, getting the "2A03 Puritans" album, a NES chiptune collaboration album, onto a rom and cartridge [1].)

[0] [http://rainwarrior.ca/music/moon8.html](http://rainwarrior.ca/music/moon8.html)

[1] [http://rainwarrior.ca/projects/nes/2a03puritans.html](http://rainwarrior.ca/projects/nes/2a03puritans.html)

\---

I've personally only messed with the NES from an audio perspective, having spent a lot of time a few years back in FamiTracker [2] to write music for it. I always found it interesting that the Famicom had the ability for cartridges to include their own audio hardware in addition to the mapper, battery-RAM, etc. Like the mappers, the vast majority of these games that included expansion audio chips kept to a small-ish set of chips. Chiptune (especially Famicom chiptune, due to the time I spent tinkering with it) is a fascination of mine, so I could point out some samples for the various expansion audio chips if anyone would like.

[2] [http://famitracker.com/](http://famitracker.com/)

</comment><comment><USER11> This same person has made a simplistic clone of MineCraft in C.

[http://www.michaelfogleman.com/craft/](http://www.michaelfogleman.com/craft/)

</comment><comment><USER12> Great! It's an interesting experiment, eh?

A couple of other students and I did this same thing, but in Python, for the final project in our Python class. The result was excruciatingly slow. It still has some bugs, and we haven't touched it in almost a year, but we all learned a lot along the way. If you're interested in taking a look, or providing some feedback, the repo is here: [https://github.com/billymeter/pynes](https://github.com/billymeter/pynes)

<comment><USER13> wow ! this one is cool ! From looking at the Repo - I see that you have used pygame in your project. So , how did it help in implementing the Emulator ?

</comment></comment><comment><USER14> Congratulations for this nice project. I wonder, how to write such an emulator? My initial idea would be to write an interpreter for the processor instruction set with a big array representing the RAM. Then some callback functions are registered via openGL. They are called when there are some inputs (eg. joystick). When this happens, they put something in the simulated memory (some mapped area for I/O or specific registers) and set up some interrupt flags. Does it make sense? then how to simulate accurately the processor (and coprocessors ?) frequency? any other difficulties I haven't seen?

<comment><USER15> I believe you're thinking along the right lines. If you're really curious to learn more, check out this series which I have enjoyed reading:

[http://imrannazar.com/GameBoy-Emulation-in- JavaScript](http://imrannazar.com/GameBoy-Emulation-in-JavaScript)

</comment></comment><comment><USER16> I would like to learn how to do that. For curiosity, why did you use Go? Is it a matter of speed or libraries? Would you get the same result if you used Python?

</comment><comment><USER17> Cool. I've always wanted to make an emulator and this article makes it seem less intimidating than it would.

</comment><comment><USER18> Check out the source code...it's surprisingly good!</comment>


On interview coding - <AUTHOR> http://benscofield.com/on-interview-coding-questions/

<comment><USER2> Interesting.

I'm involved with a company, and the way it goes is that you create a profile on their website and upload a resumé. They call you back for an interview to do an internship. They give you those IQ tests, correct them on the spot and talk to you.

If they like you, they call you back and you're flown for a month. Then people you interact with fill in a review which is sent to the recruiter. But the recruiter flies in by surprise and asks _everyone_ about you. Very little sleep and you have to prepare presentations on some piece of technology you've never heard of (quick learning, assimilation, synthesis) while you work closely with engineers on different jobs (i.e: You can't work on your presentations during the day) and you only have one day off (well, half a day off).

Then there's a debriefing few weeks after the month. Then they call back those they liked for a second session which lasts 11 hours in which they exhaust you with team work stuff and all. And when you're tired, you're called in an office and you're told you have 5 minutes to assemble a mechanical device with pieces all over and a technical drawing.

Then you're asked questions, etc..

Anyway.. The point is that when some company will spend a lot of money on you (training, compensation, accommodation, etc..) the vetting process ought to be a bit more than that..

And if they're not happy with array.reverse, then you _really_ don't want to be working with that company.</comment>


The TeX Pestilence (Why TeX/LaTeX Sucks) - <AUTHOR> http://xahlee.info/cmaci/notation/TeX_pestilence.html <comment><USER2> I have no comment one way or the other on whether or not Tex/LaTex should be considered a "pestilence". But I will point out, for anybody not following the issue, that MathML[1] support on the web should be fairly ubiquitous soon. Why? Because Chromium is, barring some highly unforseen circumstance, getting MathML support. Igalia has been developing the code, and the upstreaming process is already underway[2].

Given that Firefox and Safari already support MathML, and assuming that neither Chrome nor Edge go out of their way to intentionally disable/break it once it is fully landed in Chromium, then we should soon be in a world where the 4 most popular browsers all have MathML baked in.

Of course there are MathML detractors who will argue against the notion that this is a Good Thing™, but speaking for myself, I look forward to the widespread availability of native in-browser MathML support.

[1]: [https://mathml-refresh.github.io/](https://mathml-refresh.github.io/)

[2]: [https://mathml.igalia.com/news/2019/10/31/mathml-in- chromium...](https://mathml.igalia.com/news/2019/10/31/mathml-in-chromium- upstream-process-started/)

</comment><comment><USER3> It reminds me of the time I took a 1 credit class in TeX and John Shipman marked me off a point because I wrote a self-modifying macro.</comment>


Handbrewing Coffee - <AUTHOR> https://quanttype.net/posts/2019-03-06-handbrewing-coffee.html <comment><USER2> If anyone interested, I already research from best milk steamer to STOVETOP MILK FROTHER for home espresso / coffee. Given below details for that article. [http://milkfrother.org/stovetop-milk- frother/](http://milkfrother.org/stovetop-milk-frother/)

</comment><comment><USER3> For anyone interested I did a fair bit of research into how I could step into the passable home espresso / coffee game as I WFH a lot.

Given that :

\- I make at most 3 coffees a day, usually 1.

\- I prefer espresso

I found the traditional options lacking. I'd need:

\- a machine costing about £600

\- a solid quality grinder.

\- machine needs 20 minutes warmup minimum before you can pour a consistent shot (or you need to leave it on).

Instead I thought I'd go a different way and build an all manual espresso setup, using getting past the largest price tag using one of these :

[https://www.flairespresso.com/](https://www.flairespresso.com/). Takes some getting used to but I've been very satisfied with the quality. You NEED to pair it with a high quality grinder to get solid results (I'm using [https://coffeehit.co.uk/products/lido-e-travel-hand- grinder](https://coffeehit.co.uk/products/lido-e-travel-hand-grinder)).

Downside is I can't steam milk unless I break out my stovetop milk steamer thing ( [https://prima-coffee.com/equipment/bellman/50ss](https://prima- coffee.com/equipment/bellman/50ss) ) but that's fine as I prefer black coffee, the steamer gets more use by partner for her hot chocolates.

My setup : [https://i.imgur.com/6M9AT4O.jpg](https://i.imgur.com/6M9AT4O.jpg)

<comment><USER4> I'm just a rookie at making espresso but I would argue my <$100 DeLonghi espresso maker paired with either fresh ground coffee from a local store or illy Coffee from online is at least on par with most chain coffee shops.

I can't stomach drip coffee but have really enjoyed a nice espresso with steam/foamed milk.

The biggest lessons I've learned are don't over pack it, don't under pack it, stop when it turns blond, give it time to warm up & let it run for a bit to get the old water out.

\- Edit - I would love to hear tips on what else I can do to up my espresso game though for a reasonable price.

<comment><USER5> Same here; I bought a used DeLonghi (10€!) and it's on par with a random espresso from a coffeeshop. It also doesn't take anything close to 20m to warm up, though I suppose that may be easier in Europe vs the US.

<comment><USER6> Machines will take a short time to get to proper brew temp, but the rest of the machine takes longer (the group head is most important)

Ideally you want everything the coffee touches to be at the proper temp - included th portafilter and cups.

<comment><USER4> I think it takes 2-3 minutes to warm up. It's ready before I have my espresso packed. I know the instructions say to run the water a bit before brewing to clean the pipes of any colder water.

Great point on cup temp! That makes a huge difference if you want your coffee to stay warm.

</comment></comment></comment></comment></comment><comment><USER7> In one of the companies I worked for we had this really nice semi-automatic espresso machine. The type where you have to unscrew the handle, put the grounds in. I loved making coffee in it! A little break from coding, some manual task to do. Make the coffee, steam the milk, clean up. It was a nice little break.

Then some part broke and instead of fixing it the company bought the fully automatic machine. It was downright terrible (and crazy expensive!). The coffee tasted terrible and more importantly the ritual of making it was gone :(

<comment><USER8> I've had a Jura at three jobs now and they've all been consistently mediocre. Its espresso is super watery and feels like there's some missing flavor. I strongly prefer my Aeropress for both flavor and the ritual of using it.

</comment></comment><comment><USER9> I got ruined for regular coffee when I found a local shop that roasts its beans _sorted by size_. So it doesn't taste scorched. Apparently most commercial coffee makers roast them in arbitrary batches, which means by the time the big ones are roasted the small ones are burned.

I know there's a lot more that can be done with roasting. But that one small change means you can have strong coffee without having burned coffee. Its at the point I can walk past a coffee shop and say "Yuck they don't sort their beans" just by the smell.

<comment><USER10> It's really funny to me to just how much junk information there is in the coffee world and just how strongly people believe it. Even here on hackernews it seems. This is the exact sort of 'fact' that sounds good, and makes you feel like you know what you're talking about.

I'm a roaster. All coffee is sorted by size, or at least all quality coffee. It's necessary, not only for an even roast, but it's also an inherent part of green coffee processing. You have to screen and sort the beans to dry them.

The reason grocery coffee is bad is simple. They roast it until the oils come out and then the oils go rancid because it has been sitting on the shelf for the last 6 months getting to you. Even if it hasn't gone rancid (way more common than you'd guess), it's still stale and overroasted. Americans expect coffee to be dark, bitter, and cheap... And so that's what they get. But what you said isn't true. Even the crappiest bulk market roaster/reseller roasts by size and the blends after. They literally don't have a choice.

To be fair, a lot of the junk info comes from roasters keen on delineating themselves in any way in a saturated market. Taking words that are true for everyone and making them seem unique to your business is a sales tactic ad old as time.

[https://espressocoffeeguide.com/gourmet-coffee/arabian- and-a...](https://espressocoffeeguide.com/gourmet-coffee/arabian-and-african- coffees/kenya-coffee/kenya-coffee-grading/)

<comment><USER11> Hello! Coffee enthusiast here. I'd like to follow-up on this statement:

> They roast it until the oils come out and then the oils go rancid because it > has been sitting on the shelf for the last 6 months getting to you.

Are you saying that it's _bad_ if my coffee beans are glistening with oil? I usually took that to be an indicator of freshness. Or do you mean that if they're no longer glistening that the bag is probably stale?

FWIW, most of what I buy (except for the Costco bag that I take to work) has a roasting date on the back so that I can guarantee a certain degree of freshness.

<comment><USER12> Light to medium roasts won't extract oils to the surface and IMO have a much nicer flavor, especially when using good beans.

To me a dark roast Ethiopian tastes the same as a dark roast Costa Rican. They taste very different with a lighter roast. You lose the bean's uniqueness when you go darker which is one of the reasons cheap coffee tends to be dark.

<comment><USER13> I feel like I am the only one but I find that "uniqueness" \- sour/fruity taste disgusting and can't stand the lighter roasts.

I prefer a dark roast with heavy cream :)

<comment><USER14> You're not alone. There are dozens of us!

</comment></comment></comment></comment></comment></comment><comment><USER15> Funny that my entire life that's been the only way I would drink coffee. My parents would make it that way and I was doing it that way when I started drinking coffee. I guess that the fact that electric coffee makers were not popular nor cheap at the time contributed to this habit.

Besides, you can tell me what you want but I think the coffee from an electric coffee maker tastes worse than hand brewing. Perhaps I've only used cheap coffee makers, but I'm yet to find one that can make a drinkable coffee. Exceptions are espresso makers;the ones I tried made really good coffee (including the one I currently have at home).

</comment><comment><USER16> French press for me. I buy my beans weekly from a local roaster and grind them at purchase.

I _think_ I get mot of the upside of 100% fresh ground and pour-over with a bit less work. And I start cooking breakfast while the water boils, so no time lost.

At work, it's generic machine coffee. It doesn't taste great, but it keeps me going.

<comment><USER17> French press also extracts and preserves all the oils present in coffee beans, whereas drip/chemex filters them out.

As a sidenote, french press is also great for brewing tea, but keep your coffee and tea presses separated.

<comment><USER18> You frame the difference in oils as a bad thing, but it's simply personal preference (I much prefer paper filtered coffee).

<comment><USER17> Only because parent mentioned preferring that, in other posts in this thread people mentioned preferring the opposite.

</comment></comment></comment></comment><comment><USER19> I have several different manual brewers in my collection: an aeropress, a french press, a couple of different sized coffee siphons, and a few different sized mokapots.

This is paired with a decent quality electric grinder.

For day to day, just making a coffee for myself, I find the aeropress is the best. Makes a good coffee, is quick, and the clean-up afterwards is the absolute easiest. Use with metal filter, not paper, and either the inverted brewing technique or a prismo to avoid leakage while brewing.

Mokapots are also pretty good overall, especially if making several coffees. The process is not particularly tweakable though if you are wanting to fine tune. Like the aeropress, clean-up afterward is pretty easy.

The siphons are great when you want to feel like a mad scientist. It is time consuming but fun to watch. Once the novelty wears off go back to the aeropress for your day to day brew. I've eschewed the cloth filter for either paper or metal.

French press, to me, is okay but doesn't have much by way of advantages over the above methods. Clean-up afterwards is a chore, uses the most water (if you pre-heat) and takes about as long as any other way.

Each brings something a little different to the final result.

</comment><comment><USER20> I just cold brew my coffee. Amazon has a good reusable filter that drops in to a large mason jar. I make 3-4 jars a week (You literally just add ground coffee, water, and wait 24 hours). Even mediocre beans taste pretty good as cold brew.

<comment><USER21> could you link to the filter and note your process? I'd be very interested in making my own cold brew!

<comment><USER8> I'm not the guy you responded to, but I really love my cold brew maker: [https://www.amazon.com/Hario-Mizudashi-Cold- Coffee-1000ml/dp...](https://www.amazon.com/Hario-Mizudashi-Cold- Coffee-1000ml/dp/B00IJ3PAIM/)

It's super easy to clean, makes a week's worth (at least for me), lets you serve directly from it, and I think it looks really good.

Whatever you do, make sure you use coarse-ground beans. They extract so much more flavor than medium or fine, in my experience.

</comment></comment></comment><comment><USER22> OP misses a CRITICAL intermediate step in the handbrewing process:

SMELLING the freshly ground coffee beans before brewing.

Shameful.

<comment><USER18> My three year old comes running when he hears the grinder running, just so he can smell the ground coffee.

<comment><USER23> My sister loved to do that when we were young. But then one day she sneezed in them. Watch out.

</comment></comment></comment><comment><USER24> I like variety. My go to is an Aeropress. But maybe once a week or so I'll make Turkish style coffee, or use a Chemex or drip cone. (I wouldn't buy a Chemex - it's not really any different from a drip cone, uses special filters, and takes up more space than a cone, but it was a gift.) And in the summer I like to have cold brew around.

<comment><USER25> I'll contradict you in good humor on the Chemex if only to say that it's just a very nice multi-cup drip option. The heavy filters seem to slow down brewing a bit but I've always gotten really tasty, strong coffee out of my Chemex, and it's a very lovely object and surprisingly easy to keep clean. But you're right that it's not significantly different and takes up more space.

<comment><USER24> I have the three cup classic so it's not even a very good multi-cup option! Oh well. I otherwise agree.

</comment></comment></comment><comment><USER26> I understand this guy. Five years ago, I calmly could drink americano in a terrible coffee shop. Now I can not imagine my day without aeropress or chemex. My favorite grains are from Kenya and Congo, because sourness is felt in them. If you really love coffee, then you will like the hand-brew.

<comment><USER27> It sounds like you lost a neutral or even positive while gaining a negative here: lost is the ability to drink a common beverage without feeling bad about being uncultured, gained is a dependency on commercial brands - Aeropress and Chemex - and related niche products - in this case African coffee - as well as a related ritual - 'hand-brewing coffee'.

In both cases you satisfied your thirst for caffeine, the difference is that the lost method allowed you to do this more or less anywhere and at more or less any price which the new method makes this more hard to come by and carries a much higher price.

To put all that in two words: _carpe diem_

In a few more words: enjoy your fanciful coffee but try not to create too much ritual around it as that only builds walls where no walls need to be.

<comment><USER9> Hey that describes pretty much any food preference? We should all learn to live with terrible cooking too?

On that note, I had two total lunch fails last week. Food delivered to the table, that I couldn't eat. Is it the phase of the moon? The political climate? The cold weather?

<comment><USER28> It's possible, I think, to appreciate and enjoy (and spend time on) good cooking - or coffee - without the kind of (IMO unhealthy) dependency suggested by "I can not imagine my day without aeropress or chemex".

Perhaps that was just hyperbole by Griceraae50100. I hope so.

<comment><USER9> Of course it was. But also, comfortable middle-class folk get used to lots of comfortable things and can't imagine living without them. Like cars and roads and a warm house and a good grocery store. Unless those things change drastically then wanting and getting good coffee is way, way down on the list of 'unhealthy dependency'.

<comment><USER29> Much of what we do in the west could fall into the category of unhealthy dependency. I drink 4-6 double espressos daily, plus about 16oz of green tea. I vape. I code. I sort out issues on servers, for which without the caffeine and nicotine would suffer :).

This is life in the west. Being comfortable is no sin. Getting used to "better" is likewise not a bad thing. It's bad if/when you use your "status/wealth/etc" to impugn or degrade others. I feel like I've earned my place in life, as has my wife. We live in a normal house, drive so-so daily drivers (car status means nothing to me), and wear clothes from the outlet stores.

I do, however, not skimp on coffee, tea, meat, or leather boots. These I will gladly spend money on.

Like a lot of guys, I enjoy a fine cigar and a cold expensive lager on the back porch while cooking steaks. All washed down with a healthy measure of espresso and green tea.

</comment></comment></comment></comment></comment></comment><comment><USER30> We got a Moccamaster 3-ish years ago, and honestly I haven't been that happy with the coffee it makes. But we also don't have a grinder, so we are using preground beans. But those same beans when run through a Chemex pourover taste dramatically different. Even though the Moccamaster is meant to mimic the pour over brew.

I have switched to the Chemex, partly because as this article says I am liking the process. Partly because it tends to taste better. The Moccamaster does seem more consistent, it's just, to my taste, more consistently bad. Sometimes my Chemex is as bad, sometimes it is great... At home I have an Oxo BaristaBrain, and that is more consistently good, for some reason. But I also grind beans there with a pretty high end grinder (Virtuoso by ...?).

In the end, I have come to enjoy the break in the day that the brew gives me. I don't tend to take breaks otherwise, and I should, but that is a good opportunity.

<comment><USER31> Are you diligent with cleaning / rinsing the moccamaster? Makes a huge difference in my experience. And you need to keep it much cleaner than most people do. That's another benefit of pour-over - I've never had any issues re:cleaning a simple v60 setup.

</comment></comment><comment><USER32> > The drip cone maintenance is easy, too. Washing the cone after each use > takes only a couple of seconds.

This line really resonated with me. I think there's a general principle at play: simple systems take more effort to use but require less maintenance. It's at the core of the original vi versus emacs divide (although vim with vimscript and its plugin ecosystem has muddied the waters.) Vi's power comes from its simplicity: a limited but highly effective feature set. Emacs users on the other hand often end up spending a significant amount of time maintaining their emacs configuration, which makes their actual text editing tasks go much faster.

In this analogy emacs is the automatic coffee maker, and vi is the drip-cone. At the risk of complicating the analogy, emacs may in fact be able to brew coffee.

</comment><comment> m-i-l Personally not a big fan of filter coffee. I have an Aeropress and know lots of people rave about it, but it isn't for me. I was hoping this article would be about a hand (or battery) pumped portable espresso device, e.g. Handpresso, which I don't have although have thought about (primarily as a way around the electrical safety compliance restrictions at my current workplace). BTW, I don't mind the awful free coffee from the machine at work (because it's free), and don't mind periodically paying a small fortune for a good one from one of the few coffeeshops that actually consistently make good ones - I just hate paying a small fortune for a rubbish one, and would prefer to make my own low cost good ones.

<comment><USER33> Try using a fine mesh metal screen with the aeropress. I find it is better than a filter.

<comment><USER34> To add onto this, Fellow makes an attachment (the Prismo) that builds up pressure giving you a more espresso-style cup. It comes with a metal filter, too.

<comment><USER33> Interesting device! I found that the hole punch metal filter didn't give me the same great taste that a mesh did. Obviously, very personal preference though. Maybe it works better with a Prismo.

</comment></comment></comment></comment><comment><USER35> I'm a coffee ritual person as well, though I think you can get a similar experience using a machine.

With that being said, my coffee maker device of choice is a Peruvian coffee pot (for lack of a better name, essentially this: [http://cuzcoeats.com/perus- great-way-of-making-coffee-esenci...](http://cuzcoeats.com/perus-great-way-of- making-coffee-esencia-de-cafe/)). It creates a dark rich full body concentrate that hits the nail on the head for me. With that being said, I'm not a big fan of the subtle flavours of coffee that you might get in a high quality pour over with a lightly roasted coffee.

</comment><comment><USER36> My favorite hand brew method is "4:6 method" Invented by Tetsu Kasuya_ World Brewers Cup 2016 Champion ([https://www.youtube.com/watch?v=wmCW8xSWGZY](https://www.youtube.com/watch?v=wmCW8xSWGZY)). He uses 20g of beans to 300ml of water and with this method, one can adjust the sweetness and strengtt. Previously, I always got random results, sometimes getting great coffee, while at other times, getting too much acidity or bitterness.

</comment><comment><USER29> I don't care for the ritual aspects of it. My purpose is caffeine, yet I do want my coffee to be good. I agree with some others who posit that African coffee is some great stuff. It is. I use a French press, as I don't want to "filter" my coffee too much. If I cannot see the oil in the coffee, I will not drink it. I like my coffee very strong (taste and caffeine), very black, and in bean form before self grinding. The Ethiopian and Kenyan varieties are some great coffees.

</comment><comment><USER37> Since others are listing their process, I'll document mine. I rarely drink any coffee, but I try to make a morning cup for my wife when I can. In return, she often makes me hot chocolate, which I prefer.

About once a year, we buy 20-30 lbs of green beans from [http://sweetmarias.com](http://sweetmarias.com) at about $6/lb. Her preference is mostly for dry-process East Africans, but we also buy pounds of varieties from elsewhere that have words like "fruity" and "berry" in their descriptions.

About once a week, we roast an 8 oz batch or two in a Behmor Roaster (left over from a failed business venture). Roasts depend on the variety, but usually we try to stop somewhere between first and second crack. Depending on bean size and origin, this means 14:00 to 15:30 at P1A.

Then each morning, a portion gets ground in a Baratza Encore (at about setting 12), and put in a stainless steel filter cone (Bonzercraft from Amazon). Two cups of water is heated in a kettle on the stove. I add enough hot water to "bloom" the grounds when the kettle first starts to whistle (about 160F), then heat the rest of the water to about 195-200F. Then I start adding water to the filter, where it drips through at about 180F.

Over the course of a minute, I add the remaining water as the filter continues to drip into the cup. Meanwhile, I froth ~1/2 cup of cold whole milk in a Breville milk frother (set to about 140F). A minute or two later, the frother finishes at about the same time the remaining water drips through. Then I leave the milk and black coffee separate for her to combine when she comes down.

</comment><comment><USER38> I tried different drip coffee makers, French press, and percolator over the course of years. The Bialetti Moka Express is perfect for me. However, everything depends on the grind, roast, and quality of the beans. After using medium and light roast coffee beans for five years, I am back with dark roast. I prefer Indonesian beans and a grind slightly coarser than espresso.

<comment><USER39> My concern with the bialetti was the aluminum material and possible side effects. I do like the iconic design, but went with a more modern Moka pot made of stainless steel.

<comment><USER38> I had the same concern. My understanding is that finished aluminum doesn't give off the aluminum powder that causes brain damage. The Bialetti's aluminum parts are supposed to be finished.

</comment></comment></comment><comment><USER40> The Moccamaster is ubiquitous in Denmark. When I moved here from the UK (where the average household gets their coffee from a jar of Nescafe) it was a curious sight.

We picked up our Moccamaster second hand for 300 DKK (about 45 USD). This thing is absolutely solid and to my palette makes great daily coffee non-stop without complaint.

</comment><comment><USER41> I still find using my Keurrig time consuming. Pouring the milk, putting in the sweetener, waiting for it to heat up.

I do use a manual coffee maker a few times a year. So much "extra" goes into making coffee that I find the time savings of a Keurrig over pouring water into a funnel isn't very much.

</comment><comment><USER42> Has anyone here managed to quit coffee completely after being really into it? I have 1-2 a day, can't imagine starting starting a day without it, but despite really loving the taste I would rather not feel the need to have it.

<comment><USER43> 1-2 _cups_ a day? I don't see that building an addiction (I hope at least, or I'm going to have a hard time)

<comment><USER44> It depends a lot on people, but two cups is enough to develop an addiction to caffeine, yes.

It's very easy to get addicted, and since the withdrawal symptoms are not that obvious (it's basically just not feeling good, some slight headache, etc) it is common not to be aware of it at all.

</comment></comment></comment><comment><USER45> We're using percolators and fresh ground coffee at home. One large Argentinean clone and a "3 cup" Bialetti. I fill up the Bialetti with coffee for a good punch but the large one (don't know it's capacity actually) only half full maybe for a milder coffee.

Still I'm going for a Chemex to be able to drink something more subtile. Tried Moccamaster but it's still regular coffee to me. A good one though. My dad has a Jura that I really like for such a quick machine but perhaps not what I would like to drink daily.

Going to experiment a bit more with beans as well in the coming months. Just to have a bit more of variety.

</comment><comment><USER46> Let's not make this some sort of big deal. It's not. "Handbrewing" coffee makes this sound like a studied method--I guess it is--but there is little to think about once you know how. It's no different than using any electric coffee maker. Just slightly more manual in that you need to boil the water in something and buy whole beans and grind them in a grinder. Most of that time is just wait time, not thinking or doing anything else. No big deal.

For years, I roasted my own beans. Now that would be something to talk about. Not this.

<comment><USER47> But that's not really what the post is about. It's about having an excuse to free your brain for 4 minutes. The fact that it's not a big deal to brew it is precisely the point. It's automatic, so your brain can wander.

</comment></comment><comment><USER48> > My standard recipe is 15 grams of coffee to 250 grams of water.

Hmm I use 18 g of coffee for 340 g of water. It's what my grinder dispenses, and I use 12 oz of water. 13% more water per gram. Is that wrong?

<comment><USER24> Wrong? Not if you like the result.

Coffee is a combination of many factors: bean, roast, grind, freshness, water temperature, brewing time, brewing style, and amount of extraction. There's some guidelines of course, but ultimately you're trying to get a coffee that tastes good to you.

My uncle likes his coffee much more watery than I do, but I think he uses not enough coffee and over extracts it. So when I'm making the coffee I make it the strength I like, pour his cup about 2/3rd then top his up with hot water.

Edit to add: According to Harold McGee, balanced flavor is an extraction of around 20% of the coffee solids producing a cup that's 1.3% - 5.5% bean solids by weight (so you can see already a big range, drip is at the low end, espresso at the high end). Ideal brewing temperature of 190-200°F (but this is higher than Aeropress recommends). Brewing time of 1-3 minutes for a fine grind and 6-8 minutes (!) for a coarse grind. For American coffee, he recommends a coffee:water ratio of 1:15 for American, 1:5 for espresso. Also, per my anecdote about my uncle: "It's always better to use too much coffee rather than too little: a strong but balanced cup can be diluted with hot water and remain balanced, but a weak cup can't be improved." (My summary from "On Food and Cooking" which has about 5 pages on coffee alone.)

</comment></comment><comment><USER49> I use a pour-over Chemex and manual bean grinder at home. I enjoy the process, but I really don't drink coffee that often, maybe once a week on a lazy sunday morning. I would definitely need a side by side taste test if I was to tell any subtle difference in fresh ground pour over vs pre ground in a normal drip coffee maker or a Keurig.

If I was a daily drinker, I doubt I could resist the temptation to get something convenient like a Keurig, despite all of that plastic waste it generates with the K Cups.

</comment><comment><USER50> We have fairly non-terrible coffee at our office available almost always on demand. Yet still there are a non-trivial number of us who opt to brew single cups either with Aeropress, or cone pour over.

The author nails it. Often it's more about the ritual of taking a few minutes to do something that isn't work. The fact you get a nice cup of coffee is a bonus. Others in our office do the same thing by walking out the front door and over to the indie coffee place literally around the corner.

<comment><USER29> We have one of those Dutch de Jong Duke coffee machines in our office. Thing makes great coffee, and as a consequence, I drink more than I would were I elsewhere. Thing makes lattes, cappuccinos, double/triple shots. The "executive" staff bought it, but we're all free to use it. It must cost them a fair amount of coin to run it, as it's always in use. Tastes better than Starbucks, but not as good as making your own with a French Press. You can see the oil in the coffee, so it must be only minimally filtering out just the grounds. I use it because it's there, and I'm one of those who, after drinking copious amounts of coffee daily for decades, develops headaches from lack of caffeine during the day.

</comment></comment><comment><USER51> I've thought for quite some time about ritual. I've been learning to make lattes for the last month or so, and I'm really enjoying it. For me at least, there's a mindfulness to focusing completely on the task at hand. No thinking about other problems, no worrying about email, and most of the time I turn off the music I'm listening to. And after all of that, I have a tangible result.

I enjoy ritual though. Maybe I just need more mindfulness in my life.

</comment><comment><USER52> I guess it depends on why are you drinking coffee. I can see the ritual side if coffee is like one of the things that you do every day as a routine... But for many of us coffee is more like a tool to help ourselves wake up, do stuff, take a break from work, etc. This way people are more likely to use easy-way because is no ritual it's just one of the daily self-given tasks.

</comment><comment><USER53> Love this. Nibbles around the edges of an issue that should be more central to creative professionals: how to attend to the subconscious.

</comment><comment><USER54> I've used the same french press for 25 years, granted it's a nice one. I throw the grounds in the compost, seems easy and quick. I'm not the one drinking the coffee, though, my wife is so I can't say if it's as tasty as other options.

Pour-over seems almost as easy but you have to remember to stock filters.

</comment><comment><USER55> Got tired of buying coffee makers that always burned out. A drip cone is the easiest to clean, never breaks.

<comment><USER56> I am a big fan of the steel "drip-o-lator"-style coffee brewers. They are a predecessor of electric coffee makers. It is similar to a pour-over, but you can just dump the hot water in and walk away. Unfortunately, they are no longer in production, but I have purchased several from eBay. One day I would like to design and build my own version with vacuum-insulated walls.

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

Their layered construction can be described, from top to bottom, as follows:

1\. A chamber for hot water. The top is open and has a lid. The bottom of the chamber has a number of very small holes, so that water will slowly drip through the bottom of the chamber.

2\. A holder for coffee grounds. There are larger holes in this layer, so that water passes relatively quickly through the grounds during brewing.

3\. A chamber to catch the brewed coffee.

<comment><USER9> Sounds like the Vietnamese single-serving coffee apparatus! Fun to use too.

<comment><USER57> I like these:

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

</comment></comment></comment></comment><comment><USER58> You end up with around 1$ a cup after tax. And damn good coffee after you do around 50 pours. The time you save is priceless. What you learn is priceless if you are into perfecting a craft

—

-A good grinder(Commendennte)

-12oz coffee

-Hario Filters

-Hario V60

-Goose neck cattle

-A scale that does single decimals(.1) accuracy

-A thermal bottle to hold the coffee.

—

Grind it to 2xsugar sized grinds.

15g coffee to 220-270g of water right off boil is fine for most coffees.

</comment><comment><USER59> "My standard recipe is 15 grams of coffee to 250 grams of water.", I go with 30 for 300. I tinkered with those quantity a few times to settle on this one. It's one of the reasons I like pour over, over batch. Sadly pour over gives me bad reflux.

</comment><comment><USER60> I keep a Melitta cone and Bodum kettle at my desk in my office at work. I can work and make coffee at the same time. I grind my coffee at home before I leave in the morning. Beats having to buy coffee somewhere or depend on whatever shite is in the hallway.

</comment><comment><USER61> I've been hand brewing for nearly a decade. I use an Aeropress when I'm in a hurry, and a Kalita Wave or a Chemex when I'm not. The brewing method is only one variable. Freshness of beans and the quality of the grind are another.

<comment><USER62> Speed tends to be a factor people mention a lot with Aeropress, but I guess I'm not as busy as most people, because I rarely find myself in a situation where that difference of 2 minutes is a make or break thing. Once I factor in time for boiling water, it's like 5 minutes vs 7 for Aeropress vs a drip cone.

</comment></comment><comment><USER63> > while waiting for the way-too-slow kettle to boil the water

How is it Americans _still_ don't use electric water kettles? Everyone else on the planet that has electricity has one. It's faster, more convenient, kinda- sorta safer. And you can find ones with digital temperature control on Amazon for like $25.

[https://www.amazon.com/s?k=goose+neck+electric+water+kettle+...](https://www.amazon.com/s?k=goose+neck+electric+water+kettle+temperature+control&ref=nb_sb_noss)

Look at these things, there's hundreds of 'em. I picked the cheapest one and it works great. I can set the temperature to exactly 205F and the gooseneck works for pourover, or I can bring the temp down to 170 for green tea. (If you make big batches of tea, a non-gooseneck pours much faster)

<comment><USER64> Mains voltage is typically 120V here, instead of 240, so it takes a while to boil water with an electric kettle.

<comment><USER63> Uh, you don't need 240V at all. With 120VAC an electric kettle takes _half the time of a traditional kettle_ to boil water. It also shuts off automatically, so no annoying whistling.

[1] [https://slate.com/human-interest/2005/11/forget-your- stove-t...](https://slate.com/human-interest/2005/11/forget-your-stove-top- kettle-go-electric.html)

</comment></comment></comment><comment><USER65> It's not that hard. Get a nice French press. At home we use one that that is large and steal. Get a good burr grinder. Get an electric kettle. Buy some decent whole beans where you know how long it has been since they where roasted. Boil the water, grind the coffee. Put coffee in press. Pour water over. Stir the mixture for ~20 seconds. Put the lid on the press but do not press it down. Wait 2-5 minutes (up to your taste, beans). Press coffee. Drink. Clean the grinder, etc. It only takes a few minutes of real time doing something each morning. So worth it.

Also if you like milk in your coffee switch to heavy whipping cream. You will use less and it taste richer. Shake up the cream a bit before putting in mug.

<comment><USER66> or spring for some good non-homogenized whole milk, way too pricy to drink instead of normal milk but super cheap when you just use it for coffee!

</comment></comment><comment><USER67> I buy pre-ground beans from the store (usually what's on sale), chuck them in Mr. Coffee, and have a wonderfully enjoyable carafe of coffee everyday.

<comment><USER68> I used to buy my own beans, grind them, and brew my coffee in a French press. However, my SO doesn't want to wait 30 minutes for a fresh cup of coffee, so we switched back to grounds this year and the difference is really not all that noticeable.

<comment><USER69> I prefer ground, but grocery store bought beans is fine. But that difference from pre-ground is very noticeable, to me.

I also don't care if my MP3's are 128kbit vs 320kbit.

<comment><USER6> And if you enjoy it (coffee and the mp3's) Excellent!!

Just don't try telling me _I_ don't taste or hear a difference. :)

</comment></comment></comment></comment><comment> sys-error moka pot, up to 70.00 for 12 cup. kruve filters, up to 70.00 (optional) espresso size grind, any bean will do.

me? i prefer pourover with medium to coarse grind, my wife likes the moka pot, and my kid likes drip. i use a kruve with sizes 1100 and 400 filters, grind handground to size 6 twice, and get all three size grinds at the same time.

</comment><comment><USER70> I make coffee in a Tias Kettle with coffee ground just as the water comes to a boil. It's the ritual of the whole thing.

</comment><comment><USER71> Any suggestions for a _quiet_ bean grinder that won't disrupt a small office with its noise?

<comment><USER72> Hand grinders are pretty quiet, but less convenient.

Low end: [https://www.hario.jp/seihin/productgroup.php?group=MSCS-2TB](https://www.hario.jp/seihin/productgroup.php?group=MSCS-2TB)

High end: [https://prima-coffee.com/equipment/orphan- espresso/lido-3](https://prima-coffee.com/equipment/orphan-espresso/lido-3)

</comment></comment><comment><USER73> An added benefit is that you don't make as much coffee as you would with a machine.

<comment><USER74> It depends on the machine - I'm picking you don't mean espressos?

</comment></comment><comment><USER75> Peet's Major Dickason's Blend®. Enough said.

</comment><comment><USER76> Degustibus non est ... and all but I will never understand the American preference for drip coffee. I say that as someone who drank press or drip exclusively until I lived overseas for several years and my Americano became an espresso at the cafe and my press coffee became Moka Pot stovetop at home. I've been back for 11 years and I still grind my teeth when the only option is drip.

Whatever floats your boat, I guess. Still, reading comment threads about the supposed differences between various drip techniques is always funny. Chemex? We used a plastic funnel thing that looked exactly the same in the 80s. The difference was Yuban (or whatever) instead of the far nicer quality beans on offer now.

But seriously, the Italians figured coffee out years ago. These discussions are like a bunch of people arguing over which fast food chain makes the best burger.</comment>


Ask HN: What's a cool internal tool you've built for your company? - <AUTHOR> <comment><USER2> We just needed something to keep track of how long it took us to do a job so I built a simple tool to keep track of time, update time, make notes, log entries, and even add teams so you can see what everyone is working on. Feel free to use it and report any bugs.

It was excited and my team were the ones who developed and designed it. I just made it work. But I don't really maintain it much anymore. My team stopped using it a while ago and while there was some discussion to build in new features... I just didn't see a need as they were using it less.

I mainly use it for my own projects when I work for clients to keep track of my time commitment. It can be used as a time invoice. So you hit the start button and it logs your time in and you leave yourself a note.

It might be outdated and not work on some browsers, but it still works for me on Google Chrome. A few of my friends sometimes use it to to keep track of time. But when I was developing it, I never build anything specifically branded to something, so I created it as a generic time tracker, and anyone can use it.

[https://edithours.com](https://edithours.com)

<comment><AUTHOR> That's pretty cool, I've tried to do this manually just for personal productivity.

What type of industry/role were you in that you had to keep such diligent track of what people were working on? For freelancing/agency work that makes a lot of sense!

<comment><USER2> Custom graphics and web design projects. Just had to start the timer, keep track of what we were doing, and submit the final time. With teams, it all adds up, and you can see everyone's time it took on a project and you can all add to the same time record.

<comment><AUTHOR> Did it ever feel "big brothery" for your team that was on it? Or did it not matter b/c you were being paid hourly

<comment><USER2> I am salary so it didn't really matter but I reminded myself to only work on that project at work. I did "pick out" a general design template that wasn't too fancy, not too boring, but just needed it to look professional enough as a functional tool.

Everyone had their say in design, colors, etc. They had a say in functionality and things like that. The concept was simple: keep track of time. Then it was my team who suggested: "since we all work on the same projects sometimes, can all of our time count towards the same project and can we see how much time everyone spent on it individually and still know the total time it took?" Definitely.

It's probably got some bugs and could stand to use an update, but I've got too much going on right now. They had a few feature requests themselves, but seeing as we got more back into streamlining jobs at work and less custom jobs, they stopped using it, and I didn't do anything more with it. But as a freelancer and a contractor for different companies and working on some projects with multiple people around the world, allowing them to add to my time entries too allows me to see the workload, what is being done, how much time it takes, etc.

I started it because my boss had been seeking to understand what everyone did besides their main skillset. So she assigned everyone a personal project based on what we told and showed her we could do. She did this so that she could understand how she might use a specific team member for a specific task that was "outside their job description yet part of it." (You all know how that goes.)

While my day job is mostly web design, my night job is web development and technical writing. We streamline our work which takes generally 1-2 hours processing time with a 4 hour total turnaround time, but for some jobs, we were getting "custom requests" or "custom work" from clients, which means they'd want more from the product.

With some CSS or Javascript, nearly everything is possible, but it does take time to do, but most clients might see it as: "Thanks for adding the tab toggle that allows us to scroll through social media without ever going below the fold." That isn't something that just happens in seconds nor is it "point and click". There is actual design and development that need to happen and things that need to connect and tests that need to be done.

Client reality vs. client expectation in terms of what they pay vs. the amount of work they think we did is far from reality, and you may have spent 5 hours on it, but they think you may have spent 5 minutes doing it which is common.

Unfortunately, from the time it was taking to do some research and write the code, get it to work and look good, and actually have a client say, "That's exactly what I wanted and here's the money for the job. I'm definitely happy I helped make your life easier and we were exactly on the same page the first time."

 _crickets_

Anyone? Bueller? Yeah.. the first time a client sees a project, it is expected they won't like it or want to make changes, and so, when it comes to custom work, it's very hard to "get it right" or adjust for all screen sizes or whatever the case may be. When do the requests stop? We pride ourselves on not hardly ever saying, "We can't" or "No". It happens, but we try not to. More importantly, if the requests continue, can we charge for those additional hours outside of the norm?

Hours upon hours and time and money and "doing things just so the client can see how it looks" costs businesses MILLIONS to BILLIONS of dollars every year in lost time or productivity. So our clients pay for an allotment of 5 hours of web design time. After that... well, they can opt to pay more. However, we had gotten so used to streamlining everything and had been doing it for years that when requests were coming in, we were just doing them, and not billing any of those clients for those hours.

And the thing is... you can ask any designer or employee of yours how long something took, and they will definitely give you a rough idea. How long does it take you to do that thing? 15 minutes. 30 minutes. 1 hour. And sure, we can charge the clients that, but we weren't all sure on the amount of time it was taking us, especially if multiple people are working on the same project.

There are tools that do exist to record your time and things like that, but we just weren't using one, and my company was already losing money, so they weren't going to exactly go out and buy any new software, so I volunteered my services. I've been at my job for almost a decade now so brownie points and the like do not actually work for me anymore, I help when I can. So instead, it is more like I have to show that I have relevant skills that they do not need to replace me with anyone else, and that I can do anything they throw my way.

</comment></comment></comment></comment></comment><comment><USER3> I've built a tool to perform automated testing of hardware using Robot Framework. Despite the name Robot Framework it actually isn't really targeted at robotics, but it ends up working out well since you can write your own Python interface libraries!

I've used this method to create automated tests for a variety of projects including industrial machinery, robots, and CAN-based vehicle controllers.

</comment><comment><USER4> I manage 30+ employees, which includes at least 20 software engineers. My team and I eventually built an Employee and Project management software that addresses pain points of managing multiple teams and multiple projects. We don't use JIRA/ASANA or other third party HR tools. We are currently refining these tools for other companies to use also, especially this time of COVID-19.

<comment><AUTHOR> Nice, what did you not love about jira/asana that caused you to build your own?

<comment><USER4> First, is about simplicity, ASANA, for example, used to be very easy and straightforward to use, now got more complex than before. JIRA has tons of features, most of it we don't need. We wanted to use a simple tool that focuses on getting things done and enables us to make data-driven decisions.

Second, is we want to have full control over the data and build features custom to our needs.

Third, we don't have to pay per user per month.

</comment></comment></comment><comment><USER5> I was one of two developers on a team of 30 analysts and I would regularly get requests to add employee details (name, manager, director, email) to various spreadsheets. It wasn't difficult but it was a tedious process that took away from far more interesting problems.

Eventually I built a small web app that would allow a user to upload their spreadsheet and have employee details added based on some identifier. It was an enterprise so there was at least three unique ways to match someone. I wrote most of it in one night and spent evenings fixing bugs for a week. While it was very useful, it wasn't "core business" so I didn't get to spend any work time making upgrades.

Eight years later, I still get an occasional email but I no longer have access to the source or server. Definitely a lesson in how long shitty code an live.

</comment><comment><USER6> A remote monitoring library for mobile devices and a collector service, which ingests the data.

The devs can collect metrics and logs on iOS and Android, and send it To the collector service, which will put the data into Prometheus and Elasticsearch.

This helps staying PCI DSS compliant and also ensures the app release cycles are not impacted by third party monitoring libraries, which might not support all iOS/Android versions we need to support.</comment>


Language Learning with Netflix extension - <AUTHOR> https://soranews24.com/2020/01/12/free-language-learning-with-netflix-extension-makes-studying-japanese-almost-too-easy/ <comment><AUTHOR> Hi. Creator here. If someone from Netflix is reading this, we'd like to be in contact (email in profile).

Hell, here's my 15 minutes. I'd be interested in a job with electronics/software/mech engineering (ideally all three) in the US/EU/Australia (I can work in these countries). Some info about me on this post from earlier in the year: [https://news.ycombinator.com/item?id=18809704](https://news.ycombinator.com/item?id=18809704)

<comment><USER2> The other LLN creator here. I am looking for someone to correspond with or hang out with (in Europe), to conduct amateur inquiries into _alternative approaches to AI algorithms_ (and perhaps discussing unusual interests such as _lifespan extension and futurism_ ). email@example.com

</comment></comment><comment><USER3> Related tip if you won't/can't use this extension: Netflix shows normally have many more subtitles available than you get shown (and sometimes audio tracks). The selection you see depends on your interface language and locale.

For example, I can't use Spanish subtitles for one show ([https://i.imgur.com/BBWuuPs.png](https://i.imgur.com/BBWuuPs.png)) until I change my interface language to Spanish ([https://i.imgur.com/bsyYJGR.png](https://i.imgur.com/bsyYJGR.png)).

<comment><USER4> I still can't get my head around how user hostile they made this. I mean, why? I understand showing the most likely languages on top, but why hide content that's available?

I have bilingual kids (Dutch and Danish, living in NL) and the amount of setup we have to do each week to get and keep Danish audio for cartoons on Netflix is pretty nuts.

<comment><USER5> I don't think it is malicious - many people are overwhelmed when presented with more then a few choices, they are catering to that crowd.

<comment><USER6> I swear there's a subset of designers who are just blindly wrecking tons of what we collectively as an industry know about UX. "Overwhelming the user with too many options," or "Can't find the option I want" are both discoverability issues that design needs to take accountability for. Hamstringing your product by removing options because you don't know how to properly set up your discoverability is just insane to me.

</comment></comment></comment></comment><comment><USER7> In practice, the foreign subtitles do not line up with the foreign words as well as the native subtitles line up with the native words. It took me years to figure out why this was.

In a conversation I had with someone who knew the business, the new language subtitles don't line up with the new language audio because the new language subtitles are translated from the original language subtitles, not the new language audio.

Why? This saves a step from someone having to rewatch the final new language dialogue and transcribe the new language as it is exactly spoken. That step can be skipped and the new language subtitles can still be translated from the original language subtitles, although they will be quite off much of the time.

<comment><USER8> For a language learner, shows where they match up are gold!

If anyone is studying Spanish, the animated show Star Wars: The Clone Wars have audio that exactly matches the subtitles (Start Wars: La Guerra de los Clones). Good show with a good mix of action / dialogue that I learned of Spanish a lot while watching.

<comment><AUTHOR> For Netflix shows, take a look here: [http://languagelearningwithnetflix.com/catalogue.html](http://languagelearningwithnetflix.com/catalogue.html)

</comment></comment></comment><comment><USER9> I think having subtitles in your native language can hurt learning because it tends to be easier to just follow the subtitle than actually trying to understand the target language. You can't read both at the same time.

But I agree that Netflix is a great resource for learning a foreign language. I went from zero to being able to understand a normal TV show in the target language in one year, mostly by watching children's videos in YouTube and Netflix. In my opinion, what's more important is (1) the ability to order/group videos by simplicity after filtering it by target language (even children shows vary a lot in difficulty and for learning it's very important to choose the right difficulty for you) and probably (2) the ability to slow down the playback speed like YouTube.

<comment><USER10> I agree. That said, my wife subtitles every movie which normally I don't care about, except the subtitles are -wrong-. I don't know why they do that, it seems rather innocent, but drives me crazy as an English speaker. It's usually something not even so consequential..off the top of my head like replacing 'Time for dinner' with 'Time for supper'. Not an exact example, but it's usually along these lines.

<comment><USER11> It was said in a major Dutch newspaper last year that Netflix seriously underpays/over pressures the translators:

[https://www.nrc.nl/nieuws/2019/06/07/ondertitelaars- voelen-z...](https://www.nrc.nl/nieuws/2019/06/07/ondertitelaars-voelen-zich- uitgeknepen-door-netflix-a3963027)

Basically in "the good old days" translating/subtitling was a serious job for serious money. But it has been turned into almost a "work from home, gig economy Mechanical Turk" thing.

And the quality obviously suffers.

<comment><USER12> I won't even try the shows whose trailers have the problem stated in this thread.

It's blatantly obvious 3 seconds in. Very unprofessional.

</comment></comment></comment></comment><comment><USER13> Watch in a foreign language with foreign audio to increase your listening comprehension in the foreign language.

Only watch in your native language/subtitles if you want to comprehend the plot more.

Source: [https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4927148/](https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4927148/)

<comment><USER14> I've been wanting to learn Chinese, but I'm not sure Chinese subtitles would help that much compared to if I were learning a European language. Maybe if the subtitles were in pinyin, but I don't know if that would even be an option for a lot of media.

<comment><USER15> Watching Chinese TV shows with Chinese subtitles definitely helped me a lot, not only because the subtitles gave me a second chance to get what I missed (which is the same with other languages), but also because I could learn characters for those words I could already recognise in speech.

</comment></comment></comment><comment><USER16> I can see several problems with this.

1\. Japanese subtitles are completely different from what is said in Japanese dub. Subtitles are optimized for readability and use completely different phrasing, or even terms (for example dub says クイーン ("queen"), sub says 女王 ("jo-oh")).

2\. Japanese subtitles and English subtitles are also different, because many lines have to be completely rephrased in order to express them in a (very linguistically distant) language.

3\. The furigana (pronounciation hints) in these screenshots is not correct. "困った" is "komatta" not "koma ta". "妻は" is "tsuma wa" not "tsuma ha". If only they used ichi.moe's engine... (disclosure: I'm the author of ichi.moe).

<comment><USER17> The way the "koma" is placed above 困っ makes me suspect they first tokenize the text, get furigana for each segment (most tokenizers have this built-in) and then derive the romaji without correctly handling the sokuon っ when it appears just before a segmentation boundary. Usually it's represented in the romanization by doubling the following consonant, but of course that doesn't work if there's no following consonant because each token is treated as a separate string. They do get it right for "erikku" where there's no segmentation boundary.

<comment><USER18> If they're having troubles with correct romaji transliteration (and even if not, to be honest), I don't see why they don't just transliterate it in furigana then. The source data of Tokeniser dictionaries such as NAIST JDIC isn't even in romaji, so if they are using a proper tokeniser, then they're actually doing an extra step and throwing away data to transform it into romaji form.

<comment><USER17> The feature is probably targeted at absolute beginners who don't even know kana yet. The screenshot of the settings does show the option to select a different transliteration, but romaji seem to be the default.

</comment></comment></comment></comment><comment><USER19> Also check out the lingq exporter [1] which works with Youtube as well. Does something similar but also allows you to keep an inventory of your current vocabulary on the lingq platform. I'm a huge fan.

[https://chrome.google.com/webstore/detail/lingq- importer/eaa...](https://chrome.google.com/webstore/detail/lingq- importer/eaanhanppiifopiabnfmhjbikjmeeale?hl=en)

<comment><USER20> I looked into Lingq, watched a few short videos on it, and saw an interview with the founder, but I'm still not sure I get it. The site is mainly a text- based vocabulary acquisition tool, right?

<comment><USER19> Yes it is very far from intuitive (as a developer I can tell when uis are designed solely by developers).

The way I think of it is this: you do all of your foreign language reading through the app. Lingq keeps track of which words you have seen: when a new one comes up it's highlighted in blue, when you define the word (mostly automatic) it turns yellow. Once you mark a word as known it is no longer highlighted.

There are SRS features built in, but I ignore them and just add words to anki when I feel like I need to.

If you love reading it's a really great way to get language exposure. Since looking up word definitions only requires a tap or click it enables you to read above your level (like reading with training wheels on). And just seeing a word over and over again in different contexts is a much better way to learn than hammering away at flash cards. The import from netflix/youtube stuff as I mentioned is great as well.

I also upload all of my own material (mostly ebooks) and ignore a lot of stuff they have there.

</comment></comment></comment><comment><USER21> I see this littered all over the comments:

Subtitles are not transcripts. They don't match word for word, mainly due to space and time constraints.

A lot of amateur subtitlers time the subtitle with the time of the spoken word, making them almost unreadable. Long text that pop up for a short time does not help convey meaning.

You want a short text, that anticipates what is being said. The reader of the subtitle is after all watching a movie, and might have their eyes elsewhere - They are not reading karaoke lyrics!

</comment><comment><USER22> I agree with the author's assessment that having the kanji, the furigana, and the English is really helpful for learning.

But I couldn't help but notice that the the software didn't romanize 困った correctly. It was "koma ta" when it really should have been "komatta".

And I wish I didn't have to use Chrome :|

<comment><USER23> Request a Firefox version. It might not be hard to port.

<comment><USER24> Yeah, you can basically automate WebExtensions porting. There used to be a browser extension that did it for you.

</comment></comment></comment><comment><USER25> I've wanted this literally for two decades. Thank you to the creators for finally making it.

</comment><comment><USER26> > When you're starting out learning a language, sometimes you can't quite > catch what people are saying. They're too fast, or they use words/grammar > you're unfamiliar with. Being able to see the subtitles and hear the > dialogue and see the translation all at once is a dream come true.

I've tried this but the subtitles often use different wording than what is spoken (when both are in same language) so it doesn't work out well in practice. Maybe depends on the language.

</comment><comment><USER27> An observation: in netflix, when you choose a foreign lang for the audio track as well as subtitles... they don't match.

By this I mean, let's saying you're watching Orange is the New black... and choose French audio and French subtitles. You would expect the subtitles to be correspond with what you're hearing.... they don't!! Kind of absurd and annoying. This is true across all shows it turns out.

<comment><AUTHOR> You might find this helpful: [http://languagelearningwithnetflix.com/catalogue.html](http://languagelearningwithnetflix.com/catalogue.html)

"Netflix usually has good subtitles for the original language of a title, that match the audio track. Subtitles often don't match the audio for dubbed audio.

The catalogue lists titles by their original language. It allows you to find French films, to study French, and German films to study German etc. By using one of the listed titles, you should have good subtitles that match the audio."

</comment></comment><comment><USER28> My biggest problem with understanding french is being able to comprehend it at speed. I'm much better understanding song lyrics (because they're often sung much slower than speech.)

I just tried this with "A Very Secret Service" and It's immediately easier to understand what is being said. I can see this becoming a very useful tool for me.

</comment><comment><USER29> As a strange coincidence youtube recomended me this [1] just after opening the article:

[1] Alexandra Stepien - Netflix and chilll like a boss: How to learn languages the lazy way - PG 2017 [https://www.youtube.com/watch?v=-5d9JS_fE6E&t=1220s](https://www.youtube.com/watch?v=-5d9JS_fE6E&t=1220s)

</comment><comment><USER30> I asked for this on HN a few weeks back. [https://news.ycombinator.com/item?id=21853163](https://news.ycombinator.com/item?id=21853163)

I really hope it supports Hanyu Pinyin. So excited.

<comment><USER31> It's not really what you asked for, but subtitles that you download from websites like zimuku.com or zimuku.cn have dual language versions: separate English and Chinese flag means the ZIP file contains separate language subs, pirate flag means it has one set of subtitles containing both languages - super useful if your video player doesn't support displaying more than one set or you don't want subs at the top of the screen).

</comment></comment><comment><USER32> I guess this is most useful if you don't live in the country you want to learn the language for. Native English speaker living in Germany here who speaks fluent German, but still lives most of his life in English. Movies are a good way to keep up language practice, but there's no way I'd want to dub "Marriage Story" or whatever in German. There are plenty of German films on Netflix which I can simply watch with CC German subs, if needed. At any rate, it's still a cool idea, particularly if you lived in, say, Spain, but wanted to see German subtitles.

</comment><comment><USER33> Be warned that one of the worst ways to learn a language is through translations. Most translations leave out a bunch of information because between connotation, denotation, and grammatical correctness you can really choose one or two of the above. That's in addition to the fact that most translations are either produced by machines with no understanding of the content or even of the complete grammar of the target/source languages, or mechanical turk style low wage laborers with tight deadlines and questionable knowledge of either languagr.

</comment><comment><USER34> Really cool tool. Honestly the catalogue sort alone on the site was useful for finding which shows on Netflix even have Korean subtitles.

</comment><comment><USER35> Can anyone recommend any movies and/or series for a _complete beginner learning Chinese from duolingo_? I mean, ideally probably aimed at literally early primary school kids... some animated series, or Tom Sawyer -alike, or a drama about a lost puppy is what I brace for... even better if on youtube than Netflix, but the latter is also acceptable...

<comment><USER36> Try "Where are we going? Dad" on YouTube. Also HelloChinese is much better than Duolingo in my opinion.

</comment></comment><comment><USER37> What would be needed to make this off-line capable with supplied media? Just a bunch of well-formatted SRT subtitle files?

Obviously some kind of lookup between languages too, but what i'm asking is : is this just a fancy srt/language api parser?

I want to use this, but I don't use Netflix. It looks very cool.

<comment><USER38> Posted above as well but mpv user script that works offline: [https://github.com/oltodosel/interSubs](https://github.com/oltodosel/interSubs)

</comment></comment><comment><USER39> A: this is fantastic. B: why don't all streaming services simply have a by- language option? It's kind of a guaranteed "long tail" for any audio or audio- video presentation: people who want hear language X language spoken.

<comment><USER40> You can search for a language on Netflix though, e.g., search for "Italian" and it will show several tags next to "Explore titles related to", like "Italian-languae Movies & TV".

</comment></comment><comment><USER41> Somewhat offtopic; I wish extensions would work on mobile browsers... I watch Netflix on iOS or streaming from iOS to chromecast.

I see it is recently somewhat possible to run extensions on Android via a custom Chrome install. Does that work well?

<comment><USER42> You can also use Firefox for Android, which has extensions. Android Preview is much faster, but it doesn't have extension support yet.

</comment></comment><comment><USER43> This is nice, but all I really want is the ability to nicely see both English and German subtitles simultaneously. This is overkill for me and requires me to use chrome. Is anyone aware of a better solution for me?

<comment><USER44> I second the mpv-based solution, as suggested by st1ck. If you prefer vlc, it now (as of the beta 4.0.0)[0] also supports dual/secondary subtitles. Making it work seems a bit fiddly: first you need to turn them on (under Tools > Preferences > Subtitles/OSD > Dual Subtitles (at the very bottom) > Align — change to anything but unset, and possibly also adjust offset). Then, when playing a video, to select them for that video, you need to "Toggle secondary subtitle control" with Ctrl+Shift+V (this means that the normal subtitle control shortcuts like "v", "Alt+v" etc. now apply to the secondary subtitles) and press "v" the right number of times to switch to the subtitles that you want.

(Obviously vlc and mpv will only work for DRM-free videos, e.g. from youtube or a DVD.)

If you were asking specifically about Netflix subtitles, there used to be an open source NflxMultiSubs extension[1] for both Firefox and Chromium, but it was broken by Netflix introducing changes to its video player and discontinued. There is an active, open-source dual-captions[2] extension, but it's for Chrome only. (However, since it's open source adapting it it for Firefox should be straightforward.) Finally, as an alternative approach, you could try a Firefox addon which allows loading arbitrary subtitles in the SRT format to netflix,[3] and which might perhaps allow you to have both netflix's subtitles and your own SRT ones at the same time.

[0] [https://github.com/videolan/vlc/blob/master/NEWS#L30](https://github.com/videolan/vlc/blob/master/NEWS#L30)

[1] [https://github.com/dannvix/NflxMultiSubs/](https://github.com/dannvix/NflxMultiSubs/)

[2] [https://github.com/mikesteele/dual- captions](https://github.com/mikesteele/dual-captions)

[3] [https://addons.mozilla.org/en-US/firefox/addon/netflix- srt-s...](https://addons.mozilla.org/en-US/firefox/addon/netflix-srt-subs/)

<comment><AUTHOR> NflxMultiSubs is still working. I wrote a patch to fix it, and took over maintence on Chrome.

[https://chrome.google.com/webstore/detail/nflxmultisubs- netf...](https://chrome.google.com/webstore/detail/nflxmultisubs-netflix- mul/pjhnilfooknlkdonmjnleaomamfehkli)

<comment><USER44> > NflxMultiSubs is still working. I wrote a patch to fix it, and took over > maintence on Chrome.

That's great! It's a shame that it's (apparently) no longer open source, though obviously given the MIT license you're allowed to stop disclosing the source.

</comment></comment></comment></comment><comment><USER45> Ef yes! Been looking for this, can't wait to try it.

</comment><comment><USER46> There's a similar product for YouTube videos called www.fluentu.com. I used it for French and thought it was great.

</comment><comment><USER47> animelon.com was the first company I know of to do this sort of thing. They went through an accelerator where I was working working.

</comment><comment><USER48> This is just amazing. Thank you!

</comment><comment><USER49> Wow, this is very cool!

</comment><comment><USER50> My girlfriend has dyslexia and subtitles are a problem for her to read quickly. She would love an extension similar to this that "auto-dubs" by having a synthesized voice that reads the subtitle content and overlays this slightly louder than the original audio. Any ideas if something similar exists?</comment>


Reeva Steenkamp's parents admit accepting £6,300 from Oscar Pistorius - <AUTHOR> http://www.dailymail.co.uk/sport/othersports/article-2793730/reeva-steenkamp-s-parents-admit-accepting-6-300-payments-oscar-pistorius-financial-difficulty.html

<comment><USER2> Hmmm, linking to a daily mail article must fit into the category of "feeding the trolls". I'm out.</comment>


Ask HN: PhD or a job for recent 50-something grad - <AUTHOR> Successful entrepreneur, self-taught, currently in an earn-out that will last another 3-4 years. Decided to go back to school and get a Bachelors in CompSci/Data Science from a well-known university and will graduate in May. Took grad level courses and TA'ed which I enjoyed.
Do I continue on for a PhD in Machine Learning (specifically RL) or go back and get a job?
Door #3: do independent research during this period and then decide, but then I wouldn't be part of a face-to-face community which I find very satisfying.
Objectives:
    1) Maintain healthy work/life/exercise balance
    2) Make a significant contribution to this new field.
    3) Set up good runway for the remaining 10-15 years of my career.
Thanks! <comment><USER2> Given your objectives -- assuming no restrictions during your earn-out period. Go find another early-stage company or two that you can help. Industry conferences should prove a target rich environment to find them > [https://tryolabs.com/blog/machine-learning-deep-learning- con...](https://tryolabs.com/blog/machine-learning-deep-learning-conferences/)</comment>


Pornhub uses cryptocurrency to avoid PayPal ban - <AUTHOR> https://decrypt.co/17447/pornhub-uses-cryptocurrency-to-avoid-paypal-ban <comment><USER2> Crypto's killer use case: To allow people to get their rocks off without receiving a bank statement at the end of the month.

</comment><comment><USER3> Once again it is the porn industry bringing new tech to the mainstream.</comment>


Netflix HTTPS performance experiments for large scale content distribution - <AUTHOR> https://lists.w3.org/Archives/Public/www-tag/2015Apr/0027.html <comment><USER2> The first thing that came to mind was @agl's discussion of TLS's overhead with Gmail: [https://www.imperialviolet.org/2010/06/25/overclocking- ssl.h...](https://www.imperialviolet.org/2010/06/25/overclocking-ssl.html)

It's a bit hard for me to reconcile "<1% of the CPU load" (Google) with "up to 50% capacity hit" (Netflix).

<comment><USER3> It's surprising. They say that they are using the hardware AES support in the CPU too. They do mention that they are no longer able to take advantage of sendfile() which was letting the bulk of the data transfer to happen completely in kernel space.

So, in their case, they had already optimized things to such a degree that they were having a lot of throughput and very little CPU usage per byte. In fact, it's possible that on their old system the data streams wouldn't have to be touched a byte at a time, as they could be loaded into main memory via DMA from the disk and once that finished they could be transferred to the network card, again via DMA. Once sendfile() is called, no further context switches are necessary for that request.

Testing with `openssl speed -evp AES128` on an i5-4670K I'm able to get 6.7 gigabits of encryption out of AES-NI. I tried running two concurrent copies and they each got that speed, which tells me that it's per-core. That's easily enough speed to saturate a 10G connection.

It's quite possible that they have much older or slower hardware involved, since when you're building a server like this normally the network or disks are the limiting factor.

<comment><USER4> > Testing with `openssl speed -evp AES128` on an i5-4670K I'm able to get 6.7 > gigabits of encryption out of AES-NI

Bit of a crappy test, though - tight loop over a single 8k buffer (used in- place). It probably executes entirely in L1/L2.

They provide details of the hardware they're using: [https://openconnect.itp.netflix.com/hardware/](https://openconnect.itp.netflix.com/hardware/)

The fanciest in their "IO-optimized" SSD-driven beast is a 2.7GHz 12 core Ivy Bridge. You've got a 20% clock advantage, and Haswell reportedly reduced AES- NI clock latency from 8 to 7 cycles for a ~14% improvement. Doing the math I get 55Gbps for the lot.

That's without doing any packet processing, no waiting on memory accesses, no interrupts, no context switching, just perfect scaling with a tight loop over the same 8k buffer - and they're driving 4 10Gbps NICs. Not much left over.

<comment><USER5> >> It probably executes entirely in L1/L2.

L1!

</comment></comment></comment></comment><comment> Lx1oG-AWb6h_ZG0 I understand the need for HTTPS when browsing Netflix, but is there really any benefit in encrypting the actual media stream?

The file is already encrypted for DRM purposes... if thry want to go beyond that, how about a system where each edge server gets a differently encoded file from the master?

<comment><USER6> Without encrypting the video contents, anyone sniffing the data stream can easily tell what you're watching, when you paused, or skipped, or re-played, etc. They may not be able to steal your money with that data, but it still exposes real, personal information.

(though... I was just thinking about this, and due to the use of variable- bitrate encoding, the varied rate of data transmission over time (even though encrypted) would give each video a fingerprint that an observer could use to determine whatever it is that you're watching, anyway, albeit with greater effort that simply inspecting the unencrypted stream)

<comment> Lx1oG-AWb6h_ZG0 If the DRM key is transferred securely, how can an attacker tell what you're watching without fingerprinting the entire Netflix library? You can't just open up parts of the stream and parse it as a plain video file to my understanding.

I'll give you the rewind scenario, but play/pause events are going to be equally obvious in HTTPS. Besides, what exactly does the attacker learn? That you were watching Netflix during that time? The HTTPS traffic to Netflix will be an equally good indicator of that.

<comment><USER7> Fingerprinting the entire Netflix library - especially if you limit yourself to popular shows - probably isn't that hard. I concur with not really understanding the point, though.

One possibly relevant factor is that shared encryption keys make it harder to authenticate the data: you can't rely on an HMAC, and RSA verifying every frame would be too slow. You can still do it efficiently with a hash tree, but I bet Netflix currently isn't, and TLS allows browsers to enforce verification on behalf of the user. Without verification, you could potentially exploit the browser with malformed audio or video data, or freak the user out by injecting some other video...

</comment></comment></comment></comment><comment><USER8> EME stands for Encrypted Media Extensions [http://www.w3.org/TR/2015/WD- encrypted-media-20150331/](http://www.w3.org/TR/2015/WD-encrypted- media-20150331/)

</comment><comment><USER9> I'm not familiar with AWS, but wouldn't a Cavium based card make this a lot easier for Netflix?

<comment><USER10> They do not use AWS for streaming, just for the control plane.

I was at the talk and they did not mention hardware offload, but there are a lot of problems with having full control.

</comment></comment><comment><USER11> Maybe if they're having rouble with EME + HTTPS they should stop being defective by design and abandon their mistake of using EME.</comment>