How Would the U.S. Defend Against a North Korean Nuclear Attack? - <AUTHOR> https://www.bloomberg.com/graphics/2017-us-defense-against-north-korean-nuclear-attack/ <comment><USER2> I'm not convinced Trump and the US spend a lot of time worrying about how to defend against N.K.

It seems to me Trump would be rather unconcerned if N.K. attacked first as that would then give him the reason he is looking for, the reason to respond in full.

As an outsider it looks a lot like the Richard Nixon's "madman theory".

As an example Trump, call out Kim Jong In's bluff to attack Guam, where he almost dared N.K. to fire anywhere in the region of Guam.

Kim Jong Un seemed to quickly back down on that Guam threat, only because he was not sure Trump would not have declared war immediately and smashed N.K. with a hail storm of US nukes.

I suspect Kim Jong Un is now thinking, I might be mad but that other guy is truly crazy.</comment>


Fast animation with iOS WebKit - <AUTHOR> http://joehewitt.com/2011/10/05/fast-animation-with-ios-webkit

<comment><USER2> This kind of stuff is par for the course when developing for web iOS, sadly.

To get truly good easing functions, you usually have to write your own (the built-in ones in CSS are limited and rarely look good). Scrolling the page disables ALL transform repainting until the scroll has completed, so if you want to do anything fancy during a scroll you have to disable native scrolling and simulate it with scrollability (or something similar). iOS does not handle images well, especially high-res images (or many small images). Nor, sadly, does it handly opacity transforms well.

There are hacks to get around most of these limitations, but if you are, say, in a situation where you want to animate a series of images in a manner that involves opacity, you're going to get a royal headache. Think that's not that common? It happens more often than you'd think, usually in the form of fancy transitions between UI elements.

</comment><comment><USER3> Comparing iScroll with Scrollability on iOS5, the former feel like gliding an object on the regular desk (in my case - iPhone 4), while the latter feels like air hockey on steroids. That is one makes scrolling stop too quickly, while the other makes it a bit too long. Both seem perfectly useable, and while scrollability feels a little bit better, I would never be motivated to develop something like this myself, iScroll feels perfectly adequate.

Perhaps a split-test is in order?

</comment><comment><USER4> I was playing with the new iPhone features page at <http://apple.com/iphone/features> on iPad running iOS 4 and it has several horizontal scrolling bits that seem to work quite well. swap_view.js is probably responsible for the scrolling but I can't quite figure out how it works, perhaps this could be a viable alternate method?

</comment><comment><USER5> This is very impressive on iOS 5. Also impressive is the table view demo at <http://joehewitt.github.com/scrollability/tableview.html> \-- the scrolling feels a bit off (it doesn't accelerate quite right), but this is _way_ better than anything else out there.

</comment><comment><USER6> Joe, why are you so obsessed with making the web look like iOS? Just curious.

<comment><USER7> Have you tried native scrolling in Safari on iOS? It sucks.

<comment><USER6> I have an iPad. When I push up on a webpage it scrolls. Which part sucks?

<comment><AUTHOR> The whole page can scroll (on iOS 4), but not individual parts of the page. That's what he's been trying to address, and that's the hard part.

<comment><USER8> MobileSafari in iOS 5 supports momentum scrolling for scrollable individual parts of the page, here is a blog post about it:

[http://johanbrook.com/browsers/native-momentum-scrolling- ios...](http://johanbrook.com/browsers/native-momentum-scrolling-ios-5/)

fixed positioning is also supported in iOS5.

I am not sure why one would make an iOS5 only script-based scrolling simulation.</comment></comment></comment></comment></comment>


Tell HN: Distributing processing to website visitors with web workers - <AUTHOR> http://github.com/revis/Really-Cloudy

<comment><AUTHOR> I wanted to play with web workers, and with node.js, so last night I hacked up a way to send data to clients to be background processed.

The queue server sends a javascript function and some data to web-worker capable clients to process as a background task.

The queue server is pretty basic but it does do things such as ensure that the result has been confirmed by more than one client.

Anyway, the code is on GitHub in case anyone wants to laugh at the quality :-)

(Incidentally 10% of my visitors are on web worker capable clients now. I don't think many of them would chose to opt in however. It would be more useful in a corporate type environment.)</comment>


The New Grooveshark - <AUTHOR> http://blog.grooveshark.com/post/33776758687/the-new-grooveshark <comment><USER2> I've never used this site before, so I can't comment on how it used to work. This interface is not at all intuitive though.

      - click a play button on a song
        - music starts playing
      - click a different play button
        - nothing happens
      - click pause
        - music stops
      - click a different play button
        - nothing happens
      - click play
        - first song continues playing

Steps to get a second song to actually play after you've got a first one playing:

      - find the word Queue (non-underlined, not a button) in the lower right
      - click it
      - click "clear queue"
      - hit the back button (for some reason, the page has navigated away)
      - click the play button on a song

I can understand how they want it to work, after plenty of frustration just trying to listen to some songs. But they've clearly been spending way too much time with it internally without showing it to real world users.

Expectation: clicking the play button on a song plays the song.

Suggestion: make all this "queueing" stuff be something you opt into, after deciding that you want it and learning how it's supposed to work. Or at the very least add a second play button per song that actually plays the song.

EDIT: I just found the link to see the old interface, and despite the above, this new interface is a million times better. The old interface was an empty box saying "what song do you want to hear?" I have no f'ng clue what song I want to hear. I'm on your site so that you can show me some cool new music that I might want to hear.

Every link on that old interface leads to an empty screen saying basically "go away, you uncultured, non-music-knowing-about person and don't come back until you've researched enough about music to add some songs to your collection." This new look comes across more like "check out all this music. It's all good, so come in and play around". Much better way to greet newcomers to your site.

<comment><USER3> If you're currently listening to a song and you hit play on another song, it should queue up the second song to play when the first finishes. When you started playing the first song, also, the queue should have opened up at the bottom to show a list of the songs, and if you wanted to skip to the second song you could either hit the next button or the play button in the second song in the list.

<http://cl.ly/image/390409163d2D> Song playing is in orange, you can see the play button on the second song when you hover it.

Did the queue not open up for you after hitting play on the first song? Normally it should, unless you've manually closed the queue previously, but if this was your first visit that shouldn't be the case. When the queue is open, it should be pretty visually apparent what clicking the play button did. Also, most places that will add instead of play immediately should have an icon change (play+) <http://cl.ly/image/1R3n1I1S0y0i>

There may be a few places that either are not updating their icon or should be playing immediately but have the wrong classname and are getting caught in the 'play next' process. Bugs happen, I'll make sure it's on the list of things to check.

<comment><USER2> When you click on a playlist, it seems to drop about 20 songs into that queue, completely filling the bottom of the browser window. So clicking another song gives precisely no feedback.

I imagine it's happily dropping an icon off the screen someplace, but there's no evidence of it. Unless you happen to open the aforementioned "queue" box and see that the number has changed.

Incidentally, I notice that the box at the bottom says "drag music here." On Win7/Chrome, attempting to drag a song usually just selects the entire page. I gave up on trying until coming back here and seeing people talking about that ability. I'd recommend getting an onselectstart handler onto that page.

<comment><USER4> Hey Jason thanks for the feedback!

Queue Feedback: You're right that we need some queue adding feedback and we've been trying to find a way to go about it that won't prove to annoying to the user. Next week you should see a small popup above the queue count every time you add :)

Dragging: We're trying to figure out what page you were trying to drag song from. Many of the pages/grids are draggable but we still have a few places left to implement it.

Was it the Community page by chance? We'll be adding the ability to drag from there, hopefully by the end of the month.

<comment><USER2> I was dragging from the homepage. It seemed to happen more often when I was scrolled down a bit, but overall about half my drag attempts dragged whereas the other half selected.

You can reproduce the select effect by simply missing an icon when you start your drag. Now imagine that happening when you were directly over one.

All the best. As I said before, this is a massive improvement on the original. I'll actually use this site.

</comment></comment></comment></comment></comment><comment><USER5> I'm VIP user on GS for 3 years now.

The interface was just downhill ever since they've switched from Flash. And not only that, but this thing hogs entire CPU sometimes.

Android app is pretty sweet, though it didn't received update in quite a while.

Btw, you can be on the edge all the time on <http://preview.grooveshark.com>

Not only that but they've broke the promise that they'll be always free (they're not in a lot of countries) and a promise to keep my VIP subscription cost permamently at what I've subscribed too.

I'm still a whore and use them as my primary source of music though, so I guess I endorse them.

EDIT: No, they've actually kept the original pricing. My mistake.

<comment><USER6> GS dev here, you should be grandfathered at the old price, if that's not the case for you then we goofed! If you contact firstname.lastname@example.com they should be able to get that corrected for you. :)

<comment><USER7> Is html5.grooveshark.com going away any time soon? Ive been using that for a while on my phone and it works pretty good.

<comment><USER6> No way! We just put a ton of blood, sweat and tears into it, and we're not done. :)

</comment></comment></comment></comment><comment><USER8> How grooveshark remains in business blows my mind. They must have super lawyers, and super investors to pay them.

</comment><comment><USER9> How is Grooveshark still in business? Weren't they having a lot of issues with copyright?

<comment><USER10> yes, like youtube and the piratebay. ;)

</comment></comment><comment><USER11> This is a wonderful update. I'll allow that it takes a moment to understand that the playlist along the lower edge should be thought of separately from the navigation it really only takes a moment. And the new front page opening is much more welcoming and I'd say the subtle addition of the (+) on the play symbol is enough of a cue. I never liked seeing the adverts page, so big and open, and found the old left hand navigation cluttered, useless, and to be ignored. But I'm happy to see that everything flows better now and like everything about it.

The artist overview looks much better now that the bio has been added and only a few album covers are showcased followed by a list of the artists most frequented songs. Which is what I want to see. I was always annoyed by the Activity Feed for taking up the space which ought to have been granted to Top Songs. My favorite change is the large Share Song invitation seen after clicking on a song. I'd really like to see Grooveshark replace YouTube for non-video music streaming and linking and I hope making that link so prominent will make it happen.

I do have a couple questions though. As someone who doesn't have an account I didn't see a link to add music and if I wasn't familiar with Grooveshark I wouldn't even know that was an option. Also I was wondering why the Artists Top Songs and Comments aren't switched when viewing a single song. And last, I noticed the radio button has been tucked away nicely. Since it's a switch would you consider leaving the menu up for a half second? That may be an awful idea but switches are meant to be seen and felt so I thought I'd mention it just the same.

edit: Since I was praising the quick sharing might as well: <http://grooveshark.com/s/Do+Ya+Thang/4wvNTg?src=5>

</comment><comment><USER12> Took a look at the code. It's built with Backbone.js!

<comment><USER3> Yup! The previous version used JMVC but it was a poor fit. Backbone does juuuust enough to help you out then gets out of your way. Means you have to write a lot of your own architecture but that's pretty much my favorite thing to do ever (and I hated JMVC) so I gladly did so.

The site is way faster now, despite having more stuff going on, just because half the codebase is no longer trying to hack around the parts of JMVC we didn't need.

<comment><USER13> Hey cowpewter -- I'd love to have you write up your experience for <http://backbonejs.org/#examples> ... email me a paragraph if you're interested.

 _Edit_ : One tip for you as well. I noticed that you're using "#!" in your URL routes. You probably don't want to be doing that these days -- either just plain "#" works, or pushState with hybrid server-side renders if you want to be indexed by search engines.

<comment><USER3> Sure thing, just got some bugs to squash first. And thanks for making such an awesome lightweight framework.

pushState is somewhere on the backburner...

</comment></comment></comment></comment><comment><USER14> I'm a frequent user, and I am really liking this design. Change is always a little difficult to get used to, but I'm finding it snappier.

The "Playlists" screen doesn't seem to be working. I tried visiting it and the spinner's been going for a long time. I only have about 20. I also right clicked a song and clicked 'Add to Playlist' > 'New Playlist' and it said it was created, but when I right clicked another song, the new playlist wasn't available in the list of my playlists. I said 'New Playlist' again and typed in the same thing, and it created it again. I clicked the button to view the new playlist and it only had the one song in it, so it must have overwritten what I'd just created. Dragging songs into the playlist is working fine, but I have no idea if it's getting saved, since I can't view the "My Playlists" page, and it's not showing up in the context menu listing my playlists. Anyways, hope this helps you do some debugging in the area.

</comment><comment><USER15> I actually found the interface smooth and intuitive.

One gotcha, however. Selecting a video to play while a song is already playing produces a broken UX for me - the video appeared in a modal box, but was truncated by the queue and play bars at the bottom of the screen. There was no obvious way to view the whole video since the controls at the bottom were hidden.

</comment><comment><USER16> I went to grooveshark.com and looked at the page for a few seconds. When I went to close the tab, a JavaScript popup asked me if I was sure that I wanted to "navigate away". Why, oh why does Grooveshark think that was useful, necessary, or a good way to treat a user?

<comment><USER17> Looks like it's to catch the case where you've got music playing and inadvertently close the tab. There should probably be a check to make sure you've actually got something playing in your queue.

<comment><USER3> We do that when you have music playing and we also currently do it in the first 30 seconds of loading the page as an awful hack around some completely crappy ads that force redirects that have gotten into our ad networks. It's just in there until we can get the ad problem fixed.

</comment></comment></comment><comment><USER18> I love Grooveshark and this redesign is really nice. It clears out a lot of the menu and features.

But the MyMusic page is really messy... I hope it's a bug because it's barely usable (<http://i.imgur.com/TAzxG.jpg>)

<comment><USER19> This looks to be a zoom bug. We're looking into a fix for this!

</comment></comment><comment><USER20> Never used the site before, I gave it a go. What I wanted to find, I could not find. What I did find, the sound quality was, to me, awful. Maybe its just my taste in music and ears, but for me, still a long way to go.

<comment><USER21> Yes, you need a 90MB FLAC file to hear all those "decibels bro".

[http://www.codinghorror.com/blog/2012/06/concluding-the- grea...](http://www.codinghorror.com/blog/2012/06/concluding-the-great- mp3-bitrate-experiment.html)

[http://www.lifehacker.com.au/2012/04/mp3-or-lossless-see- if-...](http://www.lifehacker.com.au/2012/04/mp3-or-lossless-see-if-you-can- hear-the-difference-with-this-test/)

<comment><USER22> While yes, that is true, it doesn't necessarily apply to this circumstance. The person you replied to might have played a song by an artist that was an inferior copy uploaded by another user.

<comment><USER6> We restrict uploads to a minimum of 128kbps and prefer 192kbps if it's available. It is of course possible for someone to transcode a 64kbps file up to 128 or 192kbps to make us play something that truly sounds awful, but based on my own personal listening that doesn't seem to be the case often, if ever, in practice.

</comment></comment></comment></comment><comment><USER23> Seems like there's a few issues with sections expanding to 100% of the available width within the main centered container. If anything they should just have the centered container expand to the full width of the screen a-la Netflix to make use of maximum screen real estate (not that I condone Netflix's obscene use of use of hover events to scroll sideways).

Screenshot for reference (1440x900): <http://cl.ly/image/1r2906063g20>

A great improvement over the old interface, but still has some room to improve.

</comment><comment><USER24> Looks clean, and seems to be faster as well. Only regret, they are still using flash for audio: would have been nice to use HTML5 like with html5.grooveshark.com.

<comment><USER3> We use it for a lot more than that, actually. Cross-domain request support that works even in browsers that don't do CORS, and a persistent socket connection to our servers that takes care of all the new awesome real-time social stuff (so we don't have to poll). Seeing what your friends are playing in real-time in the sidebar is just the beginning. We have a lot more stuff planned that uses that functionality.

<comment><USER25> I like it a lot more than the old interface, way more speedy. I have two questions. 1) Does linking to last.fm scrobble your tracks? The description doesn't say. And 2) Can I disable the sidebar when logged in? I just used an adblock filter for now but that's a bit inelegant. Thanks!

<comment><USER3> Thanks ^^ We're still working on trying to make it even speedier.

And yes, if you link your Last.fm account we scrobble your listens. If you're listening to something embarrassing or just letting people use your account to add music at a party or something, you can disable scrobbling for the current session (until you refresh the page) by clicking on the Gear in the top right, choosing Settings, Connect, then clicking the "Disable Scrobbling for this session" button.

The sidebar will shrink to a super narrow version if your browser window is narrow enough, but there's not currently a button to toggle it. There was at one point during the redesign though, so it's still a good possibility it will come back if there is user demand for it.

<comment><USER25> That's awesome, I'll link last.fm now then.

I do have a suggestion, which may or may not be a terrible idea. If somebody does a perfect search for an artist, why not go directly to that artists page instead of a search page? If I type "Supertramp", I'm probably not looking for a genre or album by that name.

I suppose it could have adverse effects in corner cases (common sounding artist names like "rock" maybe?), but I bet there's a way to determine with pretty good accuracy if they're trying to do a search or go directly to an artist page.

<comment><USER3> If we find an exact match, we _should_ feature the artist above the song results. Not exactly going straight to the artist's page, but just one click away.

It does seem to work for me for "Supertramp" <http://cl.ly/image/0S253x0J3p2v>

I wrote about half that feature and I made extra sure that something like "rock" should highlight the Rock genre and "kid rock" should highlight the artist and "party rock" should highlight the album.

<comment><USER25> Oh I see, I figured Artists were just listed above songs. I didn't realize it made guesses about your search. Okay, cool, that's neat. I guess you guys opted to show search results in all cases even if you were pretty sure you knew what the person was looking for - which is fair.

</comment></comment></comment></comment></comment></comment></comment><comment><USER26> The only feature I was looking for was "Now with less legal issues". I have used Grooveshark a lot, but songs would keep disappearing due to DMCA take downs. They have a very innovative HTML5 web app and I love their selection, but there is a little too much legal grey ground for me to invest my long term usage in their service.

</comment><comment><USER27> When I visit the site from firefox I receive an SELinux notice. "SELinux is preventing /usr/lib64/xulrunner-2/plugin-container from name_connect access on the tcp_socket" [for port 81]

Also, my firewall is blocking the app from connecting to 184.108.40.206:843

<comment><USER6> Not sure about port 843, but port 81 is for our chat server that allows you to see realtime updates to the sidebar showing what your friends are listening to. We will probably end up moving that over to port 80 so we don't end up triggering blocks like this.

</comment></comment><comment><USER28> I don't notice any difference in the ui but I guess that's because I'm never logged in, if I want to share music I usually just send a new artist to my friends manually. Speed has increased though which is very nice, good work!

</comment><comment><USER29> It seems like there's no ordered sorting. I can't say sort my library by track and then by album to you know... play songs in order unless I select a specific album and sort on that. Not especially straightforward.

<comment><USER19> This is definitely a missing feature/bug - we'll address it as soon as possible.

</comment></comment><comment><USER30> And still not available in Germany anymore thanks to GEMA. I use Spotify now.

<comment><USER31> I think the GEMA should be their smallest problem given the amount of illegal content they keep offering. In my opinion they should have been shut down by now.

<comment><USER30> Grooveshark or Spotify?

</comment></comment></comment><comment><USER32> They should use that OPUS codec soon, and give up Flash completely.

</comment><comment><USER33> I'm really liking the new interface, but damn that's a lot of wasted space. Trying to click through songs is like looking through a pin hole. Why is it all so small?

</comment><comment><USER34> Just played around with it a bit. Looks like a more cluttered version of Soundcloud without as engaging of a social aspect.

Used to use it all the time though.

</comment><comment><USER35> Music recommendation/discovery feature - finally!

</comment><comment><USER36> The interface looks a lot cleaner. Good work.

</comment><comment><USER37> Too bad they can't get their iOS app through the apple approval process. It would be a serious contender to Spotify.

<comment><USER38> I am pretty sure that they can't get the approval from Apple because they cannot prove that they have the rights to publish the content.

<comment><USER37> Indeed, i'm not saying apple is unfair but it's just a pity we don't have a native ios app, despite the legal affairs of grooveshark. There is a cydia version though :)

</comment></comment></comment><comment><USER39> I love it. Grooveshark now has the best digital music browsing experience, IMHO.

</comment><comment> Joe-Z unfortunately it's blocked in germany (due to "unreasonably high cost of operation").

does anyone know if this has something to do with the GEMA (which also won't let us watch so many youtube-videos in germany)?

</comment><comment><USER40> Looks a little bootstrappy.

</comment><comment><USER41> my fav ui is still html5.grooveshark.com tho

<comment> johnx123-up My Android keeps auto stopping after current song... probably, due to screen power saving(?)

<comment><USER6> Yeah unfortunately this is a browser thing. We are actively searching for hacks/workarounds but haven't found anything yet. In fact it's even worse with the Chrome browser, music stops playing the second you lock the screen. :(</comment></comment></comment>


iPhone: If You Get This Text Message, Your Phone Will Likely Turn Off - <AUTHOR> http://www.theblaze.com/stories/2015/05/27/beware-iphone-users-if-you-get-this-text-message-your-phone-will-likely-turn-off-immediately/ <comment><USER2> This is speculation, but I suspect what is happening is that while the notification process doesn't run in kernel space, a text processing library does. The unicode wstring is being sent into that library with the request to "draw this text!" (to ultimately a buffer/bitmap) and when the text processing library attempts to process the unicode string, it chokes on part of it, crashes in kernel space and iOS panics and resets.

This is speculation, but has happened before. The "good news" is that it is likely not usable to install malware or to inject running code into kernel space. The "bad news" is that people can continue to DDoS each other until it is fixed (and maybe via other apps which have notifications, like email, assuming it pushes unicode strings into the notification).

The only interesting question is why this crashes iOS with notifications but NOT with just viewing the text in the Message app? That I'd love someone to dive into (e.g. do they use different libraries to draw text?).

<comment><USER3> It doesn't sound like it's a kernel panic, though; based on the description, it sounds like the issue is with the UI ("Springboard"), which explains why jailbroken devices (which usually have Cydia's "substrate" installed to catch Springboard crashes) are kicked to "safe mode" instead of outright crashing.

The most plausible hypothesis I've heard so far (mixed with my own speculation) is that whatever code handles notifications runs into some sort of resource exhaustion (whether it's a memory overflow or an integer overflow or somesuch), causing Springboard to segfault. Cydia's substrate catches this on jailbroken devices, causing Springboard to enter Safe Mode (which is unaffected by this bug), while non-jailbroken devices - unable to handle Springboard crashing - resort to rebooting.

<comment><USER4> you're right about the springboard bit. as for the crash itself, it's easier for me to just to quote a reddit comment:

"It only works when the message has to be abbreviated with '...'. This is usually on the lock screen and main menu of Messages.app.

The words effective and power can be anything as long as they're on two different lines, which forces the Arabic text farther down the message where some of the letters will be replaced with '...'

The crash happens when the first dot replaces part of one of the Arabic characters (they require more than one byte to store) Normally there are safety checks to make sure half characters aren't stored, but this replacement bypasses those checks for whatever reason."

</comment></comment></comment><comment><USER5> Reminds me of the punters that used to exist for AOL Instant Messenger back in the day. Interesting to see this being an issue in 2015.

[http://en.wikipedia.org/wiki/AOHell#Features_of_AOHell](http://en.wikipedia.org/wiki/AOHell#Features_of_AOHell)

</comment><comment><USER6> Here is the source: [http://redd.it/37enow](http://redd.it/37enow)

TL;DR: This string of characters will crash an iPhone. People have shown this is related to the way notifications are displayed. Therefore, anytime this shows up in a notification, the iPhone will restart. Affects the Apple Watch too. There's more info and speculation in the reddit comments.</comment>


The dirty little secret about standing desks - <AUTHOR> http://blog.henshaw.me/dirty-little-secret-standing-desks/

<comment><AUTHOR> Not sure that this is true for everyone. Shifting from sitting to standing full-time didn't change anything for me.

Even so, this is hilarious.</comment>


Anyone applied to TechStars? How was it like? - <AUTHOR>

<comment><USER2> Yes, I applied.

How was it like?

Rejection!

But I am very curious to hear about how that program turns out and what's the current status of interviews, etc., perhaps from the people who were actually selected.

</comment><comment><AUTHOR> I know they selected the finalists on 4/10. But their blog doesn't mention details.

<http://www.techstars.org/site/page/pg5899-as1290.html></comment>


NIST Digital Library of Mathematical Functions - <AUTHOR> http://dlmf.nist.gov/ <comment><USER2> It's lovely when a website actually uses MathML on browsers that mostly support it (i.e. Firefox and IE with mathplayer).

<rant>

For those not convinced why MathML is preferable to javascript-polyfills:

i) Browser rendering of MathML is much faster than MathJax and even slightly faster than client-side KaTeX.

ii) It supports a wider range of mathematical notation that KaTeX. (This point is partially dubious since MathJax is slightly better than current implementations of MathML, in this regard, though that is a limitation of the implementations, rather than the spec itself, and is a consequence of the fact that almost all of the work has been done by volunteers, not full-time staff, even in the case of Firefox/gecko.)

iii) There isn't an ugly mess of spans within spans in the DOM (mainly aesthetic preference).

iv) One can easily copy the given formula and paste it into another application which supports MathML, such as Mathematica or Thunderbird.

v) It can be easily embedded into svg and webgl, resulting in pretty diagrams or graphs. For example see [http://fred- wang.github.io/MathUI2014/demos/2-mathml-in-svg....](http://fred- wang.github.io/MathUI2014/demos/2-mathml-in-svg.svg) or [http://fred- wang.github.io/MathUI2014/demos/6-mathml-in-webg...](http://fred- wang.github.io/MathUI2014/demos/6-mathml-in-webgl.html) .

vi) Javascript can easily interact with MathML, without worries about order of execution etc.

vii) It's a web standard :p

Obviously, it's great that MathJax and KaTeX exist, but it would be even better if they didn't _have to_.

</rant>

<comment><USER3> I'm confused, I thought MathML is a markup language, and MathJax is a rendering system.

<comment><USER2> Yes, you're right — I wasn't being sufficiently clear. MathJax is indeed a rendering system which takes an input format (TeX, AsciiMath, MathML and possibly others) and converts it into a chosen output format (HTML (with CSS) — effectively a hodge-podge of spans, SVG, or MathML — yes, MathML is both a possible input and output format).

Technologically, it makes sense to directly compare MathJax with native MathML rendering. For example, take a document containing MathML and compare how it renders in Chrome with MathJax enabled (where the MathML has to be converted into HTML, in order to be displayed) and in Firefox with MathJax disabled (so the MathML is directly rendered by the browser) — Firefox will be much faster.

From a social point of view, we can compare our world to one in which most browsers can competently render MathML. In the former, people creating webpages/writing comments on the web, containing maths, will, say, write some markdown with embedded LaTeX, and use a server-side processor which converts the markdown to HTML, leaves the LaTeX alone and includes the MathJax engine, so that the LaTeX can be rendered client-side. (Since they have to include MathJax anyway, they probably won't bother with the extra step of converting the LaTeX to MathML server-side. Hence, even browsers that could render MathML, will still need MathJax for the LaTeX.) In the latter world, the same person, writing the same document, would instead use a server-side processor converting both Markdown into HTML and LaTeX into MathML, and no longer needing to include MathJax. The complexity for the writer/publisher would be the same (or if you were using LateXML or TeX4ht, lower), but the experience of the reader would be much, much better.

<comment><USER3> So what you're saying is that browsers can directly understand and render raw MathML syntax?

<comment><USER2> Yes, if they're Firefox (to a large extent) or Safari (to a small-ish extent); not if they're Chrome or Edge, etc.

</comment></comment></comment></comment></comment><comment><USER4> The NIST DLMF is great, but it has some deficiencies for someone who does serious work with mathematical functions.

It was created with the print edition in mind, and the web edition as a companion, rather than the other way around. Due to this focus, a lot of the content is needlessly terse.

For example, a rather useful chapter on computer algebra methods for special functions (things like holonomic functions and Zeilberger's algorithm) was written for the DLMF, but had to be discarded (in my understanding) due to page constraints on the print edition.

Also, many useful formulas are missing, and very often a case is covered as "for z < 0, combine (13.7.6) with (12.1.2) and (12.1.15)" when actually combining those formulas is half the work and the purpose of a reference is to save me trouble (and avoid potential mistakes)!

Each chapter is also written by a different author, with slight differences in the way things are organized. The good thing is that it is more than just a database of facts, with the content presented in a way that makes mathematical sense, but it can also make it more difficult to simply look up a specific fact.

My biggest gripe is that some sections of the DLMF have a very cavalier attitude when it comes to complex variables and branch cuts. A fair number of "equations" are only correct when the functions are interpreted as multivalued, and the user needs to place branch cuts the correct way. This really sucks if you need to do actual computations.

In quite a few places of the DLMF, no information about complex variables is given at all even though these are important in practice.

I often use the Wolfram Functions site ([http://functions.wolfram.com/](http://functions.wolfram.com/)) as a complement to the DLMF, and the contrast in approach is very interesting.

The WF site is much more of a database, containing lots of more or less automatically generated entries. It is generally much more comprehensive than the DLMF, in that it allows you to look up variations and special cases of a formula in explicit form. On the other hand, it lacks most of the context and explanations provided in the DLMF.

Since the WF site content is organized completely systematically, it is very easy to find a specific formula and to compare analogous entries for different mathematical functions.

On the other hand, the WF content is harder to navigate unless you're already familiar with it. The tables of automatically generated formulas also contain a fair number of "junk" entries that no human would ever find useful.

The WF site is completely explicit about branch cuts (which makes sense since the Mathematica designers care about actual computations).

I have found some errors in the WF site, but they are quite rare. The Wolfram people actually use numerical "unit tests" for the formulas (checking identities numerically for carefully chosen values of the variables in order to verify correct use of branch cuts etc).

One of the Mathematica developers responsible for the WF site was actually present at a DLMF development meeting which took place in connection with a conference at NIST a couple of years ago, and he gave the DLMF editors a bit of a scolding about the branch cut issue, but not much happened. There's a bit of difference in philosophy: viewing a special function as a more abstract thing vs fixing concrete branch cuts.

A third interesting approach to a special functions resource is the Dynamic Dictionary of Mathematical Functions ([http://ddmf.msr- inria.inria.fr/1.9.1/ddmf](http://ddmf.msr-inria.inria.fr/1.9.1/ddmf)) which is even more automated than the WF site.

In the DDMF, a function is defined by a differential or difference equation, and all theorems and formulas are essentially generated algorithmically from first principles! Very neat. But the content that can be generated automatically this way is still quite limited compared to completely human- curated resources.

<comment><USER5> Interesting overview. Thanks for your insight. Thanks for the Wolfram Functions link, too. I was previously unaware of it.

</comment></comment><comment><USER6> This is pretty cool, especially the physical applications sections. And it brought back some memories from various physics classes on the enigmatic questions that lead to the development and understanding for some of these functions. See the Bessel Function, [http://dlmf.nist.gov/10.73](http://dlmf.nist.gov/10.73): "Bessel functions first appear in the investigation of a physical problem in Daniel Bernoulli's analysis of the small oscillations of a uniform heavy flexible chain."

</comment><comment><USER7> Neat. Is there a PDF version?

<comment><USER8> Not directly, but this is very nearly a web version of the Handbook of Mathematical Functions by Abramowitz and Stegun [1]. There is a pdf of this book (at the link).

[1]: [http://people.math.sfu.ca/~cbm/aands/](http://people.math.sfu.ca/~cbm/aands/)

</comment></comment><comment><USER9> zunzun uses this library for equation regression:

[https://github.com/zunzun/pyeq2](https://github.com/zunzun/pyeq2)

</comment><comment><USER10> Looks great! Makes me nostalgic for Abramowitz and Stegun.

<comment><USER11> It's precisely the update of Abramowitz and Stegun.

I believe the book version is this:

[http://www.cambridge.org/catalogue/catalogue.asp?isbn=978052...](http://www.cambridge.org/catalogue/catalogue.asp?isbn=9780521192255)

but they occasionally still find mistakes to fix online.

<comment><USER12> What is it about Abramowicz and Steven that needs updating?

<comment><USER10> fix typos and expand numerical techniques

</comment></comment></comment></comment><comment><USER13> these formula books have been around for a long time. and you can generate your own!

a lot of people here are engineers? I wonder have you guys tried proving some of them?</comment>


How to build a Universal Answer Engine: ten vital principles - <AUTHOR> http://blog.trueknowledge.com/2009/05/how-to-build-a-universal-answer-engine-ten-vital-principles.html <comment><USER2> > It isn't possible to escape domain specific code entirely, however. For > example, code is needed to know that the string "the 23rd of October 2007" > denotes a date and to calculate square roots. However, in our system, such > code is isolated from the core query processing system.

Why can't the algorithms for accomplishing these things be stored as facts (or rather, graphs of facts representing an AST) themselves, within the system? They could be JITed into real function pointers when they were needed, and then GCed (leaving only the AST) when they hadn't been called in a while.

I was trying to do just this in a project a few years ago, but I used LISP- like cons cells to express the AST. They which conflicted with the underlying triples the knowledge graph was expressed in, creating a lot of storage bloat and "facts" that weren't really informational by themselves. Thinking back, if I attempted it again, I would use an AST format very much like Smalltalk's labelled-blocks representation of code.</comment>


Ask HN: vpn or other encrypted proxies? - <AUTHOR>

It has been asked a couple of times, most recent w/ any content about a year ago.  I know I could set up a host on a remote provider and deal with it myself, but I've got enough other things on my plate.
Who do people use for a vpn service?
I'm looking for multiple termination points (US and Europe), suitable with ios and unix based machines. <comment><USER2> Stay away from free VPNs.

Nearly every VPN service in this article is a good choice - [http://torrentfreak.com/vpn-services-that-take-your- anonymit...](http://torrentfreak.com/vpn-services-that-take-your-anonymity- seriously-2013-edition-130302/).

I've personally used Mullvad and PrivateInternetAccess, both of which are on the list and provide good service.

</comment><comment><USER3> [http://www.rayservers.com/vpn](http://www.rayservers.com/vpn)</comment>


I Almost Let My Failed Startup Destroy Me - <AUTHOR> https://medium.com/@rui/i-almost-let-my-startup-failure-destroy-me-d6a65820728 <comment><USER2> This isn't just for startups. People end up burning themselves out as contractors or even in salaried positions in well established companies, in much the same ways. You think it will work out in the end, but usually it really really doesn't.

"Eyes on the prize" is actually the right attitude, but the prizes should be your sanity, health, and friends & family. Unless you are doing something truly earth shattering like you are close to curing cancer, the world is not going to remember your sacrifice for the cause. I'm close to leaving my nicely paid job in full knowledge that I'll take a hefty pay cut doing so, but the money isn't worth the effect the current environment is having on me, I'm almost done waiting for promised changes to happen, and other changes that are happening may even make things worse (in at least the short term). I am more important than my work. You are more important than your work. If you can manage both then carry on, and it is fine to burn a bit short term to deal with unexpected crisis, but if you find yourself having to chose between the two over the medium/long term then don't chose the work.

<comment><AUTHOR> well said, my friend. I didn't have a good balance, and I honestly think it affected my work as well.

I wish you the best of luck leaving your job and chasing something it'll make you happier. Thanks for your input!

</comment></comment><comment><USER3> There's one takeaway - no pun intended - that leaps out from this.

Learn. To. Cook.

I run a small, scrappy company that's been in startup mode multiple times over the last 20 years. Being a good cook might well be the most valuable skill I've used over those years.

It lets you drop to very low personal expenditure very easily - far lower than you could manage on all but the junkiest of ready food - whilst still eating well and keeping your health up.

Thinking about it, would a "How To Cook For Hackers" video / ebook / webseries be of use or interest to HN? With the right instrumentation, absolutely anyone can learn to cook nutritious, tasty, cheap meals.

<comment><USER4> > Thinking about it, would a "How To Cook For Hackers" video / ebook / > webseries be of use or interest to HN?

What's the hacker angle on cooking? In my experience, cooking is much more of a craft than an intellectual exercise, which doesn't make it very 'hackable'.

Personally, I'd recommend start with something like these [1][2] - good, fast, cheap, nutritious food has been focus for many others than hackers, for quite a while.

1: [http://www.jamieoliver.com/recipes/category/books/jamie-s-15...](http://www.jamieoliver.com/recipes/category/books/jamie-s-15-minute- meals/) 2: [http://www.seriouseats.com/recipes/columns/dinner_tonight/](http://www.seriouseats.com/recipes/columns/dinner_tonight/)

<comment><USER5> I always thought the hackable angle on cooking is patterns. A whole lot of stuff that you might cook for everyday eating is, in fact, a pattern and once you know that, you can riff off whatever is in your fridge.

Take soup, for instance. You need a certain amount of liquid, veggies and meat are optional in their type and amounts and you need to apply the correct methods and tools.

I've had a domain and plans to write about this for years but never gotten around to it. Maybe 2015 is the year - even casual interest around here would hitch it up on my priority list.

<comment><USER6> > I always thought the hackable angle on cooking is patterns. A whole lot of > stuff that you might cook for everyday eating is, in fact, a pattern and > once you know that, you can riff off whatever is in your fridge.

This isn't "hacking" (loathe this word when used this way) cooking, you've just learned the basic ratios of recipes.

<comment><USER7> Ah but the hacking is the "messing with ratios" part, not just knowing them.

I slow cooked homemade bbq chicken with a dry rub last weekend. You can play games for your whole life with the ratio of paprika to cayenne. A lot of people are really happy with 1:1:1 ratios of onion garlic chilli but I prefer weaker heat and stronger onion and garlic flavor. Another ratio is brown sugar to salt, I prefer no/low sugar and higher salt, but tastes do vary. I suppose "no sugar" is such extreme hacking, that some might not consider my bbq chicken to be bbq chicken anymore. Oh well.

Another analogy is its like modding a game. (and edited to add, its like design patterns)

<comment><USER6> Maybe it's just because I cook often, but to me this is the foundations of cooking. You're always changing and tweaking what you're making to suit your needs. What a more smokey taste in the chili add some chipotle and smoked paprika. Want to make that rub sweeter add some more brown sugar.

</comment></comment></comment></comment></comment></comment><comment><USER8> Yeah, this hits a little close to home. My own (mis)adventure is pretty well documented[1], so I won't bore anybody with details, except to say: I'm living proof, and very nearly dead proof, of important parts of what Rui says. It's so easy to let your health go by the wayside, pushing yourself harder and harder, and thinking "I'll lose the weight next month" and then "next month" is "in six months" and then it's "next year" and so on.

I very literally almost died, and while there are a lot of factors in having a heart-attack (weight,genetics,stress,nutrition,etc., etc.), there is no question in my mind that three of the big contributing factors for me where A. stress, B. nutrition and C. weight. And sadly all three of those things are things I could / can control, unlike genetics.

Seriously folks, if you're out of shape, if you don't exercise, or if you are the living embodiment of that old joke about "the four food groups for programmers" (salt, sugar, fat and caffeine), please, please stop, wake up, and start taking nutrition seriously.

And don't think "I'm young, I'm only in my 20's, I have nothing to worry about". That's bullshit. You'll be 40 eventually (if you are lucky enough to live that long) and what you're doing with that mindset is letting "20 year old you" fuck over "40 year old you". It takes decades for the bad nutrition, lack of exercise, too much sugar, smoking, etc. to do their damage, so even if you don't see any outward signs now, the damage is being done, and the piper will need to be paid eventually.

[1]: [https://news.ycombinator.com/item?id=8550315](https://news.ycombinator.com/item?id=8550315)

<comment><USER9> > It takes decades for the bad nutrition, lack of exercise, too much sugar, > smoking, etc. to do their damage.

Well what if those decades were your childhood? I've been fat since the day I was born, because I was a child of a lazy welfare queen who thought food equals bag of potato chips a day. I dropped out of high school and went on to sick leave because of severe sleep apnea. (Slept 0-4 hours a night, I had so much fat on my body that it blocked my breathing in certain positions and the weight on my lungs caused them not to work properly.)

My future was already ruined because of malnutrition and the only thing I have left is sitting at home on my computer. I've already disowned my mother, but it won't bring my health back. Just the thought that I have to work on my body the rest of my life and it still won't be presentable just makes me want to kill myself.

<comment><USER2> _> Well what if those decades were your childhood?_

Then you are starting with a _massive_ disadvantage, there is no way to sugar coat it.

But unless you are properly knocking on death's door it is never too late to start improving things. It can be surprising how quickly you can make small change with a little determination, and how quickly small changes add up, and how much each small change can motivate the effort for the next, especially if you can avoid being completely derailed by the occasional set-backs (that _will_ happen).

If your condition is as bad as it sounds then consult a trained medical person if you can rather than relying on tips from the Internet - they may be able to provide you with a plan specific to your needs that will jump start your progress _safely_ (on the Internet you'll find many ways to jump start progress that may be unsafe either generally or specifically for someone in your current condition).

</comment></comment></comment><comment><USER10> I am addicted to Coca-Cola and need the caffeine to stop the headaches, my diet consists of quick easy takeout so I have enough time to work in the evenings and spend time with my 3 month old daughter. I am currently working on a side project that I hope will prove itself worthy of "giving it a shot". Now I'm thinking I need to get my health right before I even consider that...for want of a better saying, it's definitely food for thought.

<comment><USER11> Get your health right first. Your side project will always be there, the time you spend with your daughter will not.

<comment><USER10> Unfortunately being first to market is key (I think). But yes, you're right, she is already changing so much everyday :-)! Either way, I need to find a better balance, is 3 months too young to teach her to code?!

<comment><USER4> > Unfortunately being first to market is key (I think)

No knowing the first thing about your product or market, I'll still go out on a limb and propose that you're most likely wrong. If I had a nickel for every time I thought something was absolutely key, and it turned out to be a wrong assumption - well, I could probably buy a Starbucks latte.

Hey, by all means, work hard, push forward and do awesome stuff and win, I'm all for that - but don't lie to yourself, especially not if it's impacting your health and your family.

<comment><USER10> The market is recruitment (in house and agencies) - and knowing the types of products they still use because it "works for them" and how hard it is to get them to change workflows etc; I believe early adoption will be key. Only time will tell I guess, I'll be sure to do a "Show HN" when I am done!

<comment><USER4> Ok, so I'm confident in declaring your assumption false. This isn't a green- field market where the first credible entrant has a reasonable chance of capturing a large part in one go, it's a mature, slow and conservative market. They are extremely unlikely to read about a new shiny thing on a blog, decide that afternoon to start using it, and in that decision cut out the superior product that launches two months later.

Sure, by the time they've decided to use a new thing, they are unlikely to change again soon, and if, at the time some team is evaluating a new system yours isn't on the market, you wont be considered.

So take a deep breath, stop sweating "first to market" startup tropes, build a good product and start thinking about how you're going to sell into this market instead that's probably a much bigger challenge than building the product in the first place.

<comment><USER12> Having sold a product to the recruitment market for a while I can wholeheartedly confirm this.

There's no first mover advantage here; there's only a "most able to convince people to switch from 90's tech to 00's tech"-advantage.

FWIW We sold video interviewing software and decided to abandon recruitment because the market had low requirements for software quality / innovativeness and high requirements for stability and track records; which was the polar opposite of what we offered.

Additionally; ATS integration was paramount for all large players. ATS providers knew that and charged for it at levels only heavily funded companies could afford.

</comment></comment></comment></comment></comment></comment></comment><comment><USER13> Two thoughts about exercise which keep me motivated:

\- exercise is therapy for my body and mind => clears your head after work, better sleep, helps with anxiety/panic attacks. That's the reason why I simply HAVE to exercise, it's almost free therapy for me.

\- exercise is a good willpower training => more willpower in everything in your life

</comment><comment><USER14> greed and gluttony, the path to hell.

</comment><comment><USER15> Why live in Spain, not USA?

<comment><AUTHOR> Because I don't have a visa for the US. I'm considering going through the process and moving there though.

</comment></comment><comment><USER16> Notes from the trenches:

There's a million and N ways to die, both as a company and an individual, if you let them. Basically, expect failure as a default state, don't (or try not to) take it personally. Don't give up on something that people want (and will pay money for)... you may hit 2 to 5 patches where it's "this sucks, I wanna die" times. Get over it (you can if you really want it bad enough), move ahead. (If not, take a break and recover... Working crazy hours/conditions if it kills you doesn't help anyone.) Even if you have to live in a car or tent, put in the effort to make the best shot possible. It's basically impossible to die of starvation in Amerika at least... More caffeine, exercise and less "ambient eating"... Self-restraint is paramount. Get back in the saddle, get up off the ground, another biz model awaits expermentation... Maybe have some survivor bias eventually, if not start a practical business. It'll all work out, on way or another. Have a good time along the way. :) No one has a perfect formula or perfect advice, just do the best possible and hire people that do whatever it is much better.

(Picking cofounders carefully as one would their SO, because it's effectively marriage.)

<comment><USER12> Playing the game from a weak base and trying to win through tricks (sleeping in a car, caffeine, etc., etc.) is not a good approach. It's like switching from the poker game to the slot-machines so you can try to hit the jackpot with those last nickels.

Having a strong base to build on is much more powerful. Have good health. Good relationships. Good savings. Good income potential. Use that base to build your company on; when the base breaks down rebuild it first and only then resume work on your company.

It's much more powerful in the long term; and especially so after 30 when your body can no longer handle everything that's thrown it at.</comment></comment>


Algorithm to detect the photoshopped Iranian missile launch - <AUTHOR> http://www.jgc.org/blog/2008/07/photoshopped-iranian-missile-launch.html

<comment><USER2> Someone should just insert this code in the feed of news images.

<comment><AUTHOR> If someone would pay me... I'd find the time. The code I released to do that analysis is a simple version. I actually have a better version that's much more accurate and fast:

1\. It eliminates a lot of false positives (such as detecting that the white sky has been copied when it's simply white)

2\. It automates manual tweaking of the parameters.

3\. It's multithreaded.

I guess I should be cold calling Reuters etc. to see who wants to license the fast version.

</comment></comment><comment><USER3> But your code missed the completely copied rocket? Porque?

<comment><USER4> Because the copied rocket actually came from another photo. The original analysis showing it copied from the adjacent rocket was wrong.</comment></comment>


Great developers are raised, not hired - <AUTHOR> http://sizovs.net/2019/04/10/the-best-developers-are-raised-not-hired/?2019-14 <comment><USER2> See [https://news.ycombinator.com/item?id=19642722](https://news.ycombinator.com/item?id=19642722) for a recent discussion of this article

</comment><comment><USER3> >The best developers I hired were far from ideal candidates.

The author seems to be suggesting that there is a negative correlation between a candidate's CV and previous accomplishments and their future accomplishments without offering any evidence. How many of Google's top developers fit in this bucket? Many of the top devs I've met were prodigies—it wasn't a misfit toys story that the author claims. Sorry, it's a nice story and it may be true but this is a pretty bold claim.

<comment><USER4> I see this trope trotted out so often with nothing to back it up that I can't help but wonder if there isn't a hidden agenda behind it:

"The best devs I've ever worked with didn't have a CS degree"

"The best devs I've ever worked with didn't have a degree in anything"

"The best devs I've ever worked with had no prior experience"

"The best devs I've ever worked with were drug addicts I found at the methadone clinic"

"The best devs I've ever worked with were wild bushmen in the jungles of Africa who had never encountered any technology more complex than flint and tinder"

</comment></comment><comment><USER5> Well put and very refreshing to read this. Hope more people speak this language in this industry.

</comment><comment><USER6> "Remember that most women apply to positions only where they 100% fit the requirements."

Errm....citation required please? otherwise I may take offence.</comment>


What is GitOps and why you should know about it - <AUTHOR> https://venturebeat.com/2019/02/02/what-is-gitops-and-why-you-should-know-about-it/ <comment><USER2> Great article, explains why Git can be used as the primary tool for interface between developers and infrastructure.

</comment><comment><USER3> Git is the bridge between development and production.

</comment><comment><USER4> Great article, love the design!</comment>


POSIX IO Must Die - <AUTHOR> http://www.linux-mag.com/id/7711 <comment><USER2> Why is the speed of stat a POSIX issue ? I don't see anything in there that warrants changing the semantics of open() read() write() seek() stat() and close(). I don't see how it is any business of POSIX to mandate meta-data caching.

<comment><USER3> I agree. I don't think it is necessarily POSIX that needs changing. The POSIX interface still works fine, it is only the implementation that needs modification.</comment></comment>


EBay Acquires GSI Commerce For $2.4 Billion  - <AUTHOR> http://techcrunch.com/2011/03/28/ebay-to-acquire-gsi-commerce-for-2-4-billion/

<comment><USER2> This is a huge acquisition for eBay. It will bring them much closer to merchants and retailers. I'm a little surprised they didn't try to hold on to more of Rue La La--I'm assuming because they didn't want to cannibalize their own fashion initiatives, but hopefully they can do something with that minority stake.</comment>


Parallel programming is the focus of increasing interest - <AUTHOR> http://www.economist.com/node/18750706?story_id=18750706

<comment><USER2> When I read an article in the Economist about some topic I know a lot about I tend to finish feeling that they've oversimplified a bit. When I read an article elsewhere in the mainstream media about some topic I know a lot about I tend to finish feeling that the reporter had no idea what they were talking about.

That's why I have a print subscription to the Economist.

<comment><USER3> I only subscribe to one periodical, and it's the Economist. I even get most of my news from there, even if it's a few days old by the time I get to it, because if it's important enough to read about, it won't matter if it's a bit old.

<comment><USER4> I have the same attitude about the Economist and the New Yorker. Indeed, it's amazing how many of the really big stories of the last few years have broken in the New Yorker, a magazine that gives its reporters months to write stories.

</comment></comment></comment><comment><USER5> The Economist: one of the few old-school journalism enterprises not to make its way forward by appealing to the lowest common denominator of the potential audience. They go for a smaller audience but can focus much more tightly on what that audience wants: smart, concise explanations of serious issues.

</comment><comment><USER6> ""We're not going to have faster processors," says Katherine Yelick, a computer scientist at the Lawrence Berkeley National Laboratory in California."

Seems a little premature, I wouldn't rule out some big leap forward in processor technology. Very good article though.

<comment><USER7> What factors do you think might lead to a "big leap forward in processor technology"?

</comment></comment><comment><USER8> And appropriately enough the last article published under the topic 'Programming Languages' was published on Apr 3rd 2003.

</comment><comment><USER9> Why is this so surprising? The Economist, like the New Yorker, is famed for its great journalism that covers very wide areas, much wider than Economics, in the case of the former, or the current events in New York, for the latter.

</comment><comment><USER10> IEEE Software Vol 28 Issue 1 covers Parallelism on the Desktop-

[http://ieeexplore.ieee.org/xpl/tocresult.jsp?isnumber=567250...](http://ieeexplore.ieee.org/xpl/tocresult.jsp?isnumber=5672507)

They even have an article about Intel Threading Building Blocks -

[http://ieeexplore.ieee.org/Xplore/login.jsp?url=http%3A%2F%2...](http://ieeexplore.ieee.org/Xplore/login.jsp?url=http%3A%2F%2Fieeexplore.ieee.org%2Fstamp%2Fstamp.jsp%3Ftp%3D%26arnumber%3D5672517&authDecision=-203)

Threading Building Blocks is open source C++ and can be found here-

<http://threadingbuildingblocks.org>

</comment><comment><USER11> One thing that might help is moving away from event loop based UI interaction, like we see in Windows. One effort in this direction was <http://en.wikipedia.org/wiki/BeOS>.

<comment><USER12> Do you have any info about how BeOS moves away from the event loop?

<comment><USER11> <http://en.wikipedia.org/wiki/Haiku_(operating_system)> seems to have a fair amount of docs on how their API works. Since it is an open source implementation of BeOS it might have some good information. BeOS was made with SMP in mind from word one.

<comment><USER13> I'm having a hard time guessing the details of how a GUI that doesn't have an event loop in it would work, so I think a more detailed answer would be very interesting.

</comment></comment></comment></comment><comment><USER14> It is shocking the absence of any mention of OpenCL in the article.

OpenCL could be used either for task parallel(for serial programs and multiple CPUs) or for data parallel(GPUs), and it works really well.

I bet it has more money behind from Apple, Intel, AMD and NVIDIA that ten times whatever MS has invested. (And those companies are hardware companies and know what they are doing).

</comment><comment><USER15> It's not just new languages, it's new algorithms, most problems aren't trivially parallel.

The problems that are trivially parallel are well suited to be solved by functional/reactive programming via languages like Haskell, Erlang, Scala, F# and Ocaml.

<comment><USER16> "Functional/reactive" has a very specific meaning, unrelated to parallelism.

<comment><USER15> I'm aware of the differences but writing your code in a functional / reactive style makes parallelism much easier.

List.map can be safely parallelized in a functional language where as it cannot in an imperative language. That's what I'm getting at.

In a functional language (lets say haskell) you could switch the implementation of map to a parallel one and the community would probably accept it because there are a few edge cases involving doing something with a monad where it would break but 99% of code would work. If you did the same thing in Java/C/C++/C#/Python/Ruby it would break massive amounts of code.

In theory they have absolutely nothing to do with each other, but in practice they have a lot to do with each other.

<comment><USER17> The edge cases would involve unsafePerformIO - you can't use map with functions in a monad, that's what you have mapM for :)</comment></comment></comment></comment>


Programming Languages Influence Network - <AUTHOR> https://exploringdata.github.io/vis/programming-languages-influence-network/ <comment><USER2> These sorts of charts always fall short because they never explain _how_ they were influenced. If you're not in the know already, this provides little information to you. Prolog influenced Clojure, but how? If I didn't already know about core.logic, I'd be scratching my head about why. And even then, it took me a good minute to rack my brain to think of _some_ possible way they were connected because it's not obvious.

<comment><USER3> I dunno, I found it useful in that my favourite language (Lua) has some interesting connections I wasn't aware of before, such as the influence on Io, which is new to me.

Point is, it was sort of fun to browse around and see just how incestuous our language universe is...

</comment></comment><comment><AUTHOR> This graph is based on influence relation data from the now defunct Freebase, which combined various data sources including Wikipedia. Gephi was used for the graph layout, node sizing and coloring and Sigma.js is used for rendering in the browser.

For the long version, see below article that is linked via the blue info button on top right. [https://exploringdata.github.io/info/programming- languages-i...](https://exploringdata.github.io/info/programming-languages- influence-network/)

</comment><comment><USER4> FYI: "The data on programming languages, their influence relations and the programming paradigms they are classified into comes from the Freebase Programming Language collection, which is largely based on information from Wikipedia. Freebase data is not necessarily correct or complete."

</comment><comment><USER5> If there are no bidirectional influences, it seems like ordering this in a way that treats it as a DAG might be easier to read?

If there are bidirectional influences, uh, maybe use the influences of ones released earlier on ones released later for the sake of the ordering?

Idk.

</comment><comment><USER6> I was expecting this to be a connection between what languages i work / research in and how healthy my professional network is

</comment><comment><USER7> Is the colour scheme also determined by the network? Why are there only two light blue bubbles, on opposite sides of the map? I guess this could also use a better algorithm for embedding.

</comment><comment><USER8> I don't see Rust mentioned anywhere

<comment><USER9> This is the most "Hacker News" comment in the history of Hacker News.</comment></comment>


Understanding Spectre and Meltdown – Part 2 - <AUTHOR> https://miuv.blog/2018/03/20/understanding-spectre-and-meltdown-vulnerability-part-2/ <comment><USER2> The problem with JavaScript doing meltdown is that there is no easy way to flush the cache except by hand, and that is incredibly slow, especially if you need to flush from LL cache too. And you can't easily access a direct memory address. More than likely, the JIT machinery will get in the way. There just isn't an easy way to exploit meltdown in JavaScript lacking the direct memory poking or cache management. Has anybody seen a JavaScript exploit of meltdown? I still haven't, but I also got tired of looking a month ago.

I'm not sure exceptions are only checked on retiring the instructions. I thought they were checked earlier on. They can be checked even earlier since the page table has the access information and can fail very early (this makes the meltdown fix easy from a hardware perspective and could possible free up resources on chip earlier on an interrupted computation).

<comment><USER3> You don't really need a cache flush - you just blow out the caches manually. Which is conveniently straight line code that modern jits are really good at optimizing :)

No the fix for meltdown is to essentially force a tlb flush (as Linux is doing).

Note that only resolves is reading kernel memory, it doesn't resolve Spectre. That basically requires browsers to be super sure about their bounds checking logic.

I don't know what other engines did, but in JSC all indexing operations are now essentially:

If (idx < length) return data[idx & mask]

Where each indexable object stores a length mask that is essentially the next power of two up from the length.

It takes up space on every object (a word for the mask) reuquired removing butterflies and had a significant perf impact :-/

I'm 100% sure @pizlonator will say I have completely bollocksed up this description :)

<comment><AUTHOR> In most of the articles which i read or have have linked in the blog, most of them were about KPTI being the mitigation for the meltdown fix.

Actually now, with context switch to kernel mode, we now have to load the page table entries ( process + kernel ) which will essentially mean flushing of the TLB. But this is a side effect of the mitigation and not the main mitigation.

[https://lwn.net/Articles/741878/](https://lwn.net/Articles/741878/)</comment></comment></comment>


How much does a cable box really cost? The industry would prefer you don't ask - <AUTHOR> http://www.latimes.com/business/lazarus/la-fi-lazarus-spectrum-cable-rate-hike-20181030-story.html <comment><USER2> I have the same reaction every time I read about any cable company, and that's, "WTF are you all still giving them your money for?!"

They have a monopoly on a dying service you literally don't need at all, and most people hate having to deal with them. The pricing and contracts are antagonistic to customers. Is it just momentum at this point?

<comment><USER3> _you literally don 't need at all_

Unless you live in a place without broadcast television, or little broadcast television, and with little to no internet service.

So pretty much 20% of the United States. The nation is much larger than the east and west coasts.

<comment><USER4> Most of the people living in the US between the coasts still live in urban areas. Only a few states have a minority of urban dwellers: Maine, West Virginia, Mississippi, Vermont. Many large interior states have overwhelmingly urban populations: Arizona (90%), Colorado (86%), Illinois (89%), Michigan (75%), Ohio (78%), Nevada (94%), Texas (85%), Utah (90%).

[https://www.icip.iastate.edu/tables/population/urban-pct- sta...](https://www.icip.iastate.edu/tables/population/urban-pct-states)

<comment><USER3> So if you're not in the "most" category, then what? You don't count? You're not a citizen?

And anecdotally, I know several people who live in urban places who still don't have access to cable television.

Back to the topic, though — the OP stated, "you literally don't need at all." My point is that his postulation is invalid for millions of people.

<comment><USER5> Do they actually need television?

</comment></comment></comment></comment></comment><comment><USER6> I have a FiOS Motorola QIP7232 cable box with a builtin 320GB harddrive (circa 2013).[1]

My last bill shows them charging me $21.99 per month for that box. (That's $263.88 a year not including taxes.)

Last week, I called Frontier FiOS to cancel the cable TV but keep the internet. After the customer rep cancelled the tv, I asked if she was mailing out a shipping box so I could return the Motorola. She said she wasn't going to bother with it. So there's one anecdote to gauge how much the hardware is worth to them. (I do see that used ones sell for ~$50 on ebay.)

[1] [https://www.google.com/search?q=motorola+QIP7232&source=lnms...](https://www.google.com/search?q=motorola+QIP7232&source=lnms&tbm=isch)

<comment><USER7> You might want to hold onto it for a bit. I read the occasional "horror" stories about people getting big bills for "unreturned equipment" that they were previously told not to return. Or that was returned but never logged; suggestions are, for example, that if you return your Comcast box to one of their storefronts/offices, you make sure to get a receipt, preferably one having the equipment ID's on it.

<comment><USER8> Agreed. Every time I try to return equipment to comcast, they ship me another unit because "we noticed you have cable TV service, but no cable box on your account!"

But you know damn well if I ever lose that box in my attic, some day they're coming after me.

I finally gave in and pay more per month for internet-only just so i don't have to store their damn box in my attic and I'm not inflating their TV subscriber numbers.

</comment></comment></comment><comment><USER9> The economies of scale are so great the margins are almost certainly fat. Other than cellphones I can't think of any electronic devices where that many identical units were being produced--millions and millions of indistinguishable boxes. About 20 years ago as a consultant in the EDA industry I got to tour of a set-top box manufacturing plant in Taiwan and it was fascinating. While the boxes were identical on the outside, on the inside they were doing everything possible to cut both component and manufacturing costs, including experimenting with paper based PCBs (apparently much cheaper than fiberglass?). I have to imagine they've only gotten better at cost optimization over time.

</comment><comment><USER10> I don't pay for cable, but there are similar economics in Internet routers/modems. Comcast used to charge me $10/month to lease their unit. After a few months of spotty WiFi (used cell data instead), I finally called. Service rep said that ~1/2 of the my specific router model were defective.

Finally purchased my own [1], which will pay for itself after a year. This is one of the easiest ways to save money.

[1] [https://amzn.to/2Js5q3e](https://amzn.to/2Js5q3e)

<comment><USER11> Nice disclaimer on that affiliate link.

<comment><USER10> Good point- This is an affiliate link. I actually don't want the money from Amazon from the referral link, I signed up for Amazon Associates for the API access to their product catalog for a side project. Amazon requires a certain level of activity for this. So if someone happens to buy, you're supporting a side project.

</comment></comment></comment><comment><USER12> On a slightly related note, I am highly disappointed with the Spectrum boxes and really miss my Comcast X1 box.

Spectrum and Comcast both rely on the same third-parties to supply their gear but Comcast works with partners like Arris to build their own custom boxes. They have their own custom OS running on the box. They're really fast and have a very modern UI. For instance it'll open sidebars to show current sports games with realtime scores. They also have their voice remote feature which, at first was a total gimmick to me, but ultimately became really helpful. You rarely know what channel # you want but to say "go to TLC" or "go to the world series" is really handy. They also have a remote control with an accelerometer that will glow when it jiggles, unlike any competitor. This is very useful at night.

Meanwhile my Spectrum box is virtually a thin client. For things like on- demand it's piping commands across the network to a remote host that is rendering what is displayed on your screen. The latency is horrible.

I've cut the cord once or twice with services like Playstation TV and Sling... but none of them really shake a stick to a proper cable plan. I'm disappointed with this price hike and Spectrum's hardware but for folks (my wife and I) who grew up in the generation of cable TV it's a difficult habit to break.

<comment><USER13> I have the Comcast "X1 Infinity Entertainment System" and IMO it stinks. It's a bad sign when the instructions tell you to restart it to solve problems. And at best, the delay from button press to response is nearly intolerable. I think basic UI guidelines suggest something on the order of 1/4 second and this box usually takes over a second. At times I sit there wondering if I need to press the button again. Usually I don't. I just need to be patient. At other times it simply does not respond. I can see a green LED light on the box when I press a button on the remote but other than that, nothing happens. That's when I know it is time to pull the plug. In a competitive market products like this would not be tolerated.

<comment><USER8> When I saw X1, it looked nice, and now Comcast is pushing the Plume pods (or something that looks like them) as repeaters. They're doing generally slick things with individual device blocking and such. That is to say, offering services that are actually harder to do on your own.

The slow button press is how I feel about DirecTV. I could simply never use it because I find the 1 second delay absolutely intolerable.

</comment></comment></comment><comment><USER14> Slightly off topic, Comcast actually stole my mom's modem that she bought from amazon! What happened is most likely the modem she bought was supposed to be returned to comcast by another customer, but that person instead just put it up for sale on amazon. Every so often a charge for a box rental would show up on her bill, she would go to the store in person to show them the receipt, get a refund and the charges would stop. Then 3 months went by and the charge appeared on the bill again. This went on for a year and a half. No one in customer service could help and at the end they said the only solution is just give us the modem and buy another one.

Apparently in order to deal with stolen modems, comcast simply charges whatever customer has that modem regardless of whether or not the modem itself was supposed to be returned by another customer but never was. That is one hell of a way to get your stolen modem's back. Can you imagine if you went to the golf course and had your own clubs which you bought on amazon, but the course charged you for club rental every time you went, until they demand you hand over your clubs, and force you to buy another set to be allowed to play?

That is how comcast harassed my mom for a year and a half, stole her modem, and tried to charge her rent for a different customers box.

<comment><USER15> That sounds unpleasant for your mom. But how is this different to buying a stolen bicycle and having it confiscated back by its legal owner? I thought the law was clear that, even if you didn't know it was stolen, your purchase gives you no right to the goods.

<comment><USER14> fair enough. I guess the difference is that bike rental stores don't have automated systems which apparently have a bug where they charge the unknowing victims of a crime rent for previously rented bikes which were stolen and sold online.

</comment></comment></comment><comment><USER16> Do you really wanna know how much it costs? Look at similar streaming hardware (think FireStick, Roku, etc)

The hardware (heck, even the software) is the same or very similar for the most part.

Smartphones made the hw price (and form factors) go down a lot.

If your decoder is DTV or Cable there's an extra cost related to the receiver, but that has also getting cheaper as well.

Long gone are the times of the first receivers where you had several ICs with dedicated functions and had to shuffle the data around in not so straightforward ways (the first DTV receivers had dedicated MPEG2 decoder ICs, I suppose DVD players had a similar architecture, then became integrated with time). Now modern smartphones decode more complex video streams with much less energy expenditure)

<comment><USER17> Yeah, the actual core of the device is going to be roughly something like a chromecast.

Almost certainly no asics, so the cost is going to be dominated by commodity parts-- displays, audio-visual jacks and then there's the branded plastic case, graphics, labels.

There's an iFixit teardown of the chromecast here: [https://www.ifixit.com/Teardown/Chromecast+2015+Teardown/501...](https://www.ifixit.com/Teardown/Chromecast+2015+Teardown/50189)

Basically, 5 or 6 IC's and related trimmings--- BOM cost? I am going to guess around $35-- that's what google sells it for. Since they're making money not on the device itself but rather the online activity that becomes enabled from using the device, I expect the retail price would be roughly the BOM cost.

A little more money if you're looking at a proper set-top, I guess, though I haven't actually seen a cable box in a long time. Are they roku-sized now, or just huge mostly empty boxes?

<comment><USER18> > Are they roku-sized now, or just huge mostly empty boxes?

I haven't seen a new one in a while either, but the last time I used one (at a relative's house IIRC), it was the same-old, same-old:

A box about the size of a DVD player, a bit larger (smaller than a VCR, though), mostly empty inside. Usually if it's a DVR, there's a hard drive, and the board is mostly a computer, generally running some kind of embedded proprietary closed-source RTOS. Occasionally you'll see linux, android, or some flavor of Windows CE. Beyond that - yeah, empty air.

I know that some of the very simple cable boxes are about the size of a Roku, but I don't think any of them are like a Chromecast (that is, usb drive size).

</comment></comment></comment><comment><USER19> I would really like to buy a box that was sophisticated enough to cache which channels I have and what is showing on those channels. They all seem to do a very slow refresh every time I switch between menus.

It's now a distant memory being able to switch between channels instantly. I should at least be able to page through the menus quickly.

<comment><USER20> I always thought about putting multiple tuners in the box, and just decoding multiple channels simultaneously. Then to switch a channel you would just "put another window in the front".

You could have a predictive system that would decode the three most likely next channels and start decoding them. In the best case, this would move the latency of the first switch close to zero, and of subsequent switches to 1/2 or 1/3.

To save energy, you could get one of these fancy remotes that they have for telefone conferences, that can detect when you pick it up. Once you lift the remote, start the extra tuners.

<comment> sjm-lbm I have a (pretty old) TiVo that lets you do something similar to this - there's some button on the remote (I honestly can't remember what it is called) that lets you cycle between the tuners. It works pretty much like you describe - if a bit more manually - and has the added benefit of not requiring you to type a multi digit channel number every time you want to hop between your favorite channels.

<comment><USER21> Current models have six live tuners. All running a buffer for whatever channel is tuned on each. Works fantastically well. There's a "Live TV" button on the remote than cycles through them, or you can manually poke through a quick submenu to jump right to one in particular.

</comment></comment></comment></comment><comment><USER22> Cancelled my Comcast today. Price creep was the main reason, and it was just plain expensive for what it was. It was a liberating phone call though. I've been waiting for years to get out from under their cable/internet combo madness.

AT&T just brought fiber to my neighborhood last month with a $40/mo 100mb/s plan. That's 3x cheaper than the > 100mb Comcast plan I was on that required me to have internet and basic cable.

Both cap at 1TB and AT&T had no gear rental fees and a $10/out of contract monthly fee after a year. So far the only MAJOR downside is I can't use 184.108.40.206 for my DNS which took awhile to reverse engineer after I broke the internet...twice. A fix is coming, but I found 6 months of internet forums saying that.

And I think 5 of my neighbors are about to make the switch too. The Comcast person on the phone started to make their scripted argument for how they could reduce my plan. I said $40 and no TV or save the oxygen for the next customer.

In the end, it's probably just equally as evil but it works out far better for my bills.

</comment><comment><USER23> I used to work for a set top box middleware vendor, and at the time circa 2005-6 we had internal charge amounts of about a few hundred bucks for the mid range PVRs at the time. I just looked at a competitive analysis sheet I still have access to and it look like the total BoM for a modern PVR with all the bells and whistles like voice recognition and 4k is around $400-600 including a cheap AV rated drive to store the video.

The lower end ones with cloud PVR look like they're crazy cheap, like a low end cell phone. I wouldn't be surprised if the IP only ones were $50 in Q10000. There's a bunch of implementation notes about fiddly expensive analog calibration for the terrestrial and docsis transceivers, but it looks like the two major ASIC vendors both ship turnkey calibration systems to help reduce manufacturing cost. One of them has a nice menu of prevalidated contract manufacturers that already have production lines ready to go once you sign.

</comment><comment><USER24> Funny anecdote, before Java was Java, it was a way for appliances to abstract out the complexity of the embedded system and allow designers to write a UX that would work the same way on all the products.

The 'demo' application was a set top box because SGI was making a lot of hay with doing 'video on demand' in Florida and how that was the new hotness for selling servers.

So we had this demo that had Fang (the mascot) bouncing around in his virtual world where you could click on things to bring up different activities, and there were movie posters in this virtual world that if you clicked on them would bring up a screen letting you rent the movie or watch a trailer etc. Some excellent animations from an artist named Joe Palrang and it all ran on a Sparcstation 10.

We knew of course that set top boxes (STBs) at the time were 8 bit micros (think Zilog Z80 or Motorola 6811's) and cheap but hey with this cool new UI cable companies would surely be moving upscale on the STB. So we asked a number of cable companies where they saw their set top box in five years. (which would put it at 1998) and they were saying, "Well we are expecting big changes there, we are probably going to spend $100 per box rather than the current $50 per box."

That went over poorly since we needed way more oomph than that to host our fancy virtual world. And while there was a plan to keep the Java kernel small (45K bytes was the target) we didn't see a lot of hope with that cheap of a machine to run it on. As I recall that was around the time when Sun decided to cancel the whole thing.

Cable companies, like any company that tries to extract value by delivering streamed copyrighted content to consumers, are always squeezed nearly out of existence by rights holders in an unending battle to keep all the pennies. It is quite depressing and convinced me I didn't want to be in the cable business in my career.

</comment><comment><USER25> > After the Spectrum fee rises within days to $7.50 a month, that will > translate to at least $120 million. Monthly. Or at least $1.4 billion a > year.

I agree with the overall "screw those monopolistic rent seekers" theme, but I hate seeing summaries like this. Is $1.4 billion a lot? If you told me it was $100 million per year, that would still sound like a lot, but apparently in this context that would represent not a lot? These are meaningless big numbers.

<comment><USER26> Well, a $50 Roku boxI bought a relative streams HD from Netflix and other services. Way more than what a cable modem does. You'd have buy 28 million of them to hit $1.4 billion, but realistically they'd get volume discount. These companies sell less functionality for more money and keep charging after it's probably paid off.

Does that put it more into perspective?

<comment><USER25> Yes, comparing the price of a set top box to the price of a Roku sounds much more reasonable. And I'm sure we could think of a dozen different comparisons besides. The point is that we should be _making these comparisons_ instead of dropping gigantic numbers by themselves for effect :p

</comment></comment></comment><comment><USER27> Based purely on the dismal quality of these things, it cannot be very much. They don't seem to have gotten any better with time at all. Extremely laggy, awful UX, they run hot, they use a surprisingly high amount of electricity just to idle, and are generally just barely usable. Kodi on a Raspberry Pi performs better in pretty much all cases (except for, well, not having live TV -- usually), which is shameful on the part of these massive cable boxes.

On top of that, why does it still cost an additional monthly fee to record locally to a DVR? Surely there is little to no additional cost involved in that, that isn't easily paid for by the standard monthly subscription price. And unless you've got one hell of a box, you're still limited to only two shows. It seems like if a monthly fee is involved, the DVR tech would be considerably better. Maybe something closer to just saving recordings as standard, personal on-demand media.

My mother _used_ to rent movies on demand, but she's gotten a refund every single time because they've been unwatchable. She's since stopped doing that, at least.

</comment><comment><USER28> I have not had cable or satellite since 2008 and I do not miss it. Amazon prime has tons of free stuff. Have a Netflix account. Have a proxy that lets me watch things like the BBC (hey BBC, you could make money if you allowed an online subscription for those not in the UK - I did pay for a TV pieces BTW as my address is register to a friend in the UK). There is also iTunes for things. Have Kodi with my local collection of DVDs ripped.

What is missing is a roll up service. I want an application that has a list of my services and then presents me a uniform search box for all them! That would rock. Thought about writing one but it would just get shutdown for violation of the terms of service. Also a Kodi plunging for Amazon, NetFlix and XM would rock at some point.

<comment><USER29> With regards to a roll up service, this is something I want too. The best approximation I've seen is the media search on Roku. You can search for a movie or TV show and it will show you which Roku channels offer that content. It's of course not as seamless as a real roll up service could be, but I thought I'd suggest it. On your phone/tablet, you may appreciate the "Just Watch" app which lets you search the providers you select.

FWIW I used to swear by Roku but then they started randomly adding channels to my screen. This was basically a paid ad, if you were a service provider you can pay Roku to force your channel onto the device. Once that started I chucked all my Roku devices.

<comment><USER28> Thanks. The "Ads" are the reason I looked at the Roku and then said no. I was looking at an AppleTV also (I would have to convert some of my videos, but whatever) however the lack of an optical audio out kills that as I want the music to go to a different amp. So PC with Kodi and TV apps for Netflix and Amazon. The quest continues!

<comment><USER30> Do you need 4K? The 3rd-gen Apple TV has optical audio out but it's 1080p only. Very nice interface though. If you already have a 4K TV, does it really not have optical out built-in? My Roku TV has it and it's about as cheap as 4K TVs get.

<comment><USER28> So right now I have this -

Compute --> DAC DAC --> TV --> Sound Bar for videos (also TV apps output to sound bar) DAC --> Tube Amp (for music played from computer) Record Player --> Tube Amp Tube Amp --> 2 good speakers

Ideal would would be Apple TV with XM, iPlayer, Netflix, Amazon App - HDMI to 4K TV - TV to sound bar Apple TV with Optical to DAC to Tube Amp.

I have looked at some of the HDMI sound extractors but there seems to be limits on things you can play, having a remote, DRM.

Everything is controlled by Logictech Harmony.

</comment></comment></comment></comment></comment><comment><USER31> I'm reasonably certain the $231/year figure the author quotes is _not_ the amount paid for a single set-top box (as he says), but the average total paid by a household for _all_ their set-top boxes. That averages out to around ~3 boxes per household at rates similar to those quoted in the story, which is about what I'd expect.

That said, the charges are still a ripoff, and just one of many reasons I do not miss paying for cable TV.

<comment><USER32> The average household has 3 set-top boxes? That sounds like a lot. Even median would be a lot. Who needs to be able to watch basic cable in 3 rooms in a house?

<comment><USER31> I think the average number of TVs _used_ per household is something like 2.x a month. But many households probably have a set top box hooked up to a lesser- used TV (guest room, rec room, etc.) that they're paying for even when it sits unused.

My parents are middle-class empty nesters, and IIRC, they have boxes in the kitchen, living room, home office, and _maybe_ another in the master bedroom?

Clearly they do not 'need' that many, yet they have them. This is just another way in which the rigid, inflexible model of legacy television generates excessive revenue: one cannot carry a TV and cable box around the house as easily as they can a tablet PC or iPad.

</comment></comment></comment><comment><USER33> Anyone still renting should look to used markets for equipment. With the number of people cord-cutting, the market for used equipment is quite saturated.

I own a DVR and 4 or 5 "satellite" type boxes, cut the cord and looked to see how much I could get from them. Basically wasn't worth my time with hundreds of people in the same boat as me in my city.

</comment><comment><USER34> There is a very big factor that the article missed - license fees.

A good chuck of that fee is goes to licensing. The guide software, guide data, DVR, VOD, etc. often have per-box licensing fees the provider has to pay.

The $250 also seams low to me. I've seen numbers in the $600-$900 range. Cable STBs are also much more expensive than IPTV devices because they have tunners, upstream modulators, MOCA (for whole home DVR), switched digital video, etc. vs a IPTV box that has an Ethernet port and basically just decodes mpeg4 multicast streams. The cost of STBs is one of the reasons MSOs like the idea of network based DVR.

</comment><comment><USER35> [http://archive.is/nbuUq](http://archive.is/nbuUq)

</comment><comment><USER36> Am I the only one here who still torrents all of their TV?

<comment><USER37> Even when I had cable I would use Popcorn Time behind a VPN for TV shows. No messing with DVR that may or may not actually record the show. Nice Netflix- style list of available programs and the ability to bookmark favorites and see if there were any new episodes.

I'm sure if I had felt like setting it up, usenet automation + Plex server would have been even better but this was simple enough.

Again, I _had_ cable and I _had_ a cable box but it was that much easier to watch streaming torrents that I still watched unlicensed recordings like that.

Basically, if you are going to charge me a monthly fee to borrow some set top box, you need to make the set top box worth the expense. My only "legit" option was something that looked like a 1998 leftover that barely worked, worked slowly, and cost me almost $10/month to borrow. If I wanted one of the nicer boxes, I had to sign up for unrelated services like some "triple play" with phone service included. Not happening.

</comment></comment><comment><USER38> Site not avaliable in EU. First one I've seen

</comment><comment><USER39> The ISP box in my home has a SFP cage, and fiber sfp adapter, with wireless ac and a nice OLED screen. Total cost is $130, but everybody gets a free rental.

<comment><USER40> Does it have video output though? We have a similar device as our modem (with Bell Canada) but still need set-top boxes at each TV in addition to the modem. The modem is given on a free rental, but the set-top boxes are not.

</comment></comment><comment><USER41> Unfortunately, our website is currently unavailable in most European countries. We are engaged on the issue and committed to looking at options that support our full range of digital offerings to the EU market. We continue to identify technical compliance solutions that will provide all readers with our award-winning journalism.

<comment><USER42> This article should be switched to an alternative that doesn't have restrictive geofilters or removed.

<comment><USER43> There's an assumption in this statement that doesn't survive scrutiny. This is _original_ reporting. What makes you think there's an equivalent alternative? †

† _This perception is obviously a huge problem for papers like the L.A. Times (and for writers, in general). For better or worse, this is how people see it, now. If you don 't like the source, then you just imagine substituting in another one, like you're buying pork futures (or whatever the opposite of original reporting is)._

<comment><USER44> The assumption may be that any worthwhile article will immediately be "reported on" (restated with no new information) by a dozen other sites.

Edit: I'm not saying that's a _good_ thing, guys. I agree with dionidium.

<comment><USER43> Right, exactly, which is to trivialize original reporting beyond the dictates of fairness. An original piece of reporting and the blog post that summarizes it _are not equivalent content_.

<comment><USER44> Indeed. Just to be clear, I agree with you; I only meant to clearly state the OP's faulty assumption.</comment></comment></comment></comment></comment></comment>


The Practice of Programming, Debugging - <AUTHOR> http://cm.bell-labs.com/cm/cs/tpop/debugging.html

<comment><USER2> I liked the plots they had in that chapter. Did they mention elsewhere how to generate plots like that? Would something like gnuplot work? Edit: conciseness.

<comment><USER3> If you are talking about <http://cm.bell-labs.com/cm/cs/tpop/debug.gif>, then gnuplot should be able to do something similar.</comment></comment>