Reversing Tooth Decay with Good Diet - <AUTHOR> http://wholehealthsource.blogspot.com/2009/03/reversing-tooth-decay.html <comment><USER2> "These data were first published in 1924. Why has such a major medical finding, published in high-impact peer-reviewed journals, faded into obscurity?"

Possibly because the reported research results were not replicated? I wish I had the citation at hand for a finding that 50 percent or more of all medical research findings published in top peer-reviewed journals end up not being replicated. But perhaps that finding can be found in one of the sources cited in Peter Norvig's excellent article about analyzing scientific research papers,

<http://norvig.com/experiment-design.html>

which I recommend readers of this thread check as they consider the claims made in the submitted blog post.

After edit: Another problem at the practical level is that it may very well be that a diet optimal for recalcification of teeth (there is no controversy at all that teeth can recalcify throughout life, that's the point of fluoride treatments, but the question is by how much) may not be optimal for cardiovascular health or some other aspect of your health that is important to you. The way human evolution works is that all of your body parts are fitted by haphazard adaptation from ancestral patterns using available materials in an environment of biochemical trade-offs, and it may be a better trade-off to have teeth that decay after reproductive age and a heart that keeps beating longer than to have teeth that never need to have cavities filled. That would have to be the subject of further research, to see which diet is optimal overall. (Yes, I am aware that some research tends to show that good dental hygiene contributes to good cardiovascular health, with the hypothesized mechanism being that infected gums allow bacteria to enter the bloodstream and cause inflammation of the heart's blood vessels.)

<comment><USER3> I would posit that the diet presented in the article not only contributes to good dental health but also would contribute to good cardiovascular health.

The diet is low on refined carbohydrates (which lead to heart disease [http://www.hsph.harvard.edu/nutritionsource/what-should- you-...](http://www.hsph.harvard.edu/nutritionsource/what-should-you- eat/carbohydrates/)) and rich in vitamins.

<comment><USER4> It also corresponds to what I've read before, that a high-meat (not pure protein, but diets inclusive of bone marrows or organs like liver and stuff generally found in pâtés) and high animal fat diet can almost completely prevent the development of diabetes, and can actually get diabetics off of insulin.

I believe the theory is, is that the body uses insulin to convert glucose to glycogen, AKA 'animal starch', and every other effect (that I'm aware of) it has on the body is not considered good. Example: It promotes triglyceride production from fatty acids (high triglycerides are usually a big factor in heart disease), and decreases the metabolism of fats (I think everyone wants this one high), proteins and reduces gluconeogenesis, which can exacerbate lactose intolerance in some people.

Everything more complex than raw glucose doesn't require insulin. That's why the body largely doesn't react to fructose (which is a result of our ancestry, primates largely live in a symbiosis with the trees they feed off because larger animals like Elephants frequently kill the trees in the process of foraging, but shrieking monkeys tend to stop them) so that we do consume more of it. I think it also helps that foods high in fructose (IE fruits) are generally also high in vitamins. I mean some of the recommended RDA's for vitamin C are actually around 6,000-12,000 mg a day (30,000 mg if you're sick). Basically from what I understand, if you look at our close relatives diets (which are very similar to our ancestors diets) they essentially eat 1:1 ratio of vitamin C (in mg) to kcals. So an adult male should eat 2,500 mg of vitamin C and 2,500 kcals. Incidentally vitamin C is used in the body to produce carnitine, which moves fatty acids into the mitochondria to produce ATP.

Your average goat produces around 13,000 mg of vitamin C in normal health through biosynthesis, which has to make you wonder about WHO's RDA of 45 mg a day if a goat produces 290 times that amount. We, unfortunately don't biosynthesise vitamin C.

<comment><USER5> All carbs require insulin. Fructose and complex carbs need other "processing" first though, which spreads out their absorption, reducing spikes in insulin levels.

<comment><USER4> Actually they don't, carbs are broken down into glucose, fructose and galactose. Glucose, generally, requires insulin to be absorbed by the muscles, liver and fat cells. However Fructose doesn't, the cells then convert it into whatever form necessary, the liver usually converts it into glucose for storage. Yet muscles are capable of using fructose directly.

Glucose can directly be turned into ADP or ATP, or it is converted into Glucose-1-phosphate, which then can either be turned back into glucose or follow the path to be turned into Fructose-6-Phosphate (fructose incidentally directly turns into this). F6P is then converted into triose phosphate, a change that cannot be reversed, and can be directly converted into fat. Fats, when needed, are turned back into triose phosphate and can basically be directly converted into ATP.

Essentially fructose needs _less_ processing than glucose to be readily stored. The aim of the human body is to increase its fat reserves for winter when food becomes scarce. Glucose is readily available and readily usable by the body, but all this depends directly on insulin to get it into cells to be useful. The notable cell that _doesn't_ require insulin are brain cells, however these readily process fructose too.

So it's actually possible to completely remove glucose from the body, in the event it was ever needed then fructose can be back-stepped into glucose-1-phosphate. However, the body can more than adequately produce energy directly from fats, so it would seem extremely rare that the body would need glucose.

</comment></comment></comment></comment></comment><comment><USER3> Great article.

The fact that teeth could heal themselves was unknown to me for quite some time. I thought that if you had a cavity, you had to have it filled.

I used to have horrid teeth (and the diet to match). I stopped drinking soda and my dentist recommended a product called Recaldent (<http://en.wikipedia.org/wiki/Recaldent>). This concentrated paste helped most of my teeth strengthen and recalcify.

<comment><USER6> You ate a paste that straightened your teeth?

<comment><USER7> strengthen: To make strong or increase the strength of.

It looks like straighten but it's a different word.

<comment><USER6> Oh, sorry!

</comment></comment></comment></comment><comment><USER8> Vitamin D = the most common vitamin that doctors themselves actually take: [http://www.cnn.com/2008/HEALTH/diet.fitness/11/13/ep.vitamin...](http://www.cnn.com/2008/HEALTH/diet.fitness/11/13/ep.vitamin.primer/index.html)

</comment><comment><USER9> Much of the American population (including a majority of pregnant women) are deficient in vitamin D. Odds are good that you are too.

A big contributing factor is insufficient exposure to sunlight. Some have speculated that seasonal winter flu season is attributable to vitamin D levels.

[http://www.usatoday.com/news/health/2008-07-13-vitamin-d- tes...](http://www.usatoday.com/news/health/2008-07-13-vitamin-d-tests_N.htm)

<comment><USER10> In the UK we get sun only during May or April. So accordingly we should hardly have vitamin D!

</comment></comment><comment><USER11> I will be toothless before I give up bread.

<comment><USER12> I gave up on bread, so I now eat cake :~).

</comment></comment><comment><USER13> What I don't understand is that no one addresses the bacterial component of cavities. I just had some work done and my dentist clearly stated that cavities are caused by bacteria eating through the enamel. I get that poor diet contributes to calcium loss and so the body will re-strengthen teeth given improved nutrition, however this will not do anything to address the bacterial infection problem.

<comment><USER14> Bacteria don't actually hurt the teeth directly - they just sit there and they make an acid that can etch the teeth, but if the teeth are strong they resist the acid, plus repair any areas that are eroded.

Also saliva contains immune components that can stop the bacteria. Bacteria may be the final component, but the causes of decay lie elsewhere.

It's not really an infection either, anymore than the gazillions of bacteria living on skin are.

</comment></comment><comment><USER15> <http://en.wikipedia.org/wiki/Xylitol#Dental_care>

<comment><USER16> I am from Finland and Xylitol has been hugely popular for as long as I can remember, mostly as chewing gum. How popular are Xylitol products in other countries?

<comment><USER15> Hard to get in the UK. Some chewing gums have xylitol but don't say how much and they still have other stuff like sorbitol and maltitol. I'm not sure why it's commercially unpopular - expensive, perhaps?

</comment></comment></comment><comment><USER17> There is a lot more to this story, but briefly, the pH of the mouth. The more acidic and the longer it is acidic, the more likely you are to get caries.

Also, just because Diet 3 is a lot better than Diet 1 (and 2 for that matter), that doesn't mean that Diet 3 is the ideal/best diet. We would need to research this more using Diet 3 as the starting point.

</comment><comment><USER18> In my life, I have eaten very little refined/added sugar (i.e. very rarely do I eat such things). Aged 30 I have no fillings: the only dental work I have had done was having my teeth straightened and having eight of them removed (yes eight, though not all at once) that didn't fit in my mouth (I have big teeth). When I was a child, my dental hygiene wasn't always very good.

A single data point doesn't tell you anything. But there it is, anyway.

</comment><comment><USER19> I'm british, so especially grateful. I am in your debt for posting this link sir!

Pip pip!

</comment><comment><USER12> This sounds great... maybe we'll be able to avoid spending $12k to get my wife's teeth fixed (<http://news.ycombinator.com/item?id=454040>).

<comment><USER20> Replied to your thread with this link: <http://www.kuro5hin.org/story/2003/12/20/121018/65>

<comment><USER12> Thanks!

</comment></comment></comment><comment><USER21> Article: [http://www.pubmedcentral.nih.gov/articlerender.fcgi?artid=23...](http://www.pubmedcentral.nih.gov/articlerender.fcgi?artid=2304908)</comment>


JumpStart: Early-stage funding for Northeast Ohio start-ups - <AUTHOR> http://www.jumpstartinc.org/index.aspx It's not a direct competitor to YC because they state: "On average, we invest $300,000 in our portfolio companies." <comment><USER2> Hmm. The public sector funded regional incubator is back. There were a lot of these during the Bubble.

<comment><USER3> Are public sector funded incubators by definition doomed or is there hope that they can learn from their private sector brethren?

<comment><USER2> For startups as we use the word I'd say they're doomed. It takes some expertise to do seed-stage investing, and no one with that kind of expertise would want to work for an organization as bureaucratic as this kind of thing would inevitably be.

</comment></comment></comment><comment><USER4> Wow. I live in Akron, and have been working up a business plan. As you might imagine, there aren't as many funding opportunities in NE Ohio as there is in say, Silicon Valley. :) This is exciting.

</comment><comment><USER5> Wow, this is a refreshing development for northeast Ohio. Growing up there, I saw steel mill after steel mill shut down, with thousands of people losing jobs and seemingly no plan for bringing jobs back. At least this effort is a move in the right direction, as opposed to waiting around and hoping for improvement as the best minds are forced to leave town to seek opportunities. This venture really excites me.</comment>


Thoughts on the chip business - <AUTHOR> http://blog.miazmatic.com/post/692569853/thoughts-on-the-chip-business

<comment><USER2> As a lifetime embedded engineer I have to agree with most of the points here.

The lack of new engineers learning this stuff is both encouraging and distressing from my POV, of course. I like knowing there's job security in the future.

However, that also means there are a lot of EE/CS/CE kids not learning _any_ of this stuff. A few years ago I was going through a technical interview and the manager asked me "what's the easiest way to multiply a number by 8" and I instantly said "shift left 3" without thinking. He paused and said "everyone else I've ever interviewed for this job needed 20 minutes to get to that answer".</comment>


Day Planning for Small Teams - <AUTHOR> http://bigbangtechnology.com/post/day_planning_for_small_teams

<comment><AUTHOR> This is a follow up post on my previous article, which can be found here:

<http://news.ycombinator.com/item?id=1730236>

Max

</comment><comment><USER2> It looks like this article didn't get nearly as much attention as the last one. I wonder if it's because the last one was up there on Sunday night?

<comment><AUTHOR> This is also a follow-up article, doesn't really make as many assertions to argue about.

</comment></comment><comment><AUTHOR> checker out: <http://bigboardapp.com>

Simple day planning app for small teams.</comment>


Lvalues, rvalues, glvalues, prvalues, xvalues, help (2018) - <AUTHOR> https://blog.knatten.org/2018/03/09/lvalues-rvalues-glvalues-prvalues-xvalues-help/ <comment><USER2> Excellent explanation. Too bad it's necessary. && and std::move are the biggest warts in C++ (that's saying a lot), representing the need for programmers to be constantly aware of the less-than-obvious ways that a compiler might put an expression in one category or another. It's the programmer helping the compiler, instead of the other way around as it should be. In general, if I need an rvalue and it's _legal_ to convert the lvalue I have into an rvalue, the compiler should do it _automatically_. Having to make it explicit should be the exception, not the rule. The compiler does many other kinds of inference and automatic promotion/conversion, some of them far more difficult (and dangerous). Why not this one? I suspect the reason has less to do with the actual ergonomics of producing correct programs than with the the interests and self-image of those creating the standards.

<comment><USER3> It's not what what you're asking is unreasonable in concept, but that it goes against how RAII is used in C++; it'd make more sense in a new language. Specifically the issue is that despite its name, RAII isn't merely used for resource acquisition, but also to define dynamic scopes. That means destroying an object too early (which can happen if an object is automatically moved) can cause a subsequent statement that doesn't syntactically depend on the variable holding that object to see the wrong program state. So if your compiler moved objects automatically, that'd break code that uses RAII as a dynamic scoping mechanism.

That said though, it might be cool to have an [[attribute]] for classes (maybe [[automove]]? or [[resource]]? or [[functional]] or [[dataflow]]??) that lets you declare that that a class's construction and destruction (or maybe all members... ) can be assumed to have no side-effects for clients to depend on, or something like that... if they can work it out that'd be cool. Ideally it'd mean that an automatic variable of that type can be destroyed following its last dependency in any given scope.

<comment><USER2> > it goes against how RAII is used in C++

That's an excellent point. To be honest, I think it's a problem with how RAII is used, conflating execution scope and object lifetime in a way that makes "move" a bit of a mess. That's why I prefer explicit "defer" like some languages have. Nonetheless, it's a common and useful enough idiom that breaking it is not something to be taken lightly. Maybe it's not really a solvable problem, given the paths that C++ took years ago, but I'd say "too bad it's necessary" is even more applicable if that's the case.

<comment><USER4> > I think it's a problem with how RAII is used, conflating execution scope and > object lifetime in a way that makes "move" a bit of a mess.

It seems to me that there's a subset that is just fine. Use RIAA to, for example, take a lock and automatically release it when you leave a scope. That's not a problem, in itself. And go ahead and use move semantics, too. That's also fine.

 _But don 't use move on an object that's doing RIAA to take and release a lock._ That, in my view, is not much of a restriction, because if you think about it, that's not really a reasonable thing to want to do. That RIAA lock- taker is not the kind of object that you want to move, or even copy. Explicitly disable those actions (private copy constructor and operator, private move), and you should be good.

Or have I missed something?

<comment><USER3> > if you think about it, that's not really a reasonable thing to want to do. > That RIAA lock-taker is not the kind of object that you want to move, or > even copy.

It actually is (at least re: moving). Tying lock acquisition to object lifetime is a Good Thing (TM), and if you wanted to extend or shrink the lifetime of that lock you should be able to do that by moving the RAII object, the same as how you could do it with a shared_ptr or whatever.

</comment></comment></comment></comment></comment><comment><USER5> Articles like this make me feel very smug about my decision never to go down the rabbithole of learning C++.

I feel perfectly comfortable with using pointers (and my intuition about them) in C.

<comment><USER6> FWIW I mostly use "out params" as in C because I think moves incur a lot of complexity, as well explained in this article. It's also more lines of code to write. Some people may quibble with it but I think it's still a fine style of writing C++, and in fact most C++ you'll see is written like that, since this is a new-ish feature.

<comment><USER7> Agreed. RVO is not guaranteed, and move is complex. Smart pointers have overhead. Out params are for the most part a sensible choice in C++. Sadly. I'm honestly shocked that this problem hasn't been addressed in a better way.

<comment><USER8> Out-parameters are a terrible choice in C++. If it matters whether RVO is guaranteed, you are probably making something more complicated than it needs to be.

Value semantics give you sensible behavior. Smart pointers should not appear in user-visible interfaces.

It is easy to tie yourself in knots by doing the complicated thing. The solution is to do the simple thing.

<comment><USER9> > Out-parameters are a terrible choice in C++

why? I personally love functions like `EResult function(const T1& inParam1, T2& outParam2)`. the function signature makes it obvious what the function does (or should do, at least) and it's easy to avoid accidental copying.

<comment><USER8> Code like that is the bane of my existence. Give me `T2 function(T1)` every time. Besides being overwhelmingly clearer, I can use it in just one line. The other needs at least 3, more commonly 5, lines packed around it, so less than 20% of your code actually does anything useful toward the problem it is supposed to solve. Five times longer means you have five times the bugs.

Besides being horrible style, operating on references cripples the optimizer. "Avoid accidental copying"? What good is that if it's slower than if you did the copy?

<comment><AUTHOR> serious question: would you throw an exception if T2 cannot be created ? or use a variant data-type ? or something else altogether?

<comment><USER10> Use a variant type like llvm::Expected.

<comment><AUTHOR> yup, that's what i thought. i generally tend to use a construct simiar to 'error_or' though. that wrapped within a macro (^^) makes the whole invokation quite bearable

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER11> Is this concept of lvalues, rvalues, glvalues, prvalues and xvalues only exists in C++?

<comment><USER12> Few other languages have move semantics. Rust does, but has a quite different value model overall.

<comment><USER13> Our equivalent to lvalue/rvalue is "place expression" and "value expression" [https://doc.rust- lang.org/reference/expressions.html#place-e...](https://doc.rust- lang.org/reference/expressions.html#place-expressions-and-value-expressions)

<comment><USER14> I like that so much more!

</comment></comment></comment></comment><comment><USER15> Similarly, the value category cheatsheet: [https://github.com/jeaye/value- category-cheatsheet/blob/mast...](https://github.com/jeaye/value-category- cheatsheet/blob/master/value-category-cheatsheet.pdf) and more info on xvalues: [https://blog.jeaye.com/2017/03/19/xvalues/](https://blog.jeaye.com/2017/03/19/xvalues/)

</comment><comment><USER16> Maybe this is just naive / wishful thinking, but wouldn't it have made _way_ more sense to go with either:

glvalues, lvalues, grvalues, rvalues, xvalues

or

lvalues, plvalues, rvalues, prvalues, xvalues

?

</comment><comment><USER17> Is it totally exactly true that a `glvalue` is either an `xvalue` or a `lvalue` and nothing else?

Similarly, is a `rvalue` either a `xvalue` or a `prvalue`?

<comment><USER18> Yes, section 8.2.1 "Value Category" (page 80) of the C++17 standard[0] defines the terms as:

(1.1) - A glvalue is an expression whose evaluation determines the identity of an object, bit-field, or function.

(1.2) - A prvalue is an expression whose evaluation initializes an object or a bit-field, or computes the value of the operand of an operator, as specified by the context in which it appears.

(1.3) - An xvalue is a glvalue that denotes an object or bit-field whose resources can be reused (usually because it is near the end of its lifetime).

(1.4) - An lvalue is a glvalue that is not an xvalue.

(1.5) - An rvalue is a prvalue or an xvalue.

It also has a diagram summarising it (equivalent to the one in the article, but the article's is clearer IMO):

             expression
              /      \
          glvalue    rvalue
           /    \    /    \
       lvalue   xvalue    prvalue

Where every expression is in one of the three value categories in the bottom row.

[0]: available free as a late draft: [http://www.open- std.org/jtc1/sc22/wg21/docs/papers/2017/n471...](http://www.open- std.org/jtc1/sc22/wg21/docs/papers/2017/n4713.pdf)

<comment><USER17> Thanks, I actually recall seeing that diagram.

I agree that the article is clearer. Because I didn't get it when I saw that diagram, but I do get it after reading the article.

</comment></comment></comment><comment><USER19> great post!

</comment><comment><USER20> lvalues are locatable, they represent an object that occupies some identifiable location in memory (has address). rvalues do not and therefore cannot be addressed (with & or *)

I think of lvalues as things on the stack and rvalues as things stored in registers

[https://eli.thegreenplace.net/2011/12/15/understanding- lvalu...](https://eli.thegreenplace.net/2011/12/15/understanding-lvalues-and- rvalues-in-c-and-c/)

<comment><USER18> The article starts by explaining lvalues and rvalues more precisely than that, and breaks them up into 3 additional value categories in modern C++ (the ones in the title).

(Also, lvalues aren't tied to the stack: they can be anywhere in memory, like heap or static.)

<comment><USER9> how can you have an lvalue stored in the heap? isn't the lvalue itself a pointer in the stack? obviously I see how it can have static storage.

<comment><USER18> If foo is an lvalue, then I believe (for example)

       *(foo[0].bar->baz)

is also an lvalue, and those pointer dereferences can go anywhere. Those values occupy a location in memory, as you said, even if it isn't on the stack.

<comment><USER9> oh okay, understood. frankly I don't have an airtight understanding of the c++ standards and I would have considered your expression to be a dereference operation _on_ an lvalue, but not an lvalue itself. ty for the explanation!

<comment><USER21> I'm sure there are some complex exceptions, but as a starter, you can think of lvalues as "anything you can assign to" (the l basically stands for left, as in, "can appear on the left of an assignment"). So, if you have something like `foo(val) = 10`, then `foo(val)` is an lvalue.

<comment><USER22> One of the complications is that if you take an l-value and const-qualify it, it is still an l-value (but not a modifiable l-value.)

[https://www.geeksforgeeks.org/lvalue-and-rvalue-in-c- languag...](https://www.geeksforgeeks.org/lvalue-and-rvalue-in-c-language/)</comment></comment></comment></comment></comment></comment></comment>


GDC 2020 has been postponed - <AUTHOR> https://gdconf.com/news/important-gdc-2020-update <comment><USER2> HIMSS 2020, a conference of ~45000 attendees from 90+ countries is still scheduled to go forward at Orlando Convention Center March 9-13.

I was actually blocked by HIMSS PR folks on Twitter for inquiring about their preparedness plan... which is inadequate to say the least. To top it off, HHS Secretary Alex Azar is a keynote speaker, so now cancelling or major attendees/sponsors pulling out is also a political issue.

This could actually be a catalyst for major transmission. It's ridiculous.

<comment><USER3> I had to look it up:

Healthcare Information and Management Systems Society

Irony meter would break off if an outbreak happened there.

<comment><USER4> Probably not a particularly substantive comment but in my experience hubris abounds in healthcare. Even if this did happen in would be explained away as the shortcomings of a few rather than any systemic cultural issue.

<comment><USER5> Of course, the field is full of doctors with God complexes

<comment><USER6> No, it's the healthcare IT people. Imagine people with the combined hubris of physicians and SV SWEs, and the skills of neither. It has to be the most Dunning-Kruger conference on Earth.

<comment><USER4> I worked in hospital IT for a little while and I wouldn't say this is the rule, but man you really nailed the exception hahaha.

</comment></comment></comment></comment></comment></comment><comment><USER7> I always wonder in situations like this, will there be like one person who flies in and shows up on the day of the event and is like, "what the..."

<comment><USER8> This news is being shared everywhere in game dev circles, it would be really hard to miss.

</comment></comment><comment><USER9> This is good news. The private sector is being more responsible than many governments.

<comment> o-__-o Just waiting on the olympics... any day now..

<comment><USER10> people who purchased plane tickets and booked hotels to watch the Olympics are gonna be pissed...unless they can either get their refund or also postponed bookings for free.

<comment><USER11> Any half decent trip insurance would cover this. Many travel credit cards include basic trip cancellation insurance.

<comment><USER12> It's only money for what is at best a luxury item. If the Olympics are worth more than lives then something is really wrong.

<comment><USER13> >It's only money

It will be interesting to compare the death tolls from the covid-19 to the economic recession it causes.

For example, the there were an estimated 500,000 additional cancer deaths between 2008 and 2010 due to unemployment and healthcare cuts [1]. When you consider other diseases, you are easily in the millions dead.

[1] [https://www.thelancet.com/journals/lancet/article/PIIS0140-6...](https://www.thelancet.com/journals/lancet/article/PIIS0140-6736\(16\)00577-8/fulltext)

<comment><USER14> The summary of the article says 40,000 extra deaths for the cancers studied, is the 500,000 an extrapolation to other cancers?

I don't think we can separate out the economic costs of spread prevention in comparison though. If we didn't try to stem the spread if the virus, health systems would be even more overwhelmed and that would by itself lead to many more deaths from other medical causes, in addition to more deaths from the virus.

I think there clearly is a balance to be struck between measures to slow or stall the spread of the virus and the cost of those measures, and as you point out that cost is not just monetary but can also be measured in lives. The problem is we can't know for sure where that balance point is.

<comment><USER15> You guys do realize that the US is notably alone in the developed world in offering no government healthcare insurance? You guys wouldn't believe how different our attitude is of recessions.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER16> Now F8 is cancelled. What are the next conferences in the lineup? Google Cloud Next @ Moscone April 6th comes to mind.

<comment><USER17> SXSW is (currently) planned for Mar 13-22, which seems dicey.

YC Winter Demo Day is scheduled for Mar 23-24.

<comment><USER18> Seriously wondering about SXSW. Hugh Forrest keeps pumping out blog posts about events, but no answers to questions about covid and no transparency on the SXSW site.

<comment><USER5> I live in downtown Austin and just contacted my city council representative asking them to cancel SXSW, or if not to institute some type of preventative measures. For anyone also in town, I encourage you to do the same, or for those coming in from out of town contact @MayorAdler on Twitter with your concerns. The latest update (yesterday) from @AusPublicHealth was "Dont worry, we're tracking Austin residents who recently visited China." Austin residents, really? What about the 70k people from around the world who will soon be here!! Not to mention there are now major outbreaks in four other countries besides China. Inept.

</comment></comment></comment></comment><comment><USER19> RSA happened this past week At Moscow's center in SF. Some observations : \- Hand sanitizer stations \- Workers cleaning door handles \- only a few wore face masks

<comment><USER20> Moscone actually but I like your take. ;-)

Bsides SF too and I was there. They reminded people to take precautions but you know...

<comment><USER21> Vladimir Putin was there personally eating everyone's home work

</comment></comment></comment><comment><USER22> Not tech related but Ultra Music Festival is coming up in a few weeks. Wonder how high the risk will be considering they are cancelling conferences and also I saw Geneva Auto Show is cancelled.

<comment><USER23> I'm curious how it's going to hit the remainder of the NBA season and upcoming NCAA basketball tournament. What choices they're going to make given the crowds. The responsible thing to do, three weeks out, will surely be to cancel the NCAA tournament, and or only broadcast the games on TV.

<comment><USER24> I know there have been isolated instances in the past where a professional game is still played and broadcast on TV, but there is no general public in attendance at the game.

That would be a pretty radical thing to do in any area that doesn't have specific cases and needs that level of quarantine, but I don't think it's outside the realm of possibility. Otherwise the entire season is postponed, and that's a lot of sponsorship dollars and network TV that's left empty.

</comment></comment></comment><comment><USER25> Any other indie devs in the thread? What do you like about events like GDC? Have you found it paid off financially to meet people or learn thing while there?

<comment><USER26> To make math work, you need to arrange multiple viable meetings ahead of time. They don't just happen because you show up to Moscone with a GDC badge. And such meetings don't even require a GDC badge...

There's every chance you could do these meetings at other times of the year, but publishers might be in other cities.

As for learning, there's great content, but GDC Vault is a far better value than an all-access ticket, and the sessions are happening when you should be having meetings. (That means the randos you'll bump into aren't the people who you'd want to meet with...)

</comment></comment><comment><USER27> Lots of conferences get cancelled or postponed they have postponed Baselworld and Watches & Wonders. Such a bummer looked forward attending

</comment><comment><USER28> Got a feeling Vegas hotels are going to be real cheap pretty soon

<comment><USER29> I just got sent a coupon for three free nights. That hasn't happened since... 2008.

<comment><USER30> I'm about to book a LV visit for late March, which hotel offered you free nights?

</comment></comment></comment><comment><USER31> Wonder if E3 will have the same fate.

<comment><USER32> E3 might be looking for an excuse at this point.

<comment><USER33> Why do you say that?

</comment></comment></comment><comment><USER34> Time to sit and home and play some Civ 6 until it blows over.

</comment><comment><USER35> Wondering if Google IO will get "postponed" or canceled as well. It is pretty big and has people from all over the world

</comment><comment><USER36> Where was the conference planned to take place? It doesn't say in the original announcement.

<comment><USER37> GDC normally takes place in SFO

<comment><USER38> SFO is an airport, not a city.

<comment><USER39> Parent is right. I've been in and around the SF Bay Area for about a decade and SFO is _only_ ever, unambiguously, the airport.

<comment><USER40> Also, SFO, the airport, is not even in the city of San Francisco. It's about ten miles south, in San Bruno. Not close to GDC, which is in downtown SF.

<comment><USER24> Most people outside of San Francisco would know that you mean 'San Francisco' when you say SFO, though. Same as I think of Seattle when I see SEA, Dallas when I see DFW, St. Louis for STL, etc.

Inside the city that's not always the case, but even when you're abbreviating sports teams and the like, it's common to use the airport code to refer to the city name if they match up so well.

<comment><USER41> Are you sure about that? These acronyms don't have the same meaning when I read them.

It's pretty American to think like that.

</comment></comment></comment></comment></comment></comment></comment><comment><USER42> Intel Extreme Masters XIV yesterday, GDC today, next one is May TwitchCon Amsterdam.

<comment><USER43> IEM are going on as planned, they just didn't let the public in. The tournaments are being played as I write this (I follow the SC2 games).

<comment><USER42> Yes, they turned away 150K people, everything as planned /s

<comment><USER44> > Yes, they turned away 150K people, everything as planned /s

It all depends on what you consider being planned. A competition is a competition whether there's people watching there or by streaming.

</comment></comment></comment></comment><comment><USER45> Whats happening in Switzerland at the moment is kind of interesting: Any event will be cancelled with more than 1000 people including sport events.

<comment><USER46> But not large schools, companies, hotels, etc? What's the criteria for an "event"?

</comment></comment><comment><USER47> There are so many political rallies going on right now especially for Trump and Bernie Sanders. That also seems very risky to me.

<comment><USER48> interesting point, never thought about this. If containment strategies include limiting number of people at events (as was done in Switzerland) then this would really impact abilities of candidates to rally. Sanders here has more to loose than Trump I think

</comment></comment><comment><USER49> Google Cloud Next and IO will be cancelled?

</comment><comment><USER50> So am I going to get my ticket money back?

<comment><AUTHOR> It's in the FAQ (site is down), but passes will be refunded.

[https://twitter.com/Official_GDC/status/1233545322133106688](https://twitter.com/Official_GDC/status/1233545322133106688)

</comment></comment><comment><USER51> ITT: Lots of people seemingly unaware that the cities hosting these events on average _already_ (currently and will continue to do so throughout the coming months) receive 100,000+ tourists _per day_ and nothing will stop that.

The risk profile of transmission is unchanged whether they are canceled or not.

<comment><USER52> ITT: you

You do realize that a crowded convention with a lot of talks, parties, and meetings is a different thing altogether right? Also, that every action to curb reasons to travel helps and is appreciated?

</comment></comment><comment><USER53> No word on the reason for postponing?

It seems odd to dance around the issue like that. I mean, I get it, we all know _why_ its being postponed, but it seems weird to not say something about coronavirus risk.

<comment><USER54> Really? you would have to have just come back from the moon to not know or be able to speculate why.

<comment><USER55> Or be from the future. Granted, this announcement isn't that major that I expect it to become a significant part of any historical record, but if someone from the future is looking through the GDC records and comes across this, is would be nice to give them a bit of context instead of making them search around to find out what else was going on in the world at the time.

<comment><USER56> The plague of 2020 will be taught in history classes for hundreds of generations.

<comment><USER57> Keep in mind that this is about the length of recorded human history. Surely they wouldn't be fixated on what is currently a small outbreak.

<comment><USER58> Really depends how big it gets, not how big it gets currently. We're still taught about the Black Death, and that was nearly 700 years ago now.

(though it does seem absurd to suggest it'll get anywhere _near_ that scale)

<comment><USER59> It could be taught within the context of economics:

> The asset bubble of the late 2010s was finally popped by a minor pandemic, > initiating the Final Great Recession of 2020. The Final Great Recession led > to the abolishment of all Central Banks and the outlawing of all public > stock markets. Strong nationalist economic policies characterized the > remainder of the decade.

<comment><USER56> I think there would need to be a violent revolution to get rid of public stock markets. This would not happen because of a measly recession or depression, even if tens of millions die from the virus at the same time. I mean what is America if it's not the host for the stock market. Do we even have an identity not related to money? 90% of people at all class levels esp in software work for publicly traded companies or companies that desperately are working to become publicly traded. As an American most of the decisions that influenced your upbringing, your interests, your housing, your transportation, your hopes and dreams, your leisure activities, and indeed even the decision of your parents to have you was a consequence of those sacred numbers moving a certain way. We know no other force to tame and guide our society.

John and Jane Q. Public will go back to hating the stock market like they did 2008-2015, shortly after thinking they were smart to rent not buy a home so they can put more money in their Robinhood account. Meanwhile the big players will accumulate, things will go back to normal by this time next year, and John and Jane Q. Public will be saving rainy day money they will eventually use to FOMO back in on the same shares $RICHGUY bought from them at the lows. This is the American way.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER60> This is ridiculous! The seasonal flu virus is likely more deadly than COVID-19 [1] maybe we should ban all assemblies permanently then.

[1] [https://www.cdc.gov/flu/weekly/index.htm](https://www.cdc.gov/flu/weekly/index.htm)

<comment><USER61> From your link:

CDC estimates that so far this season there have been at least 32 million flu illnesses, 310,000 hospitalizations and 18,000 deaths from flu.

The math: 0.0005625

From my link:

[http://www.cidrap.umn.edu/news- perspective/2020/02/study-720...](http://www.cidrap.umn.edu/news- perspective/2020/02/study-72000-covid-19-patients-finds-23-death-rate)

They are saying COVID-19 is about 20 times more deadly than the flu, so I don't know why you think the opposite.

<comment><USER60> People with mild cases aren't getting counted in the same way so that number is likely very incorrect. What we know is that we are very far of the death toll of seasonal flue which is estimated to be around 291,000 - 646,000 globaly.

<comment><USER62> That's like saying "I planted an oak tree last year. It's smaller than the pine trees that have been growing here for 50 years, therefore oak trees are smaller than pine trees"</comment></comment></comment></comment>


Square Could Pass Twitter in Value - <AUTHOR> http://www.nytimes.com/2017/10/25/technology/jack-dorsey-twitter-square.html <comment><USER2> I'm still shocked, and amazed, that Jack is the CEO of two public tech companies.

<comment><USER3> He's doing an admittedly awful job at Twitter. See:

\- Russian troll accounts/factories (he even retweeted one) \- Inability to clean up harassment/abuse/threats \- Stagnant product feature set \- Awful (truly awful) ad product

<comment><USER4> He realizes the hysteria around policing online speech and content will be short-lived. He is trying to keep it neutral and not warp it to consist of only the things some people would like to see. Its a strong strategy in the long run.

<comment><USER5> Allowing Russian bots to spread propaganda to meddle in our elections is hardly being neutral. That's being an enabler.

<comment><USER6> If only people (twitter users) were smart enough to question sources of information rather than taking them at face value..

</comment></comment></comment></comment></comment><comment><USER7> How does Square make money? Credit card processing itself is a tight, low- margin business. Verifone is only worth a couple $B for that reason.

Does Square make that much money off services?

<comment><USER8> It's true that processing is low margin, but (1) you make a ton of money on a low margin as long as you have a lot of volume. Just ask Wal Mart, Amazon, Big Oil, etc. (2) Not quite the same, because verifone is not a processor. Compare to companies like WorldPay and TSys.

I'm not sure what proportion of square's revenue comes from processing vs services, but if I had to guess, I'd say most of the services are loss leaders for the processing. This is especially true with their rates so far above market. 2.75% is a fat chunk of change if they're processing 10 or 12 figures. (Working primarily with smaller clients, you get to charge that much, but it makes them less competitive with larger merchants who process more volume.)

<comment><USER9> > 2.75% is a fat chunk of change

Most of that goes straight to the credit card companies/bank, no?

<comment><USER7> Yes, and scale eats directly into that rate. The Big Box Stores are paying pennies per swipe.

<comment><USER10> If that's true for credit cards, then they're losing massive amounts of money on cash back and rewards

<comment><USER8> The "issuing bank," which issues your cash back or rewards credit card, has its cut protected by the payment networks. Part of the "interchange," the wholesale cost of processing a payment, is reserved for paying out the issuing bank. The interchange rates are set for the payment processors by the card networks (Visa, Mastercard, Discover, Amex). Whether you spend $100 at the locally owned boutique or Costco, they get paid the same amount. The middleman— the payment processor— gets squeezed by merchants like Walmart and Costco, competing to shrink the margin for the promise of massive volume. But Chase, Captial One, etc. don't have their consumer credit card divisions affected by who processes the card. (Unless you're Citi's processing side with Costco, and only accept Visa. Then your competitors get zero volume from Costco on their mastercards, discovers, and amex cards)

</comment></comment></comment></comment></comment></comment><comment><USER11> I'd love to create a startup that was a failure like Twitter's.

<comment><USER12> Seriously, every time I read a story about how some company is hitting hard times, when the company is worth $billions and made their founders and investors $millions, I think to myself, boy, if only I could do that bad for myself!

</comment></comment><comment><USER13> For the unaware, the Square stock value tripled in the last year.

</comment><comment> xkcd-sucks The surprised are referred to Mr. Vonnegut's description of the "money river": [http://akkartik.name/post/money-river](http://akkartik.name/post/money-river)

</comment><comment><USER14> This also means "Twitter could be eclipsed by Square in value".

I'm sure they debated hard whether to go for this headline or the other one, and decided to go with "Square could pass twitter in value" because it would generate more page view.

My point is, it's Twitter that's doing bad. I don't understand why he doesn't just give up his CEO role and let someone else more dedicated take over.

It may make sense if the problem Twitter is facing can be solved by some creative vision, but it can't. These problems are ones that require a lot of care and effort and no matter how he spins it, he's pouring half the effort he can pour into Twitter.

<comment><USER15> Honestly I'm not surprised that Twitter is doing so poorly. I've been around Twitter and ex-Twitter folks a fair amount, and they all seem to take it eaaaaasyyyyyy. Things I've seen again and again include frequent sabbaticals, several months of time off a year, short days, 3 day workweek arrangements... and these are often combined.

To be clear, most of them come across as sharp. But it seems like a very lax, unfocused work environment, and knowing these things I'm not surprised that their only meaningful product changes happen once or twice a year and are minor tweaks and features (round profile pictures! hearts instead of stars!)

If I were looking for a job to just go hang out and get good benefits and pay, Twitter would be on top of my list.

<comment><USER16> Wut. Time off does not correlate to dev quality. I, and many others, do their best work outside of the normal parameters.

It sounds like you think if Twitter engineers worked harder Twitter would be doing better. Besides your anecdotal observation about laid back engineers, is it not plausable that the company doesn't have a vision that contributes to monster growth?

<comment><USER17> It certainly does have a level of correlation. The less time you spend "at work" (for whatever definition you care, including work from home/the moon) the less work you get done. Now, no, that doesn't translate to a perfect linear growth rate where working 20 hours a day is twice as good as 10 hours a day, there is a limit you can push people. People need vacation and time away. However, it's a rock star who can be as/more productive in three days a week than a similar guy working 5 days a week most weeks. I'll even grant some people can cram for three days a week and be as productive as a 5d/8h guy, but in the end you still need to put in the hours.

Note, this comment doesn't allow for absurd comparisons such as "Forrest Gump coding 8 days a week will never match Donald Knuth coding 1 hour a month" or whatever. Ass comparisons should use reasonable definitions.

<comment><USER18> I think the breakeven point is much earlier than you suggest. I'd guess something like 28 hours/week is peak productivity; more than that and you're spending more effort on looking productive and being in the office and getting less done.

</comment></comment></comment></comment></comment><comment><USER19> Jack is my idol. man took two companies to IPO. And is CEO of both.

<comment><USER20> Jack screwed over Noah Glass with Twitter really badly. His behavior in that is really troubling. I can't get past that even with him doing great things with Square after Twitter.

</comment></comment><comment><USER21> s/could/should

I am very impressed with Square constantly. It's really amazing to see what they accomplished.

</comment><comment><USER22> How do i replace twitter with square cloud ?

</comment><comment><USER23> Could? It's really a matter of when.

</comment><comment><USER24> A company selling an arguably better service than the existing solutions might be more valuable than a company selling ads to a dwindling user base?

I'm shocked, utterly shocked.

<comment><USER25> > a company selling ads to a dwindling user base?

Twitter's userbase isn't "dwindling" (diminishing gradually in size, amount, or strength.) It's not growing as fast as shareholders might like, but its monthly active users _are_ growing in number: [https://www.statista.com/statistics/282087/number-of- monthly...](https://www.statista.com/statistics/282087/number-of-monthly- active-twitter-users/)

<comment><USER26> I feel like while twitter user base may not be growing, it's effects on the average person's social life has diminished.

I feel like 5 years ago Twitter was really popular among st friends and we talked about things people tweeted, etc.

Since then I don't have a single friend who actively uses twitter, maybe it's that my preferences simply changed, but the overall visibility of twitter seems to be diminished.

<comment><USER27> Feel the same about every social network, and honestly the net has become "lonelier" for lack of a better word. Facebook is just people selling their junk, whether fingernail addons, kids clothing, or diet regimes. Twitter is really just people shouting into the ether, I enjoy it during college football games of collective "yay" or "nooo" moments with a few real life friends but otherwise its a high noise news feed. LinkedIn has a bizarre social aspect to it that confuses me.

I don't know, maybe its me getting older, but more digitally connected than ever and feel much less personally connected than ever except with the friends that I keep direct/group imessage conversations going with for months and years at a time.

<comment><USER20> I really feel this way too. People talk about using FB groups or Twitter or some niche social network to be connected to a community, but I haven't felt that way in ages. Not since being active on a few phpbb and vbulletin boards. More connected in a way, but it feels so impersonal or I just can't figure out how people are finding their communities in these huge networks.

Another personal example, IG direct messages aren't used that much from my experience (could be different for others or in the odd one). That few times I've been hit up or hit someone up on it, response or messages back and forth usually take forever. It kills the conversation. The only time a conversation has survived and a friendship began was when the convo quickly moved over to another medium (FBM in that case).

<comment><USER28> I honestly feel more at home commenting here than on FB. On FB, you're speaking to everyone that you know, and whatever you say will likely show up in their face. I don't want to be talking to my college buddies, great aunts, and girlfriend's friends at the same time.

<comment><USER20> I'm guessing you won't see this anymore. But your profile is empty here. I was talking about feeling like a community plus potentially making acquirances or friendships. I've never had any of that happen on HN. My profile is filled up. I'm guessing you haven't either. That doesn't really feel at home to me in the same way as the older days I'm describing.

I do get your point though of feeling at home in a general sense.</comment></comment></comment></comment></comment></comment></comment>


How I ran ThinkTank/1987 in Chrome - <AUTHOR> http://threads2.scripting.com/2012/november/whatWas1980sSoftwareLike <comment><USER2> So what is it? Never heard of ThinkTank and none of the links in the post provided any explanation.

<comment><USER3> The link ThinkThank points to <http://outliners.scripting.com/thinkTank2Pc.html>. That gives it away: it is an outliner (<http://outliners.scripting.com/>! <http://en.wikipedia.org/wiki/Outliner>)</comment></comment>


IBM Stops Work on Swift – Q&A with Chris Bailey - <AUTHOR> https://www.infoq.com/news/2020/01/ibm-stop-work-swift-server/ <comment><USER2> I'm disappointed it doesn't explain why IBM stopped working on it.

<comment><USER3> I bet the question was posed, but the answer was "no comment".

In any case, it doesn't really matter. Obviously, they think the manpower is put to better use elsewhere.

<comment><USER4> They sort of do answer it here: "Swift benefits greatly from being an embedded part of Apple's ecosystem, but it also provides challenges for its organic growth as there's a lot of dependency on Apple for capabilities that the server ecosystem requires. For example, almost all Swift developers use Apple's Xcode as their IDE and it has fantastic support for developing for iOS devices, including the ability to run locally in emulator environments. It would be great to add support for writing server code that allows developers to develop directly into containerized environments from their local IDE by supporting the simple integration into Xcode of development tools such as Appsody. Where there is open governance and open ecosystems, it enables the community to contribute and to solve the problems and use cases that are important to them."</comment></comment></comment>


The software problem which delayed the first Shuttle orbital flight [pdf] - <AUTHOR> https://www5.in.tum.de/~huckle/space_.pdf <comment><USER2> Interesting read! I like how the final request foreshadows the creation of agile software development techniques. But as far as I know the shuttle software stayed with a classic linear development model (waterfall or V model?).

Agile development is tough in embedded systems. Test automation only works up to a point. Integration and system testing turns into a monstrosity requiring hardware in the loop. And there are the inevitable failure modes that need to be caught reliably, but can only be simulated by modifying the hardware under test (I.e. manual testing). All of this means that no purely iterative model.is going to work. You must have discrete testing phases in your project. And in theory they need to be redone entirely before every iterative update that gets into production.

Right now, testing efforts are reduced by doing impact analysis of the changes and reducing the scope of the tests to affected portions of the code. But this requires the impact analysis to be perfect and without omissions. This article nicely shows how an impact analysis can be wrong, causing major issues down the road from a simple change (a single, seemingly unrelated changed constant).

</comment><comment><USER3> Has the BFS ever been used in flight?

<comment><USER4> No, the BFS was never used as there were only single-unit failures of the main computer (which used a quorum system with 4 machines running identical code).

edit: NASA writeup on the reliability of the computers: [https://www.nasa.gov/mission_pages/shuttle/flyout/flyfeature...](https://www.nasa.gov/mission_pages/shuttle/flyout/flyfeature_shuttlecomputers.html)</comment></comment>


Goodbye Python, Hello Go - <AUTHOR> https://thinkfaster.co/2018/07/goodbye-python-hello-go/ <comment><USER2> One of the biggest benefits of go vs python is that you only manage your dependencies during build. You end up with a single executable that is easy to deploy and mostly immune to the deployment of other things. In python, you have to also worry about deployment. To be safe, you need to carry the vm and other dependencies with you.

This means you can't just give any python program to someone and have it just work, unless it's pretty trivial.

<comment><USER3> Go also carries all its dependencies with it; this is why it produces large single static binaries.

Python lacks a tool to _painlessly_ produce the same, that is, a self- contained binary that includes the VM and all the dependencies. Determining Python dependencies may be slightly tricky, because `import` is an executable statement, and dependencies may be native-code libraries.

There are several tools for that, but all have their downsides, and none is in widespread use. Polishing such a tool until it's as simple and fool-proof as Go's build tool could be quite beneficial for Python community.

<comment><USER4> Why does it have to be a self-contained binary? When you pack everything into an virtualenv you get more or less the same result, don't you? If you want to have a single file you can zip it :)

<comment><USER5> You can deploy an executable on a server just by typing

        GOOS=linux GOARCH=386 go build foo && scp foo user@server:

That's a lot of time saved, especially when you do it on a daily basis, and not something you can do as easily with virtualenv and such.

<comment><USER6> Yea I just do not buy it. How much time is saved? Is it writing an additional SSH command to extract the file or hitting the up-arrow on your keyboard to repeat the previously run command?

<comment><USER5> Not a lot, but when your test environment is on a remote server (because it replicates the production DB and you can't have that on your dev machine for security reasons), you tend to do it a lot. Add fast compilation to the mix, and you have a very productive workflow. `make && zip && scp && ssh unzip` is way slower than `go build && scp`

</comment></comment></comment></comment></comment></comment><comment><USER7> First let me state that a language is just a brush with which to paint your logic. I really don't subscribe to the X is better than Y. I might concede that x is better than y for certain tasks, but not a sweeping generalisation.

The first point about inconsistent spelling mistakes, I 100% sympathise. I suffer from this terribly. Pylint and syntastic are a silver bullet for me. I have been tempted by a more fancy IDE, but I'm so used to vim, I'm reluctant/scared to change.

Parallelism: I do look over the wall at Go and wish that python 3.x had spent more time on removing the GIL, but that is old news now.

However I enjoy threading with python(not its limitations), because its so trivially easy. The Queues primitive saves 90% of the headache. as for ctrl-c not doing anything set all your threads to daemon (<threadObj>.setDaemon(True)) When the main thread exits, so does everything else. Go shines by having built in true parallelism

If I need horsepower, then I have to run multiple processes (not multiprocessing, that has drawbacks.) which has the annoyance of serializing and message passing. (but that does mean scaling horizontally less painful further on). Again, Go really shines here.

Statically compiling thing: YES. This means that I can 90% of the faff with docker (xyz version not working any more, the build fails) and use a real scheduling system that runs on real steel(or AWS) and not the omnifaff that is kubernetes.

<comment><USER8> > I have been tempted by a more fancy IDE, but I'm so used to vim, I'm > reluctant/scared to change.

I'm happy to report that JetBrains' VIM plugin is almost flawless (Block-based editing, window splitting, save/close, it's all where it's supposed to be).

I used to be in the same camp. But if you add a linter and parser and full blown backend to make lookups for code completion to your VIM configuration you might as well use an IDE. I've switched to IntelliJ for Java.

<comment><USER9> And they provide a free all pack subscription for open source contributors. Its nice to see all the features at one place though their pipenv integration is still a bit shaky[0]. I haven't got a response yet.

[0] : [https://youtrack.jetbrains.com/issue/PY-30855](https://youtrack.jetbrains.com/issue/PY-30855)

</comment></comment></comment><comment><USER10> For those who lack the generics, I just wanted to remind that you can "script" in Haskell by adding this to your header:

        #!/usr/bin/env stack
        -- stack script --resolver=lts-12.2

and run it as an executable if your machine has stack installed. If not -- compile it with a `stack ghc --resolver=lts-12.2 ./file.hs` and you'll have a `./file` executable. No project creation, no need to list the dependencies.

<comment><USER11> Good trick! Do you also know the Turtle library? I just got across it, and it looks like a neat shell library from the outside.

</comment></comment><comment><USER12> I've written in Python for ~13 years and I'm really enjoying Go. It's fast and its libraries (the few there are) seem to make a lot of sense. I don't think I would use it for daily scripting like the author, but for a large new project I would definitely pick Go over Python now.

<comment><USER13> Try an ML-family language (e.g. OCaml, F#, or Rust) if you haven't already. You get the best of all worlds: expressiveness, safety and speed.

<comment><USER14> I like the expressiveness of Rust in theory, but for the programs I write I don't feel like I get sufficient payoff for fighting the borrow checker, as compared to writing in Go. Would I be correct in saying OCaml is pretty much Rust without the borrow checker? I have no prior experience with the language.

<comment><USER15> Dlang is also very nice if you like Algol style languages. You can get productive in it pretty fast, just like in Go, but it's expressive, it's garbage collected by default and you don't waste time fighting the compiler. Also the code compiles as fast as Go with DMD and LDC. I havent tried GDC.

[https://tour.dlang.org/](https://tour.dlang.org/)

<comment> ben-schaaf Plus you get templates and CTFE, which are both awesome. Though if you're doing web stuff I've found D compile times to not be so great anymore, especially when diet templates get into the mix.

</comment></comment></comment></comment></comment><comment><USER16> Does someone know a ressource where I can easily learn how to switch from Bash to Go?

To give some context: When it comes to serious programs I use Go already, but often I just want to code a little script to watch a website for changes for example:

      #!/usr/bin/env bash
      url="https://example.com"
      mem="memory.txt"
      oldsum="$(cat "$mem")"
      newsum="$(curl -sL "$url" | sha512sum)"

      if [ "$oldsum" != "$newsum" ]; then
        xmpp_notify "$url changed"
        echo "$newsum" > "$mem"
      fi

I haven't tried it yet, but in my mind it feels like writing such a program would be more time consuming/complex in Go than writing it in bash. Neverthelss, I feel like Go is overall a much better language than Bash (with all those quotes), so I would like to transition to writing more short programs in Go and for that I would like to learn how to do things like reading/writing/grepping files as easily in Go as I do it in Bash. Any idea if someone wrote some hints together already?

<comment><USER17> Writing a program like that would not be too difficult in Go. It's something like this:

        func main() {
          url := "https://example.com"
          mem := "memory.txt"
          oldsum, err := ioutil.ReadFile(mem)
          if err != nil {
            log.Fatal(err)
          }

          // Download URL
          resp, err := http.Get(url)
          if err != nil {
            log.Fatal(err)
          }
          defer resp.Body.Close()
          body, err := ioutil.ReadAll(resp.Body)
          if err != nil {
            log.Fatal(err)
          }

          // Hash it
          newsum := sha512.Sum512(body)

          if oldsum != newsum {
            err = exec.Command("xmpp_notify", url + " changed").Run()
            if err != nil {
              log.Warn(err)
            }
            err = ioutil.Write(mem, newsum)
            if err != nil {
              log.Error(err)
            }
          }
        }

Don't listen to the naysayers. Go is fantastic for scripts like this - it's really good at network stuff, has a ton of built in functions, etc. And you get actual robustness and error checking that isn't a complete joke. Look how many ways your Bash script could fail! That's fine if you're literally watching the output with your eyes. If not it's going to cause issues when `curl` fails for example.

The only downside really is that you have to compile the Go code, which is fast but not as fast as just interpreting a Bash script (the first time).

Another possible issue is executable size - if you have a lot of Go scripts they may take up a fair bit of space.

I wish Go had an interpreter / JIT mode for scripts.

Edit: Before someone says "but that's 3 times longer than the bash code!" please write the _equivalent_ Bash code that has proper error checking.

<comment><USER18> Just add this as a second line?

      trap "exit 1" ERR

<comment><USER19> I think you mean:

      set -euo pipefail

</comment></comment></comment></comment><comment><USER20> > I'm not a fan of full blown IDEs that require their own configuration.

Hmm, but those IDEs actually do solve most of the problems author has had with Python. If one regularly code in Python, spending a few hours configuring the IDE is justifiable. I for example never write scripts outside the IDE, because why?

<comment><USER21> _Note: I like Python, so this is me playing devil 's advocate here._

If you _need_ an IDE to solve common pain points of a language, isn't it fair to say that another language which lacks those pain points is a better fit for you? Using an IDE to aid you, to smooth things out and allow for more rapid development and better workflow is one thing. Being forced to use one because the language is lacking is a bad look on the language!

<comment><USER22> You could also say that this attitude holds us back. What if Smalltalk had only been accessible from _vi_ back in the day, would Smalltalk have been as appreciated? I think not.

</comment></comment></comment><comment><USER23> Some issues:

\- I make stupid mistakes in Python constantly. I misname a variable or a function or I pass in the wrong arguments: Try mypy

\- If the task is IO bound: Threads are the wrong the answer to that. You're going async by using Golang, why not in python?

\- With Python, I have to ensure all the packages I need are installed on the remote machine: pipenv Like slezyr mentions

\- Consistent Styling: Try autopep8 or black

\- Intellisense: I would say "use Pycharm" but vscode is getting better I heard

<comment><USER24> Pylint is a bit hard to configure, use Prospector

Prospector does a better job and it prevents you from wasting time with what essentially are stylistic choices and BS like a hard 80 chars limit per line (remember, A Foolish Consistency is the Hobgoblin of Little Minds)

And yes, yes, automated stilling tools are better

Intelisense is needed but even the standard vim autocompletion plugin does an ok job

</comment></comment><comment><USER25> This is like saying "Goodbye car, hello airports!" If your needs change, then of course your favorite solution may change.

</comment><comment><USER26> This makes me want to try Go, though I wonder how long it would take to develop the same "fluency" and knowledge of which library to use. It would be exiting to have things run fast though...

One minor plug `pyflakes` is very good for basic checks for mistyped variable and missing imports, etc. It's not "smart" and doesn't check type consistency, but very useful to catch stupid mistakes.

<comment><USER27> I went from Python to Go; Go is an amazingly simple and quick to learn language and ecosystem. Give it a try -- you'll probably start to feel proficient a lot faster than you'd think.

</comment></comment><comment><USER28> > I like having a single binary. I usually run code on EC2 machines to give my > scripts closer network proximity to S3 and to our database. With Python, I > have to ensure all the packages I need are installed on the remote machine, > and that one of my coworkers hasn't installed anything conflicting.

pipenv

</comment><comment><USER29> > I make stupid mistakes in Python constantly. I misname a variable or a > function or I pass in the wrong arguments. Devtools can catch some of these, > but they usually require special setup. I've never been able to configure > pylint easily, and I'm not a fan of full blown IDEs that require their own > configuration. The worst is if you mistype a variable that's hidden behind > conditional logic. Your script might run for hours before triggering the > error, and then everything blows up, and you have to restart it.

This this this, a million times this. I work mostly in Clojure where such problems are equally as bad, maybe even more so. Dynamic, elegant languages can feel liberating in so many ways, but there are significant workflow drawbacks that get me nearly every day.

<comment><USER30> First off, I get that it's unfortunate they aren't detected by Python itself in some form of compile step, but that's a cost of using a dynamic language.

But they don't use the tools created to catch these kinds of errors, and complain that they aren't protected against these errors? There's a fairly large disconnect there. Hell, I have protection against this built into my VIM install. Not running these basic tools is tying a hand behind your back.

<comment><USER29> Are you talking about mypy?

<comment><USER30> No: python-mode

[https://github.com/python-mode/python-mode](https://github.com/python- mode/python-mode)

</comment></comment></comment></comment><comment><USER31> I've been using Go over python for a couple months now and so far it has been incredibly effective. I never really liked Python's syntax so it's nice to go back to something c-ish.

</comment><comment><USER32> XAR lets you package many files into a single self-contained executable file. This makes it easy to distribute and install.

[https://github.com/facebookincubator/xar/](https://github.com/facebookincubator/xar/)

Then just build your XAR executable with:

$ python setup.py bdist_xar

</comment><comment><USER33> Python is regularly ranked to top 4 programming language for a reason, Go has a long way to catch up I think, if it ever happens.

I recently started using python as the primary language, the more I use, the more I like it.

Go's put everything in a static binary has its pros and cons.

</comment><comment><USER34> I'm pretty sure I've read this same article, give or take a few words, many, _many_ times before, only replacing the two languages being compared.

This bores me, probably because I find everything to be the exact opposite (except for parallelism, I'd be foolish to pretend Go isn't better in that area) but specially because I find Go to be an _ugly_ language to write. The error handling is only the top of the can of worms.

Python, in comparison, is a delight to write and specially to read (when it's well written).

In short: Oh, terrific, another one.

</comment><comment><USER35> Related: [From Python to Go and Back Again(2015)]([https://docs.google.com/presentation/d/1LO_WI3N-3p2Wp9PDWyv5...](https://docs.google.com/presentation/d/1LO_WI3N-3p2Wp9PDWyv5B6EGFZ8XTOTNJ7Hd40WOUHo/mobilepresent?pli=1#slide=id.g70b0035b2_1_168))

And the HN discussion [https://news.ycombinator.com/item?id=10402307](https://news.ycombinator.com/item?id=10402307)

</comment><comment><USER36> Are there numpy/pandas/matplotlib equivalents in golang?

<comment><USER36> Looks like the following are equivalents:

numpy - [https://github.com/gonum/gonum](https://github.com/gonum/gonum) matplotlib - [https://github.com/gonum/plot](https://github.com/gonum/plot) pandas - [https://github.com/kniren/gota](https://github.com/kniren/gota) (API not finalized)

</comment></comment><comment><USER37> If most of your use case is copying s3 files to and fro, maybe doing a bit of transformation what does it matter what language you use? You could deploy some python or even JavaScript code to lambda and get the job done faster than you could with Go. From a performance perspective compiled languages only win in some very niche cases these days (mostly cpu bound tasks that can't be distributed and require low latency).

</comment><comment><USER38> Re: gofmt - python has black now. It's excellent.

Pylint solves the undefined variable issue, but it is annoying as hell and _always_ requires configuration. I wish there was a linter for python that didn't care about 80 character limit and was careful not to drown important errors with unimportant stylistic tics.

<comment><USER39> Black is excellent ideed, and solves the problem of having code compatible with PEP8 once and for all.

flake8 is a linter that doesn't need much config, and you can config it to give you only "serious" errors and not stylistic issues.

I gave a talk on these subjects last year at the Paris Open Source Summit: [https://speakerdeck.com/sfermigier/python-quality- engineerin...](https://speakerdeck.com/sfermigier/python-quality-engineering- a-tour-of-best-practices) (NB: Black didn't exist yet at the time).

<comment><USER38> flake8, like black, shouldn't really require any config on most projects yet annoyingly it always requires at least a little. I really would switch to another tool in a heartbeat if they could just fix that.

Ideally instead of needing to be told whether to only show "serious" errors, for instance, it should just give you a project "score" (sum of the errors x their severity) and show the top 20 or so errors in order of importance and by default it should _never_ exit with error code 1 with just stylistic errors unless explicitly configured to do so.

<comment><USER40> Have you tried pyflakes?

<comment><USER38> No, and I think you just made my day. Thanks!

Or rather, I'd vaguely heard the name but I erroneously thought it was just another flake8 type thing.

<comment><USER41> pyllama is another project in the same space which I like. It uses pyflakes under the hood.

[https://github.com/klen/pylama](https://github.com/klen/pylama)

</comment></comment></comment></comment></comment></comment><comment><USER42> Goodbye plenty, matured, well tested libraries and frameworks and big community. Hello go.

(Nothing against golang, just wanted to point out it's not that easy for every usecase).

<comment><USER43> So much this. No one is writing large production applications without some sort of imported library. Go simply has not been around long enough or had enough users to mature. For all of the pros Go has (not even mentioning the cons) they seem miniscule compared to what we give up switching to it. It has always sounded like the hot new fad and not a stable thing. Especially with daily articles like coaxing people into using it.

<comment><USER19> Exactly! It will be many more years before big mature projects like Kubernetes, Docker or CockroachDB would consider switching to Go.

<comment><USER42> This are all sort of very close to system frameworks itself. I would never write something like that in Python. This is a good example for golang.

</comment></comment></comment></comment><comment><USER44> Archive URL: [http://archive.is/smcWh](http://archive.is/smcWh)

</comment><comment><USER45> What do Go users think of Scala? Seems like the alpha language

</comment><comment><USER46> "Python is much more flexible."

</comment><comment><USER47> Wow, that seems like a pretty big jump. Good for the author.

</comment><comment><USER48> Revenge Post.

</comment><comment><USER49> > I make stupid mistakes in Python constantly. I misname a variable or a > function or I pass in the wrong arguments.

> Unit tests would catch most of these, but it's hard to get 100% code > coverage, and I don't want to spend time writing unit tests for a one-off > script.

Sorry, I actually do like golang but this is telling of a bigger issue. Someone else is going to have to delete/fix it</comment>


Ask HN: Switch to mac? - <AUTHOR>

I'm in the process of choosing a new laptop, currently working on mobile apps on J2ME, NetBeans and Nokia emulators. Have worked on PC's for all my life, but started wondering what can I gain from switching to Mac, considering for the budget I have, PC's outdo Macs by a mile.<p>Thank's and Regards <comment><USER2> After using a new Mac for two weeks, here's what I've noticed:

\- The typography is a lot nicer once you get used to it. It's great to look at websites using type as it was designed rather than in the blocky rendering Windows uses.

\- Keyboard shortcuts are worse. On Windows, all the menu options have underlined shortcuts, so I could usually guess what the shortcut was based on its menu position, even if I hadn't memorized it (i.e. Alt-F, S to save, Alt-S, A to Select All). Mac has 3 modifier keys that have to be pressed in combination, and the shortcuts have to be memorized. It took me forever to figure out Command-D was the shortcut for "Don't Save" because there was no onscreen indication.

\- Desktop programs for the Mac are of higher quality, more creative, and seem to be free of viruses and spyware, thus safe to download and install. I rarely download any desktop programs for PC, but on Mac I've found a bunch of great ones that are worth paying for.

\- Everything is smaller on a Mac screen and harder to adjust, so if you don't have perfect vision it can be a problem. There is no systemwide DPI setting.

\- Having a Unix shell is very convenient. MacPorts is a pretty good installer for Unix programs but not as good as something like yum on Linux.

\- The windowing system is document-based rather than applicaiton based, so you get lots of overlapping windows strewn across your screen. Once you get used to this, dragging and dropping between apps makes more sense.

\- The progams I miss which don't have Mac equivalents yet are VanDyke SecureCRT and Macromedia Homesite (a great HTML editor but several years old)

\- I haven't had to restart it for any reason. Installing software is much easier and doesn't seem to modify the underlying operating system or registry as it does on Windows.

\- Peripherals just work. It recognized my printer, digital camera, etc. right away without problems. No futzing around with BIOS settings or drivers.

\- Some of the system UI controls feel less standardized, are often missing keyboard navigation, and more annoying. For instance, the tree view control in TextMate for browsing projects has little arrows you need to click to open a folder, but clicking the folder name does absolutely nothing. On Windows this would be standardized, it would let you click on the folder name, and also respond to the keyboard.

\- You need to get mouse with a right button.

</comment><comment><USER3> Obviously this topic will tend to be highly subjective as the tools (at least for me, ymmv) have not been different enough to matter.

I personally feel it's a matter of what you enjoy using more. Before Windows 7 I would have given OSX with the better user experience overall, but after using Windows 7 for the last 2-3 months, I am so impressed that I don't dread going back and forth between it and my mac at all. It's a fine operating system that is a pleasure to use.

That said, for development reasons, I tend to stick with OSX simply because of the unix shell (though with how easy it is to spin up a virtual machine with linux now days, this might also not matter as much anymore).

So really I don't see a clear advantage either way, I think it all depends on how much you enjoy using one vs the other, as your environment enjoyment will probably affect your productivity more than just the actual platform.

</comment><comment><USER4> After 15 years of being a PC advocate, last year I switched over as the main development platform we were using was Mac only.

I would never go back to PC now, and I can't even give you a succinct or informed reason why, there's just something about using a Mac, when you get used to it, that just feels 'right'.

I'd go Mac.

<comment><USER5> As much as I agree with you, that's highly subjective - that mysterious draw to Macs. There's also a silent, mutual bond between Mac users as well that is also a draw - the idea you're in an exclusive club. But those aren't really reasons to switch from one OS to Macs.

<comment><USER4> I actually can't abide the 'mac club' mindset, it's partly the reason I avoided the platform for so long - the idea of being part of a brand 'family' is hideous I think. The association of the fact that you use one particular brand over another, in some way makes you superior to other computer users, is an appalling, but highly effective piece of marketing hype.

Just as a machine to use, I find it very efficient, I couldn't care less who made it.

</comment></comment></comment><comment><USER6> You could actually debate the Mac pricing and you would find numerous articles on it. Anyhow, I switched to Mac recently and I don't think there are any downsides. You can still run Windows using VM seamlessly only if you want to do some windows dependant development.

</comment><comment><USER7> >wondering what can I gain from switching to Mac

As a person who has been using a Mac for about 5 years now, not much. Macs have a slightly better UX(for now, personally I think Win7 makes them equals) if you don't like the command line at all(or are command line only, but then it offers nothing over Linux). If you are a fan of both the command line and the GUI Mac OS is a bizarre halfling that doesn't play well with itself. Windows is much more coherent if you use both(even when you use Cygwin for the CL side of things.) If you stray off the blessed path with Macs things get ugly quickly(Steve Yeggie has a rant about trying to make Focus Follow Mouse work properly that is quite amusing.)

<comment><USER8> I've done a half-switch, but completely agree with stonemetal. I have both a Mac and Windows that I use for development. OSX is pretty. I'm running Windows7 on my other machine.

stonemental's 'halfling' comment is dead on, and I find it the strangest thing about macs.

Also, what I wasn't prepared for was the need to learn so many keyboard shortcuts. No button to go right to your desktop, there's a keyboard shortcut for that (but who knows what it is). Not 'rename' in the dropdown menu, but there's a short cut for that (I don't know what it is). It seems like the things like this that I use all the time and are basic on a PC are obscured on a mac.

<comment><USER5> Default shortcut to go to the desktop is F11. Default shortcut to rename a currently selected file is Enter.

These keys are unusual if you're already coming from another OS but I've found them to be quite comforting after you get past the initial learning curve. But that's the point, there is a curve to everything.

I don't think it really matters what OS you use as much as the fact that you constantly try to get more adept at using it (w/ the underlying assumption that the limit is not infinite yet unattainable.. but that's another story ^_^).

<comment><USER8> My brother said that go to shortcut was F11, but F11 is volume control on my mac. F11 was screen brightness on my brothers older generation MacBook Pro.

These is some of the inconsistencies that I'm really surprised to see, but kinda go hand in hand with the inconsistency with command-line from linux.

I agree with your comment about getting more adept. However, with Microsoft, I find that you learn as you go. Keyboard shortcuts are listed, menus may be longer, but show you the functions you can use. It is more cluttered, but it is a platform that allows you to learn. Macs (and of course Unix) force you to go look for the solutions. This makes for a cleaner interface, but doesn't provide the opportunity for discoverability.

Personally, I'd rather spend my time learning a new language than a new OS.

</comment></comment></comment></comment><comment><USER9> Make sure your Nokia emulators work on the Mac, or you'll end up running a windows VM anyway.</comment>


The Ratio of Engineers to Sales People in Billion Dollar SaaS Startups - <AUTHOR> http://tomtunguz.com/saas-spend-allocation-benchmarks/ <comment><USER2> I'm not sure how to interpret this, since it's in relative dollars not absolute. Is it, "Companies overspend on everything relative to revenue when they don't have much, and then it shrinks as revenue grows over time."?

My observation on SaaS firms is they hire a lot of sales relative to R&D. This isn't rocket science, it's part of the model. Over time revenue ramps up because it's recurring, and the revenue grows quicker than fixed fees.

Is there something else to interpret in the data?</comment>


Toyota's anti-EV ads aren't just deceptive, they also push science illiteracy - <AUTHOR> https://electrek.co/2019/06/18/toyota-push-science-illiteracy-deceptive-anti-ev-ads/ <comment><USER2> This is not a good article.

\- It does not contain the actual ad (only quotes: "self-charging" "hybrid electric Corolla"). Unless the article it links contains the ad, in which case why is this a duplicate of that article?

\- Most of it is just attacking hybrids and talking about why EV is superior (which isn't relevant to Toyota's ad, the supposed topic of the article). Spending half the article reminding us that a gas hybrid electric uses gas isn't constructive/informative/helpful.

\- Continues this trend of using the Prius's sales figures to show EV's superiority. While ignoring that Toyota themselves expanded hybrids to well beyond the Prius product line: Hybrid Rav4, Hybrid Highlander, Hybrid Corolla, Hybrid Camry, Hybrid Avalon, Hybrid Mirai. None of which are a "Prius." It also ignores that the car industry has also adopted hybrid technology, providing much greater competition in the space (and the shift from small vehicles like the Prius to SUVs, which are also now available as hybrids, even up to Hybrid Minivans and soon Trucks).

\- Toyota has been pushing hybrid vehicles longer and further than anyone else. These vehicles have had a positive environmental impact (higher MpG, lower emissions, etc). This results in lower gas consumption.

"electrek" has always been an unapologetic Tesla advertising/propaganda wing. I don't know why people post it here. The actual quality of writing, research, and journalistic integrity remains extremely low.

<comment><USER3> True. This article is pure BS. Even in US where only 18% of electric energy is renewable (plus some from nuclear energy), emissions results from EV are not so impressive.

In average country, new generation of hybrid cars from Toyota may be much more effective in terms of CO2 and other harmful emissions, compared to pure electric vehicles.

And all inconveniences of EVs, like lack of charging stations, limited range, long charging time, are basically gone.

Sure, future will be electric, but not with current mix of power generation and state of energy storage.

</comment></comment><comment><USER4> > Using the word "electric" in the description of a vehicle that doesn't have > a plug is deceptive.

Not really, we've had diesel-electric railway locomotives for over a century and no-one confuses them with electric locos.

</comment><comment><USER5> Given that Toyota produces the Prius (and has for many years) I think the criticism of Toyota is a bit over the top.

</comment><comment><USER6> Why is Toyota so far behind the other manufacturers, despite having a initial lead in hybrids? Were they just betting that EVs would flop? Even Honda, which is a hold-out, has the Clarity which is a nice car (we have a Clarity and Leaf).

<comment><USER7> Toyota, and several other manufacturers, have focused on hydrogen. It seemed as the perfect solution by offerings similar car cost and ranges. Prior to Tesla making even high end electric cars was theoretical. Even now battery powered cars do not have an obvious path to hitting 15k USD and 600km range. The weight to battery ratio is improving bit by bit, but not as fast as cost is improving.

Personaly the chance to charge at home means I would be willing to trade off range and cost for the lower running cost.

<comment><USER8> Looking at driving patterns 600km range is required for a very small subset of cars. Most people drive to work in the morning park their cars for 7-8 hours then drive home or where ever. Cities should be providing car chargers at places where people park their cars at work which is the same period of large solar production and commercially in some cities is selling at zero or negative. At home night charging should be actually discouraged in favor of day time at work charging.

</comment></comment></comment><comment><USER9> This behavior isn't surprising, Toyota has been coasting on consumer perception they built up in the '90s and early '00s for a long time now. Since consumer perception tends to lag reality by a decade or so and the car industry is more of a boogeyman than a subject of interest to most of HN it's not surprising that this behavior is unexpected to a good chunk of HN.</comment>


Show HN: Deep learning assisted logo design - <AUTHOR> http://brandmark.io/intro/ <comment><AUTHOR> hey guys

you might have seen my previous projects [https://news.ycombinator.com/item?id=13960214](https://news.ycombinator.com/item?id=13960214) and [https://news.ycombinator.com/item?id=14409255](https://news.ycombinator.com/item?id=14409255)

I've basically combined those ideas into a logo design tool. Check it out and let me know if you have any questions or comments!

<comment><USER2> This is really cool! I was impressed with the results. Just curious what you use for your checkout process, and the subscriptions to your website plan?

<comment><AUTHOR> just stripe, nothin fancy :]

</comment></comment></comment><comment><USER3> For logo generations, did you check this project? [https://emblemmatic.org/markmaker/#](https://emblemmatic.org/markmaker/#) It's quite well done. Rather than GAN or Deep learning, they use a genetic algorithm

</comment><comment><USER4> Looks cool but the demo does not do anything on iOS.

<comment><AUTHOR> you mean the preview tab? I'll look into it!</comment></comment>


Rate my startup: Zwapp, a unique social view of the App Store - <AUTHOR> http://www.zwapp.com

<comment><USER2> Thank you so much for only requesting the permissions you need when looking for friends via Facebook. I'm so frustrated by the number of apps that request permission to post just so I can find friends. (And I'll never grant that permission.)

Edit: Though it looks like you're asking permission to update Twitter, and that's making me hesitant.

<comment><AUTHOR> There is only one point in the app where we ask (politely) if you are willing to tweet about Zwapp.

That is in the autoshare section of Settings. You remain in control at all times about posts. You can turn sharing to social networks on/off but everything defaults to off.

</comment></comment><comment><USER3> Nice idea. Apps are one niche it can be extended to other things utilizing social networks to get real time recommendations from friends.

</comment><comment><USER4> Cool idea, but I wouldn't give you any money for this. How do you see this growing in to a startup?

<comment><AUTHOR> Its a three month project that we did. The app is free and will remain free. It is born out of a frustration that finding apps is becoming more difficult and that browsing the App Store just isn't working. In real life, the first thing we do is compare apps on our phones, so why not do that on your phone too.

<comment><USER5> Might want to consider getting some app review people on board and feature their accounts as accounts to follow.

<comment><AUTHOR> We have thought about things like that but to be honest, we want to keep the experience focussed on your friends. There are already enough top app lists around. What makes Zwapp different imo is that it gives you direct access to the apps and reviews of your friends instead of strangers.

</comment></comment></comment></comment><comment><USER6> I'm interested in what you've done to make money off of this? Is it via affiliate links?

<comment><AUTHOR> We have affiliate links set up which will provide some revenue.

The site is still very clean, almost Instagr.am -ish, but we are also working on a web view where you can see and share each others app profiles (see <http://www.zwapp.com/users/237> for a work in progress example).

</comment></comment><comment><USER7> How do you get the apps list on other people's phone

<comment><AUTHOR> Just connect with your friends (using Facebook, Twitter, or your contact list) and you can then browse your friends apps. Zwapp detects apps automatically on your device with a few clever tricks.

Also the real-time feed shows you the apps your friends are downloading now, reviews, likes etc.

<comment><USER5> By Clever, do you mean a private API? I'd be interested in how if not!

<comment><AUTHOR> we do two things: 1) We check on custom schemes (btw: watch that space as we will open source our work on that shortly!) 2) We check processes on iOS4 devices and match those as well.

The algorithm learns and will detect better and more with increased usage.

</comment></comment></comment></comment><comment><USER3> why not allow login directly using facebook or twitter account?

<comment><AUTHOR> because not every user wants that, and tbh we're a bit unhappy with the reliability of both FB and Twitter.

</comment></comment><comment><USER8> The site is down!

<comment><AUTHOR> Where are you accessing it from? Seems to work fine here, although we are getting a spike in traffic now

</comment></comment><comment><USER9> isn't iphone almost out of business? what about an android version?

<comment><AUTHOR> We really want to do an Android version, it is a great platform too. We are working on Android already.

We want to strengthen our Android team so if you know any good Android devs they can contact us for a job!</comment></comment>


I'm a Total Loser – Two Bottle Choice - <AUTHOR> http://www.imatotalloser.com/GlenXXXX/post/1k1nNtWQ/two-bottle-choice

<comment><USER2> I hate to hang anybody out to dry, but I can't even half finish reading this without having a feeling of "you don't know how good you have it".

I've got 30k in student loan debt, a job that won't make me 300k per year if I worked it for the next 50 years, and I feel lucky next to my friends with three or even four times as much debt with no immediate prospects of ever paying it off. None of us have lost our families, that has to hurt, but I feel like you can always do better than "I used to be somebody," no matter how far you fell.</comment>


Michelin Star Goes to Singapore Street Food Vendor Serving $1.50 Meals - <AUTHOR> https://mymodernmet.com/chan-hon-meng-street-food-michelin-star <comment><USER2> (2016)</comment>


Bitcoin Exchange Struggles - <AUTHOR> http://dealbook.nytimes.com/2014/02/10/bitcoin-exchange-struggles/?_php=true&_type=blogs&_r=0

<comment><AUTHOR> Thanks to Mt. Gox's attempt to blame BitCoin developers for a problem with their custom wallet, the entire mainstream media is reporting their private fiasco as a fundamental flaw in the BitCoin protocol.

Mt. Gox could have come through this injured but with their integrity in tact by taking responsibility. Instead they now they have managed to damage BitCoin itself by attempting to deflect blame.

They don't even have a continuous integration setup going and do all of their work on production? When you're dealing with (literally) billions of dollars of other people's wealth that is just inexcusable and irresponsible.</comment>


Ask HN: Is there an app that creates network graphics... - <AUTHOR>

... like this one http://magazine.wsj.com/features/the-big-interview/desiree-rogers/tab/interactive/ but with live links, e.g., hovering on lines should highlight the line; clicking on names should link to more info and so on. <comment><USER2> <http://graphexploration.cond.org/>

contains terms you want to google:

"exploratory data analysis and visualization tool for graphs and networks."

\</comment><comment></comment><comment>---

[http://blog.revolution-computing.com/2009/11/social- network-...](http://blog.revolution-computing.com/2009/11/social-network- analysis-on-demand.html)

<http://www.foaf-project.org/original-intro>

<comment><USER2> Saturdam AM google fu not so good, here's what i came up with

[http://manyeyes.alphaworks.ibm.com/manyeyes/page/Network_Dia...](http://manyeyes.alphaworks.ibm.com/manyeyes/page/Network_Diagram.html)

found here:

[http://www.juiceanalytics.com/writing/best-business- intellig...](http://www.juiceanalytics.com/writing/best-business- intelligence/)

<comment><AUTHOR> gtani: thanks for the links. I am also interested in the beautiful presentation used by the artist and I asked him <http://twitter.com/feltron> about his technique; I'll post here if he replies.

<comment><AUTHOR> He says he doesn't have any more info about his technique <http://twitter.com/feltron>

</comment></comment></comment></comment><comment><USER3> Check out prefuse.org and processing.org. Both are excellent libraries to create such visualizations. Not sure if you are looking for something else.

<comment><AUTHOR> Thanks. Yes, I am reading about processing.

</comment></comment><comment><AUTHOR> [http://magazine.wsj.com/features/the-big- interview/desiree-r...](http://magazine.wsj.com/features/the-big- interview/desiree-rogers/tab/interactive/)</comment>


ATM Hacker Thor Used "Barack Obama" Alias  - <AUTHOR> http://www.thesmokinggun.com/archive/years/2010/0504101atm1.html

<comment><USER2> "Morris walked up to the ATM, he pressed the ENTER CLEAR CANCEL 1 2 3 which resulted in Morris accessing the Enter Password screen. Morris made at least three attempts to enter the default password of 555555 to gain unauthorized administrator access, or complete access to all ATM functions."

<comment><USER3> Interesting that this information is now out in the open. On the other hand, knowing it didn't seem to help this guy much. Presumably the people who install ATMs aren't quite dumb enough to leave the default password.

<comment><USER4> Don't be so sure...

</comment></comment></comment><comment><USER5> (the submission title should have no comma.)</comment>