Using ImGui with modern C++ and STL for creating game dev tools – Part 2 - <AUTHOR> https://eliasdaler.github.io/using-imgui-with-sfml-pt2 <comment><USER2> Dear Imgui is absolutely awesome, first time in my life where I'm actually enjoying writing UI code. AFAIK it was an intentional (and IMHO good) design decision to not tie the API to the C++ std library, this makes imgui more widely usable, for instance in code bases that also don't use the STL, exceptions or RTTI (and that's quite common in the game development world), it also makes it easier to write wrappers for other languages.

Check out what people have been doing with Dear Imgui:

\- [https://github.com/ocornut/imgui/issues/123](https://github.com/ocornut/imgui/issues/123)

\- [https://github.com/ocornut/imgui/issues/539](https://github.com/ocornut/imgui/issues/539)

<comment><AUTHOR> Yup, there's no doubt that it's awesome that ImGui doesn't force you to use some particular library.

But for people already using STL and integrating ImGui with their codebase, using STL with ImGui may be somewhat difficult and that's why I wrote the article about things that worked for me. :)

</comment></comment><comment><USER3> For C, there's C wrapper [https://github.com/Extrawurst/cimgui](https://github.com/Extrawurst/cimgui) and another library Nuklear [https://github.com/vurtun/nuklear](https://github.com/vurtun/nuklear) which is also really nice.

</comment><comment><USER4> I'm surprised immediate mode guis have taken such a long time to take hold. The separation of data and drawing in very elegant after having come from ui systems where your widgets essentially end up being data structures.

</comment><comment><USER5> Immediate mode GUI still has a huge drawback - running UI code every frame. It's not a big deal with simple widgets, but with complicated UI, especially with some kind of automatic layout involved, it becomes a pain.

In Unity3d game engine in particular, IMGUI was originally used, and it was a huge performance drain. Now all the "real" UIs have been moved to a new, object-based system (with a LOT of caching and optimization), but IMGUI is still used for quick prototyping and debug UIs.

<comment><USER6> It all depends on how complex your layout is.

I think the arguments that "well, games redraw the HUD every frame and it's fine, so why is recreating the UI every frame a problem?" are misunderstanding the problem. HUDs usually don't have much _layout_ to do: in CSS terms, everything is absolutely positioned. Designers usually create HUDs visually using Flash or similar, so the layout ends up being trivial since, in effect, a human has already manually calculated the positions of every widget. For a programmatically-created GUI, though, there is actually layout to perform, usually via a flexbox-like model but sometimes via a constraint solving system (which makes the time complexity go way up). For this to be efficient you need a way to cache the results of layout so that you only recompute them from frame to frame when needed. This caching is precisely what a retained mode UI _is_.

For those who think that layout is always fast enough to never be a performance problem, try writing a flexbox UI in your browser, then open the dev tools, resize the window (which will trigger a full relayout if you don't have any explicit widths in there) and see how long the layout takes. It often eats up the time budgets of multiple frames (and this is not just browsers being slow--the complexity is inherent).

This is not to say IMGUI is bad, mind you! It's a great solution for debug overlays, which is what it was originally designed for, because of how simple it is. Just don't overstate its benefits: retained mode UIs exist for a reason.

<comment><USER7> At a clock rate of 2 GHz, at least 64 million cycles will elapse during multiple frames (> 32 milliseconds) of layout. What makes flexbox layout so inherently complicated that computing it takes such a huge number of operations? Maybe we should come up with ways of specifying layout that take fewer operations to compute.

<comment><USER8> But how many times can you access the DRAM in that time?

One thing you have to keep in mind is that the more dynamic the scene graph, and the larger its memory footprint, the more frequent you'll miss the cache while traversing it.

It's possible to manually write optimized flex-box-like layout code, where the overall structure, if not exact position, is mostly static.

For example, if you always have one resizable panel to the side of two viewports, of equal width (as is the case in the editor I use atm), you can easily do `viewport_width = (total_width - panel_width) / 2` and be done.

Those operations, if done with integers, should be _faster_ than a read from cache, or if done with floating-point numbers, (much) faster than going to DRAM in the even of a cache miss.

However, doing all of that by hand would be a pain, and it's hopeless in the face of user customization. SIMD is another resource that's _completely unusable_ in the face of truly dynamic data, and a time sink to do manually.

What we're missing is _automation_ of mostly-static UIs, generating specialized code and optimizing it into computations that run under a microsecond. For HTML, the hope would be JITs, but highly dynamic DOMs are still all over the place, so you're not going to have as many gains as a dedicated UI system, and it wouldn't be free for the user.

<comment><USER7> Yes, exactly! It seems like immediate-mode GUIs could actually lay out faster than retained-mode: you don't have a scene graph, and the layout code is just normal code that can be optimized by the compiler.

<comment><USER6> Layout code is _always_ "normal code that can be optimized by the compiler". Why wouldn't it be?

I think you're referring to applying optimizations to static UI with constant data structures, but that can be done with retained mode too, and I doubt it actually is going to help.

</comment></comment></comment></comment></comment></comment><comment><USER9> How would this UI library work on an iOS OpenGL project? I would expect it to display fine, but maybe lining up the touches with the buttons could require some extra thought.

</comment><comment><USER10> <StlIsTheWrongName>If writing "modern C++", why do you want to use a really old library, STL, why not instead use the "Standard Library"? </StlIsTheWrongName>

<comment><USER11> As an STL maintainer, I can say that using "STL" to refer to "the C++ Standard Library" is a perfectly valid use of metonymy.

<comment><USER10> Do you not maintain threads, RegEx etc... ? At best STL can be reffered to as a subset of the Standard Library, which contains the algorithms and containers framework. I take Stroustrup's word over a maintainer with the intials STL, who has an interest to keep calling it by this name.

<comment><USER12> No, the STL doesn't exist any more, at least as a going concern. That's why it's metonymy. It sounds like you're thinking of synecdoche.</comment></comment></comment></comment>


Sorting algorithms compared and animated - <AUTHOR> http://www.sorting-algorithms.com/? <comment><USER2> I've always thought that sorting algorithm visualisation could be done better in static images than animation. Here's a blog post on the topic I prepared earlier... ;)

[http://www.hatfulofhollow.com/posts/code/visualisingsorting/...](http://www.hatfulofhollow.com/posts/code/visualisingsorting/index.html)

<comment><USER3> This is so much good of an idea.

I remember seeing the exact same animations original poster linked to, no less than ten years ago. I recognize their visual form distincly, because of how they've set back my understanding when I was learning this stuff.

There is no limit to pagerank you should receive for preparing this.

<comment><USER4> What I like about the animated approach is showing insertion and bubble sorting beating the others on a nearly sorted set. It's not just a question of what's the best in average or worst case situations but also what format is your data starting out as.

Edit: It's not that the other approach can't show the same information rather it takes up more space so it's harder to notice new relationships other than those directly shown.

</comment></comment></comment><comment><USER5> This is one of the best things I've seen on HN in a long time. What a great idea!

(Doesn't work when I increase the size to 50 though.)

<comment><USER6> No offense, but "long time" is the operative phrase. It's old.

<comment><USER5> That's ok by me. I tend not to consume the entire output of the internet every year.

<comment><USER6> But you hang out on HN. The N stands for News.

<comment><USER7> New to me suffices.

</comment></comment></comment></comment></comment><comment><USER8> Another page with sorting algorithms animated (with some other algorithms): <http://www.cs.ubc.ca/~harrison/Java/sorting-demo.html>

</comment><comment><USER9> Thanks for the link it was a good read, this is a good one too, it shows some stats as the sorting operation is happening: <http://coderaptors.com/?Sorting_algorithms>

</comment><comment><USER10> Here's another page with more algorithms: <http://home.westman.wave.ca/~rhenry/sort/> Has some fun ones like Stooge sort and Several Unique sort.

</comment><comment><USER11> This would make an awesome test question - show the animation and name the algorithm.

</comment><comment><USER12> wonderful, I want to email this to some of my old professors.

</comment><comment><USER13> This is also a great page to explain to normal people how computers actually work.

</comment><comment><USER14> This is great. I wish I could upvote again and again.</comment>


56% of developers support Apple's iOS, 90% are single-platform - <AUTHOR> http://www.appleinsider.com/articles/10/06/18/56_of_developers_support_apples_ios_90_are_single_platform.html

<comment><USER2> Really? Really? So around half of ALL US developers only write for iOS?

<comment><USER3> The survey is presumably mobile-only, since the company behind it specializes in mobile advertising. In which case those kinds of statistics make plenty of sense - half of all _mobile_ developers in the US writing for iOS? Not unimaginable.</comment></comment>


Ask HN: Technical solutions to connect securely over known MitM'ed connection? - <AUTHOR> Is there a way to implement secure HTTPS on top of MitM'ed HTTPS? Or changes to HTTPS that would make this possible?
My first thoughts are:
1. Connecting via HTTPS, detecting an invalid cert, and then requesting a valid cert from the target website over the MitM'ed connection, and just passing the rest of the traffic over the MitM'ed connection encrypted w/ the valid cert. The problem with this is that any standardized way of requesting the cert could be blocked by the MitM attacker.
2. Preload a large database of certs and connect via HTTPS, detect an invalid cert, and send data over the MitM'ed connection encrypted with the cert from your database, then have the server when they receive an encrypted request, decrypt it with their private key, and if it's still not valid, decrypt it again with their private key. This is harder to detect and block by the MitM because encrypted data, which is essentially random, could look like valid data, but it's also hard to detect on the server because actually random data could be used to DDOS the server (send it random data and it infinite loops).
Are there other approaches, or ways to fix the problems I see with these approaches? <comment><USER2> Encapsulate Ethernet over HTTPS - then they'll only decrypt the first HTTPS layer and get to see your Ethernet traffic, but if you're using this Ethernet "link" to tunnel all your traffic, you would end up using HTTPS inside it, effectively having HTTPS over Ethernet over HTTPS :)

We are currently working on a SaaS offering to solve this issue and unlock many other scenarios; e.g. intercloud or onprem<->cloud seamless networking. We should be ready for our beta around Christmas.

</comment><comment><USER3> If it's possible, it seems like you need to add a second channel for your handshake protocol. SMS is pretty difficult to MitM for non-state-sponsored attackers.

</comment><comment><USER4> #1 wouldn't work because the attacker could just intercept your request and send you a new fake certificate.

</comment><comment><USER5> Cert PIN-ing should prevent MITM'ed ssl from working.

<comment><AUTHOR> I haven't thoroughly researched cert pinning, but it seems like basically the same as the SSH message you get when you SSH into a new server. If my understanding is correct, it does nothing to solve this problem.

1\. It only prevents you from connecting over a MitM'ed connection if the cert is already pinned, i.e. if you've visited the site before.

2\. If your connection is MitM'ed, you have no way to securely access the site you want except connecting over another channel.</comment></comment>


We analyzed every "Modern Love" column from the past 10 years - <AUTHOR> https://qz.com/962718/we-analyzed-every-modern-love-column-from-the-past-10-years-heres-what-we-learned-about-love/ <comment><USER2> I used to read those stories a lot. I liked the challenging and interesting stories.

But after a while they took a turn for the more dramatic and IMO what felt like a lot less honest articles that read like they're intended to manipulate the reader, make a point via some morality tale / op-ed disguised as something personal.

Now it is a bunch of short glib stories and misc celebs reading them aloud.</comment>


It's not just the iPhone 5S — the 5C sensors aren't accurate either - <AUTHOR> http://venturebeat.com/2013/10/07/apple-its-not-just-the-iphone-5s-the-5c-sensors-arent-accurate-either/

<comment><USER2> I'm sceptical. You can actually use the upper button on the left side of the app pictured in the article [1] to calibrate that app. So you could make it show whatever inaccuracies you wanted. And it's far from an "unfixable sensor problem" that "would put a dent in Apple's reputation". Also, analog bubble levels aren't always perfectly accurate either.

[1] [https://itunes.apple.com/us/app/ihandy-level- free/id29985275...](https://itunes.apple.com/us/app/ihandy-level- free/id299852753)

<comment><USER3> Apple's built-in compass (which has not calibration) also shows many devices to be off. I'm not sure why that person chose a third-party app to show this off.

This is a real issue.

<comment><USER4> AFAIK you can calibrate the compass. At least in iOS7. But using an iPhone 5 I always find the compass to be incorrect most of the time.

</comment></comment></comment><comment><USER5> I'm not entirely sure why this is a big deal right now. I had an iPhone 1 and when the App Store opened up I downloaded Cube Runner. The accelerometer calibration was off by A LOT. Just keeping my phone flat on the table would cause the ship to shoot off far to the left.

I actually had to replace my iPhone at the Genius Bar (I think more than once) in order to get one that worked better.

Since that was over 5 years ago it is very unlikely that Apple will now decide to offer software calibration in the OS.

As for this comment from the article

> Unfixable sensor problems, however, would put a dent in Apple's reputation > as the company that sweats the small stuff to get every last detail right.

I am pretty sure iOS 7 already did that.

</comment><comment><USER6> Offtopic, but I like how the article calls the 5C "relatively inexpensive"; it's still a high-end (priced) device that looks intentionally low-price / less refined.

</comment><comment><USER7> Gizmodo has a more detailed article with some tests from last week: [http://gizmodo.com/the-iphone-5s-motion-sensors-are- totally-...](http://gizmodo.com/the-iphone-5s-motion-sensors-are-totally- screwed-up-1440286727)

</comment><comment><USER8> I'm leaning towards a calibration issue.

Apple could release an app for calibrating the sensors and offer to help you at an Apple Store.

Anyone familiar with Windows Phone or Android know if their sensor software offers calibration?

<comment><USER9> > I'm leaning towards a calibration issue.

Surely this is easy to test? Is the level always off by the same magnitude, in the same direction, for any given phone? Would be nice if the parent article had tested this...

If a particular phone is always off by, say, 3.5º it's presumably an easy fix, though, as you say, would require everyone to run a calibration on their phone.

<comment><USER8> If every phone has a slightly different offset = not calibrated

A batch of phones has the same offset, but there are different offset between batches = calibrated, but poorly

All phones have the same offset = Rounding error, sensor bugs, who knows.

</comment></comment></comment><comment><USER10> Have the sensors ever been good? I've always found the compass to either constantly lose calibration, or when it finds it, it's a good 90° off where it should be. Since they introduced the hardware in the iPhone 4, essentially.

</comment><comment><USER11> I don't have an iPhone5c/5s to attempt this myself but what I was informed is that you have to:

> place the unit into "Do Not Disturb" mode be sure to turn off any type of > call from anyone, and always silence.

> place the unit on charge

> let the unit sit flat on the backside for 90 min (home button facing up)

> check status.

Someone want to try this?

</comment><comment><USER12> In Android one can simply calibrate those sensors by placing the device on a level surface. Surely this is possible in Ios too?

<comment><USER13> Apple has a calibration process that doesn't require a flat surface. The first time you go to the "level" app (it's a right swipe from compass) - you are asked to spin a little virtual ball in a circle (kind of like a roulette wheel) - after three or four spins it's calibrated and (at least on my iPhone 5) works as a dead level.

</comment></comment><comment><USER13> Anybody with an iPhone 5S see the problem? My iPhone 5 is dead level on when I put it on a known-level surface in portrait, landscape format, or flush flat - well, to within 1 degree (I don't get 1/2 degrees on the iPhone 5)

You are required to calibrate it by spinning the "ball" around prior to using it though.

<comment><USER3> 5S, 3° off on a flat surface.

<comment><USER13> Interesting - Did you run the calibration process? (Spin the little virtual ball in the "roulette" wheel)

<comment><USER3> You pretty much have to, every time you launch the built-in compass app. I feel this process is mostly for the compass, not the level.

The 3° are consistent, across multiple tries for several days. I think there will have to be a software fix. Seems like their calibration process in the factory was off or something. No big deal but annoying.

</comment></comment></comment></comment><comment><USER14> Has QA slipped, or are all the walls in walled garden all a bit wonky?

<comment><USER15> I'm wondering the same thing. There's also this placeholder text that still shows even on iOS 7.0.2

[https://fbcdn-sphotos-f-a.akamaihd.net/hphotos-ak- prn2/q71/s...](https://fbcdn-sphotos-f-a.akamaihd.net/hphotos-ak- prn2/q71/s720x720/1381839_10153347469130121_1218956929_n.jpg)

I submitted a bug report, but I'm yet to hear anything about it.

<comment><USER16> That's odd. The placeholder text doesn't show for me (correctly reads "Music"). iPhone 5/7.0.2

<comment><USER15> I checked with 4 separate phones with 4 separate people. Same thing. Maybe it's a localization issue?

<comment><USER16> Could be. What locale are you using? It's fine on "British English"

<comment><USER17> Fine here. AT&T iPhone 5, 7.0.2 (11A501) on "English".

But definitely looks like someone didn't fill out all the translation strings somewhere.

</comment></comment></comment></comment></comment></comment><comment><USER18> How can 2.7° even matter? I assume people are not laying brick walls with their phone.

<comment><USER19> Are you serious? If you are hanging a 1.5-meter long painting and you go off by 2.7 degrees (not %, by the way, that would be FAR worse) on the angle, one side will be around 7 centimetres higher that the other.

This is a serious screw up. Hopefully it can be solved with just a recalibration.

<comment><USER18> I can do the maths. We're not talking about the precision of a measurement tool here but mostly a mediocre input controller for asphalt racing, which I assume is barely noticeable for people playing a game on their couch.

<comment><USER20> Unfortunately, your narrow view of the use of the sensors in a smartphone isn't indicative of their actual widespread use in many applications hobby and commercial. Heck I remember reading recently about some of the Syrian "rebels" using an iPad to aim mortars. (Note my example isn't something I'd entertain personally!)

<comment><USER21> > Syrian "rebels" using an iPad to aim mortars

Photo: [http://static2.businessinsider.com/image/52385f79eab8eafb56d...](http://static2.businessinsider.com/image/52385f79eab8eafb56d28236-800-/rtx13mqd.jpg)

</comment></comment></comment></comment></comment><comment><USER22> "Apple's reputation as the company that sweats the small stuff to get every last detail ++of their marketing campaigns++ right."

(Products, not so much)

FTFY

<comment><USER22> Oh dear, I've upset the fanbois!

Antennagate

Magsafe power adaptor recall

Scratchgate/Scuffing

Maps

There's no doubt many companies/products have glitches and design faults, but the eulogizing needed a bit of balance.

<comment><USER23> My guess would be that people downvoted you for your reddit-style comments that add nothing to the conversation rather than "the fanbois" taking up for Apple. You aren't new here so I assume you either (a) knew that, or (b) are assigning the blame for the wrong reasons. Had you taken as much time (or put in as much thought) with your original comment as you did with this follow-up, I suspect you would've had upvotes.</comment></comment></comment>


Juicero CEO Begs You: Do Not Open Our Juice Bags - <AUTHOR> http://gizmodo.com/juicero-ceo-begs-you-do-not-open-our-juice-bags-1794507811 <comment><USER2> I have a feeling that Juicero could as well have been a parody company in the show Silicon Valley. In fact, the most hilarious thing about that show was that everything was made as a parody but almost nothing was so farfetched as to not be true.

And companies like Juicero definitely help bridge that gap.

</comment><comment><USER3> >> Imagine you buy the $400 juicer and some

>> 14-year-old hacker remotely disables your juice packs.

I don't want to live on this planet any more</comment>


Voice Search For Your TV - <AUTHOR> http://avc.com/2014/04/feature-friday-voice-search-for-your-tv/

<comment><USER2> The ten-foot interface with a remote to navigate thousands of titles is rather unpleasant. For a better experience, we can talk to describe what we want, and the display system can learn individual preferences of each member in the household.

I assume that's part of what Steve Jobs intended when he said he had "cracked" a simple, integrated TV system -- per Isaacson's biography.

"[Jobs] wanted to do for television sets what he had done for computers, music players, and phones: make them simple and elegant."

[http://appleinsider.com/articles/11/10/21/steve_jobs_told_bi...](http://appleinsider.com/articles/11/10/21/steve_jobs_told_biographer_he_cracked_the_secret_to_a_simple_hdtv)</comment>


So this analyst wants to write code - <AUTHOR>

Shameless plug here: I have been in systems/data/business analyst roles for 3 years now (F500), and I want to write code. I understand systems, I would just need someone to teach me a little bit and I will run wild.
Interested in haxe, go and <>javascript. Great at Excel. Wrote some C# for one of the big guys as an intern, then got sucked into more "strategic positions"
Am I misguided here? Is the grass just brown and poopy on the otherside? Help (hire) me write code?
I have what it takes, do you? <comment><AUTHOR> Sincerely, what is the route here? Surely I am not the first?

<comment><USER2> Start by automating something you do day-to-day. Its fine to do this in VBA in Excel. That will lead you naturally into COM which is "real programming".

<comment><AUTHOR> ^^^right on^^^^! great practical advice, greatly appreciated</comment></comment></comment>


Google starts blocking "uncertified" Android devices from logging in - <AUTHOR> https://arstechnica.com/gadgets/2018/03/google-starts-blocking-uncertified-android-devices-from-logging-in/ <comment><USER2> Well this is neither bad nor good. Because custom Roms will have a hatch out of it.

This is against something the article itself describes:

> We've actually been unknowing victims of illicit Google app distribution > here at Ars before. We once imported a Xiaomi Redmi 3 smartphone from China > to review, and, upon booting it up, we were very surprised to find it came > with the Google apps pre-installed. As a device from China, this should not > have happened. After we posted the review, Xiaomi contacted us with some > very scary news: "The Redmi 3 should not come with Google Play pre-installed > because it is a China-only product." Xiaomi told Ars. "It is very likely > that the Play Store you saw was preinstalled by the importer/seller. This is > a very common practice with the unauthorised importers."

> This would mean the reseller opened our phone, unlocked the bootloader, > flashed on a new ROM with Google Play, re-locked the bootloader, and stuck > the phone back in the box. There was no obvious evidence that our device had > been tampered with, and, while hopefully the seller only installed Google > apps, they could have just as easily loaded malware onto the device. A > message like this during setup would have been a big red flag that something > was wrong.

Which I find quite disturbing. That a seller (even on Amazon) could import cheaper "china" only phones and sell it to me as the EU/US version. (it's basically incorrectly labeled)

Edit: formatting

<comment><USER3> Wow, I never realized that it's effectively impossible to tell if an Android device has a custom ROM intentionally set up to not look like a custom ROM.

Is there any chance of Android gaining a "Secure Boot" logic—not in the sense of desktop PCs, but in the sense of ChromeOS devices? (i.e. not that you can't boot custom ROMs, but that you'd get a click-through warning each boot from the hardware boot loader that the OS signature check has failed.)

<comment><USER4> > but in the sense of ChromeOS devices?

You can fairly easily flash a custom ROM onto a ChromeOS device and remove the boot-up warning. It does require taking apart the device quite significantly, and then flashing different u-boot firmware using a firmware flasher. But it's definitely possible. The problem with ChromeOS devices' "secure boot" is that it is disabled if you want to boot something not trusted in the firmware, so if you have a custom OS you have to disable one of the main security features of the device (unless you flash different firmware onto the device).

Oh, and Android already has this feature. But as with ChromeOS you can disable the warning if you re-lock the bootloader. However, each time you unlock (or relock in the case of Pixel devices) the bootloader, the device will be reset to factory defaults.

<comment><USER3> > Oh, and Android already has this feature. But as with ChromeOS you can > disable the warning if you re-lock the bootloader.

Ah, I was basically imagining that there was some separate "bootloader" stage sitting on a chip that _can 't_ be user-flashed (and is hopefully even fully WORM, like old school OTP-NVM PROMs) which would handle the secure-boot logic.

So I guess I should rephrase my hypothetical technology as "like Secure Boot in x64-platform PCs—where the CPU checks the BIOS signature and then the BIOS checks the boot loader signature and then the boot loader checks the OS signature—and where the CPU and BIOS can't be tampered with after the factory, thus guaranteeing the sanctity of the bootloader—but where a failure of the boot loader to verify the OS just results in a click-through boot warning."

<comment><USER5> What you are describing is Intel BootGuard. [1]

There is a signature burned into efuses in the CPU that is used as a root of trust for the BIOS, which implements SecureBoot.

In _theory_ this protects the boot chain from tampering. In practice vendor BIOS implementations are usually buggy garbage, so while you cannot replace the BIOS (because then the signature would fail and the platform won't boot) it may be possible to circumvent the security features by exploiting some bug in the IBV code or in their UEFI implementation.

[1] [https://patrick.georgi.family/2015/02/17/intel-boot- guard/](https://patrick.georgi.family/2015/02/17/intel-boot-guard/)

</comment></comment></comment></comment></comment><comment><USER6> While people think this is a move to curl illicit app activity(which is the cover issue), I think there's a much bigger motive. It's the fight against Amazon.

Depending on how strictly this is enforced, now Amazon Fire Tablet users won't be able to use Google Play store (they were able to with an apk till now) which cuts off access to the app ecosystem on the Google Play Store.

Now there are quite a few apps on Amazon's App store[1], but obviously many users will feel the pain.

So now they will not have access to the following - Google Assistant, Google Home and Google Maps which will hurt the most.

[1]: [https://www.amazon.com/mobile- apps/b/ref=topnav_storetab_mas...](https://www.amazon.com/mobile- apps/b/ref=topnav_storetab_mas?ie=UTF8&node=2350149011)

<comment><USER7> Amazon doesn't want their tablets to have the Play Store (they don't come with it pre-installed), I don't really get your point.

<comment><USER6> >Amazon doesn't want their tablets to have the Play Store

Sure, but their customers do. It will be a lot less attractive option for some people if Google comes out with its own tablet, since it will have Google _and_ Amazon's apps (setting aside the possibility of price difference)

I also partly agree with what habura said.

I think Amazon _does_ care about the Google Play at bit because the developer fees on the apps go to Amazon rather than Google.

On the other hand it is also more about the services ecosystem that Amazon and Google are offering.

Take the following:

1\. Cloud storage - Google Drive vs Amazon Drive

2\. Digital content stores(books, movies, etc)

3\. Music Subscription. (this came later, but still helps my point)

Amazon might've weighted the above and thought that if it has a monopoly of these services, people would go with Amazon rather than Google's services, since it will be available on more devices.

Note: This is all speculation, and even maybe as another user called it, a 'baseless conspiracy theory' so take it with a grain of salt. Longterm corporate decisions are hard to decode with confidence.

<comment><USER8> > if Google comes out with its own tablet

Yes, I get that Google is not really pressed in the tablet space (as it seems to be dead in the water, no new shiny tables for ages), but this interpretation reads too much into Google's tablet strategy. (Which is so far to concentrate on mobiles, and pay lip service to the tablet line by simply allowing Acer et al. to use a/the Google brand.)

> developer fees

??? So far Google Play dev account is free, of course Firebase is expensive as fuck.

<comment><USER6> >reads too much into Google's tablet strategy

It does, but sure puts Google in a good position if it needs to. Even right now even if Google doesnt make tablets, it would rather have other companies which are cooperative (get the Android CTS) get the edge. I assume you've heard of the passive aggressive fight between then.

>Google Play dev account is free

I was talking about the 30% store cut that Google gets for paid apps. Also you need to pay $25 to have a developer account, so that's not free either

<comment><USER8> Hm, we have a published app, and continue to pay $0 for it. But looking at search results the 25 was already there in 2014, so ... maybe it's just for new accounts?

> strategy

Agreed! The embrace extend and E-something always works wonders, even if you don't do it, you just have to be in the position to be able to do it.

</comment></comment></comment></comment></comment></comment><comment><USER9> Google has slowly but surely started approaching the walled garden approach put forth by Apple.

It is totally within their right to do this. I understand why they're doing this. I'm not happy with it.

<comment><USER10> Shouldn't the customer _also_ have a right to do whatever they want with the device they paid good money for? Google is intentionally disabling the device without providing any evidence of breach of terms. I don't agree that this is their right.

<comment><USER11> This gives a consumer the ability to do whatever they want with a device[1]. Its a change aimed at stopping OEMs from providing unlicensed devices. (Edit: or really from providing official Google apps on those devices. There's nothing wrong with forking Android for your device, but Google does want to control whether or not Gmail runs on it, especially if that device doesn't meet certain standards.)

[1]: See the "custom ROM" thing at the bottom. There's a caveat that the current implementation has a limit of 100 device ids. There's some discussion/debate about what that will end up meaning. If it ends up meaning 100 devices, that's fine for any consumer use pattern. It may in practice end up meaning 100 flashes, which is/could be problematic for certain users (custom ROM developers, as an example).

<comment><USER10> In cases where users' freedoms for legitimate uses are curtailed I believe we should be siding with the end users. Maybe in time we will see microsoft banning chrome, firefox, steam etc from running on devices not certified by MS. Its "their OS" so "its their right".

<comment><USER11> But the end user can do whatever they want. The end user is free to install a custom ROM and use GApps. They have to jump through an extra hoop.

This would be like Microsoft banning Lenovo from sticking unlicensed copies of windows on Lenovo laptops. Something which Microsoft already does.

<comment><USER10> Well my analogy was that the 'service' MS provides is the OS Platform API, and its blocking applications from executing on their platform. Which would be ridiculous. A user should be able to run any software they want.

Similarly, as a user (paid or otherwise) of Google's services, unless specific evidence is given that the user is abusing their services, Google is in the wrong here of blocking someone preemptively.

<comment><USER11> What end user do you feel is being blocked from using what software? I have a feeling you misunderstand what's actually happening here.

</comment></comment></comment></comment></comment></comment></comment><comment><USER12> I'm glad to see they left a door open for users of custom ROMs. While inconvenient, it will end up as just another item on the already complicated guides for installing custom ROMs. Let's just hope this option doesn't disappear one day

<comment><USER13> Note that it appears there is a 100 registration limit per Google account. And each factory reset changes the ID the phone is registered under. For a lot of ROM folks, this is probably not going to last very long.

<comment><USER14> Is it possible to deactivate old IDs?

<comment><USER15> No – it's 100 times of installing ROMs per lifetime, then you're EOL.

<comment><USER16> Wow, if that's true, that changes the whole tone of this. Hopefully this is just a temporary oversight, and Google allows the opportunity to delete and reuse these 100 slots.

<comment><USER13> I suspect if they were intended to be "reusable slots", it would be a drastically smaller number, like... five.

<comment><USER17> Which is actually fine. 5 is restrictive but 15 is just fine.

</comment></comment></comment></comment></comment></comment></comment><comment><USER18> An open source implementation of the to google services layer exists already: the microG project[^1]. Combine it with f-droid, and apps like Yalp store[^2], and the phone functions perfectly.

I've made a guide a little while ago on how to do this on a Nomu S10, one of the cheap, MediaTek based, rugged phones[^3].

[^1]: [https://microg.org/](https://microg.org/)

[^2]: [https://f-droid.org/packages/com.github.yeriomin.yalpstore/](https://f-droid.org/packages/com.github.yeriomin.yalpstore/)

[^3]: [https://petermolnar.net/odexed-android-6-marshmallow-with- mi...](https://petermolnar.net/odexed-android-6-marshmallow-with-microg/)

<comment><USER19> > the phone functions perfectly

I guarantee it doesn't.

<comment><USER18> I can send text, email, call someone.

Travel apps, say, Ryanair, Easyjet, Booking, are working without a single glitch, including push notifications.

Version 8 of Google Maps and version 3 of translate (the one with the 200+MB language packs that people actually understood, unlike the AI-powered 30MB ones in the new versions) don't need Google Services Framework, neither does Osmand.

Netflix, Spotify, amazon videos work fine, amazon anything works fine.

Even whatapps (which I sadly had to install due to the lack of other channels with a few groups) functions as expected.

The only app I'm using and has problems is Monzo: most of the push notifications don't come through, only sometimes one of them, and you have to - gasp! - manually refresh by pulling the screen down.

I'm really curious about your "guarantee".

</comment></comment></comment><comment><USER20> _An Android ID is 64-bit hex string set at first boot and regenerated every time a factory reset is performed._

...and likely quite easy to set to any value you want on the "unoficially open" Mediatek platforms. This is the little-known secret amongst the Chinese Android community --- cheap and featureful devices with no locked bootloaders or other anti-user crap, easy "unbrickable" recovery, and plenty of leaked documentation from the hardware level up. Roughly equivalent to a PC, in that while a lot of them come with preloaded software you might not want, it's also not hard to remove that and customise to your heart's content, and join in the community of others doing the same.

I give it at most a month before this block is cracked. Unless there's some insanely crazy DRM-esque things Google is doing, it doesn't seem so difficult to bypass; and even then, the Android hacking community is full of people who love a challenge. See the constant cat-and-mouse game of detecting and hiding root, for example.

<comment><USER21> > cheap and featureful devices with no locked bootloaders

would you mind providing links to such devices, and the roms that go on them? I'd be very interested in this when my Moto Z eventually dies

</comment></comment><comment><USER22> How can this be legal? Google is effectively using it's dominant market position in mobile apps stores, mapping and search to remove from the market other compatible operating systems. Derived from the same open source core as it's own, but that is irrelevant for this discussion, they are not licensed Android versions, therefore they are compatible competitors.

<comment><USER23> Perhaps you should first start off by answering in what world is it legal for shady OEM's and middlemen to pre-install proprietary Google Play Services on devices that weren't certified by Google.

<comment><USER22> I'm not entirely sure you are following my point: it's illegal to install that software precisely because Google has restricted their use on competitor platforms. In the general case, there is nothing wrong with licensing your code as you see fit, however when you have a market dominant position things change dramatically from a regulatory perspective. See the repeated run-ins Microsoft had with competition regulators on both sides of the Atlantic.

The point to debate is whether Google has a dominat position in say search. Not if "this world" grants a right to unfettered anticompetitve and monopolist business practices - it does not.

</comment></comment></comment><comment><USER24> Having always been careful about ensuring that my Android phones don't accidentally get logged into any Google account, I'm all for this change and glad that Google is actually making life easier for once.

<comment><USER25> I find this very hard to do. Which Android devices do you use? Most of the ones I've touched don't have an obvious way to opt out of google crapware and google accounts.

<comment><USER24> I currently have a Moto G; I previously used a Moto X, and before that a Galaxy Nexus. Of course the google apps nag me to log in or create an account, if I happen to launch one by accident, but the phone itself works fine without one.

For one of the phones I couldn't find a way to get through setup without creating a google account, so I just entered a bunch of garbage info, then deleted or froze all the google related services and reset the accounts database. Its sole entry after that was my Signal login.

</comment></comment></comment><comment><USER26> Slightly off-topic, but I see this complaint a lot:

> Android distributions that don't pass Google's compatibility requirements > aren't allowed to be called "Android" (which is a registered trademark of > Google)

This is supposed to be a straitjacket that prevents everyone except Amazon from deviating from Google's Master Plan.

It reminds me of what happened with personal computers, where, amid a field of slightly different hardware from different manufacturers, devices started to be sold as "IBM PC-compatible", which eventually just shortened to "PC" because nobody cares whether their computer has official IBM branding or not.

What's stopping people from releasing phones with an "Android-compatible" OS? Who would care?

<comment><USER23> >This is supposed to be a straitjacket that prevents everyone except Amazon from deviating from Google's Master Plan.

Chinese OEM's that sell smartphones in China without Google Play Services would disagree.

</comment></comment><comment><USER27> We need a FOSS phone yesterday. What are the options?

<comment><USER28> I've seen this idea proposed countless times, but they always seem to either fail to deliver in terms of "FOSS" or turn out to be a kickstarter phantom project that never ships.

The latest phone I see people pinning their hopes on is [https://puri.sm/shop/librem-5/](https://puri.sm/shop/librem-5/)

<comment><USER29> There was a post today, by one of the KDE developers who has been involved with the postmarketOS crew in getting mainline kernel support, i.e 4.16 and not with whatever fork Android ships on, for an off-the-shelf device (Nexus 5)

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

</comment></comment></comment><comment><USER30> The biggest group of victims here is most probably those with Amazon devices that have Gapps sideloaded. Are there any other large segments this would affect, seeing has how custom ROM users are (for now) spared?

<comment><USER31> I imagine that the body of (non-western) people who have gotten their phones from less scrupulous vendors would be significantly larger than the relatively small number of Amazon sideloaders.

</comment></comment><comment><USER32> Considering the state of affairs regarding transparency and privacy, one would think that they would define what "certified" actually means.

<comment><USER13> "Certified" means they have signed Google's Mobile Applications Distribution Agreement, a confidential contract where Google permits access to Google Apps in exchange for the manufacturer agreeing to load up all of Google's required bloatware, set Google Search as default, comply with all of their compatibility requirements, and agree to not release any devices running alternative versions of Android.

We don't have a current version of the MADA public, but you can see some old ones from 2011 here: [http://www.benedelman.org/news-021314/](http://www.benedelman.org/news-021314/)

</comment></comment><comment><USER33> Users of custom ROMs can register their devices per-user here: [https://www.google.com/android/uncertified/](https://www.google.com/android/uncertified/)

It is limited to 100 devices per user, not a problem for real end users.

</comment><comment><USER34> Is anyone else getting a "something went wrong" when trying to register your id?

<comment><USER17> yep. Been trying for the past 30 minutes. Not sure if there's a surge of people trying to register devices suddenly.

</comment></comment><comment><USER35> well as custom ROM user for 7 years all I can say it's I survived without gapps for years in China and I was fine, I will be fine if they won't allow me to sign in as well outside China, after all only two Google apps (with UI) left on my phone are Play store (Yalp store covers that) and Photos (well, there is no real alternative for unlimited backup but Flickr would do it and sharing through some messenger)

only thing they will accomplish by locking their ecosystem it's they will have two less users when I will remove gapps from wife's phone as well

</comment><comment><USER36> Great! Does this mean Google will stop installing PlayStore crap on my Android phone that doesn't have a Google account? I deleted all that stuff, but it came back with an update.

<comment><USER37> No, it means the exact opposite. This is another escalation of Google's efforts to ensure that all of their apps are installed on every Android phone sold whether users want them or not. Previously, some companies were working around the requirement that every device they sold had Google apps if they wanted the right to include them on any device by illicitly sideloading the apps; this makes that impossible.

</comment></comment><comment><USER38> I don't see any problem here. If you use custom ROM you probably don't want to give information about yourself to Google anyway.

It would be even better if Google reviewed ROMs before certification. I have a noname chinese phone that sends data about the phone including a phone number to China (but Google is not much better - every time you enable geolocation it displays an annoying popup asking to agree to send GPS data to Google. Well, at least they ask for permission).

<comment><USER39> Kindle tablets

</comment></comment><comment><USER40> How do you find if a particular distro is blessed by Google? Is there a list I'm not aware of?

<comment><USER41> The _hardware_ is either certified or it isn't; the distro (as in custom ROM version) isn't a factor.

<comment><USER40> Ohh, interesting, okay thank you. In that case is there a list for the certified phones?

EDIT: Actually, wait, are you sure this is correct? Didn't the article say _" Users of custom Android ROMs—which wipe out the stock software and load a modified version of Android—will start seeing this message, too"_? I was trying to figure out which ROMs that included.

<comment><USER41> Sort of: [https://www.android.com/certified/partners](https://www.android.com/certified/partners)

<comment><USER40> Hm, then what was that story about Xiaomi? It's listed there as a certified partner.

<comment><USER41> Xiaomi has started releasing Google certified hardware late last year[1][2]. AFAIK they still release non-certified hardware as well.

[1] [https://en.wikipedia.org/wiki/Xiaomi_Mi_A1](https://en.wikipedia.org/wiki/Xiaomi_Mi_A1) "a re-branded Xiaomi Mi 5X"

[2] [https://arstechnica.com/gadgets/2018/03/xiaomi- mi-a1-review-...](https://arstechnica.com/gadgets/2018/03/xiaomi- mi-a1-review-a-220-iphone-clone-with-stock-android-sign-us-up/)

</comment></comment></comment></comment></comment></comment><comment><USER42> Good. Let Google force open source replacements to their nosey apps. In the long run, this is shooting themselves in the foot. At this juncture, people don't _really_ need Google apps other than perhaps Gmail, which has an IMAP endpoint.

<comment><USER43> I think so too. There is so much adware and spyware in the Play Store, it's better for everyone to try alternatives from FDroid and other App Stores.

Also it's a nice strategy so people forget that you cannot update most Android phones anyways. And IMHO their Google Apps Suite is actually far creepier than Facebook because it's literally with you all the time.</comment></comment>


Ask HN: Your resolutions for the new year? - <AUTHOR>

What are your resolution for the new year? I'll start first
1- Learning: HTML5, the new JavaScript specification, CSS3, NodeJS. Also C# to start developing for Windows Phone
2- Freelancing: Make a net income of $15K freelancing on the side.
3- Products: Make a net income of $15K selling products online.
4- Location: Move to the capital, and setup a better work desk.
5- Travel: Visit two countries. <comment><USER2> \- Start exercising and eating healthier again

\- Learn vim

\- Learn a functional programming language (Haskell or Erlang)

\- Find a great internship at a startup, hopefully abroad

\- Travel as much as possible

</comment><comment><USER3> Run 10 km, per week.</comment>


Anatomy of a Co-Branded Credit Card - <AUTHOR> http://thefinancebuff.com/anatomy-co-branded-credit-card.html <comment><USER2> One of the big issues with the credit card business is fraud. Fraud is around 1% of all credit card transactions. Fraud tends to be higher on online payments where the "card not present" rate that merchants pay is higher than the "card present rate" enjoyed by brick and mortar stores.

In addition to fraud, credit card companies have to contend with the purchasing power of large companies (e.g., the Costco example ditching Amex) and also their own expenses as many people like concierge services and other "perks" that cost money and are becoming more standard on cards for people with higher credit and income.

In practice, it's fairly difficult to offer much of an incentive beyond 2% cash back (which Fidelity Amex and the Capital One Visa Spark Card offer). However; these cards are closer to being loss leaders for their institutions as they want to incentivize you to do your banking with them as well (Fidelity does this fairly well as the cash back must be deposited into a Fidelity account). Charles Schwab was the first to have a 2% cash back card many years ago and they discontinued it, likely because they lost money on it.

Travel-based rewards cards can get away with offering seemingly better incentives because of their margin. Starwood is a perfect example of this as hotels have a high fixed cost base and low variable cost base. The variable cost to stay at a high-end hotel is something like $50-60 per night if the room is vacant. So while Starwood seems to be paying out 2 cents on the dollar (e.g., 10,000 points for a $200 room), they are really only paying out 0.5 cents on the dollar. This is why the Starwood Amex is seemingly the best Credit Card. It's all about the economics of the company that brands it.

<comment><USER3> "Fraud is around 1% of all credit card transactions"

No, card fraud rates are in the 5-20 basis point range (0.05%-0.2%).

<comment><USER4> Do you have a source for that? I mostly hear about numbers around what your parent comments gives, or a bit over.

<comment><USER3> For example, from the Fed: "By number, the fraud rate for general-purpose cards was 3.60 basis points (3.60 unauthorized transactions per 10,000 transactions) and by value the fraud rate was 8.27 basis points."

[https://www.frbservices.org/files/communications/pdf/researc...](https://www.frbservices.org/files/communications/pdf/research/2013_payments_study_summary.pdf)

Even the riskiest card-not-present/online merchant would rarely hit 1% or they lose their merchant account entirely.

I'd be curious to see what numbers you're looking at.

<comment><USER4> I should clarify, I was only talking about online payments, which I know a lot better than physical transactions.

From talking to some acquiring banks, I gathered that 1%-1.5% was the maximum fraud rate they would tolerate, depending on the value of your account. With fraud rates like that, you will not see volume discounts anytime soon either.

</comment></comment></comment></comment></comment><comment><USER5> I interned at MBNA, which was the independent credit card issuer (later acquired by BofA) known for its early, strong successes with "affiliate" cards, what are called co-branded cards here. The company's explanation for its success with these cards was the combination of an exceedingly low default rate with a relatively high usage rate.

The company's koolaid anecdotes included stories about people who would literally default on their mortgages before failing to make the minimums on their Dale Earnhardt card, and who were consistently indifferent to interest rates or annual fees relative to competing, non-affiliate cards they might have.

<comment><USER6> I'm not sure if MBNA still has mandatory non-arbitration clauses in their TOA, but if they are; go to another CC company.

They use these non-arbitration clauses, and they are always right.

<comment><USER7> MBNA doesn't exist anymore.

Are there any Credit Card companies, for that matter, are there any large companies at _all_ without those clauses?

Telling people to avoid those companies is pointless - they can't.

This needs to be a matter for state law or the entire class action concept will no longer exist.

An idea I had: Mandatory arbitration clauses are null and void unless the contract was individually negotiated between the parties. Burden of proof on the party demanding mandatory arbitration. Automatic defenses: A lawyer was involved by both parties, or the contact is a singleton purpose written for that negotiation and not used with anyone else.

Curious what others think of this idea.

<comment><USER8> I've noticed that a many (certainly not all) contracts have an escape hatch for the binding arbitration portion, but it usually requires a timely act: American Express, for example, requires a letter to be sent to a specific address within 30 days (or some such) of opening the account to opt-out of the binding arbitration clause.

</comment></comment></comment></comment><comment><USER9> Interesting info and highlights how powerful Costco has become. They continue to capture revenue streams outside of margin from actually selling goods (credit card bounties/rev-share, membership fees, etc.) and they presumably were able to get Visa/Citi to lose money on this deal. Visa set interchange fees at _less than_ 0.4% (vs. 0.6% I believe for the old Amex deal).

[http://www.bloomberg.com/news/articles/2015-04-17/costco- see...](http://www.bloomberg.com/news/articles/2015-04-17/costco-seen-paying- almost-zero-to-accept-cards-in-citigroup-deal)

</comment><comment><USER10> These cards are also quite powerful from a psychological point of view.

e.g. I've got an assortment of cards on my - including some snazzy ones. Yet given a choice I use a british airways amex because there is a direct quantifiable link to something I can use (points for flights). Sure I know on a logical level those points are worth uhm not much but still the effect is strong.

>It means that Costco will also accept other Visa cards.

They didn't before?

<comment><USER11> It depends on what you value. I use my BA Chase card exclusively, because with ~$100,000 worth of spending you can get a pair of RT BA First trans-Atlantic tickets for about the price of coach.

Are those "worth" the $10,000-$20,000 fare difference? Surely not, but to me they're worth more than the ~$2,000 I'd get from the best cash back cards.

These partner cards really are marketing genius, and a great way to capture more attention, dollars & loyalty from your best customers.

<comment><USER12> I have had almost no luck finding routes/dates that am ALLOWED to use my 500,000 Avios BA Chase points on:( Or my free companion tickets. And that's also not counting the insanely high Heathrow taxes/fees for all flights routed through London.

Any suggestions?

<comment><USER13> Pay an award booking service to find you the best flights possible. There are several out there, and they know a lot more than you about how to find obscure flights/routing. it's worth the $150.

</comment></comment></comment></comment><comment><USER14> Nice article! Anybody who's been in the Credit Card business - either from the issuing side or from the Merchant or Network side knows this stuff. The author has done a good job summarizing the details without disclosing information that may be considered confidential

</comment><comment><USER15> Is it normal in the US for a business like Costco to accept only one type of credit card? Here where I live there are branded cards but businesses still accept cards from all issuers.

<comment><USER16> No. Costco was unique in that.

<comment><USER17> Costco did accept MC/Visa-branded debit cards.

<comment><USER18> Interchange on most debit cards is 0.05%. Only small banks have higher interchange.

<comment><USER19> Actually the interchange does not vary per issuer.

It can vary per card type (pre-paid, debit or credit), card level (basic or signature/elite, etc.), type of transaction (CNP or present), Merchant type (supermarket, airlines, etc.) and some other rules, depending on the scheme and the region (US, Europe, etc.).

For instance the Interchange (to be paid to the Issuer) when a US issued MasterCard Debit Card is used in Gas Station is 0.70% US$ + 0.17 with a cap of US$ 0.95, but when used in a Restaurant is 1.19% + US$ 0.10 without caps.

Visa: [https://usa.visa.com/dam/VCOM/download/about-visa/visa- rules...](https://usa.visa.com/dam/VCOM/download/about-visa/visa-rules- public.pdf)

MasterCard: [https://www.mastercard.us/content/dam/mccom/en- us/documents/...](https://www.mastercard.us/content/dam/mccom/en- us/documents/MasterCard_Interchange_Rates_and_Criteria%202015-16.pdf)

What can vary from issuer to issuer is the processor/network costs.

<comment><USER18> Debit cards from big banks are covered by the Durbin Amendment which fixes the interchange to 0.05%. Smaller banks are regulated by Visa/Mastercard rules on interchange.

<comment><USER19> Great to know, thank you for the information and source.

</comment></comment></comment></comment></comment></comment></comment><comment><USER20> I find it interesting that they've chosen to partner with different vendors (and different card networks) in other jurisdictions - here in Canada, the new Costco card is a MasterCard in partnership with Capital One.

</comment><comment><USER8> Since it features heavily in the article (N.B., from 2015), more information on the Costco/Citibank card just came out the other day: [https://www.citi.com/credit- cards/creditcards/citi.action?ID...](https://www.citi.com/credit- cards/creditcards/citi.action?ID=citi-costco-credit-card-conversion)

</comment><comment><USER21> I have been contemplating creating a new credit card the last few years. Most likely under the Visa or Mastercard line.

The thought is, create a reward card specifically for high-value/vips that has the best rewards/cashback program on the market. Currently the best card is the SPG card from Amex which gives points that can be transferred to a plethora of partners and are among the most valuable points of all cards (around 2.9cents per point). What surprising is the cards currently for high- worth users have terrible rewards programs, ie the amex black card.

If you created a new card, the hope would be that you could offer more rewards to transfer partners by upselling 'these are vips' you should compete to get them.

The challenge is in figuring out how to make it all work. Credit cards make money 2 ways as far as I can tell- The 2.9% + 30cents on every transaction, as well as the interest paid on their bill.

So you should ideally have at least 3% of every transaction to give back to the user in rewards while living off of the 30 cents per transaction. Hopefully the interest paid on debts breaks even with the defaults.

<comment><USER16> I expect there's a reason that Amex's high-end credit cards are light on rewards and heavy on benefits: people in those income brackets don't really care about getting an extra percent back on their credit card bill.

<comment><USER22> I doubt it's because they don't care, more like the cost of a concierge service/personal shopper, free airline tickets, etc all end up being MORE than 1% of their credit care bill. And they are probably buying those things either way.

</comment></comment></comment><comment><USER23> I'm a huge fan of credit card points hacking. I've probably redeemed over $100k in free travel in last 4 years between flights and hotel stays. The avg user acquisition cost for these issuers must be over $800-$1000

<comment><USER24> Some people do millions in manufactured spending a month.

(Source: [http://www.travelcodex.com/2016/02/how-much-manufactured- spe...](http://www.travelcodex.com/2016/02/how-much-manufactured-spend-is-too- much/))

<comment><USER25> How do they get away with it? I've seen credit card agreements where the company reserves the right to close the account and remove accumulated rewards. I'd think it be really easy to flag those accounts and have the customers banned.

Edit: the comments talk about it more and it looks like those people were probably using multiple cards spread across multiple family members, or also using smurfs.

<comment><USER23> Shut downs are pretty rare but do happen. Biggest mass shutdown I've heard of was with a unlimited 5% cash back card at drugstores, grocery stores, and gas stations. People would buy $100k+ a month in visa gift cards at CVS and net $4-5k a month in tax free cash back.

<comment><USER26> Ah, the good old days of the BCE.

That was a major breakdown in Amex's risk management.

</comment></comment></comment></comment></comment><comment><USER27> "Many folds"?

The benefit to the co-brander is "many folds"? I'm not familiar with this term and nothing in the dictionary made sense. Is this industry lingo or the author's inability to bother editing and reviewing the piece?

<comment><USER28> Reads like an individual quirk to me, a bastardization of many fold.

(It still doesn't read very sensibly, but it isn't a huge leap from many folds->many fold->there are several)

<comment><USER29> It's simply a misspelled version of "manifold", isn't it? And if you replace it by "manifold", the sentence makes perfect sense.

<comment><USER27> The question was "what are the benefits?". I do not think an answer that describes the number of benefits makes perfect sense.

</comment></comment></comment></comment><comment><USER30> My wife and I flew business class from SFO to Greece last year, airfare that would've cost $25k to book cost us $2k cash and the reward points from about 18 months worth of spending. In this case, it was on British Airways co-brand card that gave us 100k mile bonuses (to each of us). One $11.5k business class ticket ran about 190k miles, and we earned a companion pass for spending $30k on the card in a year. (The flight was great, and combined with the BA lounges saved us from the schlep).

Most of our spending is on cards that earn cash (or cash-redeemable) rewards but I love to take advantage of big bonuses on co-branded cards. We also earned 250k AA miles, 100k from a bonus on a new card, and the rest from US Airways cards that Barclays was giving away to burn thru their cache of prepaid miles ahead of the AA merger. I cancel the card the following year before the annual fee hits -- or not, because often it's waived for a second year. Don't get crazy and it doesn't impact your credit.</comment>


Python files vs Paraguayan domains - <AUTHOR>

Am I the only one annoyed when Google Chrome tries to lookup for a Paraguayan domain when I search for a python file (e.g alignlib.py ) directly from the adress bar? Is there a way to prevent this? Thanks in advance. <comment><USER2> Right now you can only get .py domains as subdomains of these second-level domains:

      - com.py
      - coop.py
      - edu.py
      - mil.py
      - gov.py
      - org.py
      - net.py
      - una.py

And there are some domains used like nic.py. Possibly Chrome could fall back to search if its not one of the subdomains.

But this is clearly a case where the idea of search box and url bar in one field does not work. This will happen more often as we get more of those random TLDs.

</comment><comment><USER3> _Is there a way to prevent this?_

Use a browser with separate search and location fields [such as Firefox]. Type search terms into the search field when searching.

For convenience, the search field in browsers with separate search field can receive focus using ctrl-k key combination.

</comment><comment><USER4> put a ? before it...

address bar of [? alignlib.py] searches for alignlib.py ... not sure if this is intentional or just htat google drops special chars, but it works 100% of the time most of the time.

</comment><comment><USER5> How about entering:

         python alignlib.py

<comment><USER6> What if you want to read about the snakes of Paraguay ([http://animals.pawnation.com/snakes- paraguay-6701.html](http://animals.pawnation.com/snakes-paraguay-6701.html))? :-)

Of course I'm being facetious, but I think that 0x006A's point ([https://news.ycombinator.com/item?id=8267484](https://news.ycombinator.com/item?id=8267484)) is a good one—this sort of attempt to be (in my opinion, too) clever will always eventually run into undesireable edge cases.</comment></comment>


There's No Such Thing as a General-Purpose Processor - <AUTHOR> http://queue.acm.org/detail.cfm?id=2687011 <comment><USER2> This is almost axiomatic of modern processors, because the truth is there is no market for truly general-purpose processors. Chip designers produce heavily optimized & targeted silicon to squeeze out significantly more performance in real-life workloads at the expense of code that might- but doesn't- exist, and given the choice between a slow GP-PU and a fast modern CPU, you'd take the latter 99 times out of 100.

Belief in a truly GP-PU probably would lead to some very bad design decisions- either in software or hardware- but I don't think many people actually believe in it beyond the theory, the model. Just as hardware engineers adapt their ideal model to the "real software", software engineers adapt their software to "real hardware".

 _Because processors optimized for these cases have been the cheapest processing elements that consumers can buy, many algorithms have been coerced into exhibiting some of these properties._

I would additionally argue that aside from cost, because of the _speed_ exhibited by such processors, many algorithms that do not _naturally_ fit in the current model are in fact faster on the modern CPU than the hypothetical GP-PU _anyway_. Caches, for example, are such a tremendous lever on performance that a low-performance but cacheable version of algorithm X running on an i7 will almost certainly be dramatically faster than a high- performance but noncacheable version running on our hypothetical GP-PU...

If there is a low-level OS whiz around, they might be able to figure out how to set the noncacheable flag on your program's memory space, and you could prove to yourself just how much speed the cache is worth... unfortunately I am not that wizard.

<comment><USER3> > I would additionally argue that aside from cost, because of the speed > exhibited by such processors, many algorithms that do not naturally fit in > the current model are in fact faster on the modern CPU than the hypothetical > GP-PU anyway.

Yup. I think the article's initial assumption of what a general purpose processor looks like ignores history. We've tried to build those kinds of processors... and what we've converged on is processors that are good at these particular specialized operations, because that actually tends to work better for most jobs. Not that there aren't exceptions... you can look at FPGA's to get an idea of what they are, and the fact that FPGA's are only used in a bunch of very specialized areas suggest that modern CPU's aren't THAT far off on being reasonable optimal for a truly varied set of tasks.

<comment><USER4> My take is that due to the exponential speed increase we have had in processors, general purpose of year n+2 has run faster than special purpose of year n. Thus, there was little point in building special purpose processors.

But those times are coming to an end now.

</comment></comment></comment><comment><USER5> Does anyone else find this article, while interesting, a little odd? In that I'm not sure that his argument succeeds. Especially in that while he portends to show that "there is no such thing as a general purpose processor", the first line of his conclusion starts "The general purpose processors of today.."

It reminds me a little of philosophical arguments which attempt to disprove the existence of something common-sensical. If you define a general purpose processor as one which would be able to execute any algorithm comparably performant as a purpose-defined processor, then yes, that processor does not exist. But that's like saying processors with infinite cores, speed, and heat- dissipation capacity don't exist. It's true, but not all that interesting.

"General purpose processors don't exist" is certainly an eyeball grabbing headline, but I think his "real" conclusion is more measured and in a way less controversial: "Efficient designs will require admitting that there is no one- size-fits-all processor design and that there is a large spectrum, with different trade-offs at different points." Despite his not defining "efficiency", that point seems true, but not that controversial.

Does he show that "General-purpose processor" is not a useful distinction? I don't think so.

(Apologies: recovering philosopher, not a CS PhD.)

<comment><USER6> I think the point is that what we think of as an archetypal "general-purpose processor" is a somewhat arbitrary point in the space of possible architectures, and to think of other designs as in some sense secondary simply for failure to match this particular model is to lose sight of the true scope of general computation.

Is it uncontroversial? Perhaps no one would disagree after hearing it spelt out, but I think it certainly is the case that people often naively think of "general-purpose processor" in just the way the author worries about, and that reading something like this can bring about a helpful shift in perspective.

<comment><USER7> That would be an argument against someone who claims that the general purpose processor, to be general purpose, has to look like those familiar ones which we have.

Put another way: a particular point in a large space of "general purpose" doesn't indicate special purpose.

You have to choose a point to implement something.

</comment></comment></comment><comment><USER8> Run-time code generation being faster than static code generation isn't fundamentally weird: as an example, take a program that takes (pure) C code as input, evaluates it, and returns its exit status – compiling the code and running it could be much faster than interpreting it. In fact, variants of this _are_ significant features of general-purpose processors.

The fact that many programs written in dynamic languages can be sped-up in this way is slightly surprising, as they are a different family of examples, but isn't much different on a fundamental level.

On a different note, if dark silicon becomes cheap, then general-purpose processors would become less important, as one could have a computer system consist of thousands of independent systems, each for a different purpose. If dark RAM would also be cheap, then giving each such processor its own memory could eliminate the need for MMU-s.

<comment><USER9> >If dark RAM would also be cheap, then giving each such processor its own memory could eliminate the need for MMU-s.

Could you explain a bit further? I don't follow.

Wouldn't MMUs be needed just to support (performant) programs with very large address spaces (i.e. need virtual addresses)?

</comment></comment><comment><USER10> Extrapolate on this reasoning a bit, and you might end up at something like Convey.

[http://www.conveycomputer.com/](http://www.conveycomputer.com/)

Disclaimer: I have nothing to do with them, I know there are other projects that have taken FPGA-oriented programming much further, but Convey seems to have done the best so far _commercializing_ the idea.

</comment><comment><USER7> Of course there is "general purpose". It the complement of "special purpose". A processor not made for a wide range of applications, rather than for a "special purpose" is general purpose (and this is distinct from "all purpose": general purpose doesn't necessarily mean equally well adapted for any use whatsoever: two different general purpose processors can have quite different strengths.)

> _The general-purpose processors of today are highly specialized and designed > for running applications compiled from low-level C-like languages._

And those applications differ from each other like night and day. One C application is Ruby virtual machine. Another one a text editor. Another one a window manager, ...

The idea that processors are special-purpose hardware blocks because they are designed for running compiled C is a laughable form of reductionism. Why not make the ultimate argument and say that they are specialized devices for handling 0's and 1's. Or maybe the specific voltage levels of the majority of the signals of a chip it specialized. This chip is specialized to 5V; this more modern one to 3V, ...

</comment><comment><USER11> _The existence of accelerators (including GPUs) indicates that all attempts thus far at building a general-purpose processor have failed. If they had succeeded, then they would be efficient at running the algorithms delegated to accelerators, and there would be no market for accelerators._

This is nonsense. I started writing several examples mocking this logic, but erased them because I think the original quote sufficiently proves the point.

<comment><USER12> I thought that was one of the more insightful lines in the piece.

Perhaps you should take the time to refute the logic.

I was surprised to see a comment like yours. If you can't be bothered to make a reasoned comment, then don't write anything.

<comment><USER13> I also thought it a ridiculous statement fwiw. "The existence of a specialised thing means that attempts at building a general purpose thing is not viable" Apply that logic to anything specialised to see it. I'm really not trying to be rude or belittle you, I'm just trying to get a stark example that shows the thinking in the spirit of sensible discourse. You may read it differently and explain why and I'll learn something. So...

The existence of nascar shows that attempts to build a family saloon has failed, if it had succeeded you could race your family saloon competitively on a banked oval track.

A general purpose thing involves a trade off such that it can do most things but can't do any one thing as well as something that is designed to do that and nothing else. Yes stupid car analogies to describe computing indeed. Totally. I'm sorry.

<comment><USER12> Please see my reply to the sibling post (which made roughly the same points as yours).

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

<comment><USER13> Yeah after a couple of days wait, a couple of hours after me the same points. Murphy's law of timing...</comment></comment></comment></comment></comment>


Jewish Nobel Laureates - <AUTHOR> http://en.wikipedia.org/wiki/List_of_Jewish_Nobel_laureates <comment><USER2> While this is an interesting statistic, it can be interpreted in many ways, not all of which are meaningful.

Statistically, more men have won Nobel prizes than women (by a large margin). Most Nobel laureates are Caucasian. Most are from the western hemisphere. Other than gender, it may be interpreted to mean that if a group which makes a small fraction of the total world population, they must be better/smarter.

It's a fallacious argument of course, since there can be many other factors at play here. How much of it is because these groups have access to more funds, that most of them are based in the United States which has better and more well-funded universities? What about social factors that have nothing to do with race/religion?

Along these lines, I could submit a link about how Indians who make up a tiny fraction of the American population are so much more successful than $POPULATION [1], but it's a meaningless statistic to have, other than for some misplaced pride.

1\. [http://www.forbes.com/2009/02/24/bobby-jindal-indian- america...](http://www.forbes.com/2009/02/24/bobby-jindal-indian-americans- opinions-contributors_immigrants_minority.html)

<comment><USER3> > Statistically, more men have won Nobel prizes than women (by a large > margin). Most Nobel laureates are Caucasian. Most are from the western > hemisphere. Other than gender, it may be interpreted to mean that if a group > which makes a small fraction of the total world population, they must be > better/smarter.

Consider your magnitudes though.

For example, men win

0.961/0.5 = 1.9

times the Nobel Prizes you would expect based on representation alone, whereas Jews win

0.202/0.002 = 101

times the Nobel Prizes you would expect based on representation alone.

<comment><USER4> Wouldn't percentage of Jews in the Western world be a better stat, given that's more or less the population from which Nobel prize winners are selected?

</comment></comment></comment><comment><USER5> This might shock the HN community but from my years of mentoring poor performing and under privileged high school students in the Bay Area (i.e. mostly from East Palo Alto), education is not valued by all cultures. I was shocked when I saw this. It was always so obvious to me. That said, it's only a shock because I was raised in a culture (Chinese) that had always valued education. If you never had the security of being sure of your future for more than a few months at a time, education might not seem the best choice. Education is an investment and one that only pays off if you are secure enough in your welfare to reap the benefits. Even for some middle class families, it is becoming a less obvious investment since the price of education has shot up while employment is harder to find.

If the idea of education is not universally valued, is it so hard to believe that groups that do will do better in fields that require years of study?

I read a while back an article on Slate or the Atlantic that sort of explores this very issue. The hypothesis was that Judaism was at one point defined by literacy. Basically, at some point, to be a Jew required you to be read and understand the Torah. It was enormously expensive and over time those who couldn't afford stopped being considered Jews and those who were left were the ones who could afford an education. Thus the culture became one that was placed a strong emphasis on education. Someone who've read the article or know history of the Jews better can correct me on this.

</comment><comment><USER6> By the way, has anyone come up with a possible explanation for the seemingly disproportionate number of Jewish laureates and smart people in general? Do Jews have some tradition or belief that's helpful in this?

<comment><USER7> Average IQ of 115 among the Ashkenazim. That's why. It's not really that interesting, but it enrages almost everyone who hears it. 115 isn't that smart, but it works out that they have a huge disproportion of members in the more important 145+ IQ range.

Anyway, you'll find that Jews have similar numbers in such things as Fields medals, Senate seats, the Forbes 400, etc, all at about 15-25 percent of the total.

<comment><USER8> East asians have a higher average IQ,so it is not necessarily a straight iQ thing.

<comment><USER9> No they don't.

<comment><USER10> Way to contribute.

</comment></comment></comment></comment></comment><comment><USER11> Is it "submit random wikipedia articles to reap karma on HN" day already?

<comment><USER12> You should submit a more interesting article in response, that's the best way to teach the poster a lesson.

</comment></comment><comment><USER13> The article talk page[1] for this article points to some problems other Wikipedians have found with this article. It's easy to misclassify people without very careful checking of their biographies.

[1] [https://en.wikipedia.org/wiki/Talk:List_of_Jewish_Nobel_laur...](https://en.wikipedia.org/wiki/Talk:List_of_Jewish_Nobel_laureates)

</comment><comment><USER14> The Jewish culture has valued certain types of intelligence for centuries, and probably as a result their average IQ is measurably higher due to selection effects. If you assume it is outliers on the IQ spectrum that will win the prize, this isn't surprising at all.

I'd guess that a big reason why people of the Jewish faith have been persecuted over the centuries is that because of their IQ advantage they gain more wealth than other peoples they may be around. It is fascinating.

<comment><USER15> am i reading this on hn? what are your sources? and what does jewish culture mean anyway when jewish people live in all continents in very different environments and of various descents? the reason why jewish people have accumulated more wealth may as well have nothing to do with their intelligence but merely because they support each other when they are in position of power and therefore raise the status of their communities.

please keep your blanket statements for some other place.

<comment><USER16> "Support each other" is the defining characteristic of the Jewish community. I am part of a different highly-educated minority, but its people seem to always be envious/jealous of each other and highly competitive, and so usually refuse to work with one another.

<comment><USER15> there are oter communities supporting each other. Hungarians are well knwn in that regard too. But again I would be very careful not to attribute this to higher intelligence or something.

</comment></comment></comment></comment><comment><USER17> Famous Jewish Sports Legends:

[http://www.youtube.com/watch?v=IoACIIz33II](http://www.youtube.com/watch?v=IoACIIz33II)

<comment><USER18> That is what I always think of when someone mentions the book "Javascript: The Good Parts".

</comment></comment><comment><USER19> Where is the title editing when it is needed? Noble -> Nobel

<comment><USER20> It could be a value judgment.

</comment></comment><comment><USER21> Interestingly all Abrahamic religions begin with a warning about the tree of knowledge...

I still can't believe what a fucked up parable that is.

<comment><USER22> All Abrahamic religions? Islam does not call it the tree "of knowledge" and pursuit of knowledge is encouraged (at least in Islam).

<comment><USER21> my b

</comment></comment></comment><comment><USER23> Very impressive indeed. There is a disproportionate ratio of Jewish people serving as CEOs of large corporations as well. I heard on Freakanomics radio that parenting and nurturing does not contribute much to the later success in life. Its the nature not nurture, they concluded. They used adoption data to come to that conclusion, although one can always find some argument against that study because its only an inductive argument in the end.

</comment><comment><USER24> I came across this the other day: [http://en.wikipedia.org/wiki/Ashkenazi_Jewish_intelligence](http://en.wikipedia.org/wiki/Ashkenazi_Jewish_intelligence)

</comment><comment><USER25> A related article was "Muslim nobel laureates". Total:10. I did some quick meaningless math, and found that there's 1 nobel prize winner for every 160 million muslims, and 1 for every 70,000 jews.

I'm not going to try and interpret the data, but I do think that's interesting.

<comment><USER26> While it doesn't change the argument, its important to note that Jewish carries a greater genetic specificity then Muslim.

</comment></comment><comment><USER27> .2% of world's population and 20% of Nobel prizes won. p.s: * Nobel _

<comment><USER28> Look how many MEN have won, too! That is one intelligent gender.

<comment><USER29> 0.1% of the world's population and 20% of the prizes won!

</comment></comment></comment><comment><USER30> Jewish have a strong sense of community. Nothing wrong about that.

So if there are lots of jewish who are choosing the laureates, it's "normal" to see a lot of jewish ending up nobel laureates.

</comment><comment><USER31> 1\. It's not genetic. 2\. "Why isn't it genetic? Spend a day with an Isralie who just arrived in the U.S.. 3\. If I say anything else, I'll never hear the end of it.

</comment><comment><USER5> Wow. Whoever put the list of Muslim Nobel Laureates in the article is a bit of a prick. Let's pit one group of people vs. the other.

<comment><USER9> Yeah, Richard Dawkins got in trouble for tweeting something very similar a couple months ago:

[https://twitter.com/RichardDawkins/status/365473573768400896](https://twitter.com/RichardDawkins/status/365473573768400896)

</comment></comment><comment><USER32> These statistics make me curious about the religious breakdown of the various Nobel committee's.

</comment><comment><USER33> Very impressive

</comment><comment><USER34> How do you decide who's noble and who's not?

<comment><USER18> Full electron shells?</comment></comment>


PHP Cryptography Libraries That Don't Suck - <AUTHOR> https://paragonie.com/blog/2015/11/choosing-right-cryptography-library-for-your-php-project-guide#resubmit <comment><USER2> It sounds like the title implicates the other libraries that didn't make this short list, that they (in general) do suck.

This isn't a bad thing: [https://paragonie.com/security](https://paragonie.com/security)

The intersection between PHP developers, cryptographers, and software security experts is very minimal. Thus, despite PHP powering over 80% of the Internet, the truly reliable cryptography libraries written in PHP are exceedingly rare.

</comment><comment><USER3> But PHP sucks so much, why bother? :p</comment>


Zynga employee answers questions regarding share prices. - <AUTHOR> http://www.quora.com/Zynga/How-do-Zynga-employees-feel-about-the-companys-summer-2012-stock-price-drop/answers/1435680?srid=DG

<comment><USER2> _Within a few months, we were putting in brisk 10 hour days as we started our new project. Six months in a launch date was handed down from above and we shifted to 11 hour days six days a week. ... Six weeks before shipping the studio was flown out to San Francisco to launch our game - 12 hour days seven days a week, free of the distraction of friends, wives and girlfriends. I watched alcoholism and substance abuse skyrocket, relationships crumble (including my own), people slept on office couches, two developers got divorced, one nervous breakdown._

This is evil.

I don't mean that like Google-don't-be-evil evil, which is a business practice one finds either unsavory or advantageous to competitors which one dislikes. I don't mean cartoonishly evil, like a villain killing someone to clue in anyone still wondering which character to root for after seeing the black cape and hearing the cackle. I don't mean hyperbolically evil, like the word carelessly thrown around when one's political opponents suggest +/- 3% changes in governmental policies.

I mean _evil_ : characterized by sin, injurious to the proper ordering of society, an offense against the dignity of man, in contravention to the natural law as discoverable by reason. You could get a Catholic dogmatist, an atheist Marxist professor, and a hard-core libertarian together in a room, and they'd all call that evil. Their explanations would proceed from different and frequently incompatible axioms but they'd focus on the same parts of the act and come to strikingly reconcilable conclusions.

<comment><USER3> Not arguing about the evil. Just noting that, unless 95% of the entries on <http://trenchescomic.com/tales> are fiction… this degree of evil is not uncommon in the games industry.

Zynga does seem to take the cake, though.

I'll never forget the Zynga promotional video that they showed at Startup School several years back. I think it helped that I hadn't really heard the name "Zynga" when I saw it. And, as I recall, the video didn't really explain what Zynga actually did. It had this very odd tone, reminiscent of the greatest hits of 1999. Smiling faces, Nerf darts, quick cuts, breathless optimism, and lack of introspection, just like (as I see in hindsight) a recruitment video made by Lucifer. "We're a hot company! Hot, hot, hot!"

</comment></comment><comment><USER4> Wow. If those reviews are true, Zynga is going to fold like a cheap suit. Can't imagine anyone is working 11 hour days for peanuts when the stock is heading to $0. Weird, too, because I thought virtual cows was a pretty good business model. I guess consumers have caught on.</comment>


Microsoft acquires Semantic Machines, advancing the state of conversational AI - <AUTHOR> https://blogs.microsoft.com/blog/2018/05/20/microsoft-acquires-semantic-machines-advancing-the-state-of-conversational-ai/ <comment><USER2> Microsoft presents _Tay 2: Untaymable_

<comment><USER3> That's a good one!</comment></comment>


Elasticsearch and ruby on rails: a primer - <AUTHOR> http://dev.mikamai.com/post/85901585484/elasticsearch-on-rails-a-primer quick intro on using elasticsearch with ruby on rails <comment><USER2> I'm still waiting for the Tire::Model::Persistence equivalent in the elasticsearch gem.

<comment><USER3> Have a look here: [https://github.com/elasticsearch/elasticsearch- rails/tree/ma...](https://github.com/elasticsearch/elasticsearch- rails/tree/master/elasticsearch-persistence) \-- it offers a "repository" based approach to persistence. An "ActiveRecord-like" pattern is being actively working on in the `persistence-model` branch ([https://github.com/elasticsearch/elasticsearch- rails/pull/91](https://github.com/elasticsearch/elasticsearch-rails/pull/91))

<comment><USER2> this looks great. Will work on incorporating this in our project</comment></comment></comment>


Show HN: Terminal HN in Bash, MS Powershell and Python - <AUTHOR> https://github.com/realrasengan/autobahn <comment><AUTHOR> SS: Whilst this was submitted before, I thought it was worth resubmitting as an amazing community member posted a powershell and python port of the bash script. I thought this was cool because now you can see the same implementation with 3 different languages. I figured it was relevant due to the recent post about Bash vs Powershell on HN [1]!

[1] [https://news.ycombinator.com/item?id=22847986](https://news.ycombinator.com/item?id=22847986)</comment>


A native systray app for microservice developers to run or forward microservices - <AUTHOR> http:////github.com/eko/monday-app <comment><USER2> I first looked at the title and expected a acutal native app but I saw this in the README.md.

> This is a GUI built with ElectronJS for the Monday project.

One thing I know about these apps is that a 'Native Electron app' is most definately an oxymoron. :)</comment>


Where Silicon Valley Is Going to Get in Touch with Its Soul - <AUTHOR> https://www.nytimes.com/2017/12/04/technology/silicon-valley-esalen-institute.html <comment><USER2> >After storm damage in the spring and a skeleton crew in the summer, the institute was fully reopened in October with a new director and a new mission: It will be a home for technologists to reckon with what they have built.

Isn't it safe to say that most people who invent/develop things are not capable of forseeing all possible uses of their technology?

>"They wonder if they're doing the right thing for humanity," Mr. Tauber said. "These are questions we can only answer behind closed doors."

I genuinely laughed at that comment. We are only usually able to see the consequences of our actions/past as Steve Jobs would say " when we connect the dots going backwards"</comment>


Unintended road experiments – how kids cause traffic - <AUTHOR> https://medium.com/@winslett/unintended-road-experiments-a-closed-day-afc8d9d27d5d <comment><USER3> My first thought is that this guy has not lived in a populated city during rush hour. Growing up in Houston, its a part of life. As soon as school is out, traffic is reduced by at least 1/3-1/2 on major freeways according to my built in road rage o meter. In suburban hubs, traffic is reduced in the evenings as well but that is more static throughout the year. Just recently during spring break my commute halved in terms of minutes in the car. I see other problems with his "study" as well, since it was a state of emergency, other people stayed home as well since they anticipated terrible weather, so as a datapoint its not very useful.

</comment><comment><USER4> Without wanting to sound too snarky - no kidding, Sherlock.

Anyone who drives at rush hour in the summer months, when (UK, at least) schools are on holiday, will know how much quieter the roads are. Come September, and it's back to the jams.

<comment><USER5> I don't buy that argument completely. Where I went to school, not so many kids were driven to school by car (and much less drove there themselves) - <USER2> during the 6 weeks summer vacation _everything_ was a bit quieter, not only during rush hour. But also most people with kids spent their summer vacation away during that time. And also some amount of people without kids still want to use that time for vacation.

<comment><USER6> Even if no parents drove their children anywhere the buses everyone has to stop for are a big disruption.

<comment><USER7> I don't think the author is asserting it's really driving kids around that causes the traffic. Rather, it's that all parents _need_ to leave their work at (say) 5 in order to get home for their kids.

<comment><USER5> I was not disputing what the author wrote, but what the parent to which I replied posted.

In my example, school ended at 1pm or 3 pm, I'd wager not many parents came home, unless they were working part-time or were stay-at-home. I doubt this has changed so much in the last 15 years (since I graduated) although they've switched to 1 year less (so longer lessons) but they're switching back.

I simply think that "one American town with ~200k people" is not a very good data point. Also, I have no clue how school in the UK works, maybe people are driving their children to school everyday. :)

</comment></comment></comment></comment></comment><comment><USER8> "People without kids were largely unaffected."

Oh _really?_

The only conclusion supported by the data is that the threat of severe weather alleviates traffic. Pinning it on kids, just because _most_ of the people _the author knows_ still went to work, is nonsense.

I'd assume this article was satire, but it's written with such sincerity that I don't think it is.

<comment><AUTHOR> I do recognize I have large gaps of data missing. This was written as a hypothesis on travel and randomness. To support kids activities in a southern US city, random time/source/destination of drivers is removed. Most people have to drive to the same location at the same time to send their kids to school or other activities. Thus, the event yesterday added more randomness to the travel patterns by removing the kids activities.

I don't have real-time flow of all data, thus I could be completely wrong. All I have for traffic data is a few Google traffic maps.

<comment><USER8> The data is so sparse that we have no idea if the kids were indeed the critical factor, or if they were completely irrelevant and the change was due to something else entirely. It doesn't really read as a hypothesis with statements like "People without kids were largely unaffected."

On a somewhat different note, it may not be the same there, but around here (Fairfax County, near DC), school opening times are staggered fairly substantially in order to make better use of the bus fleet. Schools here start anywhere from 7:10AM to 9:20AM. This will also spread out car traffic, not that the school district does that intentionally.

</comment></comment></comment><comment><USER9> The amount of ridicule for this post seems rather surprising. This guy had a curiosity and he wanted to quantify it. I'm sure everybody knows that traffic is reduced when school is out. Why should that stop someone from asking why, by what magnitude, and what other interesting things occur during this time? I'd hazard a guess that everybody in the 1600's knew that apples fell to the ground. It took Newton to ask why.

<comment><AUTHOR> Ha! Thanks :)

The "genius class" on YCombinator isn't my intended audience. Those folks can go jump off a cliff.

My intended audience is the average person who jumps in a car and drives without thinking what is beyond the windshield. I think these people are interesting because they are making to-the-second economic decisions while driving. Given that:

* road space is a fixed asset

* information about upcoming road conditions is uncertain

* people can use devices to gather best-effort information from Google

* a driver can only choose one route

* the choices drivers collectively makes a market

* drivers choose to be risker to save time

The write up today is really just a foundational observations.

Cheers, Chris

</comment></comment><comment><USER10> I'm sure the author's conclusions have some merit, but the reduction in traffic likely also has a lot do with the fact that a lot of parents who would otherwise be working during the day are instead staying home with their kids.

</comment><comment><USER11> Oh really?! Cancelling a bunch of peoples' normal activities so they don't have to travel to them reduces traffic.

This argument is a tautology.

</comment><comment><USER6> Hm, next this guy should look into sporting events.

<comment><USER12> The author mentions Auburn and Alabama football games in the final paragraph. That's the gridiron pointy ball football not _o jogo bonito_.

</comment></comment><comment><USER13> Given that "traffic problems are caused by a very slight increase in the amount of cars" it's very obvious why things got calmer if a small portion of the work force had to change their routine.

If you are stuck in traffic you have only yourself to blame, you are the traffic.

</comment><comment><USER14> "I can't let my kid walk to school, it's too dangerous with all the traffic out there".</comment>