Sydney Declutters Parking Signs with E-Ink - <AUTHOR> http://www.citylab.com/tech/2015/07/sydney-declutters-traffic-signs-by-using-e-ink/399050/ <comment><USER2> Definitely could be abused.

I once parked my car on a street with no parking restriction signs anywhere. I went back to the car to get something a few hours later and they were placing signs down the street. As soon as a sign was placed, they would ticket the cars nearby. I moved my car just in time.

With this tech, they could do this at will. Probably correlated with whenever the people running the city want more money.

<comment><USER3> Don't worry, it's probably hackable as well.

Give it 6 months and someone will have modified these signs. Probably in a crude, old Nokia phone cabled to the back of the sign, method.

Hopefully it will be seen as a useful signpost (no pun intended) for the ongoing challenge of distributing digital info to an, on average, trusting public.

Don't be surprised if you see some unlimited parking in Sydney next April 1st.

<comment><USER4> I feel like that would require about as much effort as going out and replacing a non-hackable sign with a convincing homemade one.

<comment><USER5> Someone famously did this in LA:

[http://jalopnik.com/5516635/the-secret-of-las-10-year-old- fa...](http://jalopnik.com/5516635/the-secret-of-las-10-year-old-fake-freeway- sign)

<comment><USER4> A little less of a public service than your example, but I live in Vancouver and I was thinking of this when I said that: [https://en.m.wikipedia.org/wiki/Dude_Chilling_Park](https://en.m.wikipedia.org/wiki/Dude_Chilling_Park)

</comment></comment></comment></comment></comment><comment><USER6> Compared to a sign like this it's much easier to read: [http://resources2.news.com.au/images/2014/01/23/1226809/0832...](http://resources2.news.com.au/images/2014/01/23/1226809/083282-c8e11858-83bd-11e3-90a9-2f6f5b597dd3.jpg)

The big downside is when you park you don't just need to know the conditions when you park, you need to know the conditions for the entire length of your intended stay. You also need confidence that the signs will remain unchanging throughout your stay because if the signs update and you get a ticket the burden of proof is going to fall on you to prove your innocence.

<comment><USER7> Make a picture of it?

<comment><USER8> Take a picture of your car in the parking spot every time you park somewhere? Seems a little excessive?

</comment></comment></comment><comment><USER9> I work at Visionect and have helped develop the eink platform for these signs. They can be changed with whichever frequency is required, more frequently or less so (once a day etc). And while the technology is one thing, as mentioned before, good design is the one that can eliminate any confusion that people may have on how long the restrictions may last. There's more info on our website if you're interested: [http://v.visionect.com/sydney_epaper_road_signs](http://v.visionect.com/sydney_epaper_road_signs)

<comment><USER10> Oddly, that link did not render anything for me. Removing the querystring made the article appear.

[https://www.visionect.com/blog/worlds-first-epaper- traffic-s...](https://www.visionect.com/blog/worlds-first-epaper-traffic- signs)

Edits - hmm, not even that link when clicked from here renders anything. I have to manually refresh or copy and paste it to get things to show.

</comment></comment><comment><USER11> Seems like a disaster waiting to happen.

Park car, read sign: cool to park here.

Return to car with ticket, read sign: no parking, huge fine.

It's like those quick change speed limit signs the evil sheriff from the dukes of hazard would put up to generate speeding tickets.

<comment><USER4> It doesn't seem like it would bode well for a city to be purposefully and maliciously scamming the residents through parking fines. The current method of obfuscation and confusion with legal deniability would probably work better legally. It would be pretty easy to prove in court that the signs were changing at incorrect times also.

<comment><USER12> > It doesn't seem like it would bode well for a city to be purposefully and > maliciously scamming the residents through parking fines.

You haven't spent much time in San Francisco, have you? The parking violation system is corrupt, mobbed up, malicious, and I'm amazed that there hasn't been an axe-handles and pitchforks style fix to it.

</comment></comment></comment><comment><USER13> The company that provided these (Visionect) also sells affordable e-ink developer kits [1]. The best part is that you can build apps in plain HTML, JavaScript and CSS.

Disclosure: I worked with Visionect a few years ago to develop an e-ink restaurant menu.

[1] [https://www.visionect.com/development_kits](https://www.visionect.com/development_kits)

<comment><USER14> Got me excited there for a minute until I checked the price. I can't help but think this is way over-priced. The 6" DIY kit from Visionect is ~$600.

The latest 6" Kindle with WiFi is ~$80 (on Prime Day it was going for ~$50). Given that it has WiFi and there are some Jailbreaks for Kindle you could get a Kindle to do this same thing. If you want better contrast you could upgrade to the Kindle Paperwhite for $120. That's anywhere from 8% to 20% of the cost of the Visionect system.

EDIT: Turns out the Kindle can do quite a bit including running a web server, web browser, SSH and much more so this should be easily doable.

[1]: [http://www.mobileread.com/forums/showthread.php?t=128704](http://www.mobileread.com/forums/showthread.php?t=128704)

<comment><USER13> You do know that the Kindle is subsidized by book sales, right? That and the fact that Amazon has both economies of scale and a zero-profit/market- domination strategy.

The Visionect kit is cheaper, more capable and better supported than comparable dev kits.

<comment><USER15> The Kindle might be subsidized in a general sense, but Amazon does not sell the devices at a loss. The base hardware cost is roughly equal to the selling price.[0] I would expect something similar from a barebones developer kit.

[0] [https://www.mainstreet.com/article/exclusive- amazon-s-79-kin...](https://www.mainstreet.com/article/exclusive- amazon-s-79-kindle-touch-costs-84-make)

</comment></comment></comment></comment><comment><USER16> Pipe dream: municipalities make parking permission data available over an API, app makers create an app that shows you the current rules for your location, you can figure out the situation at the push of a button and the data provided is legally binding.

<comment><USER17> Why would any municipality want this? The aim is to raise revenue and making it easier for people to avoid a fine is not going to help revenue.

Pipe dream 2: The populace rises up and refuses to pay any fine unless the data is available via an API and legally binding.

<comment> jon-wood Despite conspiracy theories its more likely that the aim is to avoid congestion at peak times, and control demand for parking, but hey, its a government policy, so has to be evil by default. Everyone should just be able to do whatever they like, and let the free market economy ensure only the rich live well.

<comment><USER17> Making such information is not going to affect any of the purported reasons for having parking restrictions it will only reduce the risk that someone will park somewhere by accident. If anything making the parking restrictions clearer and more accessible can only reduce the level of congestion since people won't be parking somewhere they should not by accident. The only thing affected would be revenue.

</comment></comment></comment></comment><comment><USER18> I haven't been able to find much more information apart from the press release at

[http://www.digitalsignageconnection.com/australian-road- and-...](http://www.digitalsignageconnection.com/australian-road-and-maritime- services-installs-traffic-signs-electronic-ink-850)

From what I can see, nothing specifically states that the signs are intended to be changed extremely frequently, nor that the information displayed is strictly for _right now_.

With good design and usage, issues like not knowing if you will be able to park in the signposted area in two hours time become less likely. The ability to change the signs frequently doesn't mean that they will. The examples shown tended to be things like

* No parking during Sunday markets

* No parking from 3pm - 11pm on a special event day

Obviously these _could_ be abused, or used poorly, but I wouldn't say that they are bad because of that fact.

</comment><comment><USER19> Would've thought it'd be better (and cheaper) to implement this:

[http://priceonomics.com/a-designers-war-on-misleading- parkin...](http://priceonomics.com/a-designers-war-on-misleading-parking- signs/)

<comment><USER20> Neither solution seems much better than what we mostly have already.

<comment><USER21> Yeah, in either case, I'm still confused. The e-ink one shows examples that are confusing. The one linked to here in the comments shows a designers attempt at packing all that information in.

The reality is, I want to know one thing: How long can I park here.

Maybe the length of time is 0 (No parking). You show: No Parking.

Maybe it's for the next 4 hours: Parking 4 Hours Remaining. Or maybe you put the time when it ends: Parking until 6 AM.

Maybe it's only for people with tag 13-A: Parking 13-A Only.

Either you can park someplace, or you can't. You can have the complete rules if people want to plan ahead, but they shouldn't be what people need to read while driving around trying to find a parking spot.

</comment></comment></comment><comment><USER22> I seriously don't understand why such complicated parking rules are needed to begin with? I can understand a single (e.g. 9-5) set of times for Monday through Friday and a separate one for the weekend, but such more complex ones as I see it serve no real purpose other than ticketing people who have trouble interpreting the signs.

<comment><USER23> Because curb space in an urban environment is a very limited resource and the city government determines how the competing interests are going to share it.

One set of signs I pass rather often in Seattle looks (and probably is) complicated, but the reasoning behind it makes some sense. It is against a yellow-painted curb and says:

\- No parking 6a-9a / 3p-7p except Sat/Sun/Hol

\- 30-minute loading only 9a-3p / 7p-10p except Sat/Sun/Hol

\- 3-minute loading only 9a-11a Sun

\- <\----- No parking

Why? The adjoining property is a large church that sits on what is now a major arterial route near businesses. In order, the restrictions allow for commute hours traffic in that lane, reserve a zone for deliveries during the rest of the hours in a weekday, reserve a zone for parishioners to get out at the door of the church, and foreclose parking that is too close to the corner and a fire hydrant. Parking is, implicitly, allowed all day on Saturday when commute hours aren't in effect, some of the businesses are closed and the remainder are receiving fewer/no deliveries, and the church isn't in session.

</comment></comment><comment><USER24> By the looks of the photos, none of the street signs are normal parking zone signs, but rather special event signage.

Those are only used for special events and don't change very often. This is a good example for their use. I agree with what others have said about the risks and concerns if this were to be used for ALL parking signs.

</comment><comment><USER25> When I go driving on alpine roads, I frequently see 'warning ice' or 'warning deep snow' signs, which are quite amusing in summer.

I've often thought that printing the signs using liquid crystal technology would be useful, so ice warnings would only be visible when the temperature was at least close to 0C

<comment><USER26> Falling ice hazard is highest in the spring, with temperatures above zero and ice accumulated over winter.

</comment></comment><comment><USER27> The problem isn't space but complexity. This isn't making things easier, it's just hiding complexity.

<comment><USER28> It's streamlining the interface, only showing the info that's currently relevant.

<comment><USER29> During week days I often pay attention to signs while I am walking/driving through to keep in mind if I will be able to park there on Saturday or Sunday. With these new signs - that would be impossible.

<comment><USER30> You also wouldn't know if you can park after the sign changes in general. If it says you can park from 3 to 11PM, what do you do if you arrive at 10:30 and you want to know what happens at 11? With a sign that shows all the requirements, it might say that parking costs money from 3-11 and after that it's free, or it might say that you can't park at all after 11. With these signs, you don't know until 11.

</comment></comment></comment></comment><comment><USER31> _squints_

Public signage typically has high visual contrast, doesn't it? The dynamic, somewhat critical information these are displaying is tragically muddy and hard to resolve, even from some of these photos here.

A shame. Before seeing the end-result, I thought it was a cracking-good idea.

<comment><USER4> I'm not really seeing your perspective, it seems clear to me. I'll reserve final judgement for if I ever see them in person, but from the three images in the article I saw no problems.

<comment><USER32> In that second photo, the e-ink contrast fails web accessibility standards. Background is #889294, darkest foreground I found was #5e6669 (most foreground was not this dark)

[http://webaim.org/resources/contrastchecker/](http://webaim.org/resources/contrastchecker/)

Or easier: compare to the signs around it. It's _much_ less readable. Traffic signs aren't like Funky Website Of The Month. It's not okay for traffic signs to just ignore inconvenient users - so even if they were skirting some visibility standards, it wouldn't be good enough. They need to be _really clear_ , not barely passable (and this sign isn't even that).

And this photo is reasonably lit, without overcast conditions, mist, or rain. People often forget to include those when discussing road-related things like speed limits or signage.

<comment><USER4> Traffic signs? Sure. But what was shown in the article was a replacement for confusing parking signs which would be much less critical for passing cars to immediately be able to discern.

I really think that regardless of how much you need to squint to make out a parking sign it would still be better than some of those monstrosities that have about 20 exceptions depending on the time of day.

<comment><USER32> The signs in the article photos will do nothing to reduce confusion around parking signs. They're all special-purpose Clearway signs. The intent of the sign is not in the e-ink part; that bit only gives you some timing information. As a result, it has no bearing on the problem of locations with multiple parking rules - it is still 'just another rule'.

Have a look at their sample photos. Two of the photos have the sign by themselves. This clears up what kind of confusion? How are they better then a normal sign in this location? The remaining photo has two other signs, which work together fine with a non-e-ink version of the e-ink sign. Hardly a monstrosity.

The only advantage the photographed sign really has is that the council can easily change the details on it between different roadwork events, without having to glue a new set of numbers on it.

</comment></comment></comment></comment></comment><comment><USER33> After seeing all those enthusiatic comments, I was very disappointed when I saw what this is actually about.

I was expecting something like changing marks on the street, maybe even auto- rearranging parking lot marks. That's what I imagined "E-Ink" / "electronic ink" to be. However, it's just a display within a sign.

Not sure about other cities, but at Berlin's highways, we have this for years. It is used to adjust speed limits to traffic, avoiding or dewarping traffic jams. It is also used to block lanes as needed, e.g. during the time tunnels are cleaned, without having to put up signs and moving them with the workers while cleaning.

What is so spectacular about using same old idea for parking signs?

Am I missing something?

<comment><USER13> You are referring to high-intensity LED lights. E-ink does not shine, therefore it requires significantly less power: [https://en.wikipedia.org/wiki/E_Ink](https://en.wikipedia.org/wiki/E_Ink)

<comment><USER33> Thanks for clarifying. Now it makes a lot more sense where this comes from.</comment></comment></comment>


Reverse-engineering the first FPGA chip, the XC2064 - <AUTHOR> http://www.righto.com/2020/09/reverse-engineering-first-fpga-chip.html <comment><USER2> A lot of this era of FPGAs was about how to configure the chip- Nobody wanted to use Xilinx's one time programmable serial ROMs.

I used to use some one shots to generate CCLK pulse delayed from an RS-232 start bit. The idea is you would load one bit at time into the FPGA, one bit for each RS-232 byte. Once the FPGA was configured, a UART implemented in FPGA logic would come alive and allow it to communicate with a PC.

Anyway, I used xc2064s in the mid 90s for a project once (they were obsolete then, but I had a tube of them). I modified a point of sale terminal (a little credit-card machine) so that it could be automated. This was for a methadone clinic: they had to check each recipient's social security number every day to verify their medicaid eligibility. So the FPGA would simulate keypresses and read the vacuum fluerescent display back to the PC. (My consulting fee was much cheaper than the medicaid software interface.)

Later I used an XC4010E for a PCI-bus interface for a video capture card. Again, how do you avoid the serial PROM? In this case, I used timed-out PCI configuration accesses to load the serial data. Even if the PCI device does not respond, the address lines of the configuration access make it through to the target, so you just need a fast flip flop to latch DIN and CCLK. Once the FPGA was loaded, the card would appear on the PCI bus (but long after enumeration). This worked until PC BIOS started to turn off the PCI clock on slots with no cards in them to save power.

Both of these were in the pre-Verilog days. To design the FPGA you drew a schematic into (in my case) OrCAD. Xilinx had a meta-design capability in those days (called xblox I think?), where one wire in the schematic was equivalent to entire bus. The actual width was a parameter on a primitive. Yes, I made a PCI interface in schematics, it was not fun.

</comment><comment><USER3> The thing I find frustrating about FPGAs is how they are stuck in the "ASIC- replacement" mind-set.

In principle, these things could change their programming on the fly, as fast as everything happening in the regular logic, but everybody thinks they have to be programmed at power-up and left that way.

If the programming bit-stream could be fed, separately, to each section of the die, under control of logic on other parts of the die, a system of totally adaptable logic would become possible. Different programming could be installed according to the needs of the moment, replaced with other logic the moment needs change.

It would be a project to figure out out to usefully program such a system, but we are up to it. Our phones adopt completely different usage each time we tap on an app icon, but the performance of apps running on CPUs is strictly limited.

<comment><USER4> Active partial reconfiguration is a thing and works pretty much as you say - some parts of the chip continue running while others are swapped out, and an example use case is video encoding, just swap in the encoder engine optimised to a given standard, rather than have every standard in the same design requiring a much larger device.

<comment><USER3> Thank you. Which devices support active partial configuration? I have not encountered any mention of it, before. The "Three Ages of FPGAs" paper in IEEE has "reconfiguration" in the title of a single reference, and no mention in the text.

<comment><USER4> It's recently been renamed dynamic function exchange (marketing I guess?) but it'd supported in xilinx 7 series and later: [https://www.xilinx.com/products/design- tools/vivado/implemen...](https://www.xilinx.com/products/design- tools/vivado/implementation/dynamic-function-exchange.html#deviceSupport)

<comment><USER3> Thank you.

The DFX apparatus all looks distressingly proprietary, not to say clumsy. It seems like it will be a long time before this capability leaks out to mainstream use.

After it becomes more accessible, one could hope to compile programmatically generated logic on the fly, and immediately configure some chip area to execute it, perhaps with on-demand / JIT swapping between software and hardware implementation. O Brave New World!

<comment><USER5> Even for moderately complex designs the synthesis times are way too long for that to be feasible. Unfortunately, a lot of it is inherent to the problems/algorithms involved. So getting rid of the clumsiness of proprietary synthesis tools won't be sufficient, you are going to need another breakthrough.

<comment><USER3> It is always easy to invent ways for ambitions to be impractical. But, surprise, those are not the things people actually do with new capabilities. Instead they do clever, sensible things that work for them.

</comment></comment></comment></comment></comment></comment></comment><comment><USER6> Recently @tubetime reverse engineered a Snappy Play video capture device. The mysterious PLAY "HD-1500" at the heart of the device is actually an XC2064.

Follow the thread here:

[https://twitter.com/TubeTimeUS/status/1301990455182155776](https://twitter.com/TubeTimeUS/status/1301990455182155776)

[https://twitter.com/TubeTimeUS/status/1302704667143544833](https://twitter.com/TubeTimeUS/status/1302704667143544833)

<comment><USER7> I'm working with @TubeTimeUS to see if I can reverse-engineer the bitstream.

<comment><USER6> That's awesome! Thank you!

</comment></comment></comment><comment><USER7> Author here to answer all your questions :-)

<comment><USER8> Would it be safe to say that modern FPGA, although larger, are not more complex, in terms of the bit stream that programs them?

In other words, that a modern chip's bit stream is not more complex, only longer?

<comment><USER7> Some FPGAs such as the Xilinx 7 series support bitstream encryption, so that's a new layer of complexity.

Modern FPGAs also have much more in each CLB, and have multiple types of CLBs, so the bit stream is more complex in that way. See e.g. [https://www.xilinx.com/support/documentation/user_guides/ug3...](https://www.xilinx.com/support/documentation/user_guides/ug384.pdf)

I don't know a whole lot about modern FPGA bitstreams, so I'd be interested in anyone has more details. Is the bitstream still essentially a pile of raw bits controlling things, or is there more structure inside?

<comment><USER9> The bitstream is probably decrypted as it enters the chip. After that at best you might have some simple xoring at each CLB to make someone probing with needles life harder.

Also making sure each data line is not on the top or bottom layer to make non- destructive access harder. At which point you going to need careful application of acid or focused ion beam ablation.

<comment><USER10> The encryption has been broken. You can read about it here [https://news.ycombinator.com/item?id=22915831](https://news.ycombinator.com/item?id=22915831)

<comment><USER9> I was not saying anything about that, but if you look at that paper or video you can see the bitstream is passed through an AES decryption stage before programing the logic fabric. This break found a way to read the data after that AES stage.

However, I was just explaining how encryption generally works for these things. Weather or not breaks exist for some chips.

</comment></comment></comment></comment></comment></comment><comment><USER11> I am pretty sure that I paid something like $300 for the XACT software in 1986. It would be really educational to have students play around with it today. You could edit the bits in the LUTs directly and see the equations change in the bottom pane, or you could edit the equations and see the LUT bits change.

One fun thing was the mode where as you routed a signal it would show the delay so far, so you could backtrack and try a different path to see if it would be faster.

The 2064 had 8x8 = 64 configurable blocks, but many people would assume it would be equivalent to a 64 NAND gate array. So for the next chip they decided that it would be better to use "equivalent gates" in the name, so 2018 would be able to replace an "18" gate array.

</comment><comment><USER12> Since the bitstream maps directly to the connections, and wrong connections can create short circuits, I wonder how often a corrupted bitstream actually destroys a chip?

<comment><USER13> Not an expert but from what I recall reading, it used to be possible on the early ones; people would put a finger on the FPGA when testing a new configuration and immediately cut power to the board if it started heating up abnormally. In modern FPGAs, there's thermal protection built in.

[EDIT] See also: [https://electronics.stackexchange.com/questions/445323/can-y...](https://electronics.stackexchange.com/questions/445323/can- you-actually-break-an-fpga-by-programming-it-wrong)

<comment><USER14> Only the most modern FPGAs have thermal protection, but before that they added a CRC check to the bitstream. This leaves open the question of malicious bitstreams...

</comment></comment></comment><comment><USER15> Thanks for another cool article! This one has a lot of meat so it will take some time to go through it.

One question, how useful are the patents linked to in the footnotes for your work? (I hesitate to even ask this in fear of stirring yet another patent flame war.)

P.S. Do you have a patreon, or equivalent, page? If not, you really need one. I would happily subscribe.

<comment><USER7> I would rate those patents as moderately helpful. They go into a lot of detail, but not exactly the details I wanted :-)

For the broader patent question, there is a huge range in patent usefulness. Some patents explain everything clearly and at the end I'm like "Oh, now I understand the problem in detail and how they solved it." Most patents, however, are lawyer-edited mush where I learn nothing from them and it's not clear what they are even describing.

Some Texas Instruments patents are super-detailed, to the point that I could built a calculator simulator from the schematics and source code. The Intel 8086 patents were also extremely helpful (although they covered only half of what I wanted to know).

My opinion on patents is that the examination process should be much different and force patents to clearly describe the specific problem and solution, giving useful background information, more like a conference paper. If a patent doesn't contribute anything useful to the reader, it should be rejected.

As for a Patreon, I don't have one. But CuriousMarc (who I worked on the AGC and other projects with) has one at [https://www.patreon.com/curiousmarc](https://www.patreon.com/curiousmarc)</comment></comment>


Want a job? BYOD or Buh-bye. - <AUTHOR> http://www.zdnet.com/blog/consumerization/want-a-job-byod-or-buh-bye/113 <comment><USER2> I don't think this will become widespread. As an employer, I don't want to have to support a variety of hardware/software/OS combinations which might be provided by employees; I don't want to depend on employees to maintain their equipment appropriately; and I don't want to create a circumstance where my data is sitting on hardware I don't own, especially if the owner is someone I've just fired or who's just been hired by a competitor.

The cost of a computer or a cellphone is tiny next to the cost of an employee - I really don't see much win in this idea for anything but tiny companies or a few isolated examples.

</comment><comment><USER3> I am actually fine with this requirement so long as it is not dictated to me what I use. It would actually be liberating to use my own equipment for some jobs over using a corporate desktop. Especially considering I favor UNIX based systems. I think most in the industry already own a personal laptop and smartphone. I think it is economical of a company to leverage that reality. With the reservation mentioned above, if I supply it then it is mine and I decide which environment that I use.</comment>


I, Glasshole: My Year With Google Glass - <AUTHOR> http://www.wired.com/gadgetlab/2013/12/glasshole/all/1 <comment><USER2> I have Glass. I wore it for about a week when I first got it and then stopped; while cool, it's not very useful. It struck me that it's more of a status symbol right now than a legitimately useful device.

I've changed my mind about this a little bit recently: now I use it as a classier GoPro. There are a lot of times where it isn't appropriate to have a GoPro strapped to your head, but there's still good story potential. In most of those cases, the cool factor of Glass lets you get away with recording it.

My friends and I stitch the footage we collect from the adventures in our lives into a video every now and then, and Glass has added a lot to the storytelling capability.

Maybe wanting to record stuff makes me a narcissistic millennial, but it doesn't harm anyone and the videos we get out of it are awesome. I don't know if that use-case justifies Glass, but it definitely has some value for me, even if it's only used rarely.

<comment><USER3> You describe exactly the use case for which my product Epiphany Eyewear is specialized.

Epiphany records wide-angle HD video (like a GoPro), has a full hour of battery life, and looks & feels like designer eyewear which hold your prescription. Please check it out, I put practically every waking hour of my life into manufacturing this:

[http://epiphanyeyewear.com](http://epiphanyeyewear.com)

We are now shipping consumer units, with approximate a 5-week backlog on orders placed right now.

<comment><USER2> Cool, I will check it out. Congratulations on shipping!

While it seems like most of HN believes Glass's aesthetics to be garish and unwieldy, they _are_ futuristic and I think that's a positive thing. Some day we might do better, but given the technology available today they are actually very compact. Glass has always felt thin and light to me. (Photos can be misleading on this: how many people here have actually held Glass?) I also like that it's explicit: though most people can't tell when it is and isn't recording (and, realistically, people usually assume that it isn't) I like that it's at least upfront that it might be. If someone asked me to stop I'd take it off. So, there's a balance: I wouldn't use it as a "hidden camera" and the aperture on your landing page (if I'm reading the photo right?) looks pretty camouflaged.

<comment><USER3> Thanks!

Epiphany's camera is visible in the production version. The site photo is a little outdated, here are newer pics where you can see the better aperture of the production model:

[http://bestoftheweb.quora.com/Epiphany-Eyewear-smart- glasses...](http://bestoftheweb.quora.com/Epiphany-Eyewear-smart-glasses- modeled-by-BCBGMAXAZRIA-at-New-York-Fashion-Week)

[http://instagram.com/p/gEi4OyP-40/](http://instagram.com/p/gEi4OyP-40/)

About Glass, while I agree that it's impressively miniaturized for today's technology, I don't think any display component available right now is up to the incredibly high standard of style that is required to be on a person's face. It's an uphill battle, and until some future date when a "holy grail" display component arises that can display images on a regular eyewear lens without any bulk, displays will not be stylish enough for people to feel comfortable wearing them.

</comment></comment></comment></comment><comment><USER4> I suppose here is as good a place as any... but can anyone explain to me why there is an overarching trend of self-describing as an asshole just because you own Glass? It's becoming a connection, especially in the media, that Glass = Asshole and I think it's because much of the early community refers to themselves as "Glassholes".

I own Glass and I am not an asshole (afaik) about it nor do I wish to be perceived as one. I've met a bunch of other Glass users with whom I've brought this up in a similar way to: "Why do you self-deprecatingly call yourself an asshole for wearing Glass?" and as far as I know they stop, but that may just be them not doing it around me.

Do other Glass users feel like they need to call themselves names? Is there something I'm missing/taking out of context? Do people without Glass have an opinion on this?

(An interesting and maybe relevant tidbit is that I was recently told "You make me feel poor" by someone who I was interacting with while wearing Glass)

<comment><USER5> I bought glass and wore it for a week. I felt like an asshole while doing so because 1) I was making people uncomfortable and violating social norms (basically keeping a camera pointed at anywhere I looked) for my own convenience, and 2) it signaled I could blow $1700 on a mostly useless device (like having an expensive watch).

I didn't stop using glass because I felt like an asshole though, I stopped because it was just another device to charge with minimal utility.

<comment><USER6> It's almost entirely #1 that makes a Glass wearer an asshole, I can assure you of that.

Going around with a instant recording device is an ultimate manifestation of a lack of common tact. People just do NOT like to be recorded. Period. And the fact that _you_ think it's OK, that's what rubs everyone else the wrong way. Not that you could get that shiny gadget and that they couldn't.

</comment></comment></comment><comment><USER7> I was showing my Glass to a family member who visited from out of state. He's a commercial helicopter pilot, isn't wired in to the tech space, and didn't know much of anything about it.

He went completely mental after putting it on.

A few interesting things he noted:

1\. Many commercial helicopter pilots today use iPads with a software called Foreflight ([http://foreflight.com/](http://foreflight.com/)). They mount the iPad in the cabin and prefer it to the older analog stuff.

2\. The form factor alone is a huge improvement over anything else available on the market, he told me. He also said that many pilots would pay top dollar for a device like Glass. "All" it would need to do is: a) display a hud w/ waypoints, b) show current conditions, c) know which direction he's looking at.

4\. Pilots see the world differently. We look at Google Maps, they look at SkyVector[2]. Flying commercially is mostly an automated affair with everything planned out ahead of time. Computers do all the work. The location/size/properties of every airport is stored in a consistent format. Pretty much everything is standardized and easily accessible, no matter how remote the location! [3]

5\. He told me that the day-to-day processes are ancient. Logbooks are kept by hand, for example. This is interesting considering aviation is a highly regulated industry. All process are laid out in great detail and slow to change. This could make building software in this space easier once you get past the initial hump.

6\. Military pilots have had things like this for years, but way more advanced. He told me about helmet-mounted displays (woah) [1].

We went on to discuss the myriad of practical applications for a device like Glass, even if the cost stays high past the prototyping phase. Unfortunately none of them included every-day usage by his wife and kids.

[1]: [http://en.wikipedia.org/wiki/Helmet- mounted_display](http://en.wikipedia.org/wiki/Helmet-mounted_display)

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

[3]: [http://skyvector.com/airport/ZMCD/Dornod-Choibalsan- Internat...](http://skyvector.com/airport/ZMCD/Dornod-Choibalsan- International-Airport)

<comment><USER8> > He told me that the day-to-day processes are ancient.

It's a basic tenet of air safety that everything can be done by hand when equipment fails.

For example, it's a requirement that you should be able to do vector calculations to account for wind: using only pen-and-paper tools.

Although licensed pilots are allowed to use technology to assist, you shouldn't imagine that the ancient day-to-day processes will change.

</comment></comment><comment><USER9> Don't agree with most of the article but hey it's cool that I'm in the top picture (second row). Here are a few brief comments

Socially Awkward: I've worn Glass every day since I got it (one of the first ones) and had 2 negative reactions and one of them ended up being a VC that after explaining it to him offered to fund me (I didn't accept). You have to be sympathetic to other people's feelings, if someone is feeling uncomfortable and you aren't using it then just put it on your head/neck and watch them chill out instantly. It's awkward when someone's constantly wondering if you are recording them but too scared to ask, just diffuse the situation and figure out what is making them feel uncomfortable. Once they understand how it works it will clear up any wild ideas they may have. Part of being an early adopter of anything is to explain it to people who are curious (same goes for fitbits, AR drones, etc).

Glass wearers self-segregating: If you act nervous and self aware while you are wearing it, you will make the whole room feel uncomfortable. If you are approachable and having fun with others you'll get a whole night club to stop dancing and want to talk to you (this is in DC, not exactly a bastion of techies like SF/NY). Due to how the Glass invites were distributed it's not "self-segregated" it's "self-selected", you invite your friends which means when you go out you are with your friends. Causation vs correlation man, the former is sensational and the latter isn't even mentioned.

At the end it starts to get more agreeable: glass is v1, it's incredibly ambitious of them to have released Glass like they did and it's allowing us to even have these discussions (thanks!), and the status quo (phones) aren't that great either right now. Sure it's not perfect but look where we came from: custom/clunky wearables of the 90's, nothing special for a decade, and now we have something that gets more positive attention than I'd otherwise get. Instead of looking at the first datapoint on a timeline and dumping on it, shouldn't a hip futurist publication (where the author says he gets made fun of...that's probably more telling about what it's like to work at Wired than anything) try to think out a few more steps and not sling link bait like this?

(from my G+ post [https://plus.google.com/+BrandynWhite/posts/fRfhgBXej7e](https://plus.google.com/+BrandynWhite/posts/fRfhgBXej7e))

<comment><USER10> A VC offered to fund you as a technology _user_?

<comment><USER9> Well I do a bit more than that [http://openshades.com](http://openshades.com) and [http://wearscript.com](http://wearscript.com)

</comment></comment></comment><comment> cupcake-unicorn "I have no idea why my wife was resistant to live-casting the birthing experience."

Seriously? Is this a joke? He really is a Glasshole :P

</comment><comment><USER11> I don't seriously think anyone at Google thinks Glass is going anywhere. To me, this looks like Google just trying to cement in the public's head that Google=Futuristic technology. In that regard, and pretty much only that regard, Glass has been a success.

<comment><USER12> I think wearable computing is definitely the future, and Glass is probably a good first stab at it. I don't think anyone thinks glass is the perfect solution, though.

<comment><USER13> I hope I'm dead before this happens.

<comment><USER14> Okay, but if you want to convince others to share your view, you need to state your objection to it. It's more credible if you back up your objection with realistic examples of what you are concerned about. It's also more convincing if your concerns are consistent with the technology. For example, many people state that they object to the camera on Glass. Yet, DSLR cameras are far more effective at taking high quality pictures from a distance.

</comment></comment></comment></comment><comment><USER15> This is old and tired news. These attitudes will change. I know cause I'm old enough to have seen it before with advent of cellular phones. Same reactions, calling people assholes, same stigma, same wealth issues.

People hated the jerks who were rich enough and self important enough to be phoneable anywhere, anytime. Eventually price, ugly factor came down and phones became ok cause everyone had one.

Same thing will happen.

<comment><USER16> I don't think the real problems with Google Glass have much to do with showing off how rich the wearer is. Most of the strong concerns I've heard -- and I thought I was pretty down on the idea, until I heard some otherwise very level-headed people I know speak about it -- relate to the privacy aspect. I don't see that going anywhere, just as today most of us have mobile phones but there are plenty of places that will ask you to turn them off so you're not disturbing everyone else around you with your conversations/ring tones/etc.

<comment><USER14> But is the lack of understanding due to the current inequity? I suspect people fear it partly because it is an unknown device that they haven't been able to experience yet. Once they have tried it, some will probably relax a little bit.

Cameras on phones had similar reactions to begin with. Now everyone just finds them to be extremely useful.

</comment></comment></comment><comment><USER17> I wear Prescription Glasses. I can't wait to get Google Glass that work well with Prescription Glasses. To me it is seamless since I already wear glasses anyway.

Google by ignoring Prescription Glass users initially lost a chance to have people use it 24x7.

<comment><USER18> I also wear prescription glasses, but wearing Google Glass 24x7 sounds like a terrible idea to me.

Think of it like this: There are all sorts of situations in which it is socially unacceptable to have your phone out. Movies. Funerals. Intimate conversations with loved ones.

Having Glass on 24x7 is basically the same as always having your phone out. Sure, maybe it's off and you're not actually looking at the screen while you're having a conversation. But the other person doesn't know that. If you flick your eye to a corner, does that mean you got something in your eye or were you checking a text message? Wearing prescription glasses does not interfere with my ability to establish eye contact and maintain a personal connection with someone. Google Glass does.

And, come to think of it, that's really the problem with Glass. There are all sorts of useful situations in which I'd like to have Glass, much as there are all sorts of useful situations in which I'd like to have a smartphone. But I can easily put away the smartphone in the situations where it's socially unacceptable to have it out. It doesn't seem nearly as convenient to do so with Glass.

<comment><USER19> It's pretty easy to do the equivalent, I just flip it to the top of my head like I do with sunglasses when I go indoors.

<comment><USER20> Umm, not if you would be blind as a bat without your prescription glasses! Like many glasses wearers I do have contact lenses too, but glasses are much more comfortable to wear all day.

<comment><USER21> A prescription version might allow you to flip just the screen, like some clip-on sunglasses.

</comment></comment></comment></comment></comment><comment><USER22> I, like others here, have Glass. My girlfriend dumped me and I lost all my friends but hey now I can wink to take a picture so it's all good.

</comment><comment><USER23> The author says it is the format what makes you an asshole. It is not.

If I go with my reflex pointing to people in the beach people will get angry at me. As simple as people is there to relax, not to have to defend themselves.

People is doing top less in the beach and people could see it at the moment. It is a completely different thing that someone will store the date, the place, the people in the pictures and have millions of people look at them on the Internet.

I got to watch a woman, a sports teacher fired from a Catholic school because she made top less 8 years ago!! and one of his students got a picture from an ex- boyfriend asshole and soon all the school had the pictures. Half of the parents supported her, over a quarter were outraged.

People say stupid things all the time, when there is friends, I don't want my conversations recorded without my permission and having someone remind me constantly : you say this and that while drinking beer with the football team.

The same way Paul Graham was sold by a private conversation made into an interview by a son of a b*ch. When you are talking to someone else you are not talking to millions of people.

</comment><comment><USER24> Interesting that no one seems to be talking about the wisdom of placing an EMF field next to your brain, for hours at a time.

<comment><USER25> Do you have something to say about the wisdom of placing an EMF field next to your brain, or are you just interested that no one is talking about it?

</comment></comment><comment><USER26> Here's why Glass users _are_ assholes, and why that won't always be true: because "iPod" is a verb.

"To iPod" is to change a particular technology so much that you create a permanent mark in everyone's calendar. Before Apple invented the first iPod, music players were clunky and irritating, and it was like nobody in the business knew the first thing about user interface design. After the iPod, music players were iPods, clones of iPods, or nothing. And carrying music around with you is so ubiquitous that the commuters on the bus who _don 't_ have earbuds in their ears look weird.

Glass hasn't been iPodded yet. That means it's intrusive, ugly, and it threatens people -- a bit like the way people felt uncomfortable sitting on the bus with someone who had headphones on. It's rude, it's anti-social, and it's a clear sign that someone is maladjusted.

But one day, someone -- almost certainly _not_ Google -- will create a wearable camera/HUD/computer that is to Google Glass what the iPod is to the Sony Walkman. And after that, it will be normal for people to be documenting their whole lives, and the hostility will disappear quite quickly.

But that day is not today. Today, if you use Glass in public, you _are_ an asshole. Accept it peacefully and look forward to the iPodding.

</comment><comment><USER27> Glass is amazing, but it's not for everyday wear, like a watch, because you look like a tool. That said, there are a few very niche applications for it that I can't wait to try: deep sea fishing, for one. Our boat is fairly customized and teched out. Walking around on the boat and having the data overlayed infront of you would be awesome. Maybe hooking up the coms is also possible, I'd like to stream the video feed of the cameras in the lures too.

</comment><comment><USER28> I don't know why it has to be so negative. All the negativity seems to be privacy concern. I respect that and I do understand there is privacy concern.

But the technology is pretty fun for people who just want to capture every fun moment of their life. I, for one, would love to wear it every day. I always see interesting stuff. But holding a physical phone on my hand seems weird to me. I feel like if I could just film the current event as I am looking would be awesome and easy. I don't have to pull out my device and stand there. Putting it on my head seems natural to me. Imagine instead there is Google Watch with the same functionality, it'd surely would be awkward. When I am searching for a place, I imagine that Glass could just scan my environment as I look and tell me "oops there is the coffee shop you are looking for!" To me, the most awkward thing about taking photos with cell phone by myself or with a group of people (call it selfie) is holding a cell phone. Every time when someone pull out a cell phone taking some instagram photos on the food or people, everyone around will look at him.

I broke up with this lovely girl. I wish I had this shiny toy when I was with her. It would be really fun to take lots of pictures and video. Kids like me love blogging too. I always entertain myself thinking "it would be nice if I had the gut and time to do vblog."

<comment><USER29> > _But the technology is pretty fun for people who just want to capture every > fun moment of their life._

Except for all other people in the frame who don't want to be captured in the process.

Fun for one at the expense of others is the book definition of an asshole.

So, yeah, you do _not_ understand the privacy concerns nor do you respect them. You will fit right in with the rest of the Glass crowd.

<comment><USER30> I'm not a lawyer but I heard if you say "You don't have permission to record me." they're legally obligated to delete the video.

<comment><USER31> Perhaps that's why you're not a lawyer :)

<comment><USER30> Hah OK. I'm only repeating what I learned in a video class, but that was 10+ years ago so maybe the laws have changed since then? But even then, how many people (in public) would go out of their way to engage the person with the camera when that more likely makes a bad situation worse?

</comment></comment></comment></comment></comment><comment><USER32> It's interesting that there are so many comments about how uncomfortable people get around it due to not knowing if they are being filmed/recorded... why didn't Google simply cater for that by adding a small, hardware-controlled red "recording" LED indicator to it? I think it would work wonders to the rejection around Glass.

</comment><comment><USER33> I think people do not mind the device itself. For example bluetooth handsfree is kind of similar, it can do even do recording, but most people do not mind it.

I think problem is usability. It is not possible to have conversation and use this device at the same time.

</comment><comment><USER34> So here's a question, If google made google glass look just like a prescription glass, would it be for the better or worse?

</comment><comment><USER35> Just wait for Apple to release "iGlass".

OMG, how innovative, Apple and see everyone is copying Apple.</comment>


Grocer - New Gem for Sending Apple Push Notifications in Ruby - <AUTHOR> https://github.com/highgroove/grocer

<comment><USER2> Awesome! This is great.

I'm also working on an APNS gem called Lead Zeppelin, which is similar in design, but adds a few things like a pool of connections (read: concurrent on threaded systems like JRuby and Rubinius): <https://github.com/geoloqi/lead_zeppelin>

There is some high quality code here, this is a great start. I think the error handling needs to be drilled down a bit, and there needs to be more logging. I'm definitely going to borrow some components of this.. the apns test server is really awesome! I'm happy that APNS support is improving in the Ruby community.

<comment><AUTHOR> Great suggestions. It would be awesome if you contributed it to grocer as well :P. It's still in active development though so you may find some of these enhancements in grocer at some point in the near future. Thanks man!

<comment><USER2> No problem, I would love to contribute! My account is kyledrake on Github.

Right now I'm experimenting with socket keepalive, which I think may be important to keeping socket connections open (per some discussion I found from an Apple dev). If my tests go well I'll send a pull request later tonight!

The one thing I haven't figured out yet is how to stop messages from being dropped after feedback comes in. It has a tendency to silently fail to send messages. My current solution is to check for errors before a write, and do a IO.select on the socket to wait for a read for an arbitrary amount of time. You might want to look at some of the weird stuff I had to do in here.. it's a problem I'd like to figure out how to deal with: [https://github.com/geoloqi/lead_zeppelin/blob/master/lib/lea...](https://github.com/geoloqi/lead_zeppelin/blob/master/lib/lead_zeppelin/apns/gateway.rb#L96)

<comment><AUTHOR> Sweet. Now accepting pull requests :)

Interesting. We haven't hit that issue yet.

Hmmm. We also haven't had any issues with feedback affecting our outgoing messages. Yeah we just check for messages from the feedback socket after sending a notification (as Apple's guide recommends) but we're not doing anything fancy like waiting for a response. Sounds cool though.

<comment><USER2> I want to remove the IO.select because it slows things down unfortunately. I noticed you are using enhanced push, but also opening a feedback socket separately. I was under the impression that you were supposed to read feedback in-line with the enhanced protocol, but I may have gotten this wrong. Are you using the enhanced protocol -and- listening to the feedback socket? This is interesting, and may solve a problem I'm having, so I wanted to get your thoughts.

<comment><AUTHOR> Couldn't find that in the guide (reading feedback from the same socket). I might have missed it though.

And yep. We're using the enhanced protocol while opening another connection to the feedback service. I just followed this section of the docs.

[http://developer.apple.com/library/mac/#documentation/Networ...](http://developer.apple.com/library/mac/#documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/CommunicatingWIthAPS/CommunicatingWIthAPS.html#//apple_ref/doc/uid/TP40008194-CH101-SW3)

</comment></comment></comment></comment></comment></comment><comment><USER3> Hey, you do know that Apple requires developers to maintain persistent connections to their servers, right?

Checkout <https://github.com/jnak/apnmachine> Feature list: \- persistent connection to APN Servers (as Apple recommends) \- real-time notifications (no regular polling a la Resque) \- super easy to use in Ruby and any languages (as easy as enqueuing a serialized JSON hash in Redis) \- persist and queue messages when server is down \- horizontal scalability and out-of-the-box load-balancing \- fast daemons

<comment><AUTHOR> Nice! We keep a single connection open using the standalone gem.

But yeah you're right it would be an issue if you were connecting to Apple's servers in a resque worker for example, since the socket would be opened in a new child for each job. I bet you could get around this though by opening a socket in the parent and using it in each child process. Reconnecting might be a little trickier though.

apnmachine looks pretty sweet. I'll have to check it out if I need something like that in the future.

<comment><USER3> Don't know the standalone gem, I'll have to check that out. I'll be glad to get some feedback on apnmachine :)

<comment><USER4> > the standalone gem

@vanstee is referring the Grocer being a RubyGem and not needing other dependencies like Resque.

</comment></comment></comment></comment><comment><USER5> Or, if you use Urban Airship; it's literally like five lines of code with HTTParty to send a push notification.

Of course, your needs may vary, but UA scales well and is essentially free to start with.

<comment><USER6> I was just looking at options for push notifications in ruby. I found a gem called apn_on_rails (<https://github.com/PRX/apn_on_rails>) which sort of worked. But I didn't know how to keep persistent connections and was afraid of accidentally spamming Apple's servers. I thought about outsource the problem to Urban Airship, but unfortunately their free service only works for 45 days then costs hundreds of dollars a month. Grocer looks really interesting and I'd definitely want to try it out.

<comment><USER5> You scared me there for a minute. I thought they'd dropped their free plan. Turns out it still exists: <https://go.urbanairship.com/accounts/register/></comment></comment></comment>


Call Me Maybe: MongoDB Stale Reads - <AUTHOR> https://aphyr.com/posts/322-call-me-maybe-mongodb-stale-reads <comment><USER2> From 2009 to 2012 I had a distributed database startup that competed with MongoDB. We used Paxos for replication and built the database with on-disk consistency guarantees --- like the ones this article looks for and rightly obsesses over --- in mind.

[https://github.com/scalien/scaliendb](https://github.com/scalien/scaliendb)

Outcome: you've never heard of ScalienDB; MongoDB brilliantly won by winning the hearts and minds of hackers and coders who don't care about such issues, but were able to get started quickly with Mongo (and got cool free cups at meetups). It turns out that's most engineers out there, definitely the initial critical mass to target for a database startup like Mongo.

Btw. the story behind Oracle is similar: early versions were basically write- only; read Ellison's book 'Softwar'. Of course there are other ways to get started: for example DBs coming out of academic research like Vertica seem to avoid this problem; in that case initial funding is basically provided by the gov't and when they create the company to commercialize they're already shooting for Enterprise contracts, skipping the opensource/community building phase of Mongo.

<comment><USER3> I don't know, I got started with Mongo because ... it was so easy to start with, but come deployment time got bitten by a LOT of issues (which essentially negated any advantage in using Mongo).

As a result of this experience I almost exclusively use PostgreSQL, and I've never EVER been burned by taking this approach.

Sometimes I do use another DB but there has to be a seriously good reason for it.

<comment><USER4> Same thing. I was a software dev, then I went to the back end with MongoDB and NodeJS, and I learnt what ACID means...

Also about MySQL, many people forget it isn't ACID compliant either and just look at benchmarks or use MySQL "because Facebook uses it". I am sure that if any startup would use PostgreSQL it would avoid many problems on the road.

<comment><USER5> I think that PostgreSQL is, in almost every aspect, a superior product to MySQL.

But MySQL not being ACID compliant is flat out wrong (assuming that you're using InnoDB)

<comment><USER4> Yes with InnoDB it is.

</comment></comment></comment></comment></comment><comment><USER6> If you are a database author and you get a bug report from Kyle, spend a _long_ time thinking about it before closing the issue as invalid.

<comment><USER7> They're not the only ones:

[https://github.com/elastic/elasticsearch/issues/2488#issueco...](https://github.com/elastic/elasticsearch/issues/2488#issuecomment-89509176)

<comment><USER8> Actually elasticsearch took their jespen results pretty seriously and even have an ongoing status of their resiliency. See my post on this:

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

</comment></comment></comment><comment><USER9> The most interesting lessons from the Jepsen series:

* You should never trust, and always verify, the claims made by database manufacturers.

* Especially when those claims relate to data integrity.

* Super-especially when every safety level provided by the manufacturer that includes the word "SAFE" is actually unsafe.

<comment><USER10> Actually the broader lesson would be to assume the worst in your application layer and try and remediate/verify wherever possible.

If you look at his articles: Redis, PostgreSQL, Cassandra, ElasticSearch etc all had data consistency errors. And none of those have vendors making any claims.

It's pretty sobering to say the least.

<comment><USER11> Um, this is the postgres article:

[https://aphyr.com/posts/282-call-me-maybe- postgres](https://aphyr.com/posts/282-call-me-maybe-postgres)

There were no acknowledged writes lost. The only unacked-but-successful writes resulted from a connection while a commit ack was in-flight. That doesn't qualify as a data-consistency error, it means the client has to check if the data is present after reconnecting.

But in no cases would the client reconnect to find that there were acknowledged-as-committed records that were missing or stale. In no cases would the client find that responded-as-rolled-back data was actually committed. This is very, very different than what is seen with MongoDB.

<comment><USER12> Now try it again with PostgreSQL's built in sharding or replication functionality... oh, wait.

<comment><USER13> The parent post correctly pointed out that including Postgres in that list is misleading at least.

</comment></comment></comment></comment></comment><comment><USER14> Mongo absolutely nailed creating a database that is easy to get started with and even do things that are traditionally more 'hard' such as replication. It is still super attractive for me to pick it up for small projects, even after dealing with its (many) pain points both in development and operational settings.

Given this, it is so tragic to see how dismissive they have been in regards to the consistency issues that have plagued the db since the early days. Whether it was the stupidity of bad defaults in drivers to not confirm writes, or easily corruptible data in the 1.6 days, or now with not seriously looking at the results of jepsen, the mongodb organization has never taken the issues head on. It would be so refreshing to see more transparency and admitting to the faults rather than wiggling around them until eventually pushing a fix buried in patch notes.

I often feel like a mongodb apologist when I admit that I don't mind using mongo for small (and not important) projects and while the mongodb hate can be a bit extreme at times, the companies treatment of these sorts of issues may justify some of it.

<comment><USER15> After MongoDB published their write speed benchmarks based entirely on unacknowledged writes (e.g. how fast can you write to a socket?), it's been a long downhill ride with an immense amount of inexplicable ignorant support.

<comment><USER16> Can you post a link to these unacknowledged write benchmarks? I can't find them.

<comment><USER15> Need to find an archived version but it caused a lot of arguments in 2009/2010: e.g. [http://rethinkdb.com/blog/the-benchmark-youre-reading-is- pro...](http://rethinkdb.com/blog/the-benchmark-youre-reading-is-probably- wrong/) references similar benchmarks

Can also link simply to the HN discussion from back then too: [https://news.ycombinator.com/item?id=1496035](https://news.ycombinator.com/item?id=1496035)

> Full disclosure: I work for 10gen.

> We did this to make MongoDB look good in stupid benchmarks.

</comment></comment></comment></comment><comment><USER17> There's a lot going on here, but the summary is: "What Mongo actually does is allow stale reads: it is possible to execute a WriteConcern=MAJORITY write of a new value, wait for it to return successfully, perform a read with ReadPreference=PRIMARY, and not see the value you just wrote."

[https://jira.mongodb.org/browse/SERVER-17975?focusedCommentI...](https://jira.mongodb.org/browse/SERVER-17975?focusedCommentId=892980&page=com.atlassian.jira.plugin.system.issuetabpanels:comment- tabpanel#comment-892980)

</comment><comment><USER18> I'm so glad to see the Jepsen series re-instated. Thank you so much Stripe

</comment><comment><USER9> Question: How do I actually run Kyle's tests to see this for myself? (Not that I don't believe him, I just want to play around a bit.)

When I run `lein install` and then `lein test`, I get:

        ╰─▶ ψ lein test
        Exception in thread "main" java.io.FileNotFoundException:
        Could not locate jepsen/db__init.class or jepsen/db.clj on classpath: ,
        compiling:(mongodb/core.clj:1:1)
    	at clojure.lang.Compiler.load(Compiler.java:7142)
    	at clojure.lang.RT.loadResourceScript(RT.java:370)
    	at clojure.lang.RT.loadResourceScript(RT.java:361)

<comment><USER19> Can't answer your question, but I'm curious how you managed to include an image in your comment. I didn't think embedded HTML was possible?

<comment><USER9> That's from my command prompt that I wrote -- the arrows are just Unicode characters. You can see it here if you like:

[https://github.com/fj/dotfiles/blob/master/home/.config/shel...](https://github.com/fj/dotfiles/blob/master/home/.config/shell/prompt.sh#L140-L143)

 _Edit_ : On further reading, I think you seem to be thinking that the paste of my console is an image. It is just text. To make fixed-width text on HN, indent each line by four spaces, like this:

        This text has four spaces at the beginning of its line.

</comment></comment></comment><comment><USER20> People really underestimate the value of Occasional Consistency. Occasionally Consistent databases, like MongoDB, are great for approximation algorithms, sublinear time algorithms, and similar applications.

<comment><USER21> The issue isn't that MongoDB is eventually consistent, it's that the documentation claims that in some cases it's strictly consistent[1] while Kyle found that:

"MongoDB, even at the strongest consistency levels, allows reads to see old values of documents or even values that never should have been written."

1\. [http://docs.mongodb.org/manual/reference/glossary/#term- stri...](http://docs.mongodb.org/manual/reference/glossary/#term-strict- consistency)

<comment><USER20> I didn't say Eventual Consistency. I said Occasional Consistency. MongoDB is has hard Occasional Consistency. Indeed, it is the most occasionally consistent database I know of. I once wrote a few million records into Mongo. It was consistent before the write, but never again after.

Great for sub-linear time algorithms! At that point, all my algorithms ran at less than O(n) on the size of the data I had written in.

From a business perspective, Occasional Consistency is also a very nice property if you are storing audit data for certain types of organizations. It gives complete plausible deniability about rule compliance.

<comment><USER21> Heh, Poe's Law, etc :)

I guess you could also call it Quantum Consistency.

</comment></comment></comment></comment><comment><USER22> Since Postgres added a JSON type and Docker made running it simple in development, I haven't had a need for anything else. Call me old school, but I prefer starting with a relational database and changing when it's no longer appropriate.

<comment><USER4> Old school? It's the best thing to do in my opinion. An ACID relational database that can do even more than that! I think it's one of the best DB for startups.

</comment></comment><comment><USER23> So what should users of MongoDB do? I'm asking because it is the main database used in Meteor and I'm very interested in Meteor.

Should the general advice just be "store in MongoDB everything that doesn't require consistency and use Postgresql for everything else"?

<comment><USER24> The general advice should be: use PostgreSQL in case you are uncertain what to use. Watch some Youtube video's with Michael Stonebreaker (2014 Turing Award winner) and start getting disillusioned by the NoSQL hype.

Then, try to understand the mess Edgar Codd tried to fix in the '60s and '70s.

<comment><USER25> Do you have any specific videos we should watch?

<comment><USER24> In the top-hit on Youtube, Michael starts to discuss the solution-space @31m15s ([https://www.youtube.com/watch?feature=player_detailpage&v=OY...](https://www.youtube.com/watch?feature=player_detailpage&v=OYGJe1z97VI#t=1875))

</comment></comment></comment></comment><comment><USER26> I still don't get it. MongoDB can't possibly call itself a database. I can understand MongoScratchStorage, MongoPorbabilisticDataEngine but not MangoDB.

<comment><USER27> MongoWeakReference

</comment></comment><comment><USER28> Another instance of Kyle's amazing research! You may want to catch him on stage with other great minds at dotScale on June 8: [http://dotscale.io](http://dotscale.io)

</comment><comment><USER29> This article is too technically advanced for me. As a casual MongoDB user, how do these problems affect me?

<comment><USER30> In replicated Mongo scenarios higher write volume increases the probability of inconsistent reads. What this means is that there's a chance that on some data—no matter how safely you attempt to write it—you'll end up in a totally inconsistent state for your system.

The actual impact of an inconsistent state is very hard to judge. It could be as minimal as having two different users just see something weird on their screen for a moment and then it goes away. It could even be totally avoided if your application handles inconsistent data well.

At the same time, it could also cause complete and nearly untraceable complete corruption of all data in your system. Who knows?

It'd be a bit like building a bridge using metal with a known defect. It'll probably work fine for a long time and depending on how and where that metal was used you might be alright.

Or you might have a complete structural integrity failure at any moment once stress starts ramping up and you'll just have to blame it wholesale on using bad materials.

</comment></comment><comment><USER31> I seem to remember from a foundationDB talk that they first spent two years building a simulation environment to control everything from network to persistance for testing scenarios.

Does anyone know of any open-source project that would aim at doing the same, so that future NoSQL DB can finally be built on strong foundations ?

</comment><comment><USER32> I knew something was funny with Mongo when all the api calls defaulted to writes not being guaranteed to sync to disk. Maybe for a use case like aggregate statistics gathering it would be ok to risk missing a few updates in a crash for the sake of speed, but to make that the default??

<comment><USER10> You know this configuration change was changed in November 2012.

Do you think it's still relevant to be bringing this up ?

<comment><USER33> Actually, the defaults are still unsafe, just the marketing language has changed. Take the Node.js driver for example, it defaults to w=null and j=false. [http://mongodb.github.io/node-mongodb- native/2.0/api/Db.html](http://mongodb.github.io/node-mongodb- native/2.0/api/Db.html)

</comment></comment></comment><comment><USER34> I think it would be great to see one of these done for RethinkDB :)

<comment><USER35> RethinkDB engineer here. RethinkDB currently doesn't support automatic failover, so this test couldn't be performed for RethinkDB yet. But when we implement automatic failover we're planning to test it against Jepsen. That will probably be sometime in the next few months.

<comment><USER36> DB engineers living in mortal fear of Kyle is where we want to be.

</comment></comment></comment><comment><USER37> I must admit, I always feel like I am missing something in these discussions. Like I didn't get some memo... I just don't expect a DB like MongoDB to guarantee consistency. The whole story around NoSQL and the likes was to enable crazy horizontal scaling needed for the web. Phrases like "eventual consistency" flew around. It seems so logical - you lose consistency, gain scalability.

But somehow, people simply started using them everywhere? Assuming that these DBs are just like any other? And now, we're all bashing on MongoDB because it is - not consistent? What happened here? :)

NB that I do not wish to attack the OP - if MongoDB now claims to be consistent in any way, that deserves scrutiny. And these analyses are always a really interesting read. But the general tone in the developer community about MongoDB seems a bit irrational.

<comment><USER38> > It seems so logical - you lose consistency, gain scalability. ... And now, > we're all bashing on MongoDB because it is - not consistent? What happened > here? :)

There are ways to do "eventual consistency" responsibly. Mind you, it's obnoxiously tricky to do it right, even when someone has provided an underlying implementation that works exactly as promised. But if you design your data access patterns in the right way, the system can provide guarantees so that even if it doesn't have all your data _at the moment_ , you can still ask questions about the the state of the data that _is_ available, and get meaningful responses back that conform to a certain set of guarantees.

What happened here -- why we make fun of MongoDB -- is that it doesn't provide many promises like that, and even when it does, its implementation does a very, very bad job of delivering them ... and it doesn't even do a good job of delivering scalability. (It's basically a mmap()'d series of b-trees of BSON documents, so as soon as you run out of RAM, you're at risk of having the kernel swap out all your _indicies_ instead of your data, whereupon performance craters. Oh, and the much-mocked global write lock has finally been replaced with a _per-database_ write-lock in recent versions.)

In short, you sacrifice everything and gain... a modestly convenient API for document-storage, _maybe_.

</comment></comment><comment><USER39> So, now I'm wondering: why is Stripe using Mongo at all? Maybe they are planning to migrate to another DBMS?

</comment><comment><USER40> Does anyone have any references on how you _could_ write a distributed database that met all ACID properties? Surely there's an academic paper that says that if you do A then B then C, you are guaranteed a certain level of consistency.

We've developed a type of distributed database at my company, and I think it's pretty solid, but I need a broader familiarity with the available theory.

<comment><USER41> Aside from reading papers, it's a good idea to look through the syllabus of a distributed systems course to get a broad idea of what the problem space looks like.

Academic papers will talk about "minimal" problems like consensus, or desirable properties like sequential consistency, and expect you to already know why those concepts are important. If your experience is mostly hands-on, it may not be obvious how it all applies to real-world systems.

Say you have a complex distributed database. Forget all the bells and whistles: can it solve the problem of allowing a set of processes to reliably agree on a single Boolean value? If so, then you're trying to provide the same consistency guarantees as Paxos/Raft. So if your architecture is substantially simpler than Raft, then either you've come up with something really ingenious, or you've missed some edge cases.

<comment><USER42> Or you are obviously violating proven theory...

</comment></comment></comment><comment><USER43> Would the use of wired tiger as a storage engine affect these results?

<comment><USER44> My guess is no. This is more about the behavior of the database as a distributed system and not just a storage engine.

</comment></comment><comment><USER45> Apache Solr has done very well at Jepsen tests.

</comment><comment><USER46> Maybe we should listen to Larry Ellison when he say "gimme my money!"

<comment><USER47> Has Oracle been run through this test battery?

Or would publishing the results of doing so bring down an army of Larry's lawyering henchmen? "You violated the EULA, now you must pay! You will only wish you were dead when _we_ are done with you, bwahahhahahaha!"

<comment><USER47> I guess the first rule of "Benchmark Club" is that we don't talk about Benchmark Club?

Now off to deface a piece of corporate art... :-)

</comment></comment></comment><comment><USER48> upvoted for the Look Around You link alone.

</comment><comment><USER10> Shame this wasn't done with the latest version 3.0. Although given that improvements are scheduled for 3.1 I would imagine it might be still an issue.

Nice writeup either way though. Would like to see a similar article for Couch* and MySQL.</comment>


AMD Ryzen 5 3600 Beats Intel's Core i7-9700K in Cinebench - <AUTHOR> https://www.techquila.co.in/amd-ryzen-5-3600-vs-intel/ <comment><USER2> Since 2000, AMD has often beaten Intel on _multi-threaded_ workloads, but never _single-threaded_ (at comparable clocks). This bench shows AMD beating Intel on _both_! That's what's incredibly notable here. The last time it happened was 20 years ago with the AMD K7.

Now Zen 2 seems to overall beat Intel on every metric: single-threaded perf, multi-threaded perf, perf/dollar, perf/watt. No matter how you look at it, Zen 2 comes out on top.¹ Very impressive.

Man the folks at Intel must feel the heat.

¹ Except perf/socket when competing with the Xeon 9200, but that's just a PR stunt no one cares about: [https://mobile.twitter.com/zorinaq/status/113576693566724096...](https://mobile.twitter.com/zorinaq/status/1135766935667240960)

<comment><USER3> You want notable ? AMD is currently beating Intel on price, single threaded perf, multi threaded perf, TDP/power usage at equivalent performance AND on many of the "little pluses on the side" (more PCI-e lanes, ECC supports, ...).

When Zen first came is was a huge deal, but it merely put them as a real competitors, with a decent advantage on many cases, reinforced with Zen+. But Zen 2 put them ahead in almost every category, and in all markets; threadripper and EPYC are just as strong in their areas.

Either Intel has something strong about to appear, or they're going to face a truly difficult few years with customers going AMD now that it's not merely "one generation of chip" that was good. It feels like getting their 10nm working will not be enough by itself.

<comment><USER4> > Either Intel has something strong about to appear

People are hypothesizing this to be true given that Apple is putting Intel rather than AMD chips in the Mac Pro, and Apple doesn't _usually_ make dumb purchasing decisions, but _does_ sometimes have private access to product roadmaps.

<comment><USER5> There are a lot of reasons for Apple to choose Intel.

Apple has a lot of optimizations for Intel at the moment from the instruction set down to the motherboards and chipsets. A great example is all the work they do in undervolting mobile chips so they perform better (when the latest MBPs shipped with this disabled, everyone really complained). Re-writing all that software definitely has non-trivial R&D costs.

When making a new motherboard design, a ton of stuff simply gets reused and moved around. Switch to a different chipset and you start all over for a lot of stuff. Even if AMD were 10-20% faster overall, their current "fast enough" Intel chips would still win out.

AMD's zen+ 3000 mobile chips don't compete with Intel in single-clock performance, clockspeeds, or total power draw. With the exception of the mac pro, Apple's entire lineup uses mobile processors. In addition, Intel probably gives amazing discounts to Apple. Zen serves them best as a way to squeeze out an even better deal.

A final consideration is ARM. Given the performance characteristics of A12, Apple most certainly has their sights set on using some variant in their laptops in the not-too-distant future. They already run their phone chips in their macbooks as the T2 chip. They are probably working on the timing to allow those chips to run more than the touchbar and IO.

<comment><USER6> Pretty good analysis overall, although this part is not true:

> With the exception of the mac pro, Apple's entire lineup uses mobile > processors.

In fact their entire desktop lineup now uses desktop-grade CPUs. (except possibly some entry-level iMacs that weren't subject to the recent refresh)

      * iMac Pro: Workstation processor (Xeon)
      * iMac 27": Socketed desktop processor (e.g. Core i9-9900KF in top config)
      * iMac 21": Socketed desktop processor (e.g. Core i7-8700)
      * Mac Mini: Soldered embedded desktop processor (e.g. Core i7-8700B)

<comment><USER5> Yeah, it looks like they switched over to desktop chips around 2017 (they still use laptop memory though -- except for imac pro).

An i9-9900K has a 95w TDP, but Anandtech puts the real load number at around 170w TDP. I've seen people undervolt these down to around 110-120w in the 4.7GHz range. I imagine Apple's dynamic undervolting and custom motherboard can shave 10% or so off that total while their dynamic undervolting can go much lower with fewer cores and lower frequencies. While even that isn't going to make their tiny cooler keep sustained loads from throttling, it could get much closer.

<comment><USER6> By "laptop memory" you mean SO-DIMMs; the only significant difference to full- size DIMMs is, well, size. Voltage and frequency tends to be the same, leaving aside extreme overclocker's RAM.

In c't magazine's review of the current iMac, they found that the whole machine appears to have a power limit which is shared by CPU and GPU, so yeah, Apple are definitely doing something fancy in that regard.

</comment></comment></comment></comment></comment></comment></comment><comment><USER7> I'm happy that AMD really seems to be surging again. It was finally time for the ol' mobo+cpu+ram rebuild for me recently, and I ended up replacing my second generation core i5 2500k with a new Ryzen 5 and I could not be happier. The price was spot on compared to how much more I would have paid for an intel chip and board. I believe I got the Ryzen 5 2600, so one generation back from this 3600 I assume.

<comment><USER8> Did a 2600x / Vega 56 build recently, and I'm honestly impressed with the value. Total under $1k after tax. I would have spent that before getting a GPU if I had gone Intel.

</comment></comment><comment><USER9> Since nobody yet mentioned it, just going to remind everyone that a 16 core, 32 thread desktop chip for Zen 2 will exist, and be priced under 800 dollars.

<comment><USER10> Source on that <800 dollar figure? Is it all just leaks?

<comment><USER11> [https://www.anandtech.com/show/14516/amd-16-core- ryzen-9-395...](https://www.anandtech.com/show/14516/amd-16-core- ryzen-9-3950x-up-to-4-7-ghz-105w-coming-september)

Announced and priced at $749.

</comment></comment></comment><comment><USER12> Anyone have any experience with AMD and ECC memory? I was going to do an AMD build for a NAS but the support for ecc was kinda like:

"We enabled it but didn't test it and we don't guarantee it will work."

<comment><USER13> That's our impression, too. There are AMD Motherboards that take ECC memory, but we've never seen them act on ECC errors that were uncorrectable (the correctably errors are handled, but uncorrectable errors aren't reported!).

We will only use Intel Xeon for our work because of this. You'll get about 1 bit flip/GB/year. With 128 GB or more in our standard builds, this would be more than 2/week. We just can't have that uncertainty in the data we provide.

And while Cinebench is a useful benchmark, all our heavy number crunching is done on NVidia 2080 architecture so the fact that AMD may have an advantage on some cases isn't that interesting for us. Perhaps if you're a gamer, who doesn't care about an occasional bitflip, looking to squeeze the last drop of value out for his dollar....

<comment><USER14> If you want to compare to Xeons, the comparison aren't the consumer CPUs this is about, the AMD equivalent are the Epyc CPUs.

AMD doesn't disable ECC support entirely on consumer CPUs like Intel does, but as far as I know it's also not officially supported and guaranteed to work, it's up to the mainboard vendor how to handle this. In the Intel case you simply can't get ECC with non-Xeon CPUs.

<comment><USER15> > can't get ECC with non-Xeon CPUs

Not quite. There are some Core branded CPUs that support ECC, including funnily enough the i3's.

<comment><USER16> > There are some Core branded CPUs that support ECC, including funnily enough > the i3's.

Hell, there are Celeron and Pentium chips that they have it enabled on. Not because they expect desktop users to buy them, but because it allows them to keep their Xeon brand premium while letting OEM's like Dell advertise the T140 "starting at $549" (in a configuration nobody would ever want to buy).

<comment><USER17> It depends on the use. For a home server or even a small office fileserver, you don't need massive threading capability, and in fact some of those low- core-count parts are fairly highly clocked, which makes them faster.

For example in the 7000 series, the i3 7100 has a 3.9 GHz base clock and you have to go almost to the top Xeon (the equivalent of an i7) to get anything equivalent. And even then it's a turbo, not a base clock, so in principle the motherboard should not let you turbo forever (PL2 time limit may actually be enforced on a server chipset).

Also depending on workload you may not even be able to exploit an increased threading capability anyway, without 10 GbE on the box, or link aggregation capability.

<comment><USER16> Oh, the i3's are fine for a general small business workload - compared to the socket-compatible Xeon's all they're really lacking is extra PCIe lanes if you need them. That's ultimately what Intel uses to segregate the Xeon and HEDT chips from their mainstream platform, after all.

The Celeron and Pentium chips that have infiltrated entry-level servers are absolute trash though.

</comment></comment></comment></comment></comment></comment></comment><comment><USER18> Any plans for AMD to release first party NUC form factor devices with Ryder chips? I bet I'm not the only one that both loves that form factor and also amazed at the perf numbers and core counts of these CPUs.

<comment><USER19> Not sure if mini-itx fits your taste but epyc 3000 may be an option. [https://www.servethehome.com/supermicro-m11sdv-8ct- ln4f-revi...](https://www.servethehome.com/supermicro-m11sdv-8ct-ln4f-review- with-amd-epyc-3201-in-mitx/)

<comment><USER20> M-itx cases are about 7.5 liters at the smallest (XBox size) although some specialty cases exist in the 5-6 liter range; a NUC is typically about 1 liter.

<comment><USER21> Those cases tend to have full-size GPU support. You can find smaller cases for APU usages, like this one: [https://www.supermicro.com/products/chassis/Mini- ITX/101/SC1...](https://www.supermicro.com/products/chassis/Mini- ITX/101/SC101i)

But you can also find Mini-STX boards like this one: [https://www.sapphiretech.com/en/commercial/amd-fs- fp5v](https://www.sapphiretech.com/en/commercial/amd-fs-fp5v) which should then fit in something like this: [https://www.silverstonetek.com/product.php?pid=708&area=en](https://www.silverstonetek.com/product.php?pid=708&area=en)

You can also find some very small Mini-ITX cases on things like aliexpress: [https://www.aliexpress.com/item/32994653418.html?spm=2114.se...](https://www.aliexpress.com/item/32994653418.html?spm=2114.search0184.108.40.2065f7ce7NU5hDB&ws_ab_test=searchweb0_0%2Csearchweb201602_10_10065_10130_10068_10547_319_10546_317_10548_10545_10696_10084_453_454_10083_10618_10307_537_536_10059_10884_10887_321_322_10103%2Csearchweb201603_52%2CppcSwitch_0&algo_expid=ddd3c89e-1b65-4477-a472-c2048af69af2-4&algo_pvid=ddd3c89e-1b65-4477-a472-c2048af69af2)

</comment></comment></comment></comment><comment><USER22> I'll wait till the embargo is lifted and detailed benchmarking will be available.

The date is rumored to be the 7th of July.

<comment><USER11> It's not even a rumor. They announced the date.

<comment><USER23> Calling it a rumor makes the knowledge sound more exciting.

Similar to how product details are no longer "announced" or "released", but rather "leaked".

</comment></comment></comment><comment><USER24> I must say, I've been quite happy with my now "old" 7/1700\. Between it and the NVMe SSD, it's been quite a snappy machine. Even before Zen, I preferred AMD for my builds just for the bang-for-the-buck. It's great to see that they're cranking up the performance per dollar to new heights.

</comment><comment><USER25> Are the Intel scores from these benchmarks with meltdown, spectre etc. mitigations enabled or disabled?

</comment><comment><USER26> Is it known yet whether the 32-core Threadripper will be discontinued or whether a potential 32-core 7nm Epyc will run at higher clock rates?

I'm searching for the fastest C++ compile machine, that includes linking (which is single core).

<comment><USER27> AMD said Threadripper 3000 is coming; I speculate there will be 24/32/48/64-core SKUs.

<comment><USER28> That'd be my guess as well... I wouldn't that be surprised to see a 16 core entry too (get onto TR platform and upgrade later option). Though the $750 for a 3950X is already pushing my budget, I might consider a 24-32 core for under $1200 if that's where it lands. System budget around $3500.

</comment></comment></comment><comment><USER29> Seeing that screenshot and how high well the i7-6900k hangs with much more recent hardware impresses me. I'm quite glad I went with Broadwell E. Probably means I'll be looking to upgrade around Zen 2+.

<comment><USER30> as the owner of a 4.3ghz 6900k which I already find way too slow... _cries_

<comment><USER29> I've had my 6850k stable at 4.2ghz and I'm not finding it too slow, but I've also got a pair of servers I offload anything I can to, so that has definitely had an impact on my perception of how fast it is.

But I'd say it's far from being too slow. The boot times and load times for most software is fine for my use cases.

It was just too expensive of a build to justify an upgrade so soon.

</comment></comment></comment><comment><USER31> This is good news but how many daily tasks come close to being represented by Cinebench?

Is Ryzen a better choice for a daily driver?

<comment><USER32> Depends on your daily driving :)

For web browsing and playing video (i.e. 99% of all users' "daily driving"), I don't think it even matters to consider these sorts of benchmarks.

I do edit video and work with 3D graphics almost daily though, so this is sort of comparison is very relevant.

<comment><USER33> Not worth considering these benchmarks because there's no effect, or because the system requirements for browsing the web are too low overall for there to be a perceptible difference?

In other words, of you were to actually measure page load speed, are you saying the measirements would correlate with the benchmarks?

<comment><USER34> My guess is that a 10ms difference in network latency would be a bigger impact on page load times than the latest Zen2 vs Intel CPU.

In reality I think for general web browsing the difference, if it exists at all, in either direction, would not be perceptible.

I know that's not EXACTLY what you're asking, but I think it's worth mentioning the practical aspect as well.

<comment><USER35> That seems to have been the "common wisdom" for a while now, but I'm not so sure that it holds so much today. With everybody coming out with bloated SPAs is it possible that faster processors will start to be required for normal web work?

</comment></comment></comment></comment></comment><comment><USER36> Jim Keller strikes again. I swear every place this guy goes, groundbreaking chip architecture work is done.

<comment><USER37> It looks like he left AMD in 2015 and as of last year works for intel...

[https://en.wikipedia.org/wiki/Jim_Keller_(engineer)](https://en.wikipedia.org/wiki/Jim_Keller_\(engineer\))

<comment><USER38> Yes, he's head of our architecture group now.

Source: I work at Intel currently.

</comment></comment></comment><comment><USER39> So it looks like the 3700X should be reasonably expected to be on a par with or better than the i9-9900K?

And that's very much in the middle of the zen 2 offerings... and at a significantly lower price.

<comment><USER40> Yes. The only question left is single thread perf. Over a range of applications. That's what everyone is waiting to see. Part of that will include how well it handles fast memory. Currently intel is in a different league when it comes to that.

<comment><USER41> The IPC is almost identical. The biggest difference will be the maximum clockspeed. Overclocked Intel CPUs can easily reach 5GHz but AMD CPUs usually are between 4.4 to 4.7.Ghz which still is a 10% difference.

<comment><USER39> Overclocked CPUs are not exactly a mass-market thing are they? I mean, outside of a few niches, does anyone bother?

<comment><USER42> 9900K has 5GHz turbo boost out of box, you just need to have enough cooling. I would say that best CPUs are not a mass market anyway and if you're talking about mass market, you should think about performance per buck and AMD beats Intel there since Zen introduction.

<comment><USER23> > 9900K has 5GHz turbo boost out of box, you just need to have enough cooling.

Anecdata here, but...

Depending on your type of workload, you don't need anything more than your typical heat sink and fan. Using Prime95 as a torture test, my 9900K will clock to 5 Ghz just fine on just air cooling without thermal throttling unless I'm doing the small FFT test, which creates a workload that fits entirely within CPU cache. I'm not sure if I'd consider that much of a real-world benchmark though.

<comment><USER42> For example on iMac you won't have 5 GHz. Video: [https://youtu.be/f_TTGYC4tmo](https://youtu.be/f_TTGYC4tmo) it runs around 3.9 GHz for prolonged test, while keeping (IMO) dangerous temperature of 93C.

<comment><USER23> Ridiculous that the person who posted that video is insisting that it's not undergoing thermal throttling. Apple is deliberately underclocking it to reduce the heat it generates.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER43> I want to see performance between Zen 2 and Intel with security mitigations enabled on Intel (AMD don't need any with Zen 2).

Should be interesting and I suspect on even games AMD will be 10%+ ahead.

</comment><comment><USER44> I'm quite excited with what AMD has pushed on socket AM4 over the last three years.

Come September they're going to release the 3950x,and if folks can wait a bit, you get 16 cores/32 threads on one socket.

But even on a budget, the 3600G looks like a great buy with Navi 20+3600 on chip.

The deal is that they have reasonable spectre mitigations working since last few gens, and Intel has to fix this if they need to be competitive. Not to mention standardizing a chipset.

<comment><USER45> I haven't seen that 3600G. I've seen announcements for a 3400G and a 3200G, and although I'd love a APU with 20 Navi cores in it, I don't think it'll happen this time around. Maybe in a year or so.

<comment><USER28> IIRC the 3000 G series is 12nm Zen+ with some extra tweaks, not Zen2... same for the 3000 mobile series.

<comment><USER45> That's true. Same amount of cores, same amount of Navi cores. Clock speeds are better and iirc cache is bigger. I'm curious as to what AMD will put in their APU's once they move them to 7nm.

</comment></comment></comment></comment><comment><USER46> I need single core performance and I am maxing out 9900K @ 5.1. If AMD proves to be faster than that, show me where to pay.

<comment><USER47> If your priority is single-threaded performance, why did you choose 9900k? I was under impression 9700k is single-thread king.

<comment><USER48> 9600k, 9700k, and 9900k are all single threaded king, effectively, at least until Zen 2 launches on 7/7.

9600k has a 3.7ghz stock base clock, 9700k and 9900k have identical base clocks of 3.6; in order, their stock single core turbos are 4.6, 4.9, and 5.0.

Now, you could be asking yourself "but Diablo, in single threaded, the 9900k is 8.6% faster, and the 9700k is 6.5% faster than the 9600k, respectively". They're all k parts, just overclock it the tiny bit of the way for a fraction of the price ($230 vs $410 vs $490), and the 9600k has far more thermal and power budget per-core to play with than the other two do.

I almost built a new desktop with a 9600k, the $230 6/6 part that shames (in both single and multithreaded) the highest end $340 or $350 4/8 parts from the previous four generations (4770k, 4790k, 6700k, 7700k); vs the $360 8700k (6/12), it performs identically in single threaded, and illustrates that hyperthreading only gains you about 25% extra performance _if_ you can saturate all 12 threads.

Remember, these are desktop chips, you are very unlikely to ever need more than 8 threads (and use them effectively), even if you game. If you happen to have a use case where you can easily saturate >8 threads, anything LGA115x is probably inappropriate for you anyways.

However, with the 9000 series release, Intel admitted AMD scared the fuck out of them, and re-released Coffee Lake at a lower price with some tweaks in speed and core/thread count because they were afraid of Zen 2 being a success; their fears were warranted.

The $250 3600x (a 6/12 part) beats the 9600k in single threaded, widely beats it in multithreaded, and has PCI-E 4.0, with an extra 4 CPU-bound PCI-E lanes (20 vs 16 on AM4 vs LGA115x), and uses a higher DDR4 clock (stock 3200 vs 2666, with an effective maximum of possibly over 5000 vs around 4133; AMD's IMC seems to continue to be effective at lower CAS latency than Intel's is).

Side note: 4790k, a Devil's Canyon part, is Intel's stand-in for the non- existent 5700k.

Devil's Canyon is a Haswell Refresh part that got a second set of 4000 series model numbers instead of 5000 series. Haswell Refresh was a Broadwell core paired with a DDR3 controller, fabbed at Haswell's node size; there are no architectural changes between Broadwell and Haswell in the core, only major changes was the decrease in node size and the swap to DDR4, the core design remained nearly identical. Broadwell largely ignored the desktop, focusing on LGA2011 and mobile parts instead, leaving Haswell Refresh to fill in the gap with the desktop and Xeon E3s, and the only notable exceptions being a small set of Iris Pro GPU parts.

<comment><USER49> > there are no architectural changes between Broadwell and Haswell in the core

There were certainly _some_ changes. The gather instructions were dramatically improved, taking ~5 uops instead of ~30 and with much better throughput.

Conditional moves only take 1 uop in Broadwell, down from 2.

Some other changes listed here:

[http://users.atw.hu/instlatx64/HaswellvsBroadwell.txt](http://users.atw.hu/instlatx64/HaswellvsBroadwell.txt)

Intel's tick-tock model was never black and white: even the "ticks" (node shrinks) received some changes and even new instructions.

<comment><USER48> Sorry, I should have written major changes. In practice, benchmarking identical Haswell vs Haswell Refresh (that, again, are effectively DDR3 Broadwells), such as with an E3-1230v3 vs a E3-1231v3, I did not see anything that wasn't within a reasonable margin of error.

</comment></comment></comment></comment></comment><comment><USER50> Anyone know where to find an inter-thread latency benchmark comparison?

</comment><comment><USER51> does this mean they broke the embargo for 7/7??

<comment><USER52> The source, Videocardz, deals in leaks. Someone broke the NDA but I don't see anything in the picture that would reveal who.</comment></comment>