Coming Soon: AWS Graviton2 Processor for AWS - <AUTHOR> https://aws.amazon.com/blogs/aws/coming-soon-graviton2-powered-general-purpose-compute-optimized-memory-optimized-ec2-instances/?sc_channel=sm&sc_campaign=launch_reInvent&sc_publisher=TWITTER&sc_country=Global&sc_outcome=awareness&trk=AWS_reInvent_2019_launch__TWITTER&sc_content=AWS_reInvent_2019_launch_&linkId=78151855 <comment><USER2> If Intel makes it out of the current soup with its dominance intact it will make for an interesting case study. Think they are facing the perfect storm on multiple fronts.

a. The 10nm process fiasco

b. Missing the chiplet concept

c. ISA fragmentation - AVX512 which was supposed to be the next big thing was server CPU side only till recently and downclocks the entire chip when used making it extremely hard to reason about whether it makes sense to use it for mixed workloads.

d. With a move to more distributed programming models the network is often in the critical path now, making cpu performance less relevant for many workloads

e. ARM eating their lunch in mobile

f. Nvidia eating their lunch with GPGPU

g. Big players are increasingly building accelerators for critical workloads that offer better power / performance

h. Strong execution from AMD for the first time in over a decade

i. GUIs moving to browsers and a lot of compute moving to runtime based languages like Python/JS means that any new ISA features are initially hard to utilize in killer apps on the client side. So if Intel ships a killer new set of instructions there is a significant lag between it doing something useful for the user.

<comment><USER3> Well, and for 25-30 years, everyone's been crowing about how they were doomed to fail because of x86 as a CISC design. Intel killed off most RISC competitors as Moore's Law held in the 90 and they could just add more transistors to turn x86 into a facade. But that increase in transistors and doing whatever possible to keep x86 performant meant they were doomed to lose the power/performance war that came with mobile processors. ARM held on just long enough in the low margin embedded world to then conquer mobile. Intel was able to win price/performance through superior fabrication and economies of scale, but power/performance really does require a superior design.

If Intel recovers, it may need to jettison x86, or offload x86 interpretation to a secondary unit for desktop processor with it gone from server procs.

This would make me happy because it's been crushing to think I might go my entire career/lifetime with little endian processors being the mainstream. :-/

<comment><USER4> Little endian has nothing to do with CISC vs RISC or x86 though. Everybody is little endian today.

x86 helped with that historically, certainly, but fundamentally endianness just doesn't matter most of the time, and when it does, little endian makes more sense from first principles.

<comment><USER5> > Everybody is little endian today.

ACKCHYUALLY, PowerPC (POWER9 included) supports both big and little endian. Software wise, last I checked the Linux kernel, Debian (PPC port), Gentoo, FreeBSD, and several other major projects supported both. I believe KVM also supports flipping VM endianness versus the hypervisor.

Acknowledged, of course, that the spirit of what you said is indeed correct - the majority of systems in active use are little endian.

<comment><USER6> ARM too.

[https://developer.arm.com/tools-and-software/open-source- sof...](https://developer.arm.com/tools-and-software/open-source- software/developer-tools/gnu-toolchain/gnu-a/downloads)

See: > AArch64 GNU/Linux big-endian target (aarch64_be-linux-gnu)

</comment></comment></comment></comment></comment><comment><AUTHOR> This is an interesting twist in the processor wars, here is the #1 cloud company that is turning its profits in providing cloud services in to processor R&D to build new CPUs.

This is a much more important announcement than the press is giving it credit for.

I have argued in the past the Intel "lost" the smartphone CPU war because Apple decided not to wait for them to come up with some high margin processor compromise and instead to re-invest profits into the development of bespoke processors that gave their products an edge over their rivals. Others like Samsung followed suit with own processors for Android.

Doing this both takes away Intel's ability to 'gate' what is and isn't a cellphone processor, and their ability to set the margins they would like.

Amazon, Facebook, and Google have been designing and building their own server designs for years. This takes away Intel's ability to gate their choices at the Server manufacturer. As a result more AMD server processors were deployed by these three companies than the rest of the market combined.

Now Amazon is taking profits from the AWS service and re-investing them in bespoke CPUs that are tuned to the workloads they can see customers running on their infrastructure. As a result they will not only enhance their cost/power edge over Google, Microsoft, and everyone else, their infrastructure can be better than anything you can buy in order to run your own workload, locking you into their service (a moat if you will for keeping you there).

If they succeed, Google and Facebook will follow suit. (I am guessing Google already is well down this path, knowing them but also knowing their secrecy about such things)

If you take 50% of the enterprise server market out of Intel's portfolio they are left fighting for enthusiast/gamer share and AMD is eating their lunch there.

It is going to be really interesting to watch this play out.

<comment><USER7> > I have argued in the past the Intel "lost" the smartphone CPU war because > Apple decided not to wait for them to come up with some high margin > processor compromise and instead to re-invest profits into the development > of bespoke processors that gave their products an edge over their rivals. > Others like Samsung followed suit with own processors for Android.

Kind of a weird way to phrase it given that iPhone 1 through 3GS ran on Samsung SoCs. It wasn't until the iPhone 4 that Apple used their own SoCs. Not sure how Samsung could be following suit in that case.

Edit: also, Apple was never going to wait around for Intel. Apple is actually one of the early investors in ARM, back in the early ninties, had used ARM.in the whole iPod line (as well as the ill fated Newton), and iPhones lined up with ARMs in mobile TDPs starting to have full MMUs.

<comment><USER8> At a certain time, a mobile x86 product had a lot of appeal because of the potential to reuse the software already optimized for x86. The choice then was, wait for Intel to produce good x86 mobile chips to leverage that, or accept that you have to continue using a different architecture. At the point you are deciding to give up on Intel, rolling your own chips starts to look a lot more appealing, since ARM just licenses the IP anyway (and it becomes a differentiator between their product and Samsung's, which is arguably their closest competitor).

There were two good paths to take, but one depended in Intel and they never provided it.

<comment><USER7> I mean, see my edit. They were an early investors in ARM, pretty exclusively used ARM in their mobile products for about a decade at the release of the iPhone. They were never going to wait for Intel.

Edit: Like they had been using ARM since before Intel released the original Pentium.

<comment><USER8> Everyone was waiting for Intel, either to switch ot to know how to respond to compete.

Inthink if Intel came out with a compelling product, Apple would have switched. I suspect they invested in ARM because it made sense at the iPod level, but once you start converging mobile and desktop experiences, there are major benefits to having the same architecture for both. Just look at how rampant the ARM MacBook rumors have been for the last few years.

I think the ARM investment by Apple was good _regardless_ of whether they wanted to switch to Intel for higher end mobile, so I don't see it as evidence as to why they didn't want to.

<comment><USER7> They had been using ARM in released products since before Intel released the original Pentium.

Nobody was waiting for Intel to get into the cellphone market. The TDP of Intel chips just never made sense, and it was clear that this was because they just didn't institutionally care about that market segment in a real way.

Maybe pundits were waiting, but nobody serious.

Edit: and all these ARM desktop rumors are just that, rumors. They have the ability to ship a competive low to mid end laptop on their own arm chips today, and aren't. Their wide OoO designs would run beautifully in a formfactor that isn't thermally throttled so much. IMO they don't want to switch ISAs and are waiting out the x86_64 patents.

<comment><USER9> "They had been using ARM in released products since before Intel released the original Pentium."

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

...I'm not sure it was before the Pentium though, because it appears they both came out in 1993.

</comment></comment></comment></comment></comment></comment></comment><comment><USER10> The pricing level for the ARM instances should be interesting. If Amazon prices them well below their Intel and AMD instance types, they could really drive adoption and lock-in.

<comment><USER11> > If Amazon prices them well below their Intel and AMD instance types, they > could really drive adoption and lock-in.

Adoption? Sure.

Lock-in? Umm...

Most servers run Linux, and most software on Linux is distributed as source. The same reason that people can easily move to ARM - they can just recompile/download software for the correct architecture and everything mostly works - is the same reason they can leave easily.

All the other AWS proprietary APIs: sure. It'd take a stupendous amount of work for Netflix to migrate away from AWS. But running on ARM isn't really part of that.

<comment><USER12> > and most software on Linux is distributed as source

Clearly you aren't purchasing much software. If you're one of the (majority of) large software companies that use precompiled binaries from vendors for any of the components in your systems, you're at the mercy of which architectures your vendor(s) support.

<comment><USER13> Yeah exactly, you're not going to skimp on the CPU by choosing ARM to save $500 a year when you have software that costs you thousands every single year. You're going to stick with x86_64 instead of the crappy budget option that doesn't even run your software.

<comment><USER14> Twist: enterprise software goes the way of IBM mainframes, with a small number of large customers paying crazy prices for compliance and customization, and everything in the hardware/software stack being 10+x more expensive than its commodity equivalent.

</comment></comment></comment></comment></comment><comment><USER15> > Based on these results, we are planning to use these instances to power > Amazon EMR, Elastic Load Balancing, Amazon ElastiCache, and other AWS > services.

Clouds are migrating to AMD and Amazon kicks back with home grown cores. Ouch. Chip vendors have to let go of their ISAs, no one cares, as long as you can run Debian on it.

</comment><comment><USER16> Whatever happened with the Qualcomm Centriq ARM based server CPU? It never became available at any reasonable price in small quantities for software development/test/prototyping as something you could actually buy an ATX motherboard + CPU together and install (redhat, centos, debian, freebsd, whatever) on.

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

[https://www.tomshardware.com/news/qualcomm-server-chip- exit-...](https://www.tomshardware.com/news/qualcomm-server-chip-exit-china- centriq-2400,38223.html)

[https://www.networkworld.com/article/3327214/qualcomm- makes-...](https://www.networkworld.com/article/3327214/qualcomm-makes-it- official-no-more-data-center-chip.html)

<comment><USER17> Amazon can afford to go all-in on building their own chips, with a solid goal of moving (almost?) all their AWS services over to them (I would bet good money that will become a requirement for services). They're also more forward thinking and experimental than most companies are, or can afford to be. The x86 is the "no one ever got fired for buying IBM" of CPUs.

This promises to be quite interesting. If Amazon can prove ARM as viable on their scale, that'll help companies like Qualcomm who were struggling to drum up attention from the more traditional markets.

<comment><USER16> Yes, that's great for amazon, but what about everyone else on the planet who has x86-64 hypervisors and would like to have the option of purchasing a 3rd choice of CPU which is not Intel or AMD, at a price/performance ratio that is somewhat competitive with existing options?

<comment><USER17> There are other x86-64 CPU manufacturers, but you're making a massive trade off for performance. Intel and AMD really have polished their stuff until it shines.

If Amazon can prove ARM can cope with server scale operations, and even outperform x86-64, you can have a high degree of confidence that other companies will get in the game. There are many more companies manufacturing ARM chips than x86-64 (due to licensing agreements, in part)

</comment></comment></comment></comment><comment><USER18> We just released our test results of the new Graviton2-based M6g server. Pretty solid numbers. This is a game-changer.

[https://www.scylladb.com/2019/12/05/is-arm-ready-for- server-...](https://www.scylladb.com/2019/12/05/is-arm-ready-for-server- dominance/)

</comment><comment><USER19> I wish individual consumers could go out and buy these processors. Amazon really has little incentive to sell them - they are not primarily a chip manufacturing business, and anyways, why give away their hard-fought competitive advantage? - but damn, it would be cool to stick one of these in a workstation and watch it fly.

<comment><USER20> I expect Ampere eMAG 2 to be pretty similar to Graviton2, so you can buy that instead. (Or pretend that you're going to buy it until you see the price.)

<comment><USER19> Oh, interesting. Is Graviton designed in collaboration with Ampere?

<comment><USER20> No, but one has 64 N1 cores and the other has 80 N1 cores, probably with similar memory controllers and PCIe as well.

</comment></comment></comment></comment><comment><USER21> Yesterday: [https://news.ycombinator.com/item?id=21693797](https://news.ycombinator.com/item?id=21693797)

<comment><USER22> In case pvg's "yesterday" comment isn't clear, this link is to a previous discussion of the same story.

<comment><USER21> I also meant the apparent distance to all my troubles was significantly greater.

<comment><USER23> Looks like they're going to stick around for a while.

</comment></comment></comment></comment><comment><USER24> What % of the server cost for Amazon is the CPU? I mean you have memory, disk, network, power...

<comment><USER25> AWS is running on very thin margins, and every couple precent in extra productivity could easily mean doubling profits.

<comment><USER26> > AWS is running on very thin margins

Incorrect. Amazon is a public company, and their own report tells us that AWS margin is 25%, as of 2019 Q3.

</comment></comment></comment><comment><USER27> Are we thinking Intel is Amazon's next Barnes and Noble?

<comment><USER28> AMD already doing that to Intel

<comment><USER27> Ya I get it but they are in the chip biz.

I'm always fascinated when an incumbent gets beat by a company that views that core business as an ancillary means to their own core business.

Probably I think another example is Netflix creating its own content. It's a streaming company... but now they produce award winning content.

<comment><USER29> > when an incumbent gets beat by a company that views that core business as an > ancillary means to their own core business.

Early on, books sales was Amazon's core business.

</comment></comment></comment></comment><comment><USER30> What is "Graviton2" in this context?

There's no Wikipedia page for it, and the regular google search results all loop back to this AWS announcement.

<comment><USER30> I am gathering that it's a chip, a CPU chip, seem to be ARM architecture not intel x86; and is an important chip or will be due to this? I don't know why though.

<comment><USER18> Here's our take. This is big.

[https://www.scylladb.com/2019/12/05/is-arm-ready-for- server-...](https://www.scylladb.com/2019/12/05/is-arm-ready-for-server- dominance/)

<comment><USER30> I'm still reading between the lines here, which is frustrating and doesn't reflect well on the journalism; So you say:

"AWS announced in late 2018 the EC2 A1 instances, featuring their own AWS- manufactured Arm silicon"

...

"AWS during its annual re:Invent conference announced the availability of their new class of Arm-based servers, the M6g and M6gd instances among others, based on the Graviton2 processor."

So the Graviton2 is made by Amazon as well? Under licence from ARM, I mean, like other ARM design chips.

_edit_ Looks like it, yes. Here is the context necessary to understand the story:

[https://www.wired.com/story/new-amazon-chips-cloud- computing...](https://www.wired.com/story/new-amazon-chips-cloud-computing/)

[https://www.nasdaq.com/articles/amazon-amzn-to-release- new-s...](https://www.nasdaq.com/articles/amazon-amzn-to-release-new-server- chip%3A-will-it-hurt-intel-2019-12-04)

</comment></comment></comment></comment><comment><USER18> Related thread: [https://news.ycombinator.com/item?id=21714284](https://news.ycombinator.com/item?id=21714284)

</comment><comment><USER31> Complexity and cost have cooled my enthusiasm for AWS.

</comment><comment><USER32> Its interesting but I wouldn't say Graviton2 is likely to succeed.

Every ARM based PC I've seen has been disappointingly slow, which I dont really understand because phones usually are amazingly quick.

DEC Alpha, Sun Sparc, MIPS, PowerPC couldn't keep up with Intel in the recent past either.

Intel CPUs aren't cheap, but they're a fraction of the cost of a server.

All adds up to interesting innovation but not necessarily the future.

<comment><USER33> > Every ARM based PC I've seen has been disappointingly slow,

The only ARM based PCs I've ever seen are the Raspberry Pi and other products intended to compete with the Pi, and one of the core features of these PCs is being a complete computer for under $100. Keeping the price low was always the top priority, not performance.

<comment><USER18> The Graviton2 is about performance. We did tests. This thing blitzes.

[https://www.scylladb.com/2019/12/05/is-arm-ready-for- server-...](https://www.scylladb.com/2019/12/05/is-arm-ready-for-server- dominance/)</comment></comment></comment>


Pushing Python Past the Present - <AUTHOR> http://archlinux.me/dusty/2012/10/04/pushing-python-past-the-present/

<comment><USER2> It is interesting that the author is an Arch Linux developer. My sole experience in the #python channel on freenode [1] was to be badly flamed once the room discovered I was an Arch user. Apparently there is considerable annoyance at Arch's decision to install Python 3 as /usr/bin/python, against the recommendations of the Python community.

While I understand that this decision may have increased calls for help from Arch users in #python, Arch is strictly rolling release, and Python 3 has been out for 4 years now. Given this last fact, the vitriol I encountered was quite surprising.

[1]: Asking simply for a method to obtain compile-time information about python from python. I got the answer from a sympathetic person in the channel. Thanks felipe

<comment><USER3> > Apparently there is considerable annoyance at Arch's decision to install > Python 3 as /usr/bin/python, against the recommendations of the Python > community.

Really? Isn't Arch complaint with PEP 394 [1], which deals with that issue? The problems are mostly with people assuming `python` means `python2`, and distros/installs not providing the `python2` command.

[1]: <http://www.python.org/dev/peps/pep-0394/>

<comment><USER4> Quote your link:

>python should refer to the same target as python2 but may refer to python3 on some bleeding edge distributions

Is Arch considered bleeding edge?

<comment><USER5> I see Arch as a kindler, gentler gentoo. So maybe not bleeding edge, but definitely an edge. You should only be there if you know why you want to be there.

<comment><USER6> Do you have USE flags in the (mainly) binary distro you compare to Gentoo?

<comment><USER3> Sort of. The package building system is very simple and arch provides facilities for building everything from scratch if you want to.[1]

[1]: <https://wiki.archlinux.org/index.php/Arch_Build_System>

<comment><USER6> USE flags on Gentoo are a way to expose configuration options to the user, not just allowing packages to be built from source. More details: [http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=...](http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=2&chap=2)

<comment><USER3> That's why I said "sort of". Arch (as far as I know) doesn't provide a global way to do what USE flags do in gentoo, but the same _end_ can be acomplished by tweaking the packages . There are also ways to apply those changes automatically, but they are not the same thing either.[1]

[1]: <http://aur.archlinux.org/packages.php?ID=10314>

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER7> >I think it's unfortunate that the only way to code for a web browser is to use JavaScript or a language that compiles to JavaScript. I feel there is no real reason browsers can't support arbitrary <script type=""> tags. I discussed this last March.

I don't find that unfortunate at all. With one single standardized language we have fragmentation across browsers which sometimes causes problems. Allowing arbitrary languages would be a nightmare.

There is, of course, a workable way to do arbitrary languages already, which is to do it the way CoffeeScript and many of its cousins do it: implement the compiler in JS and compile your scripts to JS on the client side.

Would it be nice if such compilers could compile to a more sane and low level intermediate representation instead? Sure. But that's not the world we live in, or will likely ever live in (although maybe, if the IR were a subset of JS... but I digress).

<comment><USER8> > With one single standardized language we have fragmentation across browsers > which sometimes causes problems. Allowing arbitrary languages would be a > nightmare.

I'm not sure about that.

One thing i really dislike about web development is that it's so unnecessary complicated to say "i want to use ECMASript 5 for this web page" and then let the browser decide what to do, either just stupidly show an error message, or, more intelligently, download the necessary components to make ECMAScript 5 work, kind of what a package manager would do. If the web would have been polyglot from the start (in the scripting language side), i think it's not far fetched to imagine that browsers could have adopted a similar approach to the later one.

Really, i feel it's really stupid that we've been fallen into this "beware, <browser X> doesn't support Array::map!" trap, instead of "how silly, Array::map didn't exist because i didn't mark my <script> tag with language=ecmascript5, now it does :)". I can't but feel that Only One Scripting Language to Rule Them All mentality brought us here.

But anyway, the What Would Have Happened If won't take us anywhere. The decision for us to make is: do we embrace a polyglot/package managed like architecture _now_ , or do we continue with (re)standardising the one and only web scripting language?</comment></comment>


The Omnigenic Model as Metaphor for Life - <AUTHOR> https://slatestarcodex.com/2018/09/13/the-omnigenic-model-as-metaphor-for-life/ <comment><USER3> What changed between the few-gene era and the polygene era is that we got sequencers that could read the genomes of an entire experimental cohort at reasonable cost. Likewise, when we have the capability to do single-cell profiling of the epigenetic signature of an array of relevant cell types, for every member of your cohort, there's decent odds biologists will think it ludicrous that we hoped to get meaningful results out of lone, unannotated, out-of-context genomes.

 _EDIT_ : I would specify that I'm not saying that experimental biology "doesn't work" or doesn't get meaningful results before the bigger new technology arrives. I think the Slate Star Codex article overstates the helplessness of single-gene theories, which did explain a bunch of diseases and simple attributes, and had significant medical impacts in understanding things like cancer and chemotherapy effectiveness. It just failed to accomplish a set of other things that people wanted, like explaining intelligence or height. Each new advance (cheap genome sequencing, epigenetic readouts, hugely longitudinal metabolomics, molecule-level microscopy, and the hundred-plus advances in this direction we haven't even conceived of yet) expands the territory of what we can address through molecular biology.

Scientists are often _really optimistic_ about whether topics of interest lie inside or without this territory at a given moment, which I think has to do more with the incentives of grant writing than anything else.

<comment><USER4> Yeah, the hidden caveat is that in a lot of cases, science "suddenly" progresses when scientists get access to better equipment or get trained in new methods, and can suddenly admit to our funders that the things we were doing before sucked.

<comment><USER5> I dunno. There's a lot to be said for squeezing as much as you can out of whatever technology you currently possess. The current iteration of sequencing will surely be looked back on as woefully inadequate, but we're learning a ton with it now.

</comment></comment></comment><comment><USER6> I learned about this in bio back in the 2000s. As I studied how genomes actually worked it quickly became apparent that genetic systems are absolutely nothing like human engineered systems. Every part simultaneously interacts with every other part in real time and determines everything in parallel.

Take the genome for example. I really think the notion of gene sequences hobbles our understanding. The genome is not a sequence. It can be _sequenced_ , but that's not what it actually is. A genome is a molecule. Every part of the surface of that molecule is constantly interacting with other molecules. In programming terminology it's like a program where every instruction executes in parallel, always, and in real time. That means that trying to read the genome sequentially like a program or a book is missing the point entirely. We're holding it wrong.

I truly think we are a long way from being able to really "grok" these systems. It took us thousands of years to develop the math, logic, and science to understand complex systems with discrete components and discrete logic. In many ways the digital computer is the apex product of our understanding of discrete systems and discrete logic.

Now we get to figure out concurrent systems and concurrent n^n combinatorial "logic." It might take a lot less than thousands of years because there are more of us and we have a lot more knowledge to work with, but it's not going to be overnight.

<comment><USER7> It's not going to be the sort of thing we "grok", at least in the traditional sense. Human minds can fully understand relatively simple discrete logical steps in a system but massively parallel interactions like the genome are fundamentally beyond our ability to "grok".

In order to make sense of and manipulate things like genetics we will need to develop machines that can do those things for us. While that's unsatisfying because we generally like the feeling of fully understanding things, such machines will still yield progress and results, which is all we can really hope for here.

<comment><USER6> I don't think a human in 500 BC had the intellectual tools to understand a modern CPU or computer program. An electronic circuit would have been absolutely inscrutable to them. A time traveler might be able to talk them through it, but a time traveler would have the benefit of future intellectual tools not available at the time. It's one thing to teach what is already understood (to you) and another to comprehend for the very first time in history.

I've thought for many years that there are new intellectual tools waiting to be discovered here that will be as big as arithmetic, calculus, or logic. There was a time when humanity had no idea what mathematics -- the _whole field_ \-- was, and today there are probably whole analogues to mathematics waiting to be discovered.

Unfortunately we are still in the phase of trying to attack this problem with old ways of thinking. We probably won't even try until we finally come to terms with the fact that the tools we have at our disposal right now do not work to truly understand the genome. This will take a while as humans become emotionally attached to their tools and cling to them. Try debating a programmer on OSes, languages, or editors to see a simple example. :)

Bonus is that once we understand the genome we'll probably understand a lot of other unknown unknowns we didn't even realize we didn't understand. Maybe this is why physics seems stuck. Maybe the cognitive tools we have right now are simply not up to the task of understanding the whole thing.

Edit:

I actually think Stephen Wolfram's doorstop _A New Kind of Science_ was groping in this direction. The book was problematic because of Wolfram's almost comical narcissism (Wolfram sort of tries to take credit for a lot of things he didn't invent), and the techniques it discusses don't seem to have delivered much fruit in and of themselves. Nevertheless at the "meta" level the notion of trying to invent fundamentally new intellectual tools is absolutely what we should be doing. We will of course fail a lot, but that's what happens when you try to do something new.

<comment><USER8> > I don't think a human in 500 BC had the intellectual tools to understand a > modern CPU or computer program. An electronic circuit would have been > absolutely inscrutable to them.

I'm pretty sure they could learn to write programs. The had algorithms.

<comment><USER6> They could if it were explained to them. I doubt they could figure out a more complex sort of algorithm if they were given the artifact with no explanation. Doubly so if the algorithm involved things like calculus and modern number theory.

We do not have aliens or time travelers to walk us through genomes and fill in the missing pieces of our understanding.

<comment><USER9> If your are referring to the physical CPU itself, then you are correct as they would lack the technology to even see the circuit paths (much less measure current).

But, if you are suggesting a smart human from 500 B.C. couldn't grasp 'The Art of Programming,' I'd respectfully disagree. Logic and reasoning haven't changed in recorded history. The ancients were no more or less intelligent than the moderns. Whenever I'm tempted to think otherwise, I sit down with my Euclids Elements and see how far into it I can get before I reach the "WTF... How did he figure THAT out!?" An even better cure -- although more recent -- is to see how far you can get through Newton's Principea.

<comment><USER6> I see your point but I still dont agree.

Everything seems obvious and easy in hindsight because we are viewing it with those intellectual tools deeply embedded into our understanding. They are all over our culture and we pick up bits of them as children through osmosis even before we study them formally.

I think getting an ancient Greek or Roman intellectual to understand a large integer factoring algorithm, a proof of work block chain, or an OS kernel would be pretty painful. It would take a lot of tutoring to first teach a lot of things that were not understood in that time at all.

You can sometimes see this today when you see older people in rapidly developing nations trying to learn advanced concepts. They can do it but it takes a while.

My point is that all this assumes a tutor who knows and can explain. For levels of understanding not yet reached by any human, there is no tutor to teach us how to think about the problem.

<comment><USER9> Two of your three examples consist of algorithms that take a large number of steps. Without an ability to perform a large number of steps in a short amount of time, there wouldn't be the need to think about such things. That is, your tutoring of the ancient would consist of explaining an algorithm that might take 100,000 calculations. He would grasp it, but shrug and say "so what? It would take years to perform that algorithms. Let me show you a different way that results in a damn good approximation that requires nothing more than a compass, straightedge, stylus and a piece of string."

In short, you are confusing reasoning ability with algorithms designed for a particular form of technology.

Take neural nets. Would someone from the 1970s understand the benefits of a convoluted net vs. a simpler form? Perhaps. But, without the technology to perform millions of training calculations, the lack of comprehension would come from your pupil wondering what the point would be of trying to understand an algorithm that, with his technology, could never be demonstrated, used, or tested.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER10> > The most recent estimate for how many genes are involved in complex traits > like height or intelligence is approximately "all of them" – by the latest > count, about twenty thousand. From this side of the veil, it all seems so > obvious. It's hard to remember back a mere twenty or thirty years ago, when > people earnestly awaited "the gene for depression".

I wonder how much that's just a technicality, in the same way you could say the inverse square law for gravitation is wrong because really every massive particle has _some_ influence on every other particle, etc.

So maybe it's the case that every gene is involved in every trait, but maybe there's a handful that account for 99% of what we care about in that trait? (Then again, I can imagine for something like intelligence that most of the genome is really involved—height though?)

EDIT: I had some remarks about the term 'gene' here that were incorrect and turned into a useless diversion.

<comment><USER11> It's more like, early on we found some traits like "blood type" that really did correspond closely to a small number of genes. So we theorized they all worked like that. Now, we know that however height works, it doesn't work like blue eyes do.

</comment></comment><comment><USER12> Research into the question, "which programming languages are more productive?" certainly suffers from looking at single causes in a massively polycausal system.

If you assume the effects of individual causes combine linearly, you can still look at one cause at a time. But programming languages interact with the problem domain, library availability, team preference and experience in non- linear ways.

</comment><comment><USER13> Seems premature to claim "it works" based on predictions. That was what got us in trouble last time.

<comment><USER14> What do you mean by "it works"? Polygenic scores?

<comment><USER15> I'm doubtful that polygenic scores work, in the sense that we all acknowledge that complex traits like intelligence are interactions between genetics and environment.

You can always decompose a function of two variables into three parts (with some hand-waving for notation):

f(a, b) = f(a) + f(b) + interaction term

where E(interaction term) = 0 in some statistical sense.

If the interaction term is zero, then great, your function is trivially decomposable. For our problem, take a = genetics and b = environment, that means you can precisely talk about someone's 'genetic score for intelligence' and someone's 'environmental score for intelligence', and never have to consider them together.

But I strongly suspect that the interaction between genes and environment is very very high; the latest effort to map genes to intelligence only accounts for 10% of variance not because the environment _determines_ the other 90%, but probably the interaction term, which can be complicated and highly nonlinear.

Another thing: variance of your inputs can only be considered in a statistical sense so the relative importance of genes vs. environment won't be stable. If somehow the world became completely uniform (every single child in the world received the exact same education and upbringing), you'd expect genetic variation to account for everything just by definition.

<comment><USER16> You can't do that with things that interact, e.g.:

f(a,b) = b/a

<comment><USER17> f(a,b) = b/a = 0 + 0 + b/a = f(a) + f(b) + interaction term

In this case the system is contained entirely within the interaction term, and since you don't know the distributions of a and b there's not much motivation to go further. If you had the distributions of a and b you might be able to do something a little less trivial by skewing the interaction term to have an expected value of zero, potentially like:

a/b = a + b + (a/b - a - b) = f(a) + f(b) + (interaction term with E[term] = 0)

<comment><USER16> If by "interaction term" it is meant f(a,b), then I congratulate the author of that tautology.

<comment><USER17> Hidden in the parent's comment is the additional condition that f(a,b) have an expected value of zero. It's still pretty easy to prove, though.

</comment></comment></comment></comment></comment></comment></comment><comment><USER18> Height is measurable. Intelligence really isn't.

I'm naively confident that we'll find gene patterns for height soon.

</comment><comment><USER19> Bear with me against the impression of pandering, but I see an analogy between the author's prescriptions and "product-market fit". The power of that term is that it discards the notion of an optimal product or perfect audience - <USER2> two can only be right for each other. In the same way, problems with polycausal phenomena might admit specific solutions (Prozac for depression) without being fully understandable.

The correlary is that successful products can litter the world with unintended consequences - as can isolated discoveries.

</comment><comment><USER20> I would think a big part of the problem is we shouldn't look at genes but rather how genes are regulated.

</comment><comment><USER21> I remember thinking how utterly stupid it was to think it was a single gene that determined these.</comment>


Mint.com Founder: Heck No, My VCs Didn't Force Me To Sell To Intuit - <AUTHOR> http://www.businessinsider.com/mintcom-founder-heck-no-my-vcs-didnt-force-me-to-sell-to-intuit-2009-9

<comment><USER2> _Because it's $170 million!_

Enough said, really.

</comment><comment><USER3> "(If anything, his later-stage investors were not thrilled that he was selling so quickly; they would have preferred a much larger, later exit, given Mint's long-term potential.)"

Pretty sure I said exactly that here. Seemed fairly obvious that either it was a fire sale or some VCs would have preferred going for more.

Probably what I'd not considered is that no VC wants to be in the position of blocking an exit of a company still run by the founders.

</comment><comment><USER4> Does anyone know how much of that $170m actually went into his pocket? After investors took their share for their equity, taxes, and etc?

<comment><USER5> I'd like to know this as well. It seems like someone could ballpark it pretty well based on the various VC rounds.

<comment><USER6> Probably around 10%. Which isn't bad at all.

If he negotiated really well his early round, it could be 15%.

Also, keep in mind that if he owns 10%, it doesn't mean he got $17M (10% of $170M). VCs who invested money may have preference rights. For instance, if they put $20M in Mint, they could take the $20M out of the purchase price. Then, there is only $150M to share, and that's what Aaron would get 10% of.

Either way, he's fine :-)

</comment></comment></comment><comment><USER7> From TFA

"Patzer says he does not have an earnout, but is on contract with Intuit for three years."

After MintRunning Quicken/Online will be like being neck deep in quicksand and trying to run. But I guess one can suffer sme boring meetings (Intuit is big on meetings) for 3 years for this kind of money.

Is 17 million (assuming a 10% share for him) worth three years at Intuit? I think so, _at his age_. (He'd be 31 when he is free again).

</comment><comment><USER8> FTA: "So what's he going to do now? Not buy a house or anything crazy"

He just sold for $170 million and buying a house is crazy?

<comment><USER9> Part of the reason he started Mint was because he was very financially conscious. It would be silly of him to reverse course on that now.

He's a smart man. Congratulations Aaron. Good work.</comment></comment>


FriendFeed's users are abandoning it post-acquisition by Facebook - <AUTHOR> http://www.techcrunch.com/2009/10/17/this-used-to-be-my-playground/

<comment><USER2> Odd. I'm still using FriendFeed, and see no difference pre- or post-Facebook.

<comment><USER3> Ditto. I guess it has to do with what you use FriendFeed for. In my case, news updates, RSS titles, and Twitter-plus-more.

<comment><USER4> Ditto 3. The life science community and the non-life science folks I interact with are as active as ever.</comment></comment></comment>


Ask HN: What are your favorite podcast episodes? - <AUTHOR> I know everyone has a favorite podcast, but do you have favorite episode(s)?
Indiehackers podcast episode 16 with Mike Perham on building Sidekiq, episode 6 with Josh Pigford or baremetrics and episode 1 with founders of SubmitHub
I really enjoyed the Derek Sivers episode on the Tim Ferris podcast as well as the episode with DHH.
The MetaLearn podcast episode 15 on Ask Better Questions was also a favorite. <comment><USER2> [https://www.thisamericanlife.org/radio- archives/episode/562/...](https://www.thisamericanlife.org/radio- archives/episode/562/the-problem-we-all-live-with)

[https://www.thisamericanlife.org/radio- archives/episode/355/...](https://www.thisamericanlife.org/radio- archives/episode/355/the-giant-pool-of-money)

[https://youarenotsosmart.com/2017/01/13/yanss-093-the- neuros...](https://youarenotsosmart.com/2017/01/13/yanss-093-the-neuroscience- of-changing-your-mind/)

[https://youarenotsosmart.com/2016/08/24/yanss-081/](https://youarenotsosmart.com/2016/08/24/yanss-081/)

[http://www.npr.org/programs/invisibilia/485603559/flip- the-s...](http://www.npr.org/programs/invisibilia/485603559/flip-the-script)

[http://www.dancarlin.com/product/hardcore-history-49-the- ame...](http://www.dancarlin.com/product/hardcore-history-49-the-american- peril/)

[http://www.dancarlin.com/product/hardcore-history-59-the- des...](http://www.dancarlin.com/product/hardcore-history-59-the-destroyer-of- worlds/)

<comment><AUTHOR> The neuroscience of changing your mind looks really interesting, thanks for sharing these. I am going to check them all out.</comment></comment>


Ask HN: What credit card does your US startup use? - <AUTHOR> More context:<p>- very small team (< 5 people)<p>- mostly used for online services (e.g., servers, SaaS, api ...)<p>- rarely travel<p>- in San Francisco <comment><USER2> Not card advice but operational advice:

From being at startups where people tend to move fast and often move on, tell your staff that they can use the services they need _BUT_ you will only reimburse them for 3 months. After that, it must be on the corp card.

I've seen too many times where AWS, Mailchimp, etc, etc are on someone's personal card and once they leave, everything blows up after a couple months. It's even worse if they left under bad terms.

Give them some flexibility but make sure it comes to a single point of control.

<comment><USER3> I would say save the hassles and just stick to the corps credit card. I experienced the AWS under a personal credit card issue, but AWS was quick to resolve the issue with us anyway.

Though it is needless to say, also make sure you have a vendor email address to manage vendors. We have had vendor account signed up using work email but after the person left the company, we lose the account control and have to ping account manager. Sometimes, that process can take days to complete.

<comment><USER2> But if you make them stick to the corp card that means everyone has the # and you lose control and insight. That's dangerous at any stage but even worse when you're early stage and every dollar feels like $20.

+1 to a vendors@ or similar email account.

<comment><USER4> so, you're arguing that it is acceptable to have the core services your company relies on be tied to a person who could quit or be fired at any time?!

<comment><USER5> I'm sure they will put in lots of overtime. Maybe fire them while they're asleep under the desk, and their card is out on the table.

</comment></comment></comment></comment></comment><comment><USER6> I have some very important advice for startups that is tangentially related. Make sure that your AWS account is not on someone's retail account. They can never, ever be separated. Your order history is not deletable and AWS resources, data, etc. cannot be transferred between accounts. Additionally, the root account is required for many activities.

</comment><comment><USER7> My advice would be to make sure you have more than 1 card. There will be a fraudulent purchase at some point leading to a card re-issue. You don't want to be dead in the water for a few days while that happens!

<comment><USER8> Thats why i like Amex, their fraud detections systems quite advanced. Even when my card had fraud on it and they issued a new card #. All vendors still worked with the old card number.

<comment><USER9> Not only that. If you have fraud alert, they'll ship you a new card overnight. From a customer perspective Amex is amazing.

</comment></comment></comment><comment><USER10> Get a 2% cash back card. I think capital one has them. If you're running an ecommerce business for example with low margins but high spend (on google adwords or whatever), getting that 2% cash back really can be a huge boost to your profitability.

<comment><USER11> this 2%. nerdwallet for help. I have yet to see anyone beat the 2% back other than bonus signons - but those are 1 time and on a 2-3 year horizon go with 2%.

Fidelity has a 2% one as well that deposits cash into a fidelity investment account vs CapOne where you have to apply points to other transactions to utilize the full 2% back (and CapOne redemption only applies to certain Merchant Category Codes... FYI Timeshare/Rental in Orlando for a week is not redeemable by CapOne and is not the same MCC as a Hotel)

<comment><USER12> The CapOne 2% business card is called Spark Cash and doesn't have the redemption restrictions that you're describing (I think you may be thinking of their Venture card or another personal travel card). The only two downsides to the Spark card (in comparison to the Fidelity cashback card or Citi double cash) are that applying for it likely dings you in all 3 major credit reports (as opposed to just one like most cards) and also that it carries a $59 annual fee after the 1st year.

<comment><USER13> My startup has a spark card and being able to get the amazon gift cards as the 2% bonus was great, but unfortunately for some reason amazon gift cards are no longer available as one of the gift card options. Had to start getting home depot and target cards instead :/.

</comment></comment></comment></comment><comment><USER14> Just keep in mind when applying that you might have personal joint liability for your business card's balance. We have a Chase Ink Business Cash card that I applied for as a representative of our company and had to provide my SSN on the application. The card was approved no problem but looking at Chase's offerings enticed me to apply for the Sapphire card for myself. I got denied a Sapphire card despite a damn near perfect credit score and qualifying income. When I called in to dispute being denied arguing that my personal card shouldn't be impacted by a business card, this is how I learned that I was jointly liable for my business card payments as well. Chase auto-denied me due to "multiple consecutive applications" since they don't consider business and personal to be separate if the SSN used is the same.

Point is, make sure you read the fine print before you apply - joint liability may not be standard on all cards. Our bank issued us their business Visa with a very generous line and it is only connected to our business account with no joint personal liability.

<comment><USER15> So if the company goes belly up its possible that you'll end up holding the bag? That is horrifying coming from someone who has worked for mismanaged companies.

<comment><USER16> He's speaking about the person opening the credit card account in the business's name (generally the founder/owner/CEO etc.)

As an employee using the company card you would not have personal liability.

<comment><USER17> An employee using the company card usually does have some personal liability for the card. Liability does not arise in the case mentioned above where the company goes bankrupt. However, if an employee makes unauthorized charges to a company card, the company can refuse to pay them as they do not fall underneath the company card policy. Those charges then become the employee's responsibility.

Be careful with company credit cards, even if you're only an employee!

</comment></comment></comment></comment><comment><USER18> Possibly the best card for startup business expenses is the Chase Ink. It gives 5x points on office supplies and telco, and quite a few ISPs count as utilities. Getting 5x points on your server bills is very nice.

Points can be transferred to airline partners for super cheap international first and business class tickets (10¢ per point of value, often), or can be redeem at 1.5¢ per point for any cash flights or hotel rooms on their travel portal. Worst case, 1¢ per point as cashback.

Amex also has quite a few great business card. The Business Rewards Gold, The Business Platinum, and the Business Starwood SPG cards are the best.

</comment><comment><USER19> Don't worry about the card "benefits", worry about your procedures. Interest rate doesn't matter: you pay off the card every month, right? And time spent trying to optimize this is time you should be putting into your business.

For procedures: \- everyone should have a _company_ card _in their own name_. This means you don't wonder who placed that order for 55 gal of lube on Amazon; it will clearly be John Doe or Jane Smith. Since it's a company card, you'll get the bill and will be able to manage recurring purchases (e.g AWS) after the employee leaves. On the other hand if they accidentally order a bridesmaid's dress on the company card (happened at one of my companies) you can make sure the employee is on the hook for it. \- no expenses reimbursed -- only company card to be used.

SVB does this very well -- the employees get individual bills a day or two before the company consolidated bill arrives (all sent to the company -- again so the employee has a chance to catch that bridesmaid dress before the boss sees it).

</comment><comment><USER20> American Express Plum card used to have one of the best bonuses for quick repayment. It originally was 2% with no cap, if you paid it within 10 days. Or you could pay your minimum and defer the payment a month with no penalty. I think it is 1.5% now, which is still pretty good considering there's no cap.

I got it when I was doing a lot of affiliate marketing (no rebills, I swear), which is sort of like being a founder, and spending $xx,xxx a month on traffic. Getting 2% of that back was actually pretty sweet, considering my margins were 15-20% in general.

<comment><USER21> Capital One Spark Business Visa currently has 2% unlimited cash back and a $59 annual fee. When I signed up it was 1.5% cash back, no annual fee, and no minimum cash back rewards redemption amount.

<comment><USER20> Interesting. The Plum has a $199 fee after the first year. The one advantage for it would still be the ability to defer interest and payments for a month, but the Spark card may be a better option now, overall.

<comment><USER21> American Express SimplyCash Business Platinum has the standard one statement month-long interest deferral, 3% cash back on telecom bills and 3% cash back in a category you choose (shipping expenses, advertising, travel, some other ones I forget), no annual fee, and no minimum redemption amount. If you get both the SimplyCash card and the Spark card you can use each accordingly to maximize the cash back percentage, and get all the cash back accrued as statement credits every month. It is a small improvement to cash flow that adds up.

<comment><USER22> There is Plus: [https://www.americanexpress.com/us/small-business/credit- car...](https://www.americanexpress.com/us/small-business/credit-cards/simply- cash-plus-business-credit-card/44279) 3% is limited to first $50k of expenses though.

Don't see Platinum. Does Platinum have a limit on 3%?

</comment></comment></comment></comment></comment><comment><USER23> If you pay your AWS bill with the Amazon Rewards Visa, the transaction is categorized under Amazon and you'll get 5% rewards (only redeemable on Amazon though)

<comment><USER24> > only redeemable on Amazon though

The Chase card? You can redeem the points as statement credit.

<comment><USER23> I was unaware of that- thanks for the info. I should also add that 5% is only for Prime members. Without a Prime subscription, you will only recieve 3%

</comment></comment></comment><comment><USER25> If you use a VISA check card from your bank you can easily monitor all expenses through your company bank account. I found this helpful for my startup, but as you get bigger and spend more money you'll probably want to look at cards that give you extras (cash back, etc...).

<comment><USER26> The big problem with that is that debit cards have much slower fraud protections than credit cards (depending on issuer, of course).

If fraud hits your debit card, your cash account is empty and things like rent may be getting returned while you deal with it. With a credit card, that's the credit card company's money so they move faster.

<comment><USER16> You probably don't keep all your cash in one account?

</comment></comment></comment><comment><USER27> I'm going to assume you're trying to maximize for cash back and ignore other potential perqs like price protection, extended warranties, etc.

I'd say your two best bets would be either the Chase Ink Preferred or Amex Business Rewards Gold. Both offer 3 points per dollar spent in some categories. The Amex card explicitly lists cloud computing, the Chase card includes internet and online advertising. I'd recommend doing a bit of research to make sure your spending fits into the bonus categories.

If you're redeeming the points for statement credit you'll get 1 cent per point from Chase and .6 cents per point from Amex. There are other ways to redeem points that may be more valuable to you but this should be the minimum value you get.

Both cards have annual fees so you should definitely do the math to see if you'll at least break even on the fee. If you won't break even or you don't use the spending categories that have bonuses you might prefer something simpler. Citi offers cash back cards for businesses that give 1.5% or 2% cash back on all purchases. The 2% comes with an annual fee so once again you'd need to do the math to figure out which one is right for you.

</comment><comment><USER28> Capital One Spark Business (Visa) has worked great for us.

Very friendly service, good online system (not as great as Amex though), $15K limit from day one for a new business with zero revenue at the time. Best of all, 2% cash back on every single purchase (no categories), which adds up to real money when you put all of your expenses like AWS on it.

</comment><comment><USER29> Here are some features you might want for any business:

1\. Reporting on who spent how much on what?

2\. Access control and roll over in case someone leaves, joins, quits angrily and so on

3\. Backup and contingency plans in case your bank decides to revoke their relationship.

4\. Points back.

I think Amex has the most finely grained reporting and control and this, alone, is worth more than the others.

</comment><comment><USER30> I'm not convinced it's worth our time to figure out which credit card we should be using. Granted, our expenses are low, but the math just doesn't make sense.

</comment><comment><USER31> I've seen a few people mention using check or debit cards and that is almost always a bad idea. You lose the fraud protection and you are giving vendors and employees direct access to your checking account.

For your particular situation I would probably just open a credit card account with whoever your startup banks with. Beyond that I would probably explore do the following (in rough order depending on your company size):

1\. Using Personal Guarantee: If you are an early startup you probably cant get easily get a business card without a personal guarantee. In this case its really up to the founding team's credit worthiness and I would recommend Amex/OPEN, Capital One Spark, and Chase Ink. All of these will probably require a personal guarantee to start but these particular ones won't go on your personal credit report (Some other cards may).

2\. Establishing Credit: Create a Dunn and Bradstreet account, update it, and make sure you have a good web presence. The easiest business credit accounts to establish are UPS, Fedex, Amazon, Staples/OfficeMax/Depot, Frys, Uline. Open them and pay your bills on time (and in full). This will all boost your D&B Paydex score even if you are only making small purchases from each.

3\. Utilize your Bank: In SF Wells Fargo is actually quite good for a small startup, SVB is good once you have funding, and US Bank/First Republic are good alternatives. This is your best bet for first major business line of credit (LOC). A business LOC is almost like a credit card and could even have better terms for repayment. If and how you should actually use it depends on your company and your finances, however if you get one without a personal guarantee they will probably limit your expenses to business expenses.

4\. Get Credit without PGs(personal guarantees): Once you are seasoned for around 3-9 months you can start looking to getting credit without a personal guarantee. Beyond your bank I would look at US Bank, Amazon, Amex Business, Cap One Spark. If by that time you have funding and more substantial bank deposits approval will be much easier.

</comment><comment><USER32> If you have high expenses and want to leverage a good rebate, I would recommend getting the Alliant Cashback Visa Signature Credit Card.

It offers a 3% cash back off all purchases during your first year and the annual fee ($59) is waived during the first year. 2.5% cash back after the first year.

Source: [http://www.doctorofcredit.com/alliant-cashback-visa- signatur...](http://www.doctorofcredit.com/alliant-cashback-visa-signature- credit-card-review-3-cash-back-first-year-2-5-59-af-waived-first-year/)

</comment><comment><USER33> I've been running my affiliate business for a long time on several cards, but have so far found amex gold / platinum to be the best if you have any measure of marketing expenses.

The gold business card gives 3X points on Facebook/google ads, while the business platinum gives 1.5x points on purchases over $5k (useful for equipment purchases). You also get 50% points back on preferred airline travel bought with points directly through amex.com

I do realize that not everyone has credit sufficient to get these two, but if accessible they are great.

</comment><comment><USER34> Definitely make sure you get one where they're willing to scale up the credit limit. Our cardable expenses are now more than our limit so we have to pay it off multiple times a month.

</comment><comment><USER35> I have: SPG Business Amex (most recurring purchases); Amex Platinum (certain travel purchases). I use my personal Chase Sapphire Reserve and SPG Amex for some reimbursed expenses as well. I have a Chase IHG MC and an Amazon Prime (5%!) Visa that I use for IHG and Amazon, respectively (and the IHG for the rare cases I need a MasterCard).

Aside from the 2-5% return by using these cards, (and warranty, travel, etc. benefits), I find amex billing statements the easiest to reconcile across multiple purchasers.

</comment><comment><USER36> I know a lot of companies where the executive puts the expenses on their own card and then files an expense report at the end of each week.

In fact, even as a non-executive I'd have no problem putting SaaS on my points earning personal card if I trusted that my expenses would be reimbursed in a timely manner.

I've gotten multiple free flights and hotel rooms this way.

I might get down voted a bit because people could argue that the company should reap the rewards from any points but I don't personally see an issue with it.

</comment><comment><USER37> In the past, I used a USBank based service for small businesses. Low rates, API to get purchases, and fairly easy to get/qualify for. Assign credit limits per-employee and per category (so, for example, Maintenance Guy A can't purchase any food/beverages, but, can buy stuff at Grainger/home improvement stores, and has a limit of $500 per transaction, but a total credit limit of $5,000).

</comment><comment><USER38> Amex Business Platinum. Great benefits make it worth the cost 10x over.

</comment><comment><USER39> Chase Ink Preferred. Has a nice signup bonus and you get 3% back on some great categories for the first $150k spend.

</comment><comment><USER40> Another vote for the Capital One Spark card. We are getting $500/mo + back via the 2% cash back, which has been a much better value for us than the miles we were getting previously with an Citi AAdvantage American Airlines card.

I have a reminder setup to request a statement credit at the end of each month and it hits our P&L as income.

Something else to be aware of is that some business cards will hit your personal credit score. The Capital One Spark card I have does, but the Citi AAdvantage card I had previously doesn't.

I pay in full every month so it actually improved my credit score a few points as it added $30K in available credit with 0% utilization, but if you are going to carry a balance you could take a hit on your personal credit score - especially if your available credit utilization is high.

</comment><comment><USER41> Agree with others are (sort of) saying. If you're a 5 person team and the CEO please keep the card on your name. Then, create a accountspayable email address so you're the only member in it. Then, whenever you get a CFO on board, include him on the account -- this should be possible on the card provided -- however, the main point is that you're aware of things that go on with your account. Have some kind of process in place so there's dual approval on critical operations (txns above a certain amount, voiding transactions etc).

</comment><comment><USER42> Am also in San Francisco. In 2011, exactly one year after my bankruptcy, I got a Capital One card w/ a $750 credit limit and a $75 annual fee. Three months later I got a another Capital One card w/ a $2000 limit and no annual fee. I'm guessing Capital One is a great company to go with, especially when it's "live off credit cards" time and your credit rating is in the crapper :)

A less snarky answer is to join Credit Karma and see what they recommend. It's a great service for $0.

</comment><comment><USER43> Amex Gold and Chase Business Preferred are great for anyone spending a lot on online marketing as you can pick advertising as your category and get 3X points on all of that spend.

</comment><comment><USER44> Chase Ink Business Cash gives 5% back on: \- office supply stores \- cellular phone, landline, internet, and cable TV services

</comment><comment><USER45> If you need a high limit but don't have strong credit I'd recommend the Amex gold charge card. I was getting $3-5k limits on other cards but got a 50k limit straight away with this card. It had the 3x rewards on certain categories like online advertising mentioned above, but the balance must be paid in full monthly.

</comment><comment><USER46> Does anyone use the new age business cards for example from Bento[1] or Dash[2] (I have no affiliation)?

1\. [http://get.bentoforbusiness.com/](http://get.bentoforbusiness.com/)

2\. [https://getdash.io/](https://getdash.io/)

<comment><USER31> Neither of these are real credit cards, they are prepaid debit cards. I suppose I could imagine a few use cases if you deal with a lot of contractors/temporary employees but at that point I'd rather just deal with reimbursements.

</comment></comment><comment><USER47> Not for the US: [http://holvi.com](http://holvi.com) is great for Finnish, German and Austrian startups. You can get multiple cards, comes with bookkeeping built in and reimbursement functionality.

</comment><comment><USER48> Chase Ink Business preferred is awesome - and it gives you 3x points on Internet Marketing spend (i.e. Adwords/FB):

"on advertising purchases made with social media sites and search engines each account anniversary year"

</comment><comment><USER49> If you're spending much on advertising I would give Amex Platinum a look. They offer 3x points on one category per year and advertising is one of the options. The points add up fast and come in handy for flights.

<comment> nommm-nommm You forgot to mention that $550 annual fee.

</comment></comment><comment><USER50> Amex platinum but costs $500 a year. Solopreneur used to pay for hosting, software, travel, etc. Being able to use the points on Amazon is awesome

</comment><comment><USER51> We have a Chase Ink card, it was fairly easy to get and we have a limit over $10,000 so we can use it for all of our expenses.

<comment><USER52> Ditto on this one. [https://creditcards.chase.com/a1/olainkcash/th](https://creditcards.chase.com/a1/olainkcash/th)

We have the no annual fee version (Business Cash rather than Business Preferred).

<comment><USER11> interestingly they list "Earn 2% cash back on the first $25,000 spent in combined purchases each account anniversary year*"

do you only get points once a year? 25k doesnt seem that high for 2% back limit especially for a business?

</comment></comment></comment><comment><USER53> Amex because it's automatic net 30 and for subscriptions you won't decline immediately if the card is stolen

</comment><comment><USER54> I was a manager at magicJack when it was starting up. We used the owners personal black AMEX card :)

</comment><comment><USER55> When are we going to stop the insanity around credit card points and get to a system where credit card usage is no-frills and cheaper across the board?

</comment><comment><USER56> SVB

<comment><USER57> SVB is the worst! Go Capital One or AMEX

<comment><USER19> Why? I've used them for over 25 years for company accounts. They bank most of the VCs as well. They understand startups, while all the other banks around here are used to big businesses and retail.

</comment></comment></comment><comment><USER58> Amex</comment>


Show HN: Numbers of India - <AUTHOR> http://numbersofindia.github.io <comment><AUTHOR> This is a data story blog, on India. We just released a story on Indian Demographics - unequal representation due to the 1976 constitutional amendment, missing women in the population and many more. Feedback/ criticism is really appreciated! :)</comment>


How The Economic Machine Works by Ray Dalio  - <AUTHOR> http://www.youtube.com/watch?v=PHe0bXAIuk0

<comment><USER2> Dalio has also written papers on this and related topics [0]. Originally, there were three separate papers, but it looks like they've been combined in to a new draft. The three main sections:

* How the Economic Machine Works

* Debt Cycles: Leveragings & Deleveragings

* Productivity: Why Countries Succeed & Fail Over the Long Term

[0] [http://www.bwater.com/home/research--press/how-the- economic-...](http://www.bwater.com/home/research--press/how-the-economic- machine-works.aspx)</comment>


Facebook scraped call, text message data for years from Android phones - <AUTHOR> https://arstechnica.com/information-technology/2018/03/facebook-scraped-call-text-message-data-for-years-from-android-phones/ <comment><USER2> Duplicate of [https://news.ycombinator.com/item?id=16670291](https://news.ycombinator.com/item?id=16670291)</comment>


Show HN: Stylus, a lightweight home infrastructure monitor based on CSS/SVG/HTML - <AUTHOR> https://github.com/mmastrac/stylus <comment><USER2> As a small aside, using the name "Stylus" for something that deals with CSS is perhaps not the best pick, given that it's also a name of a very widely known CSS preprocessor language [1].

[1] [https://stylus-lang.com/](https://stylus-lang.com/)

<comment><USER3> Ah, the golden rule of Show HN -- any time something is posted, someone in the peanut gallery has a gripe about its name.

<comment><USER4> I mean, would Lihoinfman be a bad name? Just concatenating the first part of each word. It helps you remember what the project is and gives a unique string.

Or do it GNU style, QHIM -> QHIM home infra manager.

But no, lets name it after a common object.

<comment><USER5> > _I mean, would Lihoinfman be a bad name?_

Yes, unless you say it like Professor Frink.

</comment></comment></comment></comment><comment><AUTHOR> I've been looking for a way to automate monitoring of my home network by enhancing the network diagrams I've been keeping in diagrams.net w/CSS indicating the current status.

This project evolved from this experiment. The server runs a set of monitoring scripts at regular intervals and generates a CSS file that can be applied to your diagram (or optionally re-applied at periodic intervals).

It's very lightweight, written in Rust and barely uses any resources on my Pi 1B. It's also very configurable and I plan on adding a few more features to reduce the amount of configuration for traditional home networks.

</comment><comment><USER6> > Note that this project was originally written using deno, but was rewritten > in Rust to support Raspberry Pis.

A lot to unpack here.

<comment><AUTHOR> I originally wrote it in a few hours to experiment with deno. It worked perfectly on my mac, but there isn't an arm port and I really wanted to run it on my Pi 1B which was arm6, 32-bit. I fell back to Rust/async and it took another couple of hours, but I was able to build a multi-arch docker container from that.

</comment></comment><comment><USER7> This reminds me a bit of big brother.

<comment><AUTHOR> For sure! It's kind of inspired by the old style/industrial monitoring dashboards.</comment></comment>


Bringing Windows Server to Google Cloud Platform - <AUTHOR> http://googlecloudplatform.blogspot.com/2015/07/Bringing-Windows-to-Google-Cloud-Platform.html

<comment><USER2> As a .NET developer, very happy to see more competition for Azure.

<comment><USER3> AWS supports Windows too :) [http://aws.amazon.com/windows/](http://aws.amazon.com/windows/)

<comment><USER2> Yeah I thought about including AWS in my comment :) but I feel that Azure is the default choice for .NET cloud platforms so I (and I think many Windows devs) benchmark Google/Amazon against Azure.

<comment><USER4> One important distinction between AWS and GCE is price.

GCE and Azure both have per-minute pricing while AWS is hourly (which matters a lot for build bots or scaling up and down your website). GCE even charges for Windows per-minute and at a lower rate than AWS ($.04/vCPU/hour vs $.063/vCPU/hour) [0] that matches the "Windows" price on Azure [1] ($.04/vCPU/hour on the A7 "Standard tier" VMs).

[0] [https://cloud.google.com/compute/pricing#premiumoperatingsys...](https://cloud.google.com/compute/pricing#premiumoperatingsystems)

[1] [http://azure.microsoft.com/en-us/pricing/details/virtual- mac...](http://azure.microsoft.com/en-us/pricing/details/virtual-machines/)

Disclosure: I work on Compute Engine, but not on anything related to this Windows support.

<comment><USER5> We switched to GCE because of two main things:

1\. Speed. _Everything_ is faster on GCE. From the not-terrible portal, to VM start times, to the machines themselves and storage.[1]

2\. Price. Google was a half to a fifth of the price of Azure. Even with an Azure enterprise agreement GCE was far better.

Great job. I didn't think I'd like a Google product, and I came in very biased against Google, but you totally won me and others over thru a flatly superior product.

1: Azure still has an embarrassingly bad SSD story. Even when talking to them they don't seem to realize what a useless offering they have. I guess their plan is to focus on software on top of Azure, cause as IaaS it's simply not competitive.

<comment><USER2> The one thing I'm confused about with Google is what product do I select if I want a server to host a website on? Azure has the smallest VM at around $13/month, and on that I can host a website, database, services, etc. Does Google have a similar option? GCE's setup and pricing doesn't seem geared towards that.

<comment><USER4> Are you just looking to have a single VM running Windows Server?

We definitely have individual VMs that cost less than that (the f1-micro would be about $5/month for the VM, the g1-small about $13/month). You can hook them up to Autoscaling, Google Cloud DNS and Google Cloud Load Balancing (which Azure's "Basic tier" VMs don't seem to support; I'm not familiar with them, just reading what it says).

That said, I'm not sure I'd try to run Windows server on such a small instance (we apparently allow it and only charge $.02/hr in those cases). For example, Chrome's Clusterfuzz team runs Windows bots using the n1-standard-2 (2 vCPUs and ~8 GiB of RAM). Maybe someone can comment as to whether Nano Server would improve this situation...

</comment></comment></comment></comment></comment></comment></comment><comment><USER6> Embrace, extend, and wait, whut?

<comment><USER7> Are you extending this phrase to Google or are you seriously accusing Microsoft for letting Google use their product?

It really surprises me out of all places HN has users who default to commenting based on a regex of keywords. Doesn't matter the context, does the article have (Windows|Microsoft) let me throw in a comment about embrace, extend, and extinguish and nothing more that adds value to the discussion. It is sad to find out that even Reddit has grown past it.

<comment><USER6> I was joking dude. It was a joke because people always put that in any post about Microsoft. So, it was sarcasm.

But way to be a tool about it.

<comment><USER7> Then put a sarcasm tag on it or write it such a way that it is obvious it is a joke. The fact you received a few downvotes for it implies that there were others who took it more as a snark than a joke. Keep in mind, this is HN, people come here for serious discussions (although subjectable), so it is hard to get away with a joke, especially a one that adds little or none to the discussion.</comment></comment></comment></comment>


We Studied 6,452 SaaS Companies. The Findings Will Make You Grow - <AUTHOR> https://www.chargebee.com/blog/saas-business-growth-findings/ <comment><USER2> tl;dr Use our product</comment>


Implementing Algebraic Effects in C - <AUTHOR> https://www.microsoft.com/en-us/research/publication/implementing-algebraic-effects-c/ <comment><USER2> This is super interesting and I'm still going through the paper. For folks with a "Cool, but why" reaction, the introduction elaborates:

      For example, the P language [10] is a language for describing verifiable asyn-
      chronous state machines, and used for example to implement and verify the core
      of the USB device driver stack that ships with Microsoft Windows 8. Compiling
      to C involves a complex CPS-style transformation [19, 26] to enable async/await
      style programming [5] with a receive statement – using the effects library this
      transformation is no longer necessary and we can generate straightforward C
      code instead. Similarly, we hope to integrate this library with libuv [29] (the
      asynchronous C library underlying Node [43]) and improve programming with
      libuv directly from C or C++ using async/await style abstractions [12, 27]

Since the linked abstract doesn't actually mention this practical application, consider this comment as a goad to encourage more people to click through to the paper :)

<comment><USER3> It should be noted that the previous sentence before your quote is: "For now, we mainly see the library as a target for library writers or compilers."

<comment><USER4> Your caveat is well-taken, but you can learn a lot from what is done in these fields.

</comment></comment></comment><comment><USER5> A little off-topic, but the author of this paper (Daan Leijen) is also the author of Koka[1], a programming language with algebraic effects.

IMO, Koka (or something similar) has more potential to become a mainstream language than "traditional" FP languages (Haskell, OCaml, Idris, etc.).

Effects seem to be easier to understand than monads (at least on a superficial level) and more modular (I don't have a lot of experience with Haskell, so take that with a grain of salt).

Its syntax is also very close to C-like languages.

Taken from the Koka book[2]:

      fun square1(x : int) : total int {
        return x*x
      }

      fun square2(x : int) : io int {
        println( "a not so secret side-effect" )
        return x*x
      }

`square1` is a pure mathematical function, so its effect is `total`. `square2` has a side-effect because of `println`, so its effect is `io`. This means that `square2` can raise exceptions, not terminate, be non-deterministic, read and write to the heap, and do any input/output operations.

Note that Koka can infer effects, so these annotations are optional.

[1]: [https://www.microsoft.com/en- us/research/project/koka/?from=...](https://www.microsoft.com/en- us/research/project/koka/?from=http%3A%2F%2Fresearch.microsoft.com%2Fen- us%2Fprojects%2Fkoka)

[2]: [https://koka-lang.github.io/koka/doc/kokaspec.html#sec- effec...](https://koka-lang.github.io/koka/doc/kokaspec.html#sec-effect-types)

<comment><USER6> My dream for a language is a type system that can enforce runtime semantics, preferably at import.

      import 'mod::memcmp': O(1);

where O(1) is big O notation.

<comment><USER7> That would be a very restrictive programming environment, or type checking might fail or produce ridiculously large runtime bounds. It is not decidable whether a given Turing machine has runtime O(n^k) for a particular k, even if you're given the promise that such a k exists.

<comment><USER8> Could you make it an attribute of the symbol being exported, part of the contract, and use that to derive an estimated cost of the program?

I could see this being used to choose between allocators or schedulers given specific requirements.

</comment></comment></comment></comment><comment><USER9> Hi, I am the author of this report -- thank you for the interest :-)

Just wanted to add that you can find the library at: [https://github.com/koka- lang/libhandler](https://github.com/koka-lang/libhandler)

The `dev` branch contains a sample of `libuv` integration. There is still a lot to be done in terms of creating a better interface and providing implementations of standard effects but the core is working quite well by now.

Enjoy!

</comment><comment><USER10> the authors cite Matija Pretnar who has an introduction on [algebraic effects]([http://www.eff-lang.org/handlers-tutorial.pdf](http://www.eff- lang.org/handlers-tutorial.pdf)). I'm reading through it now as I have no idea what is going on :)

<comment><USER11> Thanks for the link! I'm in the same boat.

</comment></comment><comment><USER12> If all you want is generators and co-routines, then there's a lot of literature on this for C.

The original Icon compiler compiled to CPS C. That was pretty cool.

One can do much of what Icon did using GCC local functions and computed gotos to get something much closer to not-CPS.

There's Simon Tatham's PuTTY, which uses his co-routine macros, which are an extravagant meta-programming macros around a Duff's device. He also has an extensive set of meta-programming macros as well, not related to co-routines.

Some Schemes compile to C code where all functions always return immediately, but what they return is a continuation, and the top-level is a for(;;) { next = next(); }.

EDIT: I'm particularly fond of PuTTY. Its SSHv2 implementation all the way up to the end of authentication is a single, huge function. It looks completely synchronous, but it's not, because it's actually a co-routine. As a result, and in spite of being a single huge function, it's actually quite readable.

<comment><USER9> I tried to cite much related work on co-routines and threading libraries in C -- including Simon Tatham's page on co-routines in C [1] -- But I was not yet aware of the work on Icon nor did I know co-routines were used in PuTTY -- thanks! Although now that I reread Simon's page I see he actually mentions PuTTY explicitly :-)

As an aside, I feel algebraic effect handlers are safer to use than most coroutine or shift/reset implementations because they offer more structure. As put by others: "Algebraic Effects+Handlers" are to "delimited continuations" as "while" is to "goto"

[1]: [https://www.chiark.greenend.org.uk/~sgtatham/coroutines.html](https://www.chiark.greenend.org.uk/~sgtatham/coroutines.html)

</comment></comment><comment><USER13> Algebraic effects are a hot topic. The name sounds fancy but maybe this intuition helps: an effect is like an exception where the exception handler receives enough information to resume the computation from where it was called. Just like exceptions, effects are dynamically scoped: the handler is always found up in the call stack.

<comment><USER14> Cue smug lispers.</comment></comment>