Notifying Our Users of Attacks by Suspected State-Sponsored Actors - <AUTHOR> https://yahoo-security.tumblr.com/post/135674131435 <comment><USER2> A big source of confusion on this kind of thing is that the HN crowd tends to see "state actor" and think "pervasive surveillance (by the NSA)".

In context, and in the security industry in general, "state actor" refers to active (although often broadly cast) penetration attempts by groups thought to be operated by foreign governments. These groups do not have significant surveillance capabilities, so they're trying to build it by doing things like getting access to the email of potentially interesting people, often via credential stealing malware or plain old phishing. Their methods are often not particularly sophisticated, but they're more persistent and better funded than most other threat actors. On the other hand, their methods sometimes are very sophisticated, so it's good to detect a problem as early as possible, as Yahoo is trying to help users do.

<comment><USER3> So, what you are saying is we should lose all hope of ever being notified about an NSA attack because they own the networks. Like that made it all- right... REALLY????

<comment><USER4> Consider this your notification.

</comment></comment></comment><comment><USER5> Based upon the amount of spam I receive from Yahoo! mail systems, I'm not confident in their ability to detect "attacks by suspected state-sponsored actors" as they apparently don't even have the ability to detect phished/compromised accounts.

<comment><USER6> At the risk of stating the obvious, a From or Reply-To address of firstname.lastname@example.com doesn't necessarily mean that Yahoo had anything to do with the message.

<comment><USER7> I've got more experience in hunting down spam than is healthy and can read headers.

Receiving SPF, DKIM validated spam from Yahoo's email systems, then discovering there's absolutely no way in hell to kick it back to them, sours one rather rapidly.

Trying to send mail _to_ Yahoo has been roughly equally annoying for about as long.

<comment><USER8> Can you clarify regarding no way to kick it back to them? My understanding was that they operate typical feedback loops per RFC 6449 (though I haven't personally verified this).

They also host a spam FAQ which has a link to a form to submit spam reports: [https://help.yahoo.com/kb/SLN3402.html](https://help.yahoo.com/kb/SLN3402.html)

<comment><USER7> Try self-hosted mail. The section on reporting spam _from_ Yahoo conspicuously omits such options as submitting full headers to abuse or postmaster. Doing so in past (mutt, full headers) generates a "you're holding it wrong" messagee.

This goes back years, I've not tried recently, status may have changed. But again, the long, long term experience has been pretty sour.

<comment><USER8> The section on reporting spam from Yahoo has a link to a form where you can submit spam reports from Yahoo:

> Submit your report using our "Got Spam?" form if your email provider doesn't > offer a spam reporting feature.

The "Got Spam?" link takes you to a form where you can supply the headers and content of the spam message sent from Yahoo.

<comment><USER7> What part of "mail to abuse@ or postmaster@ fails" don't you understand?

The web-form workflow breaks in many ways: console tools (which I use for email), mobile, and more.

The fact that I can simply "bounce" the whole message at Yahoo's spamtraps, _if they had such a thing_ , and they can sort the message's legitimacy and structure themselves, but they don't allow this, speaks volumes.

And again, this shit for a decade or more.

Now, if Yahoo wanted to creat CLI tools to incorporate into mailflows for those of us who know what we're doing to slot into their systems, great.

But ultimately, their problems aren't mine, I've washed my hands.

</comment></comment></comment></comment></comment></comment></comment><comment><USER9> "State-sponsored actors" sounds like over-specification. If Yahoo detects a "sophisticated attack" from a lone jerk with a computer, do they not notify affected users of defensive actions to take?

It's no doubt interesting to know that your account is being targeted by your own or some other government, but identification seems secondary to detection and response.

</comment><comment><USER10> Google has a state sponsored actors warning. I received it a few years ago, a red bar across the top of GMail.

So I turned on two factor auth and the warnings stopped.

I wish I knew which state and why my account was being attacked? I'm guessing it was not a specific attack but perhaps the attacker was trying credentials found in some other breach.

Considering that Google cooperates with the USG, I'd guess that it was some state other than the US, but who knows. I'm not aware of having done anything that would be of concern to any government.

</comment><comment><USER11> How do Yahoo, Google, Facebook, or others distinguish between state-sponsored actors and non-state-sponsored actors?

<comment><USER12> [https://en.wikipedia.org/wiki/Cybersecurity_Information_Shar...](https://en.wikipedia.org/wiki/Cybersecurity_Information_Sharing_Act)

This passed along with the budget bill at the end of last week. It establishes a system whereby the US defense department shares with corporations their signals for detecting state-sponsored attacks, and companies are allowed to opt in to sharing anonymized attack information with the DoD

<comment><USER13> CISA is a terrible bill and not a solution to this problem. Security teams have been able to manage this data on their own for years without government intervention.

There have always been other methods for determining if an attacker is state sponsored. One example: Seeing your account, and a number of dissident or activists being attacked from a block of IPs or similar password attempts, probably means the attack is state sponsored.

That being said, in security, attribution is a very hard problem, and the methods used to determine state sponsored attacks are also quite hard to design.

There's a reason why companies won't elaborate on how they do this, but it is usually a combination of login/account intelligence and threat feeds.

<comment> at-fates-hands >> Seeing your account, and a number of dissident or activists being attacked from a block of IPs or similar password attempts, probably means the attack is state sponsored.

Used to work at a fairly large global corporation. One day I was chatting up one of the senior sys admins. He was talking about the incredible traffic that bombards their server everyday. I was pretty naive back then and said, "Cmon man, it can't be _that_ much!"

He opened his terminal and ran a simple monitoring tool, then opened one another terminal. In one was the constant traffic to several of their applications that were from a specific block of IP addresses he thought he had traced back to China. The other window was a running queue of mistyped password attempts. It was like clockwork. They'd try three, get kicked out of the system, then in an instant, you'd see a flurry of new IP addresses from the same block, then some more attempts to guess the password. Kicked out, rinse, repeat.

In the span of five minutes, I must have seen two dozen failed attempts to try and do a dictionary password attack on their login page. He guessed it was some kind of a bot that was running the tests considering how mechanical and orderly the attacks were.

It really opened my eyes as to how often and how many businesses these governments go after for intellectual property.

</comment></comment></comment></comment><comment><USER14> This looks to be very similar to the warning that Twitter was sending around a while ago. Here:

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

That contains the text in the discussion, and links to the text, _etc._

</comment><comment><USER15> Just what middle-America needs, notification that the russkies are coming for their baby pictures.

<comment><USER16> It's more likely to be the NSA nowadays.

It would be good if these notifications said where the attacks appeared to originate.

<comment><USER17> Why would the NSA need to attack? They can just ask Yahoo for the data.

<comment><USER5> Yep, or just intercept it themselves as it crosses the wire.</comment></comment></comment></comment>


Show HN: Gecko SMS, our (hopefully) revolutionary Android messaging app - <AUTHOR> https://market.android.com/details?id=com.geckolandmarks.geckosms

<comment><USER2> Best of luck with your app, but I'd like to take a second to play devil's advocate: what does your app offer me over my existing location sending apps (Latitude and Glympse)? Latitude being there to let me friends know where I am without me even having to initiate anything (for when I don't care about privacy at the moment), and Glympse lets me send temporary expiring location messages via SMS, Email, etc (for when privacy of my location is a concern).

<comment><AUTHOR> No need to apologize, this is exactly why I posted the app and the idea to HN!

I agree Latitude rocks hard (when you get friends to actually use it), and the idea of Glympse is brilliant. I haven't tried it myself but immediately thought it would be a good solution when I stumbled across it. We may want to implement something similar as well.

But they both fail on a few cases:

\- Try getting your non techie friend with a dumbphone to use Latitude -- not possible as the app can't run on the device. Same with Glympse, however less so because it may work ok with pretty simple browsers on the receiving end.

\- vs Gecko SMS: If someone can receive SMS, they can receive your location

\- And then the "rest of the world" -argument: most people don't understand maps, maps are not available to many areas. Maps don't work well in cheap phones with small screens.

Landmarks is a simple concept that everybody understands, and it's available everywhere. That's what we offer.

I know this partly contradicts with using the Android platform, but that's where we wanted to start. We have a fully working prototype for S60 Symbian as well, but it's no fun to use. :)

<comment><USER2> Thanks for the quick reply! I guess I missed the part where Gecko would work with so-called "dumb" phones as well, without any mapping software. That's definitely a good enough reason for me to give it a try this weekend.

<comment><AUTHOR> Hey, I just submitted something of my own for the first time so what else can I do than sit here replying?-)

I don't think you missed it, that information probably isn't available anywhere yet. Unless you read all my comments here, and still I don't think I have really mentioned that.

But had you read our business plan, you would definitely be aware of this.

\-- Update: Just realized you probably meant the receiving end, whereas I was talking about sending these messages from a dumb phone. The former is mentioned in the Market text:

 _This means that Gecko SMS works with standard SMS and MMS, and does not require any special software on the receiving phone._

</comment></comment></comment></comment><comment><AUTHOR> This is an Android application I have made for my company.

It is a Messaging replacement with a twist: You can include your location in the message, while still using standard SMS or MMS without any special requirements on the receiving end.

To make a location human-readable, the app uses a global landmark database that we have developed and are constantly updating. Our database was originally developed for communicating tracking device location over SMS, and we are now looking for other ways to utilize it.

I am somewhat ashamed of the current state of the application, so this should fit the "release early" philosophy.

We have tons of further development ideas ourselves, but would love to get some feedback from real users to figure out what to do next.

Any comments are highly appreciated (on the app, the Market copy, the look&feel etc.).

<comment><USER3> On your website you say "Our landmark database is the most accurate in terms of quality, coverage and updates ". That's a pretty big claim. What's so special about it? Where does the data come from?

As for the app, I don't know, maybe I'm missing something but doesn't sounds too exciting. In all cases when I would like to put a "landmark" in my message I would do it myself.

<comment><AUTHOR> We select each landmark "by hand", and can spend time on the quality of the data while still keeping the data gathering/updating process effective. Quite different compared to how traditional landmark databases, with focus on quantity, are built.

Another one of our strong points is data in areas where there are no digital maps available (but still lots of people with cellphones) -- landmark data is so much easier to gather than traditional map data.

Sources of the data depend on the country: 1\. For example in the US or Europe, we can work mainly by combining information from a number of online sources with only some checkups from people actually "on the scene". 2\. For a lot of developing countries (Nigeria is one of our strong areas for differentiation from other datasources), we will have some local guy physically go around the city and gather the raw data that we then process for accuracy and quality.

I'll dig up some examples where the usual digital maps fail and we succeed.

I am the head tech guy of the company, and am not so accustomed to preaching about the power of landmarks. So thanks for the opportunity to work on my arguments!

Re the app: Try it! It's much faster with the built-in landmarks compared to writing it yourself, and will change your texting behavior. Once you get used to it, texting without a location feels just so... last season. :)

<comment><USER3> 95% of the time if I put a location in my message it's most likely a location that I and the receiver are familiar with, so such a standardized name is not too desirable. But of course it's just me. I can definitely see, a lot of couples using that all the time (beware cheating girlfriends!).

Does it work backwards? So that if somebody uses it too and sends me a message using that can I look up the place on the map? That would be a big plus.

But yea, now that I thought of it. In very big cities where people move around a lot in a fairly constrained area that is very nice. If you can add more features and market that better I can see some people using it. Not quiet revolutionary, but nice. Of course provided that this landmark database is really really, really good.

<comment><AUTHOR> <warning, long reply which hopefully also answers all your questions>

You can also easily add you own points, which is what you probably end up using a lot. "I'm Home now", "Still at the Office". It's a one time tap/enter name to add these, and these are the ones you probably end up using a lot.

(Not really related, but: Also usually the app is pretty good at picking up the correct landmark even without GPS (from the inexact cellid location), so you can just forget about it, send your text and automatically also share your location.)

Regarding the cheating girlfriends, we let the user select any point she wants. This is by design, this is not a tracking application but a communication tool. For example sometimes you know your mother will not be familiar with the closest automatically selected landmark, and can easily select another one.

It's not about exact location (going all psychological: there is not exact location, ever), it's about human understandable location.

Currently it doesn't work backwards. On a concept level, we want to think maps suck and landmarks rule. On a technical level, this is something we may well implement. (Sidenote: I guess the view with the landmark points can also be considered a "Map", and that we definitely could want to show on the receiving end.)

Thanks for your positive words! This is version 1.0 in terms of marketing texts and everything, so the journey for this app is just beginning.

</comment></comment></comment></comment></comment><comment><USER4> Can I ask what problem your app solves? Why would I want to add my location to an sms? Good job anyway, sounds interesting.

<comment><AUTHOR> Because a lot of times you want to tell people where you are, or where to meet. So this app does that for you, automatically. In a way that the recipient will understand.

¤ Gecko Landmarks EU HQ, Turku, Finland :)

<comment><USER5> if I want to meet up with someone, wouldn't I just give them an exact location? if the nearest landmark is 5 miles away I don't see how that would be useful.

<comment><AUTHOR> How would you define that exact location, with coordinates?

What if we have gathered just the right amount of landmarks from the area, so it's pretty likely that all the well known places to meet at are there already?

Naturally if you are in a rural area far away from any kinds of "real" landmarks, this will not help you. But by definition, such areas will have low number of potential users as well. We think this works well for a lot of people a lot of the time.

</comment></comment></comment></comment><comment><USER6> How is this "revolutionary" other than it revolutionarily cuts down on the remaining characters to send?

And it's not really revolutionary in the way that BBM or iMessages is (i.e. taking sms away from the carriers).

<comment><AUTHOR> It's revolutionary because:

\- Sharing you location is a very basic need in communication (don't think Google Latitude on smart phones, think 90.7% of mobile phone calls including the question "where are you?", globally, everywhere)

\- Landmarks is a concept that has evolved to solve this; Well known places that can be used to communicate location. And they fit the text based communication perfectly.

\- Traditional maps, which can be seen as a competitor, lacks in a few major areas:

→ How do you send a map? SMS is the global standard of communication, you can't SMS a map

→ More than half of the people in the world can't read maps. At all. These people still understand the local landmarks.

→ Good maps are not available everywhere, and will not be anytime soon as traditional maps are expensive to make

So revolutionary in quite a different way than BBM or iMessages.

(edit: formatting)

<comment><USER6> Sure, but it doesn't seem like your company's offering solves any of these problems _well_. Smartphone solve this problem already by letting one send contact point (such as a location from the Maps app on iPhone) over mms.

For a majority of messages it seems like your product mostly eliminates remaining characters.

<comment><AUTHOR> Did you try the app? If you did: Where are you located, how did you find the local landmarks? What would you improve in the app?

I agree that if (1) the receiving device is a smartphone, (2) there is map data available for the used area, and (3) the users knows how to read maps, sending a location link with MMS works well. Or a http- google-maps link with SMS, that gets opened in Google Maps at least in iPhone and Android so works pretty brilliantly too and doesn't cost the price of MMS.

I think we have pretty much proven that landmarks in SMS is a killer feature for consumer vehicle tracking with Tramigo (best selling GPS/GSM tracking device), and in that use simplicity is the key: plain SMS, no need for data connection or anything else than just a plain GSM phone. So we are trying to expand from there.

</comment></comment></comment></comment><comment><USER7> I see that it's free. What's the catch? Ads? Does it spam my friends? Anything else that I might not think of?

<comment><AUTHOR> The most important thing for us is to spread the understanding of our landmark concept. As such the idea is almost trivial: we have coordinates and names for point-of-interest etc. However we think that with highly optimized data those can be a really effective way to communicate location. We have the global landmark database already, and a sustainable business for it, but now we are looking for new ways to utilize it.

There's ads when viewing a menu ("Landmark" button in compose view), not so much for the money but to study if that might work. I think the ads need to be very unobstructive in any app like this that we expect the user to use a lot, so we are not counting on that.

It definitely does not spam your friends.

</comment></comment><comment><USER8> It's like the Locate in Handcent, but you're basically "rounding-off" to the nearest "landmark"?

<comment><AUTHOR> Kind of, but the receiver does not need to click on a http-link to understand the location.

So like Locate in Handcent, but Gecko SMS also works

\- when texting to your mother/grandpa/non-techie friend with old dumbphone

\- in places like Balikpapan, Indonesia, with zero Google map data coverage.

Handcent Locate can also optionally add an address (created from Google street data), which may work well if the data is there. However landmarks are designed to be well known spots, whereas addresses are often cryptic.</comment></comment>


Ask YC: What replaced GOTO? - <AUTHOR>

I don't understand how you can write a program without 'GOTO'. How does the computer know where to go in a 100000 line program without line numbers? Could someone post a link to a modern example? They didn't know the answer at Digg. <comment><USER2> simple answer: goto exists on the assembly level as jump commands (and others). when you write a c program, it gets, eventually, translated down into the level where jump commands (gotos) do exist. they do still, in a way, exist.

higher level languages used to have gotos, but as software engineering practices developed, they were tossed out because they cause more problems than they solve. they don't mix well with the practices being developed.

don't use goto. make good use of conditional structures, looping, functions/methods, and/or recursion.</comment>


Writing a video chat application from the ground up, part 1 - <AUTHOR> https://bengarney.com/2016/06/25/video-conference-part-1-these-things-suck/ <comment><USER2> This is wonderful. I read the whole series in one sitting. It actually made video codecs feel way more approachable, rather than some patented black box magic I'll never understand.

It also reminded me of a recent article talking about how you can break audio codecs by guessing which quantizer was used by the packet, then using it in reverse to produce speech! Which I suppose is obvious in retrospect, that lossy codecs are trying to compress data by making it perceptually similar, whatever the domain.

I also appreciated the ties to video game networking. Gaffer on Games has had a long-running series on designing multiplayer networking protocols with UDP and you two approach bit-shaving very similarly (unsurprisingly I suppose - it's a very specific process with its own tools).

Anyway, thank you! I learned a lot.

<comment><USER3> It was a blast to write. Glenn is a smart guy with some great content around game networking. There are good ways to do networking for games and other real-time applications and TCP isn't really one of them.

<comment><USER4> What are your thoughts on ENet?

<comment><USER3> Good not great.

<comment><USER5> Anything better than ENet I could investigate?

<comment><USER3> Gaffer on Games, OpenTNL are good places to look.

</comment></comment></comment></comment></comment></comment><comment><USER6> My absolute favorite kind of writing is the kind that leaves me itching to try coding something myself since it now seems so much more approachable than it did before. Though I knew a bit about encoding, I never would have thought to build something like this, and yet now I find myself wishing I could carve out some time to try.

Great job!

<comment><USER3> Thanks! I really appreciate it.

</comment></comment><comment><USER7> If I may, I'd like to inject a plea for sanity here. Please, please, pretty please with sugar on top, don't reinvent the wheel when it comes to chat protocols. Right now, on my desktop, I have 5 different windows open dedicated to various chat networks and chat protocols. I have steam chat, a window with my irssi session, a pidgin session with connections to a slack session and an aim session, a telegram session, and a skype session. Yes, implementing someone else's protocols is complicated and sometimes painful, but when you end up needing a half dozen different /types/ of connections, there is something wrong and broken with how we're approaching the whole talk to other people thing.

<comment><USER8> Your problem statement is accurate.

I work on a chat product that uses XMPP ....

There isn't, I don't think, a common protocol that could be used, is there?

<comment><USER9> XMPP has the jingle extension for audio and video calls: [https://en.wikipedia.org/wiki/Jingle_(protocol)](https://en.wikipedia.org/wiki/Jingle_\(protocol\))

I have successfully used this for voice calls between the chat clients Gajim/Pidgin (I do not remember which) and Google Talk (the now-discontinued XMPP client by Google). I have also done video calls between two Nokia N900 phones, to see if it works. Voice and video via XMPP has worked since approximately 2009 and is just neglected by the companies for business reasons.

</comment></comment></comment><comment><USER10> So all four parts are available, just click on the link in the last paragraph to go to the next.

I love projects/blogs like this, since it is "back to the basics" and we all learn something by better understanding how things from codecs, to compression, and so on work. This one is wonderful and one of the best reads this week.

<comment><USER3> Thank you very much!

<comment><USER11> A great read indeed, thanks for that.

</comment></comment></comment><comment> sim- While TCP is not ideal for this application by nature of it trying to be a fully reliable stream protocol, one often overlooked advantage of its congestion control is that it allows the stream to play nicely with others. For example, if you develop a datagram-based transport whose data rate results in congestion at some point in the network path, any TCP going through the same point would back off to nearly nothing in an attempt to save the link.

You can be greedy and take the bandwidth anyway at the expense of everything else, but possibly (in some conditions) this may even cause a worse outcome even for your traffic. It's likely better to change your data rate target and drop rarely than to send too much and drop randomly at a higher rate.

</comment><comment><USER12> The series was amazing. Could not stop clicking through. I was sorely let down at the end when there was no more to read. Also when it didn't turn into an open-source high-performing P2P video conferencing app :)

</comment><comment><USER13> Like the idea of the codec: trying to minimize the error

<comment><USER14> What do you believe other codecs are trying to do?

<comment><USER15> Minimize size? Maximize speed?

<comment><USER16> Minimize error (for a given size and run time constraint.) or minimize some function with error, size, and runtime as factors.

Just minimize size/run time is "return;"

</comment></comment></comment></comment><comment><USER17> This intro (and series as a whole) was AWESOME! My background didn't really touch on compression at all and these parts were what I really loved learning from the post. More please! (Any other resources for compression are welcome :D)

</comment><comment><USER18> Same story submitted eight hours earlier: [https://news.ycombinator.com/item?id=12047710#12050483](https://news.ycombinator.com/item?id=12047710#12050483)

</comment><comment><USER19> Are there any code available somewhere and is this Windows-only?

<comment><USER3> No public code. I do a lot of cross platform dev so it would be easy to port, but initial work was on Windows.

</comment></comment><comment><USER20> Really neat. Reminded me of a live stream video conference system I built for an embedded systems course a long time ago: [http://www.cs.columbia.edu/~sedwards/classes/2009/4840/repor...](http://www.cs.columbia.edu/~sedwards/classes/2009/4840/reports/RVD.pdf)

As far as I remember, bandwidth was moreorless unlimited. It was nasty syncing issues I remember giving me nightmares.

</comment><comment><USER21> Regarding overhead of H.264 and VP9, using Intel's QuickSync or AMD's VCE would make sense in a production version, in order to have a fast implementation. That's VAAPI (and maybe VDPAU) on Linux and BSD. The encoders' output will look good enough for video streaming.

</comment><comment><USER22> Thanks for writing this, I learned a lot! Last weekend I started a peer-to- peer group video calling project. Seeing your whole approach made the entire system easier to understand.

<comment><USER3> Awesome! I'm so glad it helped!

</comment></comment><comment><USER4> imgui is great, but I have a bit of an allergy on C++. There's Nuklear [https://github.com/vurtun/nuklear](https://github.com/vurtun/nuklear) which is a re-take on it, but in ANSI C. It's interesting to see GUI rendering takes so much of your processing time slot, or is it that everything else is so little?

<comment><USER3> GUI is slow primarily because of naive uploading of six video frames sixty times per second. Not a detail that mattered for this initial work. It should take almost no time with a smarter implementation.

<comment><USER4> Ah, so you're counting video upload to texture and render of it as part of GUI cycle? Number makes sense then. You're basicaly redrawing whole gui each frame along with video texture and uploading/updating that texture at 60fps.

</comment></comment></comment><comment><USER23> This is excellent. It's not often to see a technical in depth posting.

The Dear ImGui library looks excellent with simplicity.

</comment><comment><USER24> Wow, this is incredible. Nice, succinct post, too.

</comment><comment><USER25> Inspired by Silicon Valley?

</comment><comment><USER26> When I read the headline all I could think about was Dinesh from Silicon Valley writing a blog and bragging about his video chat project.

<comment><USER27> When he wrote the video chat app I was wondering if 'middle-out' compression would even work for a video stream.. you'd have to buffer some amount of the data in order to get to the 'middle'.

<comment><USER28> "Top-down" and "bottom-up" in compression usually refer to which direction you build the prefix tree. In Shannon-Fano coding (top-down), you start with the set of all symbols and their frequency distributions and then recursively divide them into roughly even-sized subsets, assigning a 0 as the prefix to the first and a 1 as the prefix to the second. In Huffman coding (bottom-up), you start with a priority queue of each individual symbol/frequency pair, and then merge the two lowest frequency nodes together, building the tree from the bottom up. In middle-out coding, presumably, the algorithm decides at runtime whether to merge two existing codes into a single prefix tree, or to split an existing prefix tree in some other way. There's some speculation [1] that this is done in a probabilistic way.

All of these algorithms require known frequency distributions, which requires that you have the full data available. In typical DEFLATE compressors (gzip, pkzip, zlib, etc.), this is handled by dividing the input stream into blocks and compressing each block individually.

A similar approach could be used for video - you could easily make the block size a single packet - but in practice, you'd rarely want to use a lossless compression algorithm for video chat anyway. Most video compression is lossy; you can drop a lot of detail before the human eye notices. That's how you can stream a full widescreen movie (which has an uncompressed size of 2 megapixel * 4 bytes/pixel * 30 frames/second = 240 MB/sec) over a typical 5 Mb/sec broadband connection.

[1] [http://news.mlh.io/i-hacked-the-middle-out-compression- from-...](http://news.mlh.io/i-hacked-the-middle-out-compression-from-silicon- valley-06-16-2015)</comment></comment></comment>


Basic income doesn't emphasize divisions between poor and working people - <AUTHOR> http://www.basicincomecanada.org/basic_income_doesn_t_emphasize_divisions_between <comment><USER2> "If we're interested in social policies that are resilient I think the dignity problem, or the moral aspects of these policies are worth considering more closely."

I certainly agree the moral aspects are worth considering. No matter how you arrange your basic income scheme (and the tax system to support it), it's going to split the population into two groups: those who are net recipients of government money, and those who are net contributors.

Don't let basic income advocates evade the question of who pays for their utopian scheme.

The current welfare systems are a messy parcel of compromises, but they at least acknowledge that people have to demonstrate need to be the recipients of government handouts. Once you establish that people have a permanent, inalienable right to an income, you imply that others are obligated to provide them with that income.

<comment><USER3> > Don't let basic income advocates evade the question of who pays for their > utopian scheme.

Have you witnessed this?

<comment><USER4> I have seen it in every discussion. Some of the forms of evasion include:

* focusing on the wealth/profit generated by a surge in entrepreneurship from the millions suddenly motivated to start successful businesses

* focusing on the unlimited wealth created by robots/asteroids/solar in space which will fund any program we wish

* focusing on how we can't afford _not_ to try BI, i.e., the default system is a financial failure anyway so comparison is pointless

* taking the position that BI is only replacing current welfare programs (until it's pointed out that current programs would not support anyone if spread around)

Occasionally, someone will admit that they are proposing a 100% tax rate, which is about what such a system requires. Even more occasionally, it's admitted that every country must implement a 100% tax rate at once to avoid mass emigration of anyone earning more than ~$20k/year.

<comment><USER5> The most common evasion is in the handwaving around the size of the proposed UBI check. Total US tax revenue per person comes out to just over $20000/year, that's $1666/month (in comparison, a 40 hour workweek at the federal minimum wage of $7.25/hr, no holidays, comes out at $15080/year or $1256/month).

If you abolished every single government program and fire every single government employee, right from the DoD down to your local playground, from congress to the schools, never mind every single existing welfare program, assuming that tax revenue somehow managed to stay at the same level, what with no IRS to collect it and 22 million newly unemployed public sector workers, you could barely afford to pay a UBI at the minimum wage, never mind attending to the people who might legitimately need more help (also, no roads or schools).

UBI is _either_ going to require cuts of a depth never proposed, much less enacted, in any western country, ever -- or be too small (perhaps a hundred dollars a month) to live up to its promises.

<comment><USER6> Or you raise taxes for the rich 1%.

<comment><USER5> The top 1% of americans are about 3 million people and have an average income of 1 million. They already account for just short of half of all income taxes.

Every time you want to raise enough revenue to give the 99% another $1,200 ($100/month), you need to raise taxes on each single member of the 1% by $120,000. And that's on average incomes of a million.

</comment></comment></comment></comment></comment></comment><comment><USER7> Every time basic income comes up people seem to missunderstand the key points:

1) It's _basic_ income, like, enough for beans and rice and a small apartment. Nobody who is willing to work at least a part time job is going to just sit back and live off of basic income alone for their whole life.

2) It's a huge reduction and simplification of government, replacing several huge bureaucratic entities with one that effectively just mails out checks to everyone periodically.

<comment><USER8> I'm not sure if there's agreement on either of those points, honestly. A good number of people who talk about basic income are talking about giving less than is enough for subsistence living. And many talk about keeping additional programs in place, such as disability (somebody with special medical needs will not be able to live on the same income as somebody that can care for themselves and does not need additional medical care).

It's important to come up with concrete proposals. I don't think that there's going to be much overhead savings from your point number (2), and I'm not sure if we're ready for the tax levels that (1) would bring.

<comment><USER9> That would seem to assume we're not already funding (1) already for everyone who isn't too mentally ill to participate in existing more expensive to administrate programs.

A classic example would be something like working poor on food stamps. We've decided as a nation to provide corporate welfare by allowing corporations to under pay employees and taxpayers will pick up the tab by providing food stamps to the employees. A lot of pointless administrative money is spent to make sure yes indeed they work at Walmart and Walmart doesn't pay a living wage. An interesting side effect is many jobs are going to have massive wage deflation down to minimum wage. Sort of a communist system where everyone gets the same pay.

</comment></comment></comment><comment><USER10> Basic income shouldn't be welfare imagine you have an ai or robot doing your job who owns the output? If only a few people benefit from this productivity the system eventually implodes. In order to keep capitalism functioning in a post human work society you need a mechanism for redistribution . Basic income shouldn't be welfare it's supposed to represent your share of the productivity of a post human economy.

</comment><comment><USER11> Assume for the sake of argument, that we woke up one morning and there were machines that could write code. Really good code, 30,000 debugged lines a day. They invented better languages that we couldn't even understand and were willing to do this work just for fun.

In that world of super high productivity but few jobs,

Would basic income make sense? And if not, what's a better system? (asking the BI opponents here) I'm asking as a sincere question, I'm not trying to be persuasive.

I'm not saying this will happen, I'm hoping to avoid that debate, I'm just saying assume-for-the-sake-of-argument that this does happen, in some other world, a world we don't need to debate about.

<comment><USER12> I think this is actually highly feasible... I mean who better to talk to machines and write code at a deeper machine-level than the machine itself? They have bots now that can write whole news stories, coding wouldn't be that difficult for a sophisticated AI to do in 10-20 years from now. Medical doctors, and even lawyers may be displaced by AI at least in part. It's not just service jobs that will be going away, just wait till the high earning jobs start being automated away.

</comment></comment><comment><USER13> You only get one life and anything that let's everyone and not just those born to privilege get a shot at doing more than just surviving can only be a good thing.

It may unlock a whole new level of untapped human creativity and potential leading to a happier and perhaps more dynamic and productive society.

There is a risk of focussing on narrower narratives rooted in the current economic context and missing the proverbial woods for the trees. Maybe freed of that bigger ideas can emerge.

</comment><comment><USER12> There's also the fact that growing up in poverty ALMOST ensures that you continue in poverty. Most people who break out of poverty as pop singers, artists, entrepreneurs - their entire family changes, so does future generations from them on..

A recent article exposed how poverty and the stresses from it actually literally affect the brain and cause poor brain development. Essentially this makes Poverty a mental health issue, and should be covered under healthcare.

[http://europe.newsweek.com/how-poverty-affects- brains-493239...](http://europe.newsweek.com/how-poverty-affects- brains-493239?utm_source=yahoo&utm_medium=yahoo_news&utm_campaign=rss&utm_content=/rss/yahoous/news&yptr=yahoo)

If we had a UBI for one generation we would see less crime, we would need less police, less militarized toys for police, and see increase in benefits like 30 hour work weeks, time off for births, etc. When technology displaces 40% of jobs by 2030 - why not make it so everyone can contribute but less time?

When you say how lazy people on welfare are, let me ask you how lazy are rich people too? Especially generational wealth (wealthy brats), how many playboys are out on their private jet, or yacht for 4 months of the year? What makes them matter more than someone who's working at a strip club because it's the only thing she can do to put food on the table.

A good portrayal of this is in Les Miserables where Cosette's mother became a prostitute just so she could send $10 per week to the evil caretakers of her daughter, when she was laid off. There are so many people who are desperate like she was.

There's also this thing where we all want to think we're 'equals' in America, but do you really think your kid is equal to the kid slumming it in the bad sector of town, who might get dinner every other night if he's lucky? Who's parents have completely given up hope so yes, they do drugs - but should he suffer because his parents are fuck ups?

</comment><comment><USER14> I've found a recent government report (June, 2016) very useful in thinking about the economics of taxes and UBI. See _The Distribution of Household Income and Federal Taxes, 2013_ [1].

[1] [https://www.cbo.gov/sites/default/files/114th- congress-2015-...](https://www.cbo.gov/sites/default/files/114th- congress-2015-2016/reports/51361-HouseholdIncomeFedTaxes_OneCol.pdf)

</comment><comment><USER15> As a Canadian entrepreneur I worry that mincome/basic income will serve to knock the wind out of the sails of many innovators and entrepreneurs who, like me, are currently DRIVEN to work hard, research, push the industry along and crank up competition.

I would much, much rather work hard, earn more money, and feed my neighbour - than have no hope of digging myself out of my situation no matter hos hard I worked, being taxed, and then myself being supported by taxes I lost after they've been spread around.

Rigt now I see a need and want to help by helping to educate entrepreneurs on how to make more money, when I see somebody trying really hard to succeed that makes me WANT to invest anything I can in their success. But the moment people want to pillage my profits Im finding greener pastures. I dont think Im alone in this - if mincome is a big tent that relies on a few strong tentpoles to hold it up and cover everybody - those tentpoles are hard working entrepreneurs. If mincome ever becomes a reality those tentpoles will leave and what was a tent sheltering and protecting people will collapse and suffocate all left inside.

<comment><USER16> Most of the reports I've seen have stated that actually, it works the other way around. That the vast majority of people who go into entrepreneurship only do so if they have money to fall back on, one way or another, should their business fail. So by that logic, basic income should actually significantly increase the likelihood of entrepreneurship, because while mincome will still be low enough that people will want to work, it will be high enough to remove the barrier to entrepreneurship of: "but if this idea doesn't work out, I won't be able to eat"

<comment><USER15> Maybe on paper, or in theory.

In my life I'm not ashamed to say it was the hunger of having nothing, no safety net, and having no job that STILL drives me today. That fire that got started when I had bills and no money is still burning strong today.

But I worry if theres too mucb cushion perhaps I would have not hurt as bad, and ever achieved what Ive accomplished since then.

<comment><USER17> > In my life I'm not ashamed to say it was the hunger of having nothing, no > safety net, and having no job that STILL drives me today.

Canada is a first-world country, and like all first-world safety nets, hasn't had "no safety net" for quite a long time (even the US, which has a fairly weak safety net for a first world country, especially given its relative per capita wealth and income, has had significant social safety nets for a long time.)

<comment><USER15> Yeah, I applied for Employment Insurance (EI) one time when I got laid off and, though approved, no cheque ever arrived so I still had to make do without it. The second time I found myself in a tight spot I didn't qualify for Employment Insurance - so even though I have paid into it, when I needed it it wasn't there for me.

</comment></comment></comment></comment></comment><comment><USER18> It's extremely counterproductive to, as the article puts it, "take the question of the moral quality of the poor off the table."

The fact is that a large amount of poverty is directly correlated with "moral quality". Most poor people in the US (maybe Canada is different?) have low "moral quality", which I define as engaging in behaviors that are likely to keep a person poor. These behaviors include not seeking work [1], substance abuse [2], single motherhood [3] and crime [4] (including crimes with no economic motive such as intimate partner violence).

There are direct causal relationships between all of these behaviors and poverty. Not seeking work will result in not having a job, drug abuse will make you lose your job, and having no job makes you poor. Etc.

Why would we want to take the _primary cause of poverty_ off the table if our goal is to solve it?

It's almost as if this guy's primary goal is to create a vote bank of government dependents rather than reduce poverty.

[1] [http://www.census.gov/content/dam/Census/library/publication...](http://www.census.gov/content/dam/Census/library/publications/2015/demo/p60-252.pdf)

[2] [http://www.samhsa.gov/data/sites/default/files/2013MHDetTabs...](http://www.samhsa.gov/data/sites/default/files/2013MHDetTabs/NSDUH- MHDetTabs2013.pdf) [https://www.nber.org/chapters/c11165.pdf](https://www.nber.org/chapters/c11165.pdf) [http://www.cdc.gov/vitalsigns/adultsmoking/](http://www.cdc.gov/vitalsigns/adultsmoking/)

[3] [https://www.amazon.com/Promises-Can-Keep-Motherhood- Marriage...](https://www.amazon.com/Promises-Can-Keep-Motherhood- Marriage/dp/0520248198/ref=sr_1_1?ie=UTF8&qid=1323532894&sr=8-1) [http://www.economics21.org/html/great-gatsby-curve- revisited...](http://www.economics21.org/html/great-gatsby-curve-revisited- part-1-755.html#.U8KmDXV53UY)

[4] [http://www.bjs.gov/content/pub/pdf/hpnvv0812.pdf](http://www.bjs.gov/content/pub/pdf/hpnvv0812.pdf)

<comment><USER19> I think this is a super simplistic view. You're basically saying: Bad decisions leads to being poor. Not a single person is under the impression that all poor people made good decisions. Of course there is a causal relationship! But it's much more complicated than that. Some people are poor because they were born physically disabled, or mentally disabled. Some people got sick and lost their job and savings. Some people are poor because they're taking care of loved ones. Not all women choose to be single mothers. And many people living in poverty have jobs.

The causal arrow also goes in both directions. Does a poor man on the street, with no shower, no transportation, no cell phone, and barely enough money in his pocket to eat, really have the ability to seek work? Does a poor man on the street have any reason to worry about the problems of substance abuse? Does a poor man on the street worry about going to jail for a while?

I'm not even sure what you're suggesting though. It sounds like you're suggesting that we should continue shaming poor people as an effective means to prevent poverty. You don't think absolute desperation and lack of safety, security, health, and food, is enough of a motivation? You think shaming works? I don't get it.

None of these ideas even matter though. With basic income, what matters is the end result for a society. Maybe life isn't just better for the poor people, but maybe it's better for you too. Maybe more poor people end up being functional members of society. Maybe you end up safer, healthier and happier in a society with basic income. Maybe people still want to work. Maybe there are more entrepreneurs. Maybe a basic income system is necessary for our society to function in the future. There are a lot of indications that this is the case. This is why we need to do basic income studies.

<comment><USER18> _Does a poor man on the street, with no shower, no transportation, no cell phone, and barely enough money in his pocket to eat, really have the ability to seek work?_

Yes. Hundreds of thousands of people manage to do this even with the additional hindrances of _no tengo permiso de trabajo_ and _no hablo Ingles_. But I'm sure that those illegal Mexicans are suffering from privilege, unlike the white man born into a country where welfare benefits usually exceed the mean GDP/Capita of Mexico.

The book Scratch Beginnings is well worth a read: [https://www.amazon.com/Scratch-Beginnings-Search-American- Dr...](https://www.amazon.com/Scratch-Beginnings-Search-American- Dream/dp/0061714275)

 _I 'm not even sure what you're suggesting though. It sounds like you're suggesting that we should continue shaming poor people as an effective means to prevent poverty. You don't think absolute desperation and lack of safety, security, health, and food, is enough of a motivation?_

Apparently not.

 _You think shaming works?_

No, I think ignoring the cause of the problem is not a road to a solution.

 _Maybe a basic income system is necessary for our society to function in the future. There are a lot of indications that this is the case._

I have yet to see even a back of the envelope calculation suggesting these benefits will occur.

<comment><USER20> I appreciate you taking BI supporters who are unable to rationally justify their positions to task.

</comment></comment></comment></comment><comment><USER21> A basic income isn't meant to be progressive or recessive; that's the point.

</comment><comment><USER22> > Mincome was not unlike the un-stigmatizing benefits that can come at tax > time

Why is it purposefully difficult to read.

This is the mental effort that I have to go through.

1\. Ok so not and unlike, let's say the cancel each other out. Not dissimilar can become similar.

2\. un-stigmatizing, does this mean that it's just not stigmatizing or that it is removing a stigma?

2a. "mincome is lacking stigma, similar to tax time benefits"

2b. "mincome removes a stigma, similar to tax time benefits"

edit:format</comment>


AMD Threadripper 2990WX 32-Core and 2950X 16-Core Review - <AUTHOR> https://www.anandtech.com/show/13124/the-amd-threadripper-2990wx-and-2950x-review <comment><USER2> The biggest benefit I've found to running a 1950X isn't something I would have expected, but which perhaps I should have. True, it's much faster than my old system for batch processing, but most of the time it's still idle. Even if it's running Chrome flat-out, as far as the 1950X is concerned, that's idle.

Because the two NUMA nodes are ~entirely independent, it's capable of running two independent processes at _full_ speed. In practice, that means lower latencies and less jitter, and it's been noticeable. Folklore would have it that single-thread performance is the most important aspect of desktop performance, but that isn't what I've observed.

...it's also useful when I, e.g, decide to run a Factorio server on my desktop.

<comment><USER3> > Because the two NUMA nodes are ~entirely independent, it's capable of > running two independent processes at full speed.

I don't understand. From my (admittedly little better than layperson's) knowledge, I'm guessing the cores of most multicore processors have to compete for memory access...? Is there a good search term I can use to help me understand what's going on here?

<comment><USER4> There are 2 dies in the 1950X, each one has 2 memory channels. Thus, it's possible to run a process on one (8-core) die that maxes out the memory bandwidth to it's two local DDR4 channels while the other die still has full bandwidth access to it's own DDR4 channels.

Threadripper is able to switch between NUMA (non-uniform memory access) mode and "regular" mode. In NUMA, the OS knows that 2 channels are attached to 1 die and 2 channels on the other, thus allowing lower latencies because the OS knows what RAM to allocate based on which core the process is running on.

<comment><USER5> As a bonus, if you are explicitly NUMA & the OS/code does a good job, there's little line contention or resource sharing (e.g., caches) between die.

<comment><USER2> I found a significant performance benefit to keeping NUMA turned on when running Linux, for basically every workload.

For Windows, it is the other way around. I hope they'll improve their NUMA handling, but I'm not holding my breath.

The Linux kernel is clever about this. You can get some idea of what it does by looking at numactl, which lists the various scheduling modes -- though in practice the kernel does a great job without any user overrides, and actually _using_ the command is likely to slow things down.

Which is not to say that it can't occasionally be helpful, if you're trying to optimize the speed of a single thread. At a minimum, you can choose between optimizing for bandwidth (interleaving data on all four memory channels) or latency (putting everything in the local node). Usually you want the latter.

</comment></comment></comment></comment></comment><comment><USER6> It seems performance under Linux is significantly better: [https://www.phoronix.com/scan.php?page=article&item=amd- linu...](https://www.phoronix.com/scan.php?page=article&item=amd- linux-2990wx&num=1)

<comment><USER7> I wonder if this comes down to Linux being more adept at handling "exotic" NUMA configurations compared to (desktop) Windows. Even if the "server" editions of Windows could handle them Microsoft may have left that functionality out of the "desktop" kernels for product segmentation purposes.

<comment><USER6> There are now Windows server benchmarks available as well (it's just as bad) : [https://www.phoronix.com/scan.php?page=article&item=windows-...](https://www.phoronix.com/scan.php?page=article&item=windows- server-2990wx&num=1)

</comment></comment></comment><comment><USER8> It seems that they left the plastic cover for at least some of the benchmarks [1]. I can imagine that would limit performance since the CPU would be throttling itself down to keep cool.

[1] [https://www.anandtech.com/comments/13124/the-amd- threadrippe...](https://www.anandtech.com/comments/13124/the-amd- threadripper-2990wx-and-2950x-review/611648)

<comment><USER9> You think they'd either pull the review or place a disclaimer at the start about this, but I agree with what you're thinking (throttling).

<comment><USER10> Ian re-ran all of the affected tests after discovering the mistake, but he also kept the data for later analysis. Those results aren't in the review yet.

<comment><USER8> Fair enough, mistakes happen but the comment didn't make it very clear which benchmarks were included.

"Me being an idiot and leaving the plastic cover on my cooler, but it completed a set of benchmarks. I pick through the data to see if it was as bad as I expected"

<comment><USER10> > but the comment didn't make it very clear which benchmarks were included

It made it perfectly clear. You were reading from a list of what wasn't in the review yet: "But here's what there is to look forward to:"

</comment></comment></comment></comment></comment><comment><USER11> Two additional benchmarks I like to see from Anandtech:

1) some VM base tests for these kind of CPU - 32, 64, 128 VM all running some kind of web/db/redis benchmarks inside.

2) Some compilation testing - time the clean build of AOSP, BSD, some very complex linux app - use max jobs setting for parallel compile and time how long it take to finish the jobs. ( measure the over CPU usages at the same time. )

<comment><USER12> Phoronix had it compiling the Linux kernel in 32 seconds, compared to 37.5 for the 7980XE.

<comment><USER13> Link [https://www.phoronix.com/scan.php?page=article&item=amd- linu...](https://www.phoronix.com/scan.php?page=article&item=amd- linux-2990wx&num=6)

</comment></comment></comment><comment> nv-vn It's funny to me how much range there is in these tests. Some of these are seemingly backwards with better CPUs ranking so much worse and some look completely random. But wow, the performance on these new TR chips is just insane. Never would've guessed that AMD would be this competitive a few years ago, especially not on the CPU front. Looking forward to the upcoming 7nm launch, can't wait to see what's in store.

<comment><USER14> The test results on Phoronix paint a rather different picture (i.e., the 2990WX being consistently and _markedly_ faster than any other tested processor).

My initial gut feeling reading the results on Anandtech is that Window's scheduler may not be able yet to exploit the processor's architecture effectively.

<comment> Tuna-Fish 2990WX has a very complex NUMA architecture that costs it a lot of performance if the scheduler doesn't get things right. Linux has been running on and has been heavily optimized for even more complex NUMA systems.

<comment><USER15> I'm eager to see the AIDA64-fpu or any other scientific calculation benchmark on linux, as it is the area where the i9 seems to dominate the TR. Sadly, the few benchmarks I've found were on win10.

</comment></comment></comment></comment><comment><USER16> > After core counts, the next battle will be on the interconnect. Low power, > scalable, and high performance: process node scaling will mean nothing if > the interconnect becomes 90% of the total chip power.

I think this means that scaling processors to more cores (nodes) in a lightweight-NUMA scheme just isn't going to work.

My guess going forward is that the core counts will stay at the current level for quite a while, and that both AMD and Intel will optimize the heck out of their interconnects, using most power budget gains to bolster the actual cores.

<comment><USER17> I was hoping they would at least make a passing reference to Amdahl's Law.

As you optimize one part of the system so that it is blazingly fast or lower power or whatever, then the amount taken up by the rest of the system increases proportionally.

(In other words, real performance wins happen gradually as all the parts receive their own little optimizations which add up.)

<comment><USER18> Sounds a lot like how to play factorio.

</comment></comment></comment><comment><USER19> The Chromium compile being faster on 16 cores than 32 cores is pretty weird, given how embarrassingly parallelizable that should be. Wonder if it's out of memory, or if the bottleneck is actually linking.

<comment><USER20> The Chrome compilation looks really strange indeed, especially with having the results from Phoronix on Linux which show that it's the fastest compiling the Linux kernel. I wonder what kind of Chrome build it's doing - does it use Clang-cl or Visual C++? Does it have LTO (LTCG for VC++) enabled? If it's VC++ with LTCG, for example, the entire code generation and linking is limited to 4 cores by default.

<comment><USER21> It's Chromium 56 with the default Chromium build-chain.

At that point, Chromium required Visual Studio 2015 Update 3 or later. Anand use VS Community 2015.3. IIRC, by default it doesn't have LTCG enabled.

By default, release builds are almost entirely statically linked (with a few shared libraries, platform dependent), which makes linking time pretty significant. As a result, it ends up more as a linking benchmark than a compilation benchmark.

<comment><USER20> Ian Cutress replied on the article comments that LTCG is indeed used. With LTCG those strange results make sense - it's spending a lot of time on just 4 threads by default - actually majority of the time is on one thread for the Chromium case, it hits some current limitations of the VC++ compiler regarding CPU/memory usage that makes scaling worse for Chromium (but not for smaller programs or with non-LTCG builds). Increasing the number of threads from the default of 4 is possible, but will not help here. The frontend (parsing) work is well parallelized by Ninja, it's probably the reason why the Threadrippers do end up ahead of the faster single-core Intel CPUs.

</comment></comment></comment></comment><comment><USER22> Honest q: What home-use workstation would use 32 cores? (Excluding home labs or servers).

<comment><USER23> For compiling, having many cores is fantastic. Granted, on a workstation, compilation normally just involves a few files (the ones that have changed since the previous build and their dependencies), but when you have to do a full rebuild, it is fantastic to be able to do `make -j16` and watch it chug through 16 files simultaneously. Interestingly, the benchmark in this review shows that the 16-core 2950X compiles Chromium faster than the 32-core 2990WX, presumably this means something other than the thread count becomes a bottleneck after 16 threads or so.

<comment><USER24> "this review shows that the 16-core 2950X compiles Chromium faster than the 32-core 2990WX, presumably this means something other than the thread count becomes a bottleneck after 16 threads"

The article mentions that, due to the die packaging, only 16 of the cores have direct access to RAM. So for the 32-core version, half the cores are memory- starved and have to go through the 'connected' cores (also impacting these), while the 16-core version doesn't have that problem and can be at 100% for all process loads.

<comment><USER25> Might memory access model (UMA vs NUMA) play a role here? AFAIK the TR2950wx has configurable model (can be configured to work in either uma or numa mode) whereas the 2950x only has one mode (can't recall which one at the moment)

<comment><USER26> It's the opposite, the 2950X can be configured in (fake-)UMA ("distributed" mode in AMD's terms) or NUMA mode but the WX chips are NUMA only.

</comment></comment></comment></comment></comment><comment><USER27> It is interested that the review is not yet finished. The author writes in the comments section:

 _Hey everyone, sorry for leaving a few pages blank right now. Jet lag hit me hard over the weekend from Flash Memory Summit. Will be filling in the blanks and the analysis throughout today._

I am disappointed in that, as I was looking forward to reading the test setup and power draw sections, as I have a 2990WX on order, and I'm dithering over what motherboard to get (I'd prefer an older one, which matches the features that I want better... eg, clear support for ECC and no bling) but there is some concern that older motherboards will be too close to the edge in terms of the power draw of the 2990WX.

<comment><USER28> Shouldn't they not publish until the review is done? This is really unprofessional - even bloggers have the concept of "only publish finished drafts" or use the scheduled publishing feature that all blogging platforms have nowadays.

<comment><USER29> In the PC hardware space there is a big push to have something out by the embargo since that's when 80% of the traffic is. It's unfortunate, but I'd rather have an incomplete article than an inaccurate or shallow one. I'd rather have a review posted too soon than no more Anandtech.

</comment></comment></comment><comment><USER30> Cores without memory channels being useless: Unsuprising. Interconnect power, that was a big suprise. Would we be able to get some kind of comparison between this on die interconnect approach and multi-socket power consumption? Two things seem apparent: Multi socket would have fewer thermal issues, but also lower inter-socket performance.

For raw performance though, I would guess we will see some rather extreme cooling actually becoming more mainstream in future in the workstation space.

</comment><comment><USER31> This is the perfect chip for continuous, low-memory number crunching. For everything else... not so much. I mean, this chip consumes 74W when idle, of which almost 90% are spend on the interconnect. That's insane. Most important bit in the review for me:

"After core counts, the next battle will be on the interconnect. Low power, scalable, and high performance: process node scaling will mean nothing if the interconnect becomes 90% of the total chip power."

<comment><USER32> Why do you say low-memory? I got the opposite feeling. I've been drooling over EPYC and TR2 ever since they released the specs for my memory bandwidth limited projects.

<comment><USER26> The NUMA configuration on TR2 results in two 8-core CCX's without direct memory access, so you still "only" have four memory channels and half the cores have to hop over the infinity fabric to access any of them.

</comment></comment></comment><comment><USER33> I wonder how many of these tests (if any) are limited by bad multithreading patterns (see: [https://www.arangodb.com/2015/02/comparing-atomic-mutex- rwlo...](https://www.arangodb.com/2015/02/comparing-atomic-mutex-rwlocks/)).

</comment><comment><USER34> I would love AMD commercials using Judas Priest's "The Ripper" [1] as music for selling those beasts! :-D

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

</comment><comment><USER35> As a long time Gentoo user, switching to even a Ryzen 7 1700 was a big difference, @world recompiles in ~8 hrs instead of 24+ hrs on 4C/8T CPUs.

</comment><comment><USER36> Is there any board that allows 256GB ECC RAM for Threadripper 2? So far for TR I've seen only 128GB; for more EPYC was necessary.

</comment><comment><USER37> How many cores must a CPU have until it's competitive with GPUs? Those beasts could pretty well open the hell-gates to fully interactive raytracing soon, or not so much? Of course am not expecting THIS processor to be competitive, but with the interest in raytracing, things might get interesting if this trend of more CPU cores keep on piling up.

<comment><USER38> Not a chance. By the time you get there, GPUs would do it (much) faster. Not to mention that GPUs are likely going to get specialized cores for raytracing (see RTX).

</comment></comment><comment><USER39> Will there be motherboards to fit two of these chips like in my current dual 6-core Xeon? 64 cores / 128 thread in a single workstation would be insane, and fit in very nicely with my lab :)

<comment><USER40> Dual socket setups are limited to the EPYC line of processors where 64 core/128 thread setups are already possible.

</comment></comment><comment><USER41> This looks like a nice part for a server</comment>


Piping Botnet – Turning Green Technology into a Water Disaster - <AUTHOR> https://arxiv.org/abs/1808.02131 <comment><USER2> >> creating a new attack vector against critical infrastructure

Just because you've never thought of it before, doesn't mean it's new. It's long been assumed that foreign agents have access to critical infrastructure systems in the US. Who cares about a hacker emptying a water tower when some have the ability to cripple power grids and overload power plants? Although I do get a chuckle out of thinking about a hacker being malicious by watering peoples yards.

<comment><USER3> Are you arguing that losing electricity is a bigger problem than running out of water?

</comment></comment><comment><USER4> So... information leakage may lead to literal water leakage.</comment>


Hackers Guide to Beginning Meditation - <AUTHOR> http://hackerhmb.tumblr.com/post/42240064528/hackers-guide-to-beginning-meditation

<comment><USER2> I get this question occasionally from people visiting VOW of NOW: <http://vowofnow.com> and even a vow taker who jumped right in then started asking questions, and this is probably the best and clearest directions I found on how to meditate.

<comment><AUTHOR> Thanks for the feedback. Feel free to link to the post form your site! Its an interesting idea.

</comment></comment><comment><USER3> I recently wrote a guide on this, too: [http://fendrich.se/blog/2013/01/24/pre-programming-mental- si...](http://fendrich.se/blog/2013/01/24/pre-programming-mental-silence- meditation-with-entrainment/)

</comment><comment><USER4> This is an awesome guide! thanks!</comment>


South Korea to Digitize Entire Curriculum by 2015 - <AUTHOR> http://www.bbc.co.uk/news/business-15175962

<comment><USER2> So california teacher's union want's to ban digital classroom tech at the same time Korea as a country is pushing into it full speed ahead. Calafornia teacher's are worried about themselves and their jobs, Korea's are worried about giving their kids the best education they can.

Which system do you think is going to prosper in the decades to come?

<comment><USER3> Taking the wishes – negative or positive – of one group of people and extrapolating them to condemn or praise a society is a dangerous strategy.

</comment></comment><comment><USER4> Y'know, for a random BBC news article, that was pretty well written, and set out pretty well the advantages and disadvantages of these sorts of things.

I strongly reckon that the best way to learn anything is in a one-on-one conversation with an expert. The second best way, I've always thought, is a small interactive lecture where you can ask questions. The third best way is with a well-written book, and the fourth best way is in a non-interactive lecture.

However, I can see that there's an opportunity for a new second-best option just below the one-on-one conversation with the expert, and that's one-on-one interaction with software that simulates an expert. (An infinitely patient expert, in fact.) It can explain something to you, test your knowledge of it, and if you don't understand it then it'll go back and explain it again. A really well written teaching system like this could make learning things _far_ easier than it currently is.

Writing these sorts of things, though, is incredibly difficult. I may be an expert on certain subjects, but I can't anticipate all possible lessons in advance. It would be a huge time and money committment to put such a lesson together -- you'd write it, test it, improve it, and slowly get to the point where it really worked well. In order to make this worthwhile, you'd need an assurance that the lesson, once finished, would be widely used for some time to come.

<comment><USER5> You have to do a lot of practice and prep work before you talk with that expert, and all of the time in between. Khan's (of khan academy) cousins started preferring his youtube recordings vs his live tutoring, because it's far more flexible. I think the best combination are recordings, automated drill software and tutoring when you need it with no social or official penalty.

<comment><USER4> Right. One-on-one lessons are the most efficient way to learn things, but not necessarily the most practical, because experts generally don't have infinite patience for stupid questions. If I were Unquestioned Emperor Of The World, I'd learn everything from calling the appropriate expert into my office, but as it is I can only do this sometimes.

Still, I'm often amazed by how long I can spend trying to understand something tricky in a book, and how quickly I can get un-confused as soon as I start talking to someone who really understands it.

</comment></comment></comment><comment><USER6> I just feel sorry for the kids, that, they have to use a notebook or something to read is just painful. They should have limited the thing to e-ink(tm) tablets to make it easy on eyes that are vulnerable to myopia.

</comment><comment><USER7> I think it should be eink screen.</comment>


Ask HN: Best Firefox phone to get? - <AUTHOR> Anyone using firefox phone as your main phone? Do you like it? Which phone would you recommend to get (assuming price is not an issue)? <comment><USER2> Don't go with ZTE Open, its the worst phone. Best advise wait for the new models that are being released this year. If you don't want to wait you can get the following models:

* Geeksphone Revolution - the most powerful phone but its running on a x86 architecture and the port is done by Geeksphone, even though they released three new updates already there are still bugs.

* Alcatel One Touch Fire - great phone and is unlockable with some exploits. Better than ZTE Open IMHO.

* LG Fireweb - better specs than the ZTE Open and Alcated OT Fire but its as locked as fort knox regarding the bootloader. You will not be able to flash your own device. If that is not a problem then its a great device.

* Geeksphone Peak - the second highest spec. Larger resolution than most retail devices and CPU but I think the battery drains too fast, I'd rather use Revolution.

* Geeksphone Keon - The standard developer phone for Firefox OS. Wonderful tiny device, the screen sux but the specs are better than the ZTE, Alcatel and LG.

My recommendation is to wait for the flame:

[https://developer.mozilla.org/en- US/Firefox_OS/Developer_pho...](https://developer.mozilla.org/en- US/Firefox_OS/Developer_phone_guide/Flame)

I have all the phones above. My daily driver is the Geeksphone Revolution and I've used the Fireweb and Alcatel daily before that. The Peak would drain too fast.

Disclaimer: I am a Mozilla Rep and member of the Brazilian Firefox OS Launch Team. If you're interested in developing apps for Firefox OS I've authored a free and open book about it available at:

[http://leanpub.com/quickguidefirefoxosdevelopment/](http://leanpub.com/quickguidefirefoxosdevelopment/)

I will hang around this topic if anyone has questions.

;-)

<comment><USER3> If you are a Mozilla rep, you probably want to delete this post or at least remove your overtly critical language. Hardware manufactures invest a lot of resources trying to build for your platform. They are your customer. Insulting them is not good business..

<comment><USER3> Lol, down voted. Weak, HN, very very weak. This guy could lose his position over that post and I was just trying to help him (maybe it's just a volunteer thing, though).

If he was at our company, he would have been fired in a heartbeat. Publicly insulting partners like that? Yikes..

<comment><USER4> FWIW Mozilla reps generally aren't employees, but are part of the wider Mozilla community [1].

[1] [https://reps.mozilla.org/](https://reps.mozilla.org/)

</comment></comment></comment></comment><comment><USER5> Most people here are giving suggestions without owning any Firefox phone.

I actually bought one when i was in Mexico. I tried to see them but even finding one to buy is difficult. See in mx and most other countries without heavy regulation, telefonica from Spain owns the market. And usually they have a shell company as competitor to avoid a mother bell like monopoly. In Mexico the shell company is movistar, the one that sells Firefox phones. Now, they spent millions advertising it. But any store i entered i was told they,never had it for sale. after 20 days and more than 50 stores i finally found one in the shady downtown area were you can buy most imported electronics without tax... The store was inside a parking lot, had 4 full time employees and had a total of 5 phones that they could sell (if that's not the point of sale of a shell company i don't know what it is) but one of the phone was a touch fire. So i bought it.

it was ffos almost stock, albeit and older version, there is zero new features from 1.1 to the bleeding edge 1.4... One nicety was offline gps app right out of the box. That beats any ios or Android phone.

Now for using the phone.. It's impossible because it is slow and crash all the time.

The only reason anyone would use one as their main phone is if said someone already compiled the emulator and wrote all the applications he thinks he will write when getting the phone. Until you do that, avoid getting the phone. I use mine just to see how slow a site with too much js would be

<comment><USER2> Hey, there are LOTS of new features from 1.1 to 1.4. Heck there are new APIs available, advancements to all the rendering stuff...

I am a mobile app developer. I have all platforms in here and I use Firefox OS as my daily driver. I get angry sometimes and things do not work as expected or when I see a bug but dogfooding is a great way to recognize points where you need to improve and then work on it.

I haven't seen a FXOS phone crashing all the time. They can be perceived as slow if you're used to high end devices but their performance still great when compared to entry level device.

Also Movistar is not a shell company. Its present in many countries in South America. Telefonica owns many telcos such as Movistar and VIVO.

I have some Alcatel phones in here, most of them running 1.1 and one running a nightly build of 1.3. They are working as expected and they used to cost USD 75 here for a while at the same time the cheapest Android was USD 150.

But as I said above, there are still features needed and believe me 1.3 is much better than 1.1 regarding performance. I hope with the new devices and new OS we can make a better impression on you. As for 1.1 on that device, lots of people migrated from their feature phones and are pretty happy with the purchase.

<comment><USER5> yes, the rendering stuff is nice. i agree wholeheartedly... i'm using 1.4 on that phone since i got it, btw.

but for daily use, there is absolutely nothing new that deserves mention.

</comment></comment></comment><comment><USER6> I have the ZTE phone to play around with - I got it this past fall just for kicks. It's a great phone for the price, but that's also a very low price point.

FirefoxOS is 'ready' for prime time use if and only if you have relatively low requirements of your phone. It can do most basic tasks by virtue of the fact that it uses mobile websites as if they were native apps, but the experience is not yet comparable to Android.

I think it will get there soon, but right now I would only get one if you are very comfortable being an incredibly early adopter, and understand what kind of adjustment that requires on your part.

<comment><USER7> Have you upgraded it past the initial build? If so, how far have you gotten?

<comment><USER8> I personally have been able to get it all the way up to 1.4 on my ZTE Open. It's a mess to do, you need to build the OS from source then splice it into the boot file provided by ZTE and edit some init scripts. It runs perfectly fine after that but I can't comment on stability since I only use it for app testing

</comment></comment></comment><comment><USER9> I've been using ZTE Open as my main phone for almost 2 months now. The cost isn't very high, but it does typical phone stuff. I've upgraded my FirefoxOS to 1.1 from the original 1.0. I also tried using 1.2 but there was a problem with the virtual keyboard where the keys doesn't adjust to lowercase so I reverted. ZTE Open doesn't have a really good hardware, but you get what you've paid for. It's really good for browsing the web, but doesn't do good with pages that have really heavy JavaScript.

Apps are pretty much limited, but it's a pretty new platform so we'll just have to wait (or code it ourselves). I don't usually erase SMS and I think it causes a bit of a lag when having tons of messages in your inbox. There will be a slight delay when creating messages if that is the case.

Calls are pretty decent, sometimes though, there's no sound in a call and have to stop the call and redial. I'm not sure if it's because of network problems or because of the phone.

There's this feature about sound issue in FFOS, where it "cares" when you've been listening in full volume and using earphones and automatically turns the volume down. I don't like it pretty much, but it's neat.

Also, there's still no copy-paste in FFOS 1.1.

All in all, I'm still using my ZTE Open, it's does the basic stuff but it might not suit you if you're used to IPhone and Android phones. I haven't tried other FFOS devices but if I were you, you can hold it for a while and wait for new devices to be released.

</comment><comment><USER10> There are no high-powered phones yet. You may quickly get frustrated trying to use the existing devices as your main phone.

I have the geeksphone version with the resistive touch screen, and it isn't a fun experience (yet). I would suggest waiting a while.

</comment><comment><USER11> It's a shame there isn't a "Firefox OS" app for Android, that basically acts as if it _was_ the OS for the phone.

That way you could try it out without having to throw away your existing install/apps. There's no reason it couldn't be installed as the launcher, and take over running everything on the phone. I assume that that would be a fair amount of extra work though.

<comment><USER12> This really is not trivial. Firefox OS runs on the same fork of Linux as Android but does not have any of the Dalvik bits.

There is Firefox for Android, you can go to [https://marketplace.firefox.com](https://marketplace.firefox.com) to test most apps. There are some apps that only specify manifests for Firefox OS.

The everything.me launcher may provide some of the look and feel of Firefox OS. [http://blog.everything.me/2014/02/06/mozilla-and- everythingm...](http://blog.everything.me/2014/02/06/mozilla-and-everythingme- announce-firefox-launcher-at-incontext-2014/)

<comment><USER13> Actually we could do it, it's basically "just" loading gaia's system app packaged for android web runtime. That would still need quite some work as we don't have yet feature parity on some api support. That sounds like a cool contributor project that could be mentored.

</comment></comment></comment><comment><USER14> I have a Geeksphone Keon as my main/only phone. It's not the fastest phone, but fine for my fairly light use, but I think it does have more RAM than the first-gen retail FxOS phones (e.g. ZTE Open). I don't think I'd get one of those to use as my main device.

Geeksphone provides nightly builds, and I upgraded to FxOS 1.3 about a month ago. It's been stable for and a nice upgrade from 1.1.

I'm watching/waiting for 2nd gen devices before I'll upgrade. I think these will launch with at least FxOS 1.3. Some that I noted from MWC are the ZTE Open C and Alcatel One Touch Fire S. (These are the smaller-sized phones I'm more interested in, but there are others.) I don't think these devices have been released yet.

Mozilla's reference device, the Firefox OS Flame, is supposed to be coming out soon too.

[edit: added note on nightly builds.]

</comment><comment><USER15> I'm using ZTE Open as my only phone for around 5 months now. It works for me. I have upgraded a few times, though you have to download a lot of git repos to compile the latest builds. Compiling the build takes a lot of time too. I'm running on version 1.3.

It's a good phone, enough for my needs. Sometimes background apps crash when you are using something else. This is an issue if you are listening to music while reading HN... If you use a single app at one time it works great. The phone cannot handle pages with a lot of data or JS.

ZTE Open is a good phone if your needs are low. Otherwise check out the other phones out there...

</comment><comment><USER16> I have Geeksphone's Keon which is fine if your needs are not too ambitious. I'm very happy with it but it has obvious limitations so not everyone would be. App selection is not great (but happens to be fine for me) and UI can be a bit unresponsive (you need to wait for transitions to play out). Some of this problems would probably disappear with a more expensive phone, but others wouldn't (e.g. the dialer app would still be a bit crap). Cheap phone also has a benefit of anchoring your expectations appropriately.

Still, I do like my phone a lot.

Geeksphone now sells Revolution which is not that expensive, reasonably featureful and can run both Android and FirefoxOS. I have no experience with it, but if I had to buy a FirefoxOS phone today, it would probably be this one.

</comment><comment><USER17> ZTE Open.

The good: cheap, it tethers very nicely. The bad: almost everything else.

I gave my android phone to my son when I decided to try FFOS as my only phone on the ZTE open. The hardware isn't good enough and it often lags. I can live with it since I almost always have my tablet which is wifi only.

My biggest concern is that Mozilla hasn't done a good job of providing an update path. I can live without OTA updates, but I'm not going to spend the time hunting in random websites for builds that have vague instructions to update my phone.

<comment><USER13> We are working on fixing the update situation, see [https://groups.google.com/forum/#!topic/mozilla.dev.b2g/2pnA...](https://groups.google.com/forum/#!topic/mozilla.dev.b2g/2pnAP8i92Pg)

Look at the push back I got from some people... but things will happen!

</comment></comment><comment><USER18> Guys, guys, one question…

Can I build apps for FirefoxOS without owning a phone? I mean just html/js/css using an editor and testing it on an emulator. That's the way I do android apps and I don't have a phone.

Can I? Can I?

I believe Firefox OS and html based apps are the future. I want to start building it now.

<comment><USER4> Yes, there's a simulator that you can run on your desktop computer. See [1] for instructions on installing it.

[1] [https://support.mozilla.org/en-US/kb/how-set-firefox-os- desk...](https://support.mozilla.org/en-US/kb/how-set-firefox-os-desktop- build)

</comment></comment><comment><USER19> How about installing Firefox OS on an existing android phone or dual booting?Possible?

</comment><comment><USER20> Wait until the Flame is available. It will be the reference device.

</comment><comment><USER21> i like the geekphones but the flame is far better</comment>


Efficacy of increased wind turbine rotor blade visibility to reduce birds deaths - <AUTHOR> https://onlinelibrary.wiley.com/doi/full/10.1002/ece3.6592 <comment><USER2> With a small LED picture projector you could project hawk/owl movies on those moving vanes. Birds are hard wired to detect and avoid hawks/owls, so such a project at a cost of ~~$500 per tower would help. They could even use UV LED projectors for a night viewable hawk. Just a hint would send the bird into evasion mode. Making the hawk seem to originate on the blades would optimize the evasion away from the blades. It could even run on solar?

<comment><AUTHOR> How would that work during the day?</comment></comment>