Why Facebook Connect Is Bound For Success - <AUTHOR> http://www.pcworld.com/article/154990/first_look_why_facebook_connect_is_bound_for_success.html

<comment><USER2> Until reading that article I thought this experiment was doomed to fail but it does have some potential. I hate signing up for new sites and it is cool to see friends' activities (if they choose to share them). My only concern would be sending my login information using plain text through these third party sites. It appears that Facebook uses https for login but its the strength of the weakest link that matters, and in this case if my credentials are passed via plain text to an outside site and then routed to Facebook that is no good.

Of course I have not tried it out yet so maybe they route you to a (secure) fb page to login, which is perfect.

<comment><USER3> They've had something like this for a while, and that's exactly how it works. Log-in stays secure.

I don't know if they'll make money off of this, and that's Facebook's achilles heel, but I've never understood the people who mock Facebook's features. It's the most comprehensive site I've ever used. And this is another excellent step for them.

<comment><USER2> In my opinion they are mocked because they have not introduced any groundbreaking features. They have a lot of cool features that can be found elsewhere. They are recreating what others have tried but doing it better.

Their accomplishments are execution (making a lot of features work together without crappifying the site) and scale. This is still remarkable but it does not help you avoid mocking.

<comment><USER3> I think that their privacy implementation was the first of its kind. That was the first site that I joined that didn't give me a URL. It was all about being a closed system, and I loved that and still do.

I'd also say that their ridiculous emphasis on minimalism should count as groundbreaking, because no other site gets that right, but that always leads to arguments.

<comment><USER2> I don't think you can call it groundbreaking if someone else is already doing it (I am taking the word at its most literal I guess i.e. breaking new ground).

Their privacy system is similar to MySpace's except they apply it to more things. MySpace had a system that allowed you to restrict certain things from non-friends before Facebook. Facebook's privacy system has become much more robust though.

<comment><USER3> I think the breaking ground was that Facebook's primary feature was security. MySpace had it, but they didn't emphasize it, and even when security was on, they tried to make profiles display like public pages - they just made them sparser.

Facebook introduced the completely blank page that you get when you try to go to a restricted profile. It was pretty cutting edge when I registered in 2005-06.</comment></comment></comment></comment></comment></comment>


Bill Gates Says He Doesn't Understand Quantum Computing, That's a Big Problem - <AUTHOR> https://superposition.com/2018/01/23/bill-gates-says-he-doesnt-understand-quantum-computing-and-thats-a-big-problem/ <comment><USER2> It's a problem that a billionaire not knowing something is a problem.</comment>


How Can I Learn Microcontroller/Device Programming ASAP? - <AUTHOR>

Hey guys,
I have an opportunity to work on a really cool project as a CS contributor, with microcontroller and device programming. The project basically entails creating a device to read input x, logically perform action y, and interface through RFIC components (sorry, being intentionally vague here).
Anyway, I have a decent amount of programming experience over the past 8 years, but essentially 0 microcontroller or device programming experience. I've played around with the Arduino for some basic applications, but what's the fastest way to learn microcontroller programming techniques? Any free textbook/pdf recommendations would be great.
I have 3-4 weeks before I'm really diving into the project, so I'm starting from the ground up and learning basic electrical engineering. Any suggestions or tips would  be terrific! <comment><USER2> Greetings,

Elec Eng turned Software Eng here, so I have some background in both fields. I'm going to make a couple of assumptions as to what you're using, but the comments should be reasonably generic. My $0.02:

1] Get yourself a 'decent' development kit for the micro platform you'll be working on. You don't specify manufacturer or type, but look for something that comes with all the cables, LEDs, drivers and other goodies, and a board that 'just works'. If you have limited background, you don't want to spend your time trying to get basic comms or drivers working, or figuring out that your LED isn't turning on because of a wrong or missing pulldown resistor.

2] In tandem with [1], try and find a well documented compiler toolchain. Gone are the days when the good toolchains cost several grand - GNU can crosscompile for quite a number of platforms, and plugs into IDEs like eclipse nicely. All this is reasonably well documented too. If this venture is being sponsored, have a look at reviews for paid-for software.

3] Learn how to use debuggers in embedded environments. This is a _very_ wide topic, and depends on the debugger, what type of debugging the hardware supports, etc. If you haven't picked your platform yet, make this a large part of your decision process - if you're new to an environment, you'll need all the help you can get. Especially since it looks like you'll be doing communications heavy development, a good debugging and tracing infrastructure will help, unless you have access to logic analyzers.

4] Start with basic development on your board, just to get the hang of it and the toolchain. The development kit version of a 'hello world' program is a flashing LED. This will show you how to setup the micro, communicate with external devices, use timers, etc. Next look at serial communications, and then start looking at communication with more complex external devices using whatever bus they support, etc.

If you're willing to give more information on devices and requirements (or even design choices already made), I might be able to give more info.

4 weeks is a tight deadline if you have little to no experience, but having said that, modern development setups are substantially more forgiving to the newbie than 5-10 years ago.

<comment><AUTHOR> Thanks for the advice! I'll start downloading and playing around with the software - I'll start with Hello World and keep going up from there. I may end up PMing you later on with more specific questions if that's ok. Thanks again!

</comment></comment><comment><USER3> The arduino is pretty good due to the amount of resources available. If you want to learn the hardware side if things, then a beginners bundle from Adafruit might be good. You can also buy a bunch of sensors from one of the major web stores.

It really all depends on what you will be working on.

Also look into what brand microcontroller you will be working on. The Atmel side is a bit different from the PIC in terms of tools and learning curve.

Also, is it an ARM focused position? Then you might look into something like the mini2440 board. It is affordable and has good support. The andahammer.com people have some good data on it.

You can contact me if yo like. I do embedded. email on profile.

</comment><comment><USER4> If you get to choose, order a Microchip PIC dev kit with the closest functionality to what you want. YOU can then start with their canned code and morph it into your product. If you have an extra couple of grand and a spare week, there is the annual MIcrochip Masters in Phoenix coming up in August. They give tutorials on their tool chains, and various applications. Feel free to email me with any questions. Regards, Jim

<comment><AUTHOR> Unfortunately I'm a college pre-freshman without a couple grand free :P but I'll look into the Microchip PIC, thanks!</comment></comment>


Samsung launches first Tizen phone - <AUTHOR> http://www.bbc.co.uk/news/technology-27660366

<comment><USER2> Good! High time Android had some more competition.</comment>


Explor (YC S07) Social App Discovery launches - <AUTHOR> http://techcrunch.com/2011/03/08/explor-app/

<comment><USER2> Love the design on explorapp.com ... So is Appsaurus now defunct, or is explor a supplementary product?

<comment><AUTHOR> Hi Zavari, thanks! Explor replaces Appsaurus, and should magically transform if you've still got Appsaurus it on your iPhone (once the update hits). : )

</comment></comment><comment><USER3> Worked with these guys on the app for a little bit. Amazing guys, amazing product. :)

<comment><AUTHOR> So did probablycorey and wooster! All three of you, champions and gentlemen. Thanks a bunch dudes : ).

</comment></comment><comment><USER4> Any plans for an android version?

<comment><AUTHOR> Most definitely : ). No timeline yet, but we're on it!</comment></comment>


Newegg is being sued for engaging in massive fraud - <AUTHOR> https://gizmodo.com/computer-parts-site-newegg-is-being-sued-for-allegedly-1819766078 <comment><USER2> This sounds similar to check "kiting" [link][https://en.wikipedia.org/wiki/Check_kiting](https://en.wikipedia.org/wiki/Check_kiting) , that was popular before electronic checking transactions made it nearly impossible. "Kiting" was the art of having multiple checking accounts and passing ever-increasing amounts of money, from one account to the other. In the old days, it took a couple of days to process checks, especially when the back accounts resided in distinct federal reserve regions (which means the checks would physically traverse the federal reserve banks... which took days for delivery).

<comment><USER3> It sounds to me like the Crazy Eddie scam from the late eighties. While securing financing from Wall Street, Crazy Eddie took the bankers on tours of its various warehouses in New York. And had workers populate the next warehouse to be visited with inventory from one of the already visited locations, making their inventory physically apppear to be 2-3x as large as it was in reality. Enough to make the valuation lies told by their books look true.

<comment><USER4> That was only a small fraction of Crazy Eddie's fraud schemes.

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

<comment><USER5> can't mention Crazy Eddie without linking whitecollarfraud: [https://whitecollarfraud.com/crazy- eddie/](https://whitecollarfraud.com/crazy-eddie/)

</comment></comment></comment></comment><comment><USER6> Can someone point to what a "home theater personal computer" worth $8 looks like?

Amazon lists one of their things for $2369: [https://www.amazon.com/Moneual-932BB-Home-Theater- PC/dp/B002...](https://www.amazon.com/Moneual-932BB-Home-Theater- PC/dp/B0028N6PL0), close to the "fraudulent" invoice price. $2000 seems steep, but $8 seems preposterous.

I guess it depends when. The CPU (Intel Q9550) came out in 2008, presumably several hundreds bucks then but today nearly worthless.

<comment><USER2> That disparity is confusing to me, too. My interpretation is that the spread between the actual value of the "items as-delivered" and the "paper cost of the items as-described" was the method used by the defendant to collateralize the liens of credit?</comment></comment>


Forget $3,000, Bulls May Retreat If Bitcoin Breaks Its 100-Day Moving Average - <AUTHOR> https://www.bloomberg.com/news/articles/2017-09-15/forget-3-000-the-bulls-may-have-lost-if-bitcoin-breaks-2-877 <comment><AUTHOR> Bitcoin has breached its 50-day moving average ($3,480) as of September 15, 2017.

The 100-day moving average is $2,880 and the 200-day moving average is $1,960.</comment>


Reining in the NSA - <AUTHOR> http://www.nybooks.com/blogs/nyrblog/2015/jun/02/nsa-surveillance-congress-sunset/

<comment><USER2> I've always wondered if it would make sense to sunset all laws. I know there are laws that are uncontroversial, but if so then there wouldn't be a problem with getting them renewed.

On the other hand, many laws get passed and are uncontroversial when they are enacted but become controversial later. They ought to be up for re-discussion.</comment>


Ask HN: Effort prior to agreement - <AUTHOR>

The product that I've been working on (off/on partime for more than a year) is almost there.
I'm still in confusion on what agreement should I make with my friend (idea owner and potential partner).
He's consulted an accountant and the following were his suggestions:
a) $K my work in development to be taken out of the equation (structured as loan from me to the company).
b) Service-agreement/contract to be signed between the company and myself.
c) Based on the value that I bring to the table, my shares would be determined.
While taking the dev work amount out of the equation reduces my risk. It treats all the time I spent into mere $ value.
Does this sound common? If so - should I negotiate based on an assumed CTO role, VP (this would still be parttime effort)?
Background:
a) Idea originally his, I was initially contracted for execution then I proposed a partnership.
b) My friend has very good lead channels (VPs).
c) First client would be the Company he's working for.
EDIT: formatting lists <comment><USER2> The loan approach is not a bad one as you stated because it reduces your risk, which may be why they offered it to you. The figure you would like to get paid. The fact that you did the work at risk and have already taken risk, I would want ask for some above a hours * salary as the value of your contribution.

Do they know you are willing to use the hours you have already worked as an investment into the company? They may be thinking that you would not like this offer. Another spin is to do what they are offering, and determine the value each one brings to the table, but allow you the option to make an investment into the company using the loan you have already given the company.</comment>


Too Many Americans Live in a Mental Fog - <AUTHOR> https://www.bloomberg.com/view/articles/2017-07-18/too-many-americans-live-in-a-mental-fog <comment><USER2> (Op-Ed)</comment>


What Hollywood gets so wrong about weapons, tactics and technology - <AUTHOR> https://theia.ovh/what-movies-get-wrong/ <comment><USER2> Neat to hear the perspective of someone more experienced, but there's at least one error in this:

> When a normal hand grenade explodes there will be a flash, a bang, some > smoke and anyone within 30 meters (approx) will be hit by shrapnel and > probably killed. Most grenades don't have enough explosive power to take > down a whole building

Clearly a grenade is not going to kill people 30 meters away. The effective kill radius of the common M-67 grenade is 5 meters, and the casualty radius is 15 meters. Some shrapnel might fly 30 meters and hit someone, but they'd have to be really unlucky to die from it. Most grenades are barely thrown 30 meters. I assume the author meant 30 feet.

<comment><AUTHOR> Thanks for the correction - will upload shortly.

</comment></comment><comment><AUTHOR> Have I missed anything ? what else does Hollywood get wrong ?</comment>


Who Says C is Simple? - <AUTHOR> http://www.cs.berkeley.edu/~necula/cil/cil016.html

<comment><USER2> Simple Language != Simple to use.

C is a small language. C is gussied-up assembly. It is the ballet of programming language.

People who say C is simple really mean that it doesn't do anything behind my back.

<comment><USER3> Is it a small language? The standard takes a dense 179 pages to describe the language. I guess it's debatable if that is small or not. I certainly don't agree that it's a simple language though. There are myriad rules and exceptions to rules to remember. When and where one integer type will be converted to another. When overflow is defined and when it's undefined. Just those things alone mean that much real world C code is full of undefined behaviour[1] just related to arithmetic on numeric types, because the rules are hard to remember and reason about.

John Regehr asked people to submit str2long() implementations that didn't execute undefined behaviour. Despite being well warned about avoiding overflows and other undefined behaviour only 35 of the 78 submissions passed the test suite[2].

Even a trivially small 2 line C function can result in different results on the common compilers depending on which compiler and which optimisation level you use[3]. Compiler engineers struggle to agree on and correctly implement the "simple" rules of C. To me that's an indication that they aren't so simple.

I would say that C doesn't do anything behind your back as long as you don't ever use an optimising compiler or you pay very very close attention to the standard. If you forget then suddenly your check for pointer arithmetic overflow has been "helpfully optimised away" behind your back for reasons that are not immediately apparent at all[4].

I do agree that apparently simple rules can lead to complexity in use, and C is full of this too. For example you would think in a lower level language like C viewing a chunk of memory as a different type would be trivial, but the strict aliasing rule means you have to be a language lawyer to understand what is allowed and what isn't[5] as it makes the intuitive solution into undefined behaviour (which is extra pernicious since most of the time it will work as intended, until somebody compiles the code with a smarter compiler at a high optimisation setting).

[1] [http://blog.regehr.org/archives/963](http://blog.regehr.org/archives/963)

[2] [http://blog.regehr.org/archives/914](http://blog.regehr.org/archives/914)

[3] [http://blog.regehr.org/archives/482](http://blog.regehr.org/archives/482)

[4] [http://pdos.csail.mit.edu/~xi/papers/stack- sosp13.pdf](http://pdos.csail.mit.edu/~xi/papers/stack-sosp13.pdf) example 1

[5] [http://blog.regehr.org/archives/959](http://blog.regehr.org/archives/959)

<comment><USER4> Compared to other languages, 179 pages for the full specification is pretty small. Java and C sharp have that more than three that size. C++ is roughly five times as large. If you're a fan of functional languages, Haskell is almost twice as large. Even Scheme, an extremely simple language, is only about 30 pages shorter.

<comment><USER5> The book "The Definition of Standard ML" is ~150 pages for a language that is simple (IMO) and rich. Bonus, the definition is not written in prose, but with typing rules and operational semantics.

<comment><USER6> > _Bonus, the definition is not written in prose, but with typing rules and > operational semantics._

While that is certainly nice, I suspect it makes it hard to really compare based on just pagecount. I doubt prose and such a formal definition like that are equally dense.

<comment><USER5> Agreed. From what I've read [1], the syntax rules and semantic rules take up about 40 pages with the rest of the book being "introduction, exposition, core material, appendices and index".

[1] [http://mythryl.org/my- Mythryl_is_not_just_a_bag_of_features_...](http://mythryl.org/my- Mythryl_is_not_just_a_bag_of_features_like_most_programming_languages_.html#section:notes:engineered) (go to the middle of the page or search for "pages")

</comment></comment></comment></comment></comment></comment><comment><USER7> Simple != easy, as per this great talk by Rich Hickey:

[http://www.infoq.com/presentations/Simple-Made- Easy](http://www.infoq.com/presentations/Simple-Made-Easy)

<comment><USER8> To get an even better explanation on what the word "simple" means and what it derives from, I would recommend "Simplicity Ain't Easy" by Stuart Halloway[1]. While it is very similar to "Simple made Easy", it focuses a lot more on the etymology of the words "simple" and "complex" and how people misuse the word.

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

</comment></comment><comment><USER9> Someone else at Cal summarized C succinctly when he wrote "C is the machete of programming languages. It's great for clearing a quick path through the jungle of programming problems, but be alert as there are no safety mechanisms to protect the wielder of this wonderful weapon." -David Patterson [http://www.informit.com/promotions/promotion.aspx?promo=1389...](http://www.informit.com/promotions/promotion.aspx?promo=138913)

<comment><USER10> Warnings as errors, turn on all of them, pedantic mode and static analysers running alongside unit tests on every build.

Even then, there might be dragons waiting for you.

</comment></comment><comment><USER11> > Who Says C is Simple?

I do.

C is like chess. There are few simple rules (compared say to C++ spec). But knowing the rules doesn't mean you'll end up beating Kasparov. It still takes skill and practice to be a good C programmer.

So, the language itself, is pretty simple compared to other popular programming languages as far as it has a simple syntax. I can teach someone the rules of chess pretty quickly, It doesn't mean I'll create a chess grand- master in a day or two.

<comment><USER12> >> Who Says C is Simple?

> I do.

I disagree. C comes with a lot of edge cases and subtleties that can surprise even people like myself who 'know' C.

Some examples: Exact semantics of restrict, C99 inline semantics (eg I wasn't aware that it's possible to make a non-extern/non-static inline definition into an extern one with a single redeclaration), effective typing rules and whether it's possible to circumvent them, whether or not it's undefined behaviour to cross boundaries of the sub-arrays of a multi-dimensional array if it doesn't happen in a single expression, ...

<comment><USER11> The difference is between gimmicky ways one can use ambiguity to produce convoluted edge cases vs knowing enough to do actual work. Sure C being low level and and having a relatively short specification is ripe for compiler specifics and hardware specific hacks. But still think it has the basic core defined and that is pretty small.

With C++ and its typical libraries it is a bit different. It has so many features (templates, classes, streams, friends, shared pointers, unique pointers, distructors, constructors, polymorphism rules, and combination of those) that code gets complicated without using obscure features, just sticking to the standard ones gets hairy and needs someone who knows the whole spec.

</comment></comment></comment><comment><USER13> These little teasers are starting to annoy me. Congratulations, you can twist C to be as unintuitive as you'd like it to be. But why would you write code like that to begin with? I don't care what value __ return -3 >> (8 * sizeof(int)); __ returns because no sane program anyone contributes to will have constructs like that.

<comment><USER14> You are missing the context, which is that of an unambiguous parsing of any valid C code. Examples given are teasers for the parser, not a prorammer.

</comment></comment><comment><USER15> C is not a simple language. It is confoundingly difficult for a machine to parse. Add in the fact that it pretty much requires a preprocessor to be useful and it get's even more difficult. Clearly the article is not about whether the C paradigm is complex. It obviously isn't, because it doesn't come with a whole lot of pre-baked abstractions. But for parsing reliably, it's an absolute nightmare.

</comment><comment><USER16> tl;dr: C _is_ simple. Bad code is bad. Shitty compilers are shitty.

This needs to be qualified. Simple compared to what? C _is_ simple when compared to C++, Java, and many other languages. Obviously, C is simple because it lacks syntactic sugar, classes, polymorphism, templating (generics), memory management, etc. So, uh, yeah. It's simple.

The fact that _bad code_ can be written in a language doesn't really make the language non-simple. I could write bad code in any language (often times I do!) - so I'm not sure how any judgment about a language can be made with these kinds of examples. As far as the GCC/VC examples are concerned, they are a non-issue. Shitty compiler keywords are shitty[1]. We know. This is one of the many pains of writing cross-platform code in compiled languages. These examples are contrived and I highly doubt most come from production code.

[1] [http://stackoverflow.com/questions/3437404/min-and-max- in-c/...](http://stackoverflow.com/questions/3437404/min-and-max- in-c/3437484#3437484)

<comment><USER17> Signed/unsigned conversions and conversion to/from pointers of functions and arrays cause real, production-code confusion. In terms of how much mental overhead the language takes up - how many edge cases you have to keep in mind to read code in the language (because if you're programming right then you spend more time reading than writing) - no, it's not simpler than Java, because classes, generics and memory language are more straightforward and less confusing than C's typing rules.

Languages have a complexity budget, and C blew its on a squillion different kinds of integer and a bunch of arbitrary-seeming rules to minimize the amount of typing needed to change between them. That was a good tradeoff in its day, where hand-optimization was practical and program source needed to be small. It's not an appropriate language to use now outside of very specific circumstances.

<comment><USER16> You say this as if Java doesn't have its fair share of oddities. It seems you're saying that the highly granular typing found in C doesn't have an equally-annoying analogue in Java; it does[1].

[1] [http://www.javalobby.org/java/forums/m92125315.html](http://www.javalobby.org/java/forums/m92125315.html)

<comment><USER17> That's not a corner case, it's a particular instance of a general Java misfeature. In Java, "==" is an abomination that you must never use and will give essentially random results; "equals" is what you use to compare things for equality, and this is consistent throughout your codebase. Is it annoying? Yes. But it's easy to remember because it applies everywhere; any case of "==" in a java source file sticks out like a sore thumb. (Also any use of an array, anywhere, for anything. Sometimes I think I should write "Java: the good parts").

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

</comment><comment><USER19> > Why does the following code return 0 and not -1?

This questions appears twice in the article.

Note that shifting a 32-bit integer (no matter the sign) by 32 is undefined behavior (§6.5.7, 3). I'm using Clang, and its `int` has 32 bits even on a 64-bit system.

C is deceptively simple.

</comment><comment><USER20> I would not have thought that

        return ({goto L; 0;}) && ({L: 5;});

was valid C. GCC 4.4.7 chokes on it, using -std=gnu99. Is this a C11 thing?

<comment><USER21> To the compiler, it shouldn't care where a label exists. If you're telling it to go to label L:, execution will jump there. GCC appears to look out for the programmer and always prints an error (and I don't see an option to shut it off). Oracle Studio compiles it with no issue and the above statement returns 1.

</comment></comment><comment><USER22> All this proves is that you _can_ write ugly C and GCC has some crocks in it.

These problems are all optional.

</comment><comment><USER23> C is a tool. A powerful and flexible tool.

If a programmer wants to write obfuscated code (as in the examples), C allows that.

If a programmer wants to write clean, maintainable and documented code, C allows that too.

</comment><comment><USER24> Nobody?

What these examples demonstrate is not that C is "hard", but that it's powerful.

<comment><USER10> There isn't a single feature in C that isn't present in more safer languages like Modula-2 or Turbo Pascal. They are as powerful, or even more, than C.

Just because C won the battle with those languages, it does not mean we need to live with its design issues ad eternum.

<comment><USER25> How are you going to go about fixing C? And what design issues? It's pretty bare bones on top of the assembly. What should change?

<comment><USER26> * Eliminate sources of undefined behavior * Remove implicit type casting * Have a way to check the hardware overflow flag from the language * Saner syntax for declaring variables (i.e. function pointers) * get rid of null-terminated strings * a module system instead of the preprocessor

<comment><USER10> Additionally:

\- Proper arrays with bound checking, which can locally be turned off, if required for performance reasons

\- Explicit operation for converting arrays into pointers

<comment><USER27> -fstack-protector && -D_FORTIFY_SOURCE=2

<comment><USER10> Where is that defined in the C standard?

Because you see, if it is compiler specific, it is not part of the language.

</comment></comment></comment></comment></comment></comment></comment><comment><USER28> Go Berkeley, awesome prof.</comment>


A Simulation in Emoji - <AUTHOR> http://ncase.me/emoji-prototype/ <comment><USER2> A Start Up Game: [http://ncase.me/emoji- prototype/?remote=-K4BeA6ciFnVG_fD9wXP](http://ncase.me/emoji- prototype/?remote=-K4BeA6ciFnVG_fD9wXP)

People appear, and have ideas. Ideas need customers (or money) to become startups. Startups need customers (or MORE money) to become businesses. Too much money creates rocketships - which need even more consumers to land.

Real businesses create angels, and subsequently investors.

Feel free to tinker with the weightings, depending on how many successes you'd like to have!

<comment><USER3> "Real business"es have to have the probability of being obsoleted by new startups, or else you end up with a cash factory that spits out investors that cover half the world: [http://imgur.com/Bg1SV3g](http://imgur.com/Bg1SV3g)

<comment><USER4> They have a chance to become a dead pool in this simulation model, more or less approximating that. EDIT: I was wrong, see below.

<comment><USER3> Currently the rule set says only "startup" and "rocketship" can turn into dead pool, not "real business". Adding the "dead pool" rule to "real business" would indeed approximate that. (Or make it conditional to > a certain number of neighboring "startup"s if you like)

<comment><USER4> Right you are. My bad.

</comment></comment></comment></comment></comment><comment><USER5> I was also wondering why the domain was familiar. Nicky Case creates some awesome interactive stories and demos of concepts like anxiety & Hebbian learning[0], Self-categorization theory[1], and the effects of very mild systemic bias on segregation[2]. Plus most of it is licensed under CC0 and available on Github[3]!

[0]: [http://ncase.me/neurons/](http://ncase.me/neurons/)

[1]: [http://ncase.me/group-prototype/](http://ncase.me/group-prototype/)

[2]: [http://ncase.me/polygons/](http://ncase.me/polygons/)

[3]: [https://github.com/ncase/](https://github.com/ncase/)

</comment><comment><USER6> Zombie apocalypse: [http://ncase.me/emoji- prototype/?remote=-K4BxmGwlnBjJ96ipVsg](http://ncase.me/emoji- prototype/?remote=-K4BxmGwlnBjJ96ipVsg) or with zombie decay: [http://ncase.me/emoji-prototype/?remote=-K4C-rlmldj1NYKXa- jf](http://ncase.me/emoji-prototype/?remote=-K4C-rlmldj1NYKXa-jf)

(p.s. If the subject of "Programming zombie apocalypse simulators" appeals to you at all: [http://confreaks.tv/videos/keeprubyweird2015-prepare- yoursel...](http://confreaks.tv/videos/keeprubyweird2015-prepare-yourself- against-the-zombie-epidemic) )

<comment><USER7> I added some guns into the mix, to give the survivors a chance:

[http://ncase.me/emoji- prototype/?remote=-K4CpUfuwB2mRqRWRiz4](http://ncase.me/emoji- prototype/?remote=-K4CpUfuwB2mRqRWRiz4)

Turns out that the NRA was right!

</comment></comment><comment> jay-anderson I think this is conway's game of life: [http://ncase.me/emoji- prototype/?remote=-K4BTa7XdRIC-QuRVsIo](http://ncase.me/emoji- prototype/?remote=-K4BTa7XdRIC-QuRVsIo)

<comment><USER8> And another: [http://ncase.me/emoji- prototype/?remote=-K4Ec7kRoLhqwIp87dBH](http://ncase.me/emoji- prototype/?remote=-K4Ec7kRoLhqwIp87dBH)

</comment></comment><comment><USER5> A story of a bamboo forest, marauding dragons, and gentle panda bears. Gosh, these are fun.

[http://ncase.me/emoji- prototype/?remote=-K4CpBTSuA4-zO0owfzp](http://ncase.me/emoji- prototype/?remote=-K4CpBTSuA4-zO0owfzp)

</comment><comment><USER5> This is really cool! I made a fairly simple system with plants, herbivores, and carnivores... Plants can reproduce to any open square on the board. Herbivores and carnivores reproduce when they eat, and can die from overcrowding or randomly from disease/old age. Corpses provide fertilizer for nearby plants. Certainly not the most realistic model, but a lot of fun to mess around with!

[http://ncase.me/emoji- prototype/?remote=-K4BOya31RZ3XEK5PTgy](http://ncase.me/emoji- prototype/?remote=-K4BOya31RZ3XEK5PTgy)

<comment><USER9> Yeah this is really cool! I tweaked the settings a bit - think this is a bit more stable of an ecosystem (also not the most realistic) [http://ncase.me/emoji- prototype/?remote=-K4Bsn4mc4p0CJkH43cB](http://ncase.me/emoji- prototype/?remote=-K4Bsn4mc4p0CJkH43cB)

<comment><USER5> Awesome! I tried coming up with justifications for all of the rules, and decided that having animals popping into existence didn't make sense, but if you consider the whole thing an open system with an influx of predators, then yours still makes perfect sense. Much more interesting to watch :)

</comment></comment></comment><comment><USER10> Since it was mentioned in the description and I hadn't seen anyone else do it, here's the Game of Life with poop emoji: [http://ncase.me/emoji- prototype/?remote=-K4CKcP-uNe-iuB9brbL](http://ncase.me/emoji- prototype/?remote=-K4CKcP-uNe-iuB9brbL)

</comment><comment><USER11> It's alive!!! [http://ncase.me/emoji- prototype/?remote=-K4C_mgR4aELeGrmPAsI](http://ncase.me/emoji- prototype/?remote=-K4C_mgR4aELeGrmPAsI)

</comment><comment><USER12> This use of characters for graphics reminds me of how graphics in old game consoles like the NES worked - effectively a text-mode display with a user- definable colour font.

</comment><comment><USER13> I made an advanced zombie simulator, with medics, cops, hordes, and more! Inspired by patio11.

[http://ncase.me/emoji- prototype/?remote=-K4CAvIr6PQhPlQ44ahe](http://ncase.me/emoji- prototype/?remote=-K4CAvIr6PQhPlQ44ahe)

</comment><comment><USER14> [http://ncase.me/emoji- prototype/?remote=-K4Cp8L90KH6xGEJxhZW](http://ncase.me/emoji- prototype/?remote=-K4Cp8L90KH6xGEJxhZW) I made a simple maze generator!

</comment><comment><USER15> [http://ncase.me/emoji- prototype/?remote=-K4C8dO98eRuDkYqjLqj](http://ncase.me/emoji- prototype/?remote=-K4C8dO98eRuDkYqjLqj)

Im not sure what I've done here, but it sure is pretty to watch

</comment><comment><USER16> [http://ncase.me/emoji- prototype/?remote=-K4C-x5QN9AmdeUR8x5L](http://ncase.me/emoji- prototype/?remote=-K4C-x5QN9AmdeUR8x5L)

Forest simulation. Seedlings sometimes appear, and they sometimes turn into trees.

Fires can start within a tree, and when they do they will wipe out adjacent trees and seedlings, with a chance of turning them into fertile ash. When a seedling grows next to fertile ash, that ash turns into a tree. Hopefully simulating the benefits of fire to regrowth of a forest system, although not to any degree of real world accuracy!

</comment><comment><USER17> In case anyone else isn't seeing the emoji characters on Ubuntu - "apt-get install ttf-ancient-fonts" and a browser restart solved the problem for me.

<comment><USER18> Thanks for the suggestion. It also works on Arch Linux.

yaourt -S ttf-ancient-fonts

</comment></comment><comment><USER19> Nothing lives for long in this acursed land [http://ncase.me/emoji- prototype/?remote=-K4D_6Swzvpxt6eAfFGa](http://ncase.me/emoji- prototype/?remote=-K4D_6Swzvpxt6eAfFGa)

</comment><comment><USER20> Extremely interesting. My first thought was to step through the simulation and try to see lightning strike, but I guess it doesn't display.

I think this would be a very interesting use case for Elm with its "time traveling" mechanic.

</comment><comment><USER21> It would be great if you could have simulation objects inherit from one another - e.g. if you're making a weather system to have a generic cloud, and then have thunder cloud and rain cloud inherit from cloud.

</comment><comment><USER22> This is great fun. Does anyone else remember StarLogo? [https://en.wikipedia.org/wiki/StarLogo](https://en.wikipedia.org/wiki/StarLogo)

</comment><comment><USER23> Am I the only one for whom most of the example symbols aren't displayed properly? (firefox, win7, so a relatively "normal" configuration)

</comment><comment><USER24> Amazing. Can you change the speed of the simulation?

<comment><USER25> You could if the javascript didn't throw away the return value from setInterval(). If:

        setInterval(Model.tick,1000/30);

were:

        Model.id = setInterval(Model.tick,1000/30);

I think you could then clearInterval() and inject your own 'tick' method with whatever frequency you wanted. It's a shame there's no actual direct way to vary the frequency, given how brilliantly put-together the rest of the UI is.

</comment></comment><comment><USER26> This is just awesome!</comment>


Ask HN: Why aren't other professions as generous as developers? - <AUTHOR> I'm investigating some accounting and legal issues for a potential venture and it seems there is no question you can ask online for which the answer isn't "ask your accountant", or "speak to a lawyer". It's driving me nuts. The contrast with technology professionals, who gladly share their wisdom in response to specific questions, is stark. Why such a difference? <comment><USER2> Software developers working on open source projects are typically creating value for themselves. They use Go. They fix a bug in Go. Now the Go they use is better.

The Go developer goes to a lawyer and asks for advice. The lawyer's advice doesn't have value for the lawyer. The law the lawyer uses isn't better. This is also why designers are rarely interested in designing for open source projects.

In terms of generosity, as theorized the Go developer's bug fix benefits the Go developer. It likely also benefits Google, a subset of six-figure Silicon Valley engineers, and a few Sand Hill Road limited partners.

In the US lawyers "give back" via _pro bono_ work. The beneficiaries are not corporations, investors, and well paid professionals. When lawyers give back, they often work on the intractable problems of poor people. _Pro Bono_ work is _pro bono_ because it is clearly not in the lawyer's basic business and economic interests.

A lawyer's free legal advice is required by law to meet the same standards as the lawyers paid legal advice. The free tier has to be just as legally sound as the paid tier. This extends to online forums.

Besides, if a person is able but unwilling to pay for legal advice, their problem isn't very serious.</comment>


Steven Frank doesn't want to write iPhone apps - <AUTHOR> http://stevenf.tumblr.com/post/143755925/marcos-doubts-about-the-viability-of-iphone-app

<comment><AUTHOR> It's sad, the Panic quality would sit well on the iPhone.

However, he's oddly ignoring his ability to push people to his iTunes Store page from his existing web sites and via his existing customer base.</comment>


Could China spring a nice surprise in 2018? - <AUTHOR> https://asia.nikkei.com/Viewpoints/Minxin-Pei/Could-China-spring-a-nice-surprise-in-2018 <comment><AUTHOR> Makes me wonder how these topics relate to Xi's speech to the PLA (if at all, really).

[https://www.theguardian.com/world/2018/jan/04/xi-jinping- tel...](https://www.theguardian.com/world/2018/jan/04/xi-jinping-tells-army- not-to-fear-death-in-show-of-chinas-military-might)</comment>


'In my nightmares I'm always in the sea': a year on from the Greek fires - <AUTHOR> https://www.theguardian.com/world/2019/jul/20/greek-fires-one-year-on-103-dead-survivors-and-rescuers-look-back <comment> the-dude As a Dutchman I am ashamed how much 'solidarity' there really is in the 'union'.

Sure, they had their books cooked by Goldman Sachs to get in, but everybody knew this. The austerity forced upon the Greeks since the €-crisis is inhumane.

<comment><USER2> I'm greek and in my opinion this catastrophy doesn't actually have anything to do with the austerity. I'd like to express some personal opinions (please other greek people don't judge or make it polical this is just the opinion I've gathered by watching the news all this time): I believe that the catastrophy it's a result of three things (please forgive my english I hope everything will make sense):

\- The Weather. From what I've head the fire had spread in very little time; it was something unprecedented. I don't know if the fires had started by arson but definitely the main responsible party for this destruction was the wind.

\- The organization of the civil protection organizations (police, fire department, etc). Unfortunately the civil protection had not properly handled this. They were more or less caught with their pants down; they did not understand how big the fire was and were giving wrong directions to the citizens. Also, there was (and I don't think that there is now) no real plan to handle such situations; every is left to luck. This is more or less how everything in Greece works; sloppy and without a real plan; most people want to do their service, not have any responsibilities and go home. Very few people in key areas have a real plan or want to implement something bigger than day to day work.

\- The residential situation in these areas. These areas are more or less a forest near the sea. During the previous years, when I passed with my card I saw some houses in these areas surrounded by forrest. Also there were various other strange things like homes having "private" access to the beach so people running from the fire were trapped and unable to run to the sea(!) Most of these houses did not have a permit to be built there but because of how the Greek government works (I mean in the previous 30+ years) they were able to stay their without any problems. They even had electric power, telephone etc even though they shouldnt since they had built in the forrest. Such things unfortunately exist in other places in Greece but nobody seems to care. This is more or less related to the sloppy nature of greeks and the governments here for like 40+ years.

Please notice that even if everythign worked perfect in the civil protection and even if there were no houses in these forrests, even then I'm not sure that the catastrophy could be averted. We've seen similar situation in much better organized countries than Greece. So there would still be much destruction (and probably dead people) but I think not at this scale.

Update: sorry my last sentence had the opposite meaning of what I wanted to say; it's been corrected now.

<comment><USER3> My wife is Greek, I'm Northern European and have lived in Greece for more than 10 years (on and off). This sounds similar to what I have observed except in my view it's even worse. Greece is a massively corrupt country, on all levels, starting from government/politics and culminating all the way down to day-to- day life.

The Greeks have a tendency to blame the politicians for everything that goes wrong but it's really the corrupt, disintegrating culture - that they are happy to espouse - that's most to blame. After all, who is voting these corrupt politicians into power year after year? Terms like "the common good", "strategic thinking", "planning for the future" , "unity" are not only completely meaningless to the average Greek but actively frowned upon if not ridiculed. Populism holds sway and people are happy to vote for whatever powermonger ends up promising the most in terms of personal gain. Add to that a vast, monstrously centralized civil sector (the bureaucracy and time wasting here is of epic proportions) and one can quickly see why the country is in shambles. Of all the European countries I've lived in, I'd say that Italy is the most similar, corruption-wise.

Something funny: Greece is, I think, the only country in the EU where the "Communist Party" (a direct appendage of the Stalinist era with ties to CCCP) has significant power and is voted into parliament every year. The previous prime minister Tsipras was in fact an offshoot of these hardened communists.

Nevertheless, the country itself, outside the big cities, is beautiful beyond belief. It's just too bad that the culture is so backwards with no sign of things changing for the better.

<comment><USER4> I am Greek, but have never lived in Greece. My understanding of the situation is exactly this in terms of what happens, but very different in terms of what the causes are.

Basically, Greek society is not a Western bureaucratic society; for lack of a better word, let's call it a _relationship society_. Some differences as I see them are:

(1) Relationship societies rely on you knowing someone who can help you. Bureaucracies rely on everyone knowing the rules, and civil servants complying with them.

(2) Relationship societies have an understood element of favor trading: someone you know in the office of agriculture helped you, so you help their nephew back with your position at the department of motor vehicles. Bureaucratic societies depend on this not happening in a measurable way, beyond someone being able to quickly tell you _which_ rules you need to apply.

Point (2) in particular is _indistinguishable_ from corruption from a Western bureaucratic standpoint. But it's important to note that it's a stable way to run a society. It may not result in certain things that Western bureaucracies value, but it doesn't mean the society is rotten.

My take on the issue with Greece is that it tried to enter a highly bureaucratic regime, the EU, without a viable plan to modify its culture. And so now we have an impedance mismatch. Everyone still works the old ways, because good luck changing a millenary culture. On the other hand, everyone _expects_ things to change, and gets upset with they don't. Not least of all more bureaucratic EU countries.

I don't know how accurate this model is. But it has the advantage that it doesn't separate Greeks into a weirdly incapable people that cannot coordinate or plan ahead. Prisoners of our own culture, yes, but so is everyone. Unable to operate on the plane set by Western European bureaucracy, undoubtedly (irrespective of whether we want to consider the plane a higher or a lower plane). But ultimately, it's a complicated thing to fix, because both cultures are stable, but going from one to the other requires remarkable activation energy (to further mix metaphors).

<comment><USER2> Your explanation has some basis. Actually this "relationship society" you mention is common in the middle east (Turkey, Egypt, Syria etc).

The fact that Greece was under Turkish occupation for ~ 400 years (until 1830) probably has something to do with our culture not being close to Western bureocratic .

<comment><USER5> What are you talking about? That's even worst excuse than blaming Romans for conquering Greece 2000 years ago. Greece had some great opportunities since the 60s but they never settled down some things up. Half of Greeks were spending fortunes at night clubs and bars. If you said anything about saving money back then they would probably laugh at you. Have you ever met a real Greek?

<comment><USER2> Well I consider my self a "real" Greek (being Greek and having lived here all my 37 years of life).

I'm not giving excuses to why Greece has come to this state; this is a very long discussion but I don't think that the Greeks are the only one to blame.

Yes some of the things you mention are true but what's the cause of this? I mean why would an average Greek buy a Mercedes to show-off instead of invest these money to his business as western EU people would do? That's what I tried to (I guess very naively explain): This is a culture thing; it seems that the Greeks have a different mentality than the western Europeans, a mentality that is closer to the Middle Easterns.

<comment><USER5> You told you that? Buying a Mercedes and start flexing around considered a Turkish thing in Germany. North Europeans are mostly saving money essentially for buying a house and then start some other various investments.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER6> If anyone is doing some detailed modeling of European cities to determine survival strategies for residents (based on traffic routes, proximity to forests, availability of cellars, etc.) I would be interested to learn more about that. An outcome of that could be a categorization of blocks or buildings to guide residents in their choices during a wildfire.

</comment><comment><USER7> In case you were no aware of the news last year: [https://en.wikipedia.org/wiki/2018_Attica_wildfires](https://en.wikipedia.org/wiki/2018_Attica_wildfires)

A greek tv documentary 10 months later: [https://www.youtube.com/watch?v=GNLUNFerCOI](https://www.youtube.com/watch?v=GNLUNFerCOI)

<comment><USER2> Please notice that this documentary is a little controversial in Greece. It was produced by an anti-government TV station and was aired a little before the EU elections (and 1 month before the government elections which actually resulted in the change of the governing party in greece).

Most of the facts presented should be right but they have a dash of anti- government propaganda so watch it with a critical eye.

</comment></comment><comment><USER5> I'm from Greece. Here you can build anywhere you like without a permit or any kind of paperwork. Almost 2/3 of Greek cottages are illegal properties. Things went more crazy since the solar panel boom cause electricity was the main reason that people were building the legal way and not like igloos. I know a couple of people from my family and friends that were getting electricity using cables from the neighbors and paying them every month but that's another story. What's the most disturbing of all is that few years ago government decided to legalize those properties just by paying a fee. In other words, they tried to legalize properties in the middle of the jungle that haven't been engineered in any aspect.

</comment><comment><USER8> I have no experience with wildfires, having lived all my life in an urban environment where concrete and asphalt are everywhere. However, during large fires last year that were in the news, I did some digging on the subject.

Seems that there are a few simple things that one can be done to one's house and property to reduce the risk of a house going up:

* [https://www.youtube.com/watch?v=pfbEcMeYFFA](https://www.youtube.com/watch?v=pfbEcMeYFFA)

* [https://www.youtube.com/watch?v=vL_syp1ZScM](https://www.youtube.com/watch?v=vL_syp1ZScM)

* [https://www.nfpa.org/Public-Education/By-topic/Wildfire/Prep...](https://www.nfpa.org/Public-Education/By-topic/Wildfire/Preparing-homes-for-wildfire)

* [https://www.nfpa.org/Public-Education/By-topic/Wildfire](https://www.nfpa.org/Public-Education/By-topic/Wildfire)

By eliminating the kindling that's with-in 2m of one's house, and reducing/removing fuel sources that are with-in 10m (ideally 30m), then the home survival rate seems to go up dramatically.

Can anyone in a wildfire area comment on the practically of these recommendations?

<comment><USER9> One thing that isn't being discussed here is that if your neighbors don't do this, you'll be the only home left on the block. That's a bit depressing, to live deserted next to a bunch of burnt down homes. You can sell the house and move, but being in a burnt down neighborhood will definitely kill the value of your home, so you're losing a lot of money regardless.

<comment><USER8> A burnt down house probably has a value of $0 (notwithstanding land value), but a standing home--even in ravaged area--probably has a value >$0.

Unless you're banking on insurance buyout, something is better than nothing in most cases. There's also the trauma of all your possessions turning to ash: coming home to a still-standing home may be a bit less stressful than coming home to ruins, even after the strain of an evacuation.</comment></comment></comment>


Tell HN: Chess.com is broken - <AUTHOR> For the 2nd time I've been banned from chess.com, without any explanation whatsoever. My only guess is that I played "too good," someone reported me for "faul play", and that that person decided I'm a cheating bastard.
Some background info: I started playing chess as an 8 year old, mostly because it was the only game available on my father's computer at the time. I learned all the openings and what not, brute force mind you, and always had a "feel" for chess.
Speed forward, I play chess FIDE, but lack of interest places me on only 1400-ish. Friends of mine starts to play it on chess.com, I join in, and I quickly outperform them, and I start to play others.
This is where chess.com decides to just ban me. They ask for my FIDE credentials, so I take a copy, send it to them, and they re-open my account. Two years later, they close my (paid) account, no reason given.
I have _never_ used chess.com for monetary reasons, nor will I. It was always just for fun. <comment><USER2> It absolutely sucks when that happens. Something similar at age 10 (4th grade) when a teacher accused me of cheating because the handwriting was that of an adult, and it was "obviously" my parents who did my homework. I tried to convince her by proposing to get a pen to write something right there. She wanted to see them nonetheless. They came and explained the situation.

It also happened in college because the lab reports were too good and "obviously" plagiarized, or the grade was too good for someone who never attended. They'd literally "normalize" my grades, but by that time I felt more contempt than outrage towards education and academia, which have been torture since day 1.

</comment><comment><USER3> Lichess? Sounds like the smart next move</comment>


Missouri council member chooses Dr.Seuss over the bible for swearing-in ceremony - <AUTHOR> https://deadstate.org/47920-2fbrefreshforce/ <comment><USER2> If (s)he does that, (s)he is required by law to speak every sentence thereafter in rhyme.</comment>


Show HN: Signata RC2 – The Software Keys Update - timothy-quinn https://signata.net <comment> timothy-quinn We just pushed RC2 out to let you try our product straight away without YubiKeys: [https://signata.net](https://signata.net)

There's more detail about the release here: [https://medium.com/@congruent_tim/signata-release- candidate-...](https://medium.com/@congruent_tim/signata-release- candidate-2-the-software-keys-edition-38e33234c2a8)</comment>


Too soon to tell if it's the beginning of the end for the Mac - <AUTHOR> http://www.washingtonpost.com/business/technology/too-soon-to-tell-if-its-the-beginning-of-the-end-for-the-mac/2013/01/25/227b15be-66a8-11e2-889b-f23c246aa446_story.html?hpid=z9

<comment><USER2> Speaking from a shop which is heavy Mac, we were at our wit's end with Apple last quarter. For the first time that I can remember, and certainly the first time in my company's history, we _could not by a new iMac if we wanted to._ And we _dearly_ wanted to. We snapped up any refurbs we could, and that channel quickly dried up as well. So for us, at least, we were forced to push sales of new machines into the next quarter.

Seriously, what company does this? Cancel one product line, _months_ before the replacement is available. It staggers the mind. Release after release we could always get the current model until the new one was ready.

In our local market at least, the demand for the new iMacs was so huge that it is only just now recovering from the supply shortage. Custom builds are still 2-3 weeks out - which we need if we want a machine with 16GB. So I am forced to purchase 8Gb models to meet our demand, knowing full well that they cannot be upgraded without voiding the warranty, and without a great deal of labor and the risk of shattering the front panel glass.

<comment><USER3> In my experience, you always have to purchase a few spare macs every time you refresh (be it iMac or MacBook Pro or Mac mini) because any nontrivial servicing will take at least a week.

<comment><USER2> Yes. Did that. But they were out for over 2 months. We used up our spares, and couldn't get new ones.

</comment></comment></comment><comment><USER4> That is a terrible, terrible headline. Prediction without commitment. They might as well write "We have absolutely no idea where the Mac is going."

<comment><USER5> It's too soon to tell if "Too soon to tell if..." is the classy way of saying "I know the following statement will be linkbait but I don't care."

</comment></comment><comment><USER6> Crap article. The reason Mac has lower sale volume last quarter is Apple ended the iMac sales for more than a month while waiting for the current iMac model to launch. It blew my mind that only Apple can afford to terminate one hot selling product line for so many weeks.

</comment><comment><USER7> I'll tell you this: It's not too soon to tell if it's the beginning of the end for the Washington Post. Their main reason reason for existence to cover Washington is being taken over by the likes of Politico. They have a good brand, but that's not enough if they want to survive.

</comment><comment><USER8> I don't know about the US but around here (eastern Canada), in December and early January, there were no Macs available in stores anywhere except for some models of laptop, they were still expecting the new ones.

</comment><comment><USER9> Macs have always had pretty good longevity, and that's been even more true for the ones produced in recent years. I usually get 5-6 years out of Mac, and even then can usually sell it for not too bad a price to someone who will surely get several more years out of it.

I would say that the likelihood that most of the growth in the Mac line in recent years has been "switchers"; now they're all enjoying a computer that can actually last you 10 years potentially, so sales of course will stagnate.

<comment><USER10> "and even then can usually sell it for not too bad a price to someone who will surely get several more years out of it."

This was one of my deciding factors of jumping in and getting my first Apple computer (MBP Pro). The fact that the sticker price is so high is countered, in my eyes, by the fact that I could sell and get a decent amount of my money back. Although, I've had the laptop for about a month and I don't think I'll be selling any time soon. I would miss it too much.

<comment><USER11> For years now I have been buying refurb (from Apple) and used (Craigslist) MacBooks and MacBook Pros for my wife and kids. There are some great deals to be found. We take good care of our stuff and always get a nice resale value when it's time to replace one.

</comment></comment></comment><comment><USER12> Might this be partly because there are huge numbers of Mac using professionals who are holding off until the Mac Pro refresh later this year?

If the ipad is cannibalising consumer sales and new products such as the iMac with non-upgradable RAM are not appealing to the top end.

<comment><USER13> I also believe that the giant marketing push for making Macs trendy is dying out. They are accepted as mainstream computing platforms now.

Maybe it's just my location or demographic (I am a college student now), but I, honest-to-god, never saw a single Mac in person my entire life until I was 14 years old (this is about when the "I'm a mac, I'm a PC" ads started playing).

Now that the message has been propagated, the surge is dying down.

</comment></comment><comment><USER3> Washington Post tech coverage is about as sensationalist as Forbes, and that's saying something.

</comment><comment><USER14> Apple seems to forget people still have to develop all those iOS apps. Their mac lineup has been horrendously badly suited for devs. I feel like the Mac Pro and MacBook Pro 17 are regrettable casualties to their disinterest in the market.

<comment><USER15> I really don't see why a MacPro or Macbook Pro 17 are in the least bit necessary for iOS development. Developing iOS apps really doesn't require that much power, just screen real estate if you are using Interface Builder. For iOS development, the 27" iMac or any one of the Macbook Pros or Airs paired with a 27" Thunderbolt display are more than adequate for the job.

FWIW I just sold my Macbook Pro 17 inch after my new job gave me a 13" Air. After using the Air, I can't even imagine lugging around 17" anymore. The convenience of the Air paired with a large external display when necessary is perfect.

The only professionals that have a legitimate complaint about the MacPros and Macbook Pro 17 are those doing a lot of intensive video and audio work.

<comment><USER16> Well, xcode is such a memory hog that an air is impractical. With 4gb of ram, xcode runs so poorly its not worth it. With 8gb or ram, you can BARELY run xcode, don't bother have anything else open. 16gb is optimal.

I agree that MacPro or MB17 are overkill. A smaller macbook pro or mac mini with an external are good. A basic mac mini is most cost effective for only $550, plus $100 for 16gb. When my macbook pro died, I bought a mac mini and I'm very happy with it.

</comment></comment></comment><comment><USER17> However, it's quite obvious by now that the KaplanCo birdcage-liner is well past its sell-by date.

</comment><comment><USER18> Walking around campus I still see an endless sea of Apple products, though it's more of a fashion accessory now.

I am a pariah with my IBM Thinkpad running openbsd. When I spot the other heathens using Thinkpads we nod at each other like it's some underground secret club.

As for tablets the new google nexus tablets will be in the $99-150 range and you can manipulate the source to custom build whatever you want.</comment>


One Reason That MIT Should Reinstate Scheme and 6.001 (2009) - <AUTHOR> https://dekudekuplex.wordpress.com/2009/08/19/how-scheme-can-train-the-mind-one-reason-that-mit-should-reinstate-scheme-and-6-001/ <comment><USER2> There are actually more than one reason. I know at least two.

1\. The classic Scheme based courses used to bootstrap an OO-DSL embedded in Scheme based on procedures and message-passing (you literally send a symbol by calling the object, which is a lambda, of course with an argument and get back a closure to run - a method). This is an invaluable experience to realize that there is absolutely nothing special about OOP and there is no magic.

2\. There are still some gems (which leads to very real a-ha moments!) which cannot be taught in other languages. Here is one:

        (define partially (lambda (f . as)
                            (lambda xs
                              (apply f (append as xs)))))

and then

        (define reverse (partially foldl (flip cons) '()))

</comment><comment><USER3> It's been over 10 years now. Is there a good post-mortem on the outcome of the switch away from 6.001 and Scheme?

</comment><comment><USER4> > I feel that MIT is risking creating a new generation of idiots by getting > rid of Scheme and SICP from their curriculum This is a confused rant about > grammar. Scheme isn't the only language with grammar. Students should learn > formal grammatical structure in English language class in high school, not > programming class in college.

<comment><USER5> > Students should learn formal grammatical structure in English language class > in high school, not programming class in college.

… but they don't. (There are also people—I'm among them—who found discussions of natural-language grammar dull, as belabouring too much a familiar point, until they saw the power that grammatical tools lent in the less familiar setting of formal specifications.)

</comment></comment><comment><USER6> This seems to be less about Scheme and more about the author wanting to tell a cool story.

<comment><USER7> That is a true statement for the majority of rants in computer science.

</comment></comment><comment><USER8> I have observed the following in computer science departments.

1\. They need students to justify their funding. If students stop taking their courses, they get funding decreases.

2\. There are a lot of people that love SICP, and believe it should be the foundation for all computer science curriculum.

3\. People pretty much agree it's important for computer science graduates, but the question is, should it be the first course? Are the concepts too hard, too soon? Does it weed too many students out too soon?

4\. The industry at large is unconvinced about the benefits of Lisp dialects. They see high productivity gains with Java/C/C++/Python. And many students question why should they learn a language that doesn't advance their careers.

<comment><USER9> 1\. MIT has maybe 5% of funding from tuition. Students are clamoring to go there.

2\. True

3\. All data seems to suggest showing kids complex problems leads to more learning. "Too hard, too soon" isn't really a rational argument. At MIT it didn't really weed out students either; kids did okay.

4\. Nope, nope, and nope. Of those languages, only Python has high productivity. C/C++ is obsolete for anything other than systems programming. The selling point of Java are cheap, interchangeable programmers with a standardized skill set. Small, elite shops do Lisp. But that's not the point. A freshman course isn't designed to be vocational career training, but to give fundamentals. MIT students learned other languages (including Java) in their degree paths as well. This was a freshman course.

<comment><USER8> > 3\. All data seems to suggest showing kids complex problems leads to more > learning. "Too hard, too soon" isn't really a rational argument. At MIT it > didn't really weed out students either; kids did okay.

Sure it is. When you teach swimming, you don't throw beginning swimmers in the deep end of the pool and tell them, "A challenge is good for you." And in the example I gave of quantum mechanics, even MIT requires previous physics prerequisites.

> 4\. Nope, nope, and nope. Of those languages, only Python has high > productivity. C/C++ is obsolete for anything other than systems programming. > The selling point of Java are cheap, interchangeable programmers with a > standardized skill set.

May I refer you to the TIOBE index of programming language usage? [1] The answer is Java, C, C++, and Python in that order, and by a large margin.

[1] [https://www.tiobe.com/tiobe-index/](https://www.tiobe.com/tiobe-index/)

<comment><USER9> 3\. We don't throw people in the deep end of the pool, but that has a lot more to do with not wanting people to drown than with what's best for learning. And regarding MIT, it's hardly an example of a school where faculty either know learning science or particularly care.

4\. You may refer me, but popularity is quite different from productivity. Most C/C++ is maintaining legacy code. Most Java is either from legacy code, or from environments where productivity isn't a key metric.

I don't say that cynically; productivity is a key metric in startups trying to disrupt the world. In older, slower-moving organizations, a lot of metrics are more important than productivity. If I'm maintaining a system for a bank which handles employee payroll, productivity is likely not even in the top 10 things I'd look for. On the other hand, if an IT employee quits, being able to replace them easily (without assuming a Google-grade interview process or salary) and have someone else be able to take over (without extensive training+documentation processes in place) is really important.

</comment></comment></comment></comment><comment><USER10> I think the compsci departments need a new course titled something like "Reading Code" where one learns to read any code fast and efficiently like they would a newspaper article or novel. Now that would be useful.

<comment><USER11> Can that be taught in a classroom? There are various strategies and tricks one can use, but I think it's better to learn that skill "in the field" than out of a textbook.

<comment><USER12> It'd be interesting to see a course where you're given a large open-source project (say, Chromium or Linux or Postgres) and your task is to make & submit a small change in the codebase to implement some plain-language user request. The instructor would then walk you through how to download the project, read developer documentation, and build it; how to identify the relevant portion of the codebase, and everything else that your change might affect; how to match coding style & conventions; how to run tests; and how to submit a patch to the maintainers in a way that is likely to get accepted. Reading code is a real skillset, and being able to quickly grok & modify an unfamiliar codebase is a huge leg up in many jobs. Bonus points if the homework assignments for this course are real bug reports, so you end up contributing to open source for class credit.

<comment><USER13> One might argue that sounds like software engineering, and that's mostly a separate activity from both programming and from computer science. Of course they overlap.

<comment><USER14> However, I assert that something like 95% of computer science graduates are actually going to work as software engineers, not as computer scientists. So actually _teaching_ some of that would not be amiss...

</comment></comment></comment></comment></comment><comment><USER15> A cool story no doubt, and this is a blog post, so the author should write whatever they please. But as someone who likes Lisp and genuinely does believe Lisp-family languages have underappreciated and incredibly powerful benefits, I was dismayed to see them leap to the conclusion that it was grappling with s-expressions that allowed him to solve this problem so well. Non sequitur, navel gazey paeans to Lisp are among the reasons why people have so much trouble taking the wild claims Lispers make seriously.

<comment><USER16> What benefit you think is underappreciated? It's a subjective point of view, but my experience is the contrary: that of Lisp-family languages being hyped to exhaustion.

<comment><USER17> The benefits of macros and code as data is under appreciated. It allows you to remove boilerplate code, and simplify your thought process, which makes for easier to read code. For example, in Clojure you can use macros to make a mini language that converts to HMTL at compile time:

      (defn index []
        (html5
          [:html
           [:head]
           [:body "the index-page"]]))

Or similarly create your route handler on the back end that will serve up your pages:

      (defroutes app-routes
        (GET "/" [] (index))
        (route/resources "/")
        ; if page is not found
        (route/not-found "Page not found"))

Note how concise the language becomes, and this code will expand out to all of the necessary opening and closing tags or boiler plate code that makes your code safe and efficient. None of these syntax structures were previously in the language, they are instead created when needed for abstraction.

<comment><USER14> It seems to me that, if you were to write that in Java, these would just be regular functions returning arrays of Strings or something similar. There would be a similar shortening of the source code. (It still wouldn't be as short, of course, but the same shortening would take place.)

Am I missing something? What's the special macro-ness here that is different from regular functions?

<comment><USER17> Another key point is that most if not all of the replacements are done at compile time, therefore the final code only makes minimal function calls.

</comment></comment></comment></comment></comment><comment><USER18> > the Scheme programming language, in particular, can help in training non- > programmers to think structurally in analyzing expressions in natural > language

Well if your making a course for non-programmers maybe.. I should think they would want to do the opposite

</comment><comment><USER19> TLDR: _Perhaps MIT should reinstate Scheme and 6.001, and get rid of Python and the new C1. Somehow I feel that MIT is risking creating a new generation of idiots by getting rid of Scheme and SICP from their curriculum just for the ostensible reason that the recursive style of programming does not reflect the way that programming is actually conducted in industry. Students do not learn programming just to program; learning programming also has important ramifications for the structural thought processes underlying other technical fields, even those that do not seem superficially related (such as patent translation), and it seems that watering down a core programming course for such ostensible reasons undermines the crucial patterns of thinking which are cross-applicable to such other technical fields as well._

I wonder if Richard Stallman would have invented recursive copyleft law if he had never programmed in a lisp/scheme.

</comment><comment><USER20> Whatever, MIT dropping lisp looks unbelievably weird.

</comment><comment><USER21> 2009

<comment><USER22> Didn't notice the date, thanks for the reminder</comment></comment>


Hyperloop De-hyped - <AUTHOR> http://ti.org/antiplanner/?p=8186#more-8186

<comment><AUTHOR> I don't agree with this guy's analysis.

1) The problem with aviation for routes like SFO-LAX is _not_ the TSA (which could be solved), but airport capacity. Without huge capital upgrades (which are infeasible, and would be well more than $10b per airport due to surroundings), you can't really handle more planes. It makes more sense to use SFO slots to fly to NRT than to LAX. You use smaller planes for SFO-LAX than you do for SFO-NRT, too (although I guess you could use something like those crazy high-capacity Japanese 747s, maybe with turboprops...)

2) On the SF side, there's a reasonably well developed infrastructure of public transit to tie in.

3) Hell yes I'd drive or BART/Caltrain from San Jose up to SF to take a 35 minute TSA-free ground level trip from SF to LA. If I could do SF to Las Vegas in 55 minutes with a 5 minute layover, I'd be even happier. The alternatives are a 5-7 hour drive in my own car, or an equivalent ground travel to an airport, pain with TSA, flight.

4) There are specific routes (downtown SF to LA, LA to Las Vegas) where there really are essentially huge volumes of people who want to swap location frequently. This doesn't replace _all air travel_ , it just replaces those routes.</comment>


Kids surrounded by greenery may grow up to be happier adults - <AUTHOR> https://www.fastcompany.com/90313598/kids-surrounded-by-greenery-may-grow-up-to-be-happier-adults <comment><USER2> Correlation is not causation

<comment><USER3> ...but causes do have effects.

<comment><USER2> That would be causation, yes.

</comment></comment></comment><comment><USER4> And they may not.</comment>


How Paradise became a deathtrap - <AUTHOR> https://www.latimes.com/local/california/la-me-camp-fire-deathtrap-20181230-story.html <comment><USER2> Great article and not behind a paywall, I'm impressed.</comment>


Show HN: A command line Facebook messenger - <AUTHOR> https://github.com/Alex-Rose/fb-messenger-cli <comment><USER2> Really cool concept! It would be awesome to put a little gif in the readme of what the interaction is like. Maybe you could use something like [https://asciinema.org](https://asciinema.org) to record your terminal session?</comment>


Ask HN: Which superpower would you choose, invisibility or flight? - <AUTHOR>

Last week's episode of This American Life was a rebroadcast of one from 2001, titled "Superpowers". A link to that episode can be found here: http://www.thisamericanlife.org/radio-archives/episode/178/superpowers
Act One (starts around 06:18) poses the question of which is better: the power of flight or the power of invisibility? The question has been stuck in my head for the whole week, and I've been debating the answer with myself constantly. It's a fun thought experiment, and I think it would be interesting to see the reactions and reasonings of fellow HNers.
<comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment>--
Here is the scenario, as presented in the podcast by John Hodgman: "Flight versus invisibility. This question is only for you. Whichever you pick, you'll be the only person in the world to have that particular superpower. You can't have both. Which do you choose?"
When choosing your superpower, assume the following:
(1) Invisibility means the power to become transparent at will, including your clothing, but anything you may pick up is visible. (2) Flight means the power to fly at any altitude within the earth's atmosphere at speeds up to 1000 MPH.
Why did you choose your superpower? What would you do with it? Would you use it for good or evil, or both? </comment><comment><AUTHOR> I would choose invisibility, because I believe it offers more chances for good, evil, privacy, and just plain fun. I would want to keep my invisibility as big of a secret as possible; I wouldn't want to be known for my power, so I'd have to be careful when going into and out of invisibility.

Here's some example scenarios I thought up:

Fun:

\- Messing with people's minds (which some may consider evil). For example, making them think their house is haunted. Slam doors, move furniture, flip switches, unplug stuff, etc.

\- Instigate confrontations (may also be considered evil). Make someone think they shoved them, hit them, etc.

\- Going into restricted areas just to see what's there.

\- Listening to what people have to say about me when I'm not there (may end up being depressing...)

\- People-watching for hours without looking creepy or suspicious

\- Just doing normal things while invisible. See people's reactions while you drive a car, ride a bike, etc., while invisible. Doing that too often may draw too much attention to myself, though.

Good:

\- Infiltrating terrorist cells; I'd be able to gain information relatively safely, maybe find Osama?

\- Security. I can scream and throw shit to scare the hell out of people from stealing stuff.

\- Crime-fighting. This is a toughie to imagine scenarios where an invisible man would stop crime, especially if you want to remain unknown. News reports about an invisible person fighting crime would definitely not be something I'm looking for. I'd probably have to learn some martial arts so I can actually kick some ass, and bulk up some. And it's not like you can dodge bullets; if criminals caught on and were aware of your presence, they would just pray-and- spray all over the place, and you'd be sure to get hit at some point. If the criminals aren't armed with firearms, then it could be easier.

Evil:

\- Stealing stuff. Assuming that if I'm able to fit an object into my pocket or under a shirt/jacket, it will become invisibile, then it's fair game.

\- Infiltrating governments, agencies, etc. for classified information. Maybe it will be considered good if I give the information to Wikileaks? :P

\- Murder, or any extreme crimes. Any eyewitnesses would be completely baffled.

Miscellaneous thoughts:

\- Useful for if you are trying to avoid someone, or conversely, if someone is trying to avoid you.

\- If you've ever wanted to just disappear from the world for a little bit, you got it!

\- I'd assume that while invisible, you don't just pass through someone or something, you still have to walk around it. So it would be annoying to constantly avoid people and objects while you walk around, especially if you're trying to be secretive about your power, or not alert people to your presence. No chance for clumsiness!

\- It's always best to have a complimentary power, like super-strength. Just one superpower doesn't always cut it, especially for fighting crime.

That's all I'll put, it's getting too long.

</comment><comment><USER3> Flight, because it'd be fun.

I fear there's more practical aspects to invisibility though. Flying _while_ invisible would be the best of both worlds, from a 'getting stuff done' (good or evil) standpoint, but your experiment says we can't have both.

The first poster here illustrated many of the pros of invisibility already - <USER2> won't repeat them all.

But I'd probably still prefer to fly, at least for a bit.</comment>


Ask HN: Is the Google OS announcement merely a reaction to Bing? - <AUTHOR>

<comment><USER2> Do you mean the idea of creating their own OS? Or the timing of the announcement itself?

Obviously they've been working on this for at least some time now if they are releasing the code in a few months.

<comment><AUTHOR> Both. Microsoft has always stated they were interested in getting into the search business, so there is no surprise there. The fact that they've released something that is actually good may have spurred Google to make their announcement before having something to actually demonstrate.

I would imagine (as most have) that they are releasing some sort of Google- centric Linux distribution. This would make sense as it doesn't take long to roll your own if you know what you are doing (and I'm pretty sure Google knows how to do this).

<comment><USER2> From google's blog post I'm under the impression that while based on a linux kernel it will have very little actual code from linux. It sounds like they are writing their own version of X with a minimalistic window manager.

I very much like the look of the chrome browser so I'm looking forward to checking this out. Specially since I'm one of those that doesn't do much on his home machine besides web based stuff.

</comment></comment></comment><comment><USER3> According to Robert Scoble, this may be a preemtive strike by Google since Microsoft has something to announce on Monday.

<http://ff.im/4WvjM>

<comment><USER2> I thought it was common knowledge that microsoft is announcing the RTM sign- off on Monday 7-13-2009. This has been known for a while.

WZor.net has more information but they should be choosing which candidate build is the RTM shortly, and then an officially announcement will come Monday.

</comment></comment><comment><USER4> I don't think so. What they've said about Google OS is completely consistent with the rest of their stated philosophies. In any case, there's already way too much speculation going on about it.

</comment><comment><USER5> No, it is apples to oranges. If they feel like reacting to Bing, it will be a more direct approach, such as adding realtime results to Google searches.</comment>


Did Amway Create the Gig Economy? - <AUTHOR> https://theawl.com/did-amway-create-the-gig-economy-3a0fc916b847 <comment><USER2> Tupperware had as much a "gig economy" model as Amway more than a decade before Amway even existed.</comment>


IronTcl: Digitally signed, commercial binary distribution of Tcl/Tk for Windows - <AUTHOR> https://www.irontcl.com/ <comment><AUTHOR> Submitter here, willing to answer any questions people may have.</comment>


Hangover Cure Successfully Tested on Drunk Subjects in Finland - <AUTHOR> https://www.bloombergquint.com/onweb/hangover-cure-successfully-tested-on-drunk-subjects-in-finland <comment><USER2> We have so many hangover "cures" in Korea and I can honestly, but very unscientifically, say they work ridiculously well. There is one I always take when I drink and no matter how much I drink I feel fantastic the next day (it's actually really odd how well they work and I've always wondered why they are not more mainstream).

[https://www.vice.com/en_us/article/qbxazm/inside-koreas- boom...](https://www.vice.com/en_us/article/qbxazm/inside-koreas-booming-anti- hangover-industry)

</comment><comment><USER3> As a former casual drinker, I found drinking water alongside any other drink completely makes me forget I ever drank the night before. Hydration does wonders for me.</comment>