Streams in Java 8  - bra-ket http://download.java.net/jdk8/docs/api/java/util/stream/package-summary.html <comment><USER2> While lambdas and streams (along with default methods, or traits) are certainly the most important features of Java 8, I'm particularly interested in the pluggable type systems[1].

These are pluggable, orthogonal (intersection?) types, that can even be introduced or inferred for code that has already been compiled without them. I'm not a type systems expert by any means, but I haven't seen anything like it in any other language, certainly not a mainstream one.

There are currently Java 8 type systems for nullability, immutability and more.

[1]: [http://types.cs.washington.edu/checker- framework/](http://types.cs.washington.edu/checker-framework/)

</comment><comment><USER3>
        sorted(Comparator<? super T> comparator)

Eurgh. Why isn't this a projection to a comparable type (or better, a projection to a tuple of comparable types, for use with lexicographical ordering)?

Say you have class Country { int population; int name; }. You want the names of the top 3 countries by population:

        countries.orderByDesc(x -> x.population).limit(3).map(x -> x.name)

But instead, you must do something like:

        countries.sorted((x, y) -> Integer.compare(y.population, x.population).limit(3).map(x -> x.name)

It gets much uglier when you want a lexicographical ordering by several attributes.

<comment><USER4> Java's Comparator type is more general (you don't necessarily need to project the type for comparison) and an existing abstraction. It's not hard to introduce a combinator to transform the representation as a library, as in:

        countries.sorted(by(x -> x.population)).limit(3).map(x -> x.name)

where `by` looks something like:

        <S, T> Comparator<T> by(Projection<S, T> projection);

        interface Projection<S, T> {
           Comparable<S> project(T value);
        }

<comment><USER3> Sure; and you'd have to import the thing that contains 'by'.

It's still ugly, and would prevent e.g. a radix sort being used when projecting an integer as the sort key, or American flag sort for strings.

</comment></comment></comment><comment><USER5> > _However, there are good reasons to prefer a reduce operation over a > mutative accumulation such as the above. Not only is a reduction "more > abstract" \-- it operates on the stream as a whole rather than individual > elements -- but a properly constructed reduce operation is inherently > parallelizable, so long as the function(s) used to process the elements are > associative and stateless._

I've read this kind of thing everywhere, but is there any language/runtime/compiler that DOES DO this, or is it mostly a case of "an adequately advanced compiler" syndrome?

Especially for examples as the simple accumulation (addition) above, it seems especially difficult for the runtime to judge how to break down, what the parallelization overhead would be etc.

<comment><USER6> If I haven't misunderstood you, Clojure does: [http://clojure.com/blog/2012/05/08/reducers-a-library-and- mo...](http://clojure.com/blog/2012/05/08/reducers-a-library-and-model-for- collection-processing.html)

Also, this talk that I found on HN some time ago explains some of the gory details behind the idea: [http://vimeo.com/6624203](http://vimeo.com/6624203)

<comment><USER5> >* If I haven't misunderstood you, Clojure does*

Yes, that's an example of what I was talking about, and I know you can also do it with Apple's Grand Central Dispatch API.

But is Clojure's stuff implicit or do you explicitly ask for the parallel thing to happen?

What I'm asking is essentially: sure, a reduce/map/filter/etc can potentially run in parallel. But does that ever happen automatically when using common API's for map/reduce/etc, or do you have to explicitly tell it to do so?

And if it happens automatically, how does the scheduller knows it's a good idea to run stuff in parallel? For some tasks the overhead might even make the time needed worse.

</comment></comment></comment><comment> bra-ket also [https://blog.codecentric.de/en/2013/10/java-8-first-steps- la...](https://blog.codecentric.de/en/2013/10/java-8-first-steps-lambdas- streams/)

<comment><USER7> Thank you.

</comment></comment><comment><USER8> This hurts my eyes, it doesn't look like Java, what would this look like in Java:

         int sum = widgets.stream()
                          .filter(b -> b.getColor() == RED)
                          .mapToInt(b -> b.getWeight())
                          .sum();

<comment><USER9>
        List<Widget> filtered = filter(widgets, new Filter<Widget>() {
            @Override public boolean keep(Widget w) {
                return w.getColor() == RED;
            }
        });

        List<Integer> weights = mapToInt(filtered, new Mapper<Widget, Integer>() {
            @Override public Integer map(Widget w) {
                return w.getWeight();
            }
        });

        int sum = sum(weights);

<comment><USER10> Seems too short. Maybe you could split it into 5 files? You don't even have a factory. Much less a factory factory. This code will never cut it in the _enterprise_ world.

<comment><USER8> It turns out there's a good blog article that explains why the less enterprisey way is better since it remove the iteration loop of the collection and lets the computer [figure out how to express the sum of weights of the red objects in a collection of blocks]:

[http://blog.hartveld.com/2013/03/jdk-8-33-stream- api.html](http://blog.hartveld.com/2013/03/jdk-8-33-stream-api.html)

I've been around too long to trust the computer to figure out how best to do something. If I'm wrong then Java 8 leads the way to the end of programmers, similar to how robotics mostly ended how cars were manufactured.

</comment></comment></comment></comment><comment><USER11> The one feature that Python has that regularly makes me jealous when I'm using other languages is the generator / iterator mechanism. It's possible to write code that is composable and modular in a functional way, and automatically scales to massive data with minimal memory use because the streaming mechanism is built in to the language at the ground level. I _hope_ this is bringing the same to Java for real and that this is not just syntactic sugar on top of regular collection operations.

<comment><USER12> From the docs: »•Possibly unbounded. While collections have a finite size, streams need not. Short-circuiting operations such as limit(n) or findFirst() can allow computations on infinite streams to complete in finite time.»

So they can't just take collections here and pretend they're streams (but you can obtain streams from collections).

But nice to see that the days of writing explicit loops just to filter a collection in Java are over. That being said, I still like Python's or C#'s syntactic enhancements to write generators/IEnumerables. The Spliterator in Java doesn't sound as easy to use and seems more aimed at low-level library code instead of user code. In the latter case you'd probably just get the stream from a collection again instead of creating it yourself. (You can apparently base it on a normal iterator, though, but the docs warn about it having bad performance in parallel scenarios.)

</comment></comment><comment><USER13> This is really cool, that they are making parallelization easier but does anyone else feel like every time they add new syntax to java it becomes harder and harder to read?

<comment><USER14> It makes reading java more like reading lisp, which is a different way of thinking entirely. Personally I think it's a mistake to put functional programming into an OO language - it makes code harder to maintain as there are too many ways to do the same thing. C++ has become virtually unusable as a result of all the different languages they've mashed into it, and I'd hate to see java go down the same road.

<comment><USER15> _" C++ has become virtually unusable..."_

Geez, the C++ hate is unbelievable. I use it every day, and it's a _great_ language. No way is it "virtually unusable". Some of the criticisms are justified, but the way people carry on about it is just absolutely beyond overblown.

</comment></comment></comment><comment><USER16> Streams are among my favorite Java 8 additions.

More about the goodies in Java 8: [http://www.techempower.com/blog/2013/03/26/everything- about-...](http://www.techempower.com/blog/2013/03/26/everything-about- java-8/)

</comment><comment><USER17> I have been experimenting with lambdas and streams for several months - <AUTHOR> additions to the language.

The one thing that I really hope for a future release of Java is a better literal syntax for dealing with maps and JSON.

</comment><comment><USER10> Yay. They finally caught up to C# 6 years later.

[Edit: to the haters -- where am I wrong other than that I'm making fun of your favorite language?]

<comment><USER18> Stream<T>, IntStream, LongStream, DoubleStream?

You can't make this stuff up.

EDIT: what I'm trying to say is: why his remark is inflammatory and unnecessary, it's also wrong. This API is perhaps the single worse example of why java makes API's look worse than C#, and there is nothing to be done about it until the JVM stops erasing types.

<comment><USER2> Java's type erasure, while once considered a disadvantage, is now being recognized as one of the reasons other statically typed languages can be ported to the JVM. If Java reified types, it would make interoperability with other type systems extremely hard.

<comment><USER10> Yet somehow they made F# and scala run on the CLR. So: I'm calling bullshit.

<comment><USER19> F# team ask for modifications of the CLR (covariant delegates), porting a language on the CLR if you are not Microsoft is hard.

Scala never really run on the CLR, it's a vaporware, sorry a work in progress.

<comment><USER20> Yep, scala's .net back-end is discontinued, and one of the main challenges (I worked on it a bit) was indeed generating the proper generic signatures. (I hear people are using ikvm these days.)

</comment></comment></comment></comment></comment></comment><comment><USER21> So cool.

</comment><comment><USER22> Java has come a long way. Why not just merge with Scala?

<comment><USER2> Because Scala has a very different (I would say completely opposite) philosophy than Java. In a paper outlining Java philosophy[1], the _very first thing_ James Gosling has to say about the language is this: "It was not an academic research project studying programming languages: Doing language research was actively an antigoal."

When describing the design of language, again, the very first thing Gosling says is, "Java is a blue collar language. It's not PhD thesis material but a language for a job. Java feels very familiar to many different programmers because I had a very strong tendency to prefer things that had been used a lot over things that just sounded like a good idea."

So: no research, no PhD, only proven stuff and nothing new. Regardless of your opinion of Scala (I don't like it), I think it's not controversial to say that Scala is on the exact opposite side of the spectrum.

[1]: [http://dfjug.org/thefeelofjava.pdf](http://dfjug.org/thefeelofjava.pdf)

<comment><USER23> Except your argument is invalid because java has continued to add features and keywords to address its flaws.

It is moving towards scala, just at an incredibly slow rate.

<comment><USER2> But moving at an incredibly slow rate _is_ exactly what the Gosling document says: Java will only implement features that are familiar and proven, namely years after they've been introduced. Also, Java's philosophy says that no feature is to be adopted, no matter how nice, unless it solves a _very, very, very painful problem_. Many people, myself included, think it's a very wise stance for such a widely adopted language.

Scala is first and foremost a research language. It has some very good features and some terrible features. Also it is completely unopinionated. But that's how it's supposed to be: as a research language, its main goal is to figure out what works and what doesn't, so that mainstream languages years from now will know what works and what doesn't.

<comment><USER23> If java was taking things out as it added new things in, then we'd have a good debate on our hands. Alas, they don't seem to be taking this stance, and instead are adding in more and more (just slowly) without removing any of the cruft.

Despite reading your many "scala" rants on HN, I still don't know which features you think are 'terrible', just that you think there are some that confuse you and/or are allow you to something multiple ways (abstract classes vs. interfaces with concrete implementations say what???).

Care to actually articulate the 'terrible' features this time?

<comment><USER2> Java can't take stuff out, at least not anything major. Java's adoption is two or three orders of magnitude higher than most languages out there (except C/C++); you can't make so many millions of developers go back and change 10 or 15 year-old code. One of the reasons it's this popular is that it's consistently backwards compatible.

I don't want to be dragged into the Scala discussion again (after all, these are just opinions; I realize some people really like Scala, but for some reason, Scala people just find it hard to accept the very real fact that some people don't like it, and it's not because they haven't tried it or don't understand it).</comment></comment></comment></comment></comment></comment>


Pig brains kept alive outside body for hours after death - <AUTHOR> https://www.nature.com/articles/d41586-019-01216-4 <comment><USER2> Alive at the cellular level but no coherency to neural signals.

</comment><comment><USER3> This brings the concept of "brain in a vat" to a whole new level.</comment>


LinkedIn Says Most Overused Buzzwords Are... - <AUTHOR> http://www.businesswire.com/news/home/20101214005059/en/LinkedIn-Overused-Buzzwords-%E2%80%9CExtensive-Experience-Innovative-Motivated%E2%80%9D <comment><USER3> I love how the first sentence after the list, the quote from LinkedIn's Chief Data Scientist, is also 100% Buzzword Compliant: LinkedIn has a _unique ability_ that _reveal insights_ that _help professionals_ and much more.

If this is your kind of thing, check out Buzz Whack: <http://buzzwhack.com/> .

<comment><USER4> Come on, you're just paraphrasing. Here's the full quote:

 _"We have the unique ability to uncover interesting workplace trends in our data given the high volume of people with profiles on LinkedIn," said DJ Patil, LinkedIn's Chief Data Scientist. "In this case, we wanted to reveal insights that help professionals make better choices about how to position themselves online whether they are reaching out to new clients or networking with peers."_

<comment><USER3> I picked out some over-used words and phrases. For example, how many times have you been told by someone they have "unique abilities" and they "help professionals"? At least with LinkedIn you can believe it, but that doesn't mean the words aren't abused.

</comment></comment></comment><comment><USER5> There is nothing in the article that indicates anything about these phrases being "overused" - they are simply commonplace. If there was actual data connecting the use of these words with not being hired, we could say that these words should be avoided, but as it is, the whole page is pushing the unsupported assertion that popular words = overused.

That's like saying that the word 'the' is an overused buzzword in the English language and should be avoided in order to make yourself stand out from the crowd.

It looks like research design skills haven't quite caught up to the size of our data sets.

</comment><comment><USER6> I don't know what they're talking about... My CV currently:

I am an entrepreneurial team player that has a proven track record being an innovative problem-solver. I have extensive experience operating in dynamic and fast-paced environments where I am results-orientated and extremely motivated.

<comment><USER7> It reminds me the masterpiece "I am a Modern Man" by George Carlin -- <http://www.youtube.com/watch?v=hkCR-w3AYOE>

</comment></comment><comment><USER8> These 'findings' are as obviously vacuous as the words they bemoan. I really hope this was just an off-handed observation by Patil and not a serious attempt at inquiry.

From LinkedIn:

 _DJ Patil's Summary:

Diverse experiences in a wide range of domains. Strong experience in working in ambiguity to solve complex problems. Focus on strategy, development , operations, and defining unique solutions. Experience in developing unique solutions via broad partnerships. Always looking to innovate by bringing smart people together.

Excellent track record of innovating using data & machine learning to develop revenue generating products._

</comment><comment><USER9> My favorite is "problem solver", the ones who use it carelessly in their resumes are usually "problem creators" instead.

<comment><USER10> That is what I have always hated about any company that has the word "Solutions" in their name or tagline - or even list out what they do as solutions rather than products.

Solutions implies that you're solving a problem - yet I very rarely encounter any solutions oriented anything that can clearly and succinctly state the problem to which they are the solution.

</comment></comment><comment><USER11> PR Linkbait to get people to update their profiles - drives attention for LinkedIn, drives activity for their advertising. Buzzword problems with C.V's are not new at all. They needed all their data to figure out this?

<comment><USER10> Great observation. Lets come up with a new list of replacement buzz jargon;

1\. Extensive experience == Seasoned

2\. Innovative == Novel

3\. Motivated == Passionate

4\. Results-oriented == Outcome focused

5\. Dynamic == Malleable / Flexible

6\. Proven track record == Successful history

7\. Team player == Social

8\. Fast-paced == Quick witted

9\. Problem solver == Tinkerer

10\. Entrepreneurial == Boot-Strapper

<comment><USER12> What about "squamous" and "rugose"?

<comment><USER10> Those only apply if you are Joe Lieberman

</comment></comment></comment></comment><comment><USER13> I always found buzzwords to be both purposeful and innocuous at the same time. The effect seems to be to present the speaker as dynamic but at the same time not saying anything too controversial or that can easily be refuted in normal conversation.

I am sure there is a genuine motivation behind this form of speech - <USER2> linguists or psychologists care to shed any light on this ?

</comment><comment><USER14> It seems everyone is "Entrepreneurial" nowadays.

<comment><USER15> It seems like 95% of the folks claiming to be "Entrepreneurial" are also sitting in a farm of cubicles somewhere. Just saying, it has a completely different meaning to the person who left everything they have and moved to somewhere like the bay area or NYC with a few thousand bucks to follow his or her dreams.

<comment><USER16> Yes, because only people who have dropped everything and moved to NYC or SF are entrepreneurs.

In fact, that's the most pretentious thing I've read all day. There are MANY people who are entrepreneurs on the side while still supporting a family from their cubical farm. Not everyone can "leave everything" and sleep on a couch in SF like they're 20.

</comment></comment></comment><comment><USER17> I am shocked that "value" or "value add" didn't appear on this list. Everyday, I hear someone talk about how they "added value" or the need to be "value add" and each time I hear this I throw up in my mouth a little bit. It has gotten so out of hand that, for fun, I keep a sticky note on my desk and keep tally of how many buzzwords get used by my colleagues each day. Some fun facts from the sticky note:

Newest addition: "arrow in our quiver"

Most frequent sports analogy: "utility infielder"

Second most frequent sports analogy: to "tee up"

<comment><USER18> >> Most frequent sports analogy: "utility infielder"

That's funny. If I were using sports analogies about myself or something I was working on, I wouldn't use one that essentially means "bad hitter".

<comment><USER19> You are a pinch hitter. Better yet, a clutch hitter. You know, when the game is on the line, the chips are down, and the fat lady is about to sing.

The utility infielder is used for late inning defense to protect a lead. Versatile guy on to have on the bench, cheap and therefore hard to let go. Definitely not a rock star though.

</comment></comment></comment><comment><USER20> The same concept applies when applying for jobs.

Besides overusing cliche buzzwords (which is hard not to do), the biggest problem I see is that applicants send the same template response to all jobs postings. They ignore specific requests and details of the posting and simply apply in masse:

[http://www.customsoftwarebypreston.com/job-boards-resume- bla...](http://www.customsoftwarebypreston.com/job-boards-resume-blasts)

</comment><comment><USER21> I was fully expecting 'passionate' to be no.1

I pretty much stop taking people seriously after they drop the P-bomb

</comment><comment><USER22> the most I hate is "Visionary Entrepreneur"</comment>


Google buys android.me domain - <AUTHOR> http://www.pokmol.com/why-google-buys-android-me-domain/

<comment><USER2> From the screenshot:

        domain-last-transferred-date: 29-oct-2010

This is an old domain. They're just protecting themselves by keeping this around.

I'm surprised that they don't redirect from this site to android.com. It's also surprising that they don't own and redirect from android.org, android.net, and all the rest.

It would be a huge stretch to say that this has anything to do with an Android version of MobileMe.</comment>


How to Read in College - <AUTHOR> https://blogs.swarthmore.edu/burke/permanent-features-advice-on-academia/how-to-read-in-college/ <comment><USER2> The comments here remind me a little of Pierre Bayard's delightful(ly) postmodern monograph, _How to Talk about Books You Haven't Read_ [0].

It's an entertaining read.

[0] [http://www.amazon.com/Talk-About-Books-Havent-Read- ebook/dp/...](http://www.amazon.com/Talk-About-Books-Havent-Read- ebook/dp/B0049U444U/ref=tmm_kin_swatch_0?_encoding=UTF8&qid=&sr=)

</comment><comment><USER3> I don't really find his initial assertion correct at all:

> Professors assign more than you can possibly read in any normal fashion.

I took a chembio and CS bachelors degree at an expensive private institution and a software development masters at a large public institution and read all assigned reading quite easily. Actually, I'd usually read all the textbooks before the semester even started.

That said, I do find his speed reading methods useful. I'd usually speed read the book a couple times first before reading entirely through, and speed read the relevant chapter before any exam. If you only read the reading material once through, you are doing something wrong, since that isn't the way to memorize it.

<comment><USER4> > I don't really find his initial assertion correct at all

> any normal fashion

>Actually, I'd usually read all the textbooks before the semester even started.

Check your logic

<comment><USER5> He covered this:

> I'd usually speed read

<comment><USER4> Clarify the syllogism?

<comment><USER5> "I took a speed-reading course and read War and Peace in twenty minutes. It involves Russia." \- Woody Allen

</comment></comment></comment></comment></comment><comment><USER6> Good advice. I recently took the GRE exam (required for Grad School admissions in the US) and this article mirrors the advice almost all books (including the official guide) prescribe. When reading dense academic literature, you want to read actively and have an eye for detail, but at the same time, you don't want to get stuck on a particularly complicated sentence. You want to quickly gather up a few important things:

1\. Context

2\. Main Idea

3\. Tone

4\. Assumptions

5\. Implications

6\. Conclusion

7\. Intent of Author

</comment><comment><USER7> It wasn't till after I graduated that I started to realize the enormous volume of books arts majors had to read. And I don't understand why their information is presented in such an inconvenient format.

If the book is making an argument with a lot of discrete points and interconnections. Why isn't it a diagram or some kind of interactive hyperlinking thing? Why don't the individual points at least have a box around them so you can separate them visually from the other stuff without having to actually read it all?

Arts text books and essays just don't make sense to me. I can understand text format if it gives the reader motivation to understand that a soul-less diagram might not, but it sounds like most of this writing doesn't do that either. So I guess my question is, is this information really too complex to structure in an obvious way, or are the authors too lazy to design such a structure, or is it simply an ingrained culture that nobody can break free of?

<comment><USER8> Reading is a skill, like anything else. If you're good at it, there's nothing inconvenient about the format at all.

Consider that a command-line interface is an extremely inconvenient way for most people to use a computer but perfectly natural for others.

</comment></comment><comment><USER9> I can't tell if this is a prank.

A post on "How to Read in College" targeted at college age students who (paraphrased) _" can't possibly read everything assigned to them"_ goes over...3000 words without even an overview?

He then adds nonsense disclaimers, buried at the end. This post is hopeless.

<comment><USER10> it's verbose because he uses examples from a specific reading. this was originally in print; had it been written for the web, with shorter expectations of length, it could be summed up pretty concisely.

his disclaimers are hot garbage though. "NONE of this advice applies ... if you're otherwise operating in a discipline where close reading is centrally important to the way the discipline thinks" and goes on to say "my advice is most useful in ... literary or cultural criticism" \- derrida would like to have a word with you about how you think literary criticism doesn't involve close reading

disclaimer: i skimmed the article

<comment><USER11> This guy is a history professor. A history student at a school of Swarthmore caliber who has e.g. two upper division history courses plus one course in a related field like philosophy/political science/sociology/cultural criticism and maybe one physical science course or something to satisfy some general ed requirements is going to be assigned something like 1000+ pages per week of reading, in addition to a substantial amount of writing and whatever work that science course requires, and of course time spent in lectures and discussions.

If the student tries to read everything carefully at a leisurely pace, that's going to take 25+ hours a week of just reading.

History students can't afford the time to read everything line by line. They need to learn to skim, track the structure of the argument, figure out which bits are fluff and skip over those, and then focus down on the tricky sections.

It's not that close reading isn't also important in those fields (it absolutely is!), but not everything can be read closely.

To the grandparent poster: 3000 words is peanuts compared to the kind of reading loads this professor is talking about.

<comment><USER12> I don't mean for this to be a "you kids get off my lawn" type comment, but back in my day 1000+ pages/wk was not unusual. But this rarely meant reading every word; the ability to summarise and skim is crucial to how easily you read that many pages:

[http://londoninternational-blog.com/2014/01/10/1000-pages- pe...](http://londoninternational-blog.com/2014/01/10/1000-pages-per-week/)

At least the '1000 page rule' seemed to be the expectation if you were, like me, a humanities student at a private university in the US or UK in the days of yore.

<comment><USER13> It was the same for me (UVA, BA double major in History & Religious Studies, '99).

</comment></comment></comment></comment></comment><comment><USER14> Reading this reminds me how happy I am to be graduated.

</comment><comment><USER14> Skimmed it.

</comment><comment><USER15> better title how to read like a hack. Or how to read like a entrepreneur.

<comment><USER9> Don't make fun of Tai Lopez...he's got Lambos and a bookshelf FILLED with books in his garage. ;-)

edit: TL's the youtube ad guy who claims he can teach you how to read ANY book in 10min.

<comment><USER16> Video for anyone who hasn't seen it: [https://www.youtube.com/watch?v=zZKp_jFxQJc](https://www.youtube.com/watch?v=zZKp_jFxQJc)

It has also spawned plenty of parodies :)

</comment></comment></comment><comment><USER17> Stopped reading at

 _The first rule, in some ways the only rule, is skim, skim, skim._

Nonsense, try to do that in a mathematical text and you understand literally nothing anymore. This might work for lightweight texts, not densely written heavily mathematical and algorithmic texts. Maybe that works if you're studying something like literature and don't need to understand complex things afterwards.

EDIT: He's a professor of history. I am not surprised.

EDIT2: brudgers is right, the professor wrote like 2000 words later that none of his advice applies to the situation I mentioned. I think he should have clarified that in the beginning instead of the end of the post. Introducing a rule as universal and introducing exceptions much later is not a good practice.

<comment><USER18> When I skimmed the article, I discovered that the author identifies contexts in which different tactics are appropriate in the latter half of the article.</comment></comment>


A horrifying globalThis polyfill in universal JavaScript - <AUTHOR> https://mathiasbynens.be/notes/globalthis <comment><USER2> I love it. Defining a global variable by adding a property to Object.prototype is clever indeed.</comment>


The New Cheap iPad Is All the iPad You Need - <AUTHOR> https://gizmodo.com/the-new-cheap-ipad-is-all-the-ipad-you-need-1825206545 <comment><USER2> It is not cheap by any measure. Previously it was too overpriced and now its overpriced.</comment>


Losing weight won't solve the health care cost crisis - <AUTHOR> http://theincidentaleconomist.com/wordpress/losing-weight-wont-solve-the-health-care-cost-crisis/ <comment><USER2> This article is ridiculous, sure actual obesity costs are probably a small fraction of overall health costs... but the larger costs come in the form of other health issues caused by obesity -- diabetes, cardiovascular disease, etc etc...

<comment><USER3> Agreed. See quote below.

The total direct and indirect cost of CVD and stroke in the United States for 2009 is estimated at $475.3 billion. This figure includes health expenditures (direct costs, which include the cost of physicians and other professionals, hospital and nursing home services, prescribed medications, home health care, and other medical durables) and lost productivity resulting from morbidity and mortality (indirect costs). Total hospital costs (inpatients, outpatients, and emergency department patients) projected forthe year 2009 are estimated to be $150.1 billion. ... CVD costs more than any other diagnostic group.

<http://circ.ahajournals.org/content/119/3/e21.full.pdf></comment></comment>


10 Linux Commands Every Developer Should Know - <AUTHOR> http://azer.bike/journal/10-linux-commands-every-developer-should-know <comment><USER2> I don't think `dialog` is shipped with macOS anymore, if it used to be. Either that or it's not in the default $PATH.</comment>


Introduction to Calculus (2016) - <AUTHOR> https://arachnoid.com/calculus/index.html <comment><USER3> I didn't find this document to be easier to understand than any other guide I've seen. I'd say the introduction to calculus in Susskind's The Theoretical Minimum to be vastly better.

Also, don't miss The Essence Of Calculus by 3blue1brown: [https://www.youtube.com/playlist?list=PLZHQObOWTQDMsr9K-rj53...](https://www.youtube.com/playlist?list=PLZHQObOWTQDMsr9K-rj53DwVRMYO3t5Yr)

</comment><comment><USER4> I found Paul's Notes ([http://tutorial.math.lamar.edu/](http://tutorial.math.lamar.edu/)) invaluable while I was taking calculus in college (not with Paul, or at Lamar, but his notes are the best).

</comment><comment><USER5> Calculus in 20 minutes video: [https://www.youtube.com/watch?v=L5GmSYipz6A](https://www.youtube.com/watch?v=L5GmSYipz6A)

More seriously though, I like the intuitive explanations and analogies used at BetterExplained: [https://betterexplained.com/calculus/](https://betterexplained.com/calculus/)

Otherwise, you're just memorizing formulas you don't really understand and will forget eventually.

<comment><USER6> On the other hand, a lot of things (not just in math) we think we understand are, in fact, simply memorized. And, by the way, that is not a bad thing - <USER2> is better to learn the multiplication table, for example, than to fail to "understand" it and give up. You can work on true understanding later; my advice, therefore, is to read as much as possible on a topic, however incomprehensible it may seem at first, just to get used to it and to make it look familiar, and do some exercises. You will soon feel that you understand something (even though you don't). That's the way we humans learn.

</comment></comment><comment><USER7> The early 1900s book "Calculus Made Easy" is a really good intro to calculus.

<comment><USER8> This book is amazing. But I'd suggest everybody to read the version edited by Martin Gardner in 1998[1]. The first version written by Thompson ignored the use of limit, and it also used terms that aren't used anymore. For example, the older book used the term 'differential coefficient' which is now known as derivatives[2].

[1] [https://www.amazon.com/Calculus-Made-Easy-Silvanus- Thompson/...](https://www.amazon.com/Calculus-Made-Easy-Silvanus- Thompson/dp/0333772431)

[2] More about the difference between old and the new book [https://en.wikipedia.org/wiki/Calculus_Made_Easy](https://en.wikipedia.org/wiki/Calculus_Made_Easy)

</comment></comment><comment><USER9> I find it a bit paradoxical that those articles that aim to make calculus more approachable to everyday people are always assuming that those very people already know what the Sigma symbol means, or what [that]([http://juliendesrosiers.ca/uploaded/weird-math- symbol.png](http://juliendesrosiers.ca/uploaded/weird-math-symbol.png)) math symbol means. I see the author in this case is defining the delta and approximately-equal symbols, but I see quite a few non-obvious symbols in this article.

Maybe it's because I'm canadian or that I have not studied advanced mathematics in high-school?

<comment><USER10> I'm in highschool in Canada and can confirm that we have covered both of those symbols.

<comment><USER9> Thanks for the confirmation.

Maybe it's just that I don't remember. Or maybe it's that I was in an advanced math class.

</comment></comment></comment><comment><USER11> It wouldn't be that hard to make this HTML to make it much more accessible. Reading PDF on screen is horror.

<comment><USER12> The author explains his reasoning for PDF for this document here: [https://arachnoid.com/latex/why_latex_pdf.html](https://arachnoid.com/latex/why_latex_pdf.html).

The author also has a Hacker News profile: [https://news.ycombinator.com/user?id=lutusp](https://news.ycombinator.com/user?id=lutusp)

</comment></comment><comment><USER13> I think it gives a very good overview of calculus. It starts right at the beginning with a easy to understand explanation of integrating and differentiation and is fun to read – thank you!</comment>


Show HN: Hack My Facebook - Most Viral App at PennApps - <AUTHOR> http://hackmyfacebook.com

<comment><USER2> > _We don't post anything without your explicit permission on the page > following authentication._

Respectfully going to disagree on that one. The "Unhack" button doesn't seem to have removed any content from my profile but it did post a link on my timeline promoting the app (and using the old URL and name). Definitely not expected behavior.

        Mess With Your Friends | BuddyHack
        buddyhack.com
        "Sorry guys, I just got Buddyhacked. Whoever it was, I will find you, and I will get you back."

There's a reason I use the 'Only Me' privacy for the few new apps that I add, and it's behavior like this. Luckily when you remove an app there's a check box to remove activities generated by that app.

<comment><AUTHOR> Fixing that one now. Must've missed that one whenever we tweaked the app.

</comment></comment><comment><USER3> Just an FYI, if this gains any traction, you're going to have Facebook legal after you for using the word "facebook" in the app name - it happened to the Better Facebook folks (had to change their name to "social fixer")

Because some moron could confuse the main site and this, I don't know. Lawyers ruin everything.

</comment><comment><USER4> (re-branding of: <http://news.ycombinator.com/item?id=4529712>)

</comment><comment><USER5> So.. What does it do? It's a bit of mystery meat. No demo, no screenshots, just 'hack my facebook'. Why would I click that to try something?

You should _really_ provide a demo or a clear explanation of what's going to happen instead of just 'hack my facebook'.

</comment><comment><USER6> I like how you changed the app. Realistically, you could still use it on a friends facebook, but at least they can't say you are promoting it now...

<comment><AUTHOR> I'm glad you like our change :)

</comment></comment><comment><USER7> Reminds me of a site I made that has a similar background, but is personalized to your friends: <http://friendgrid.heroku.com/>

<comment><AUTHOR> This is awesome, and we don't have to make our own. Next time, we are definitely using this as the background! Thanks for building this!

</comment></comment><comment><AUTHOR> This is a tweak of BuddyHack, which we posted to HN earlier today. We had to tweak the site which was banned from Facebook originally.

</comment><comment><USER8> Can see why this won Most Viral at the east coast's biggest hackathon!

</comment><comment><USER9> Ahh this is great!

</comment><comment><USER10> what does it do?

<comment><AUTHOR> It lets you pretend to hack your own facebook. We found that this is hilarious for both you and many of your close friends.

</comment></comment><comment><USER11> I'm curious what the average login rate is, versus the average Hacker News login rate is. I don't mind using Facebook for login, but I do it cautiously. This, I'm a bit too nervous to try.

<comment><AUTHOR> We've done a few FB apps before and the avg CTR on splash page/home page usually comes out to anywhere from 10-30%

We don't post anything without your explicit permission on the page following authentication.

<comment><USER12> " __Disclaimer: This app can and will post a large amount of hilarious content from your Facebook account."

This makes it seem like the app will post _without_ my explicit permission.

<comment><AUTHOR> The only implicit post is when you use the unhack feature, and it lets your friends know that you hacked yourself.</comment></comment></comment></comment>


Ask HN: Best way to split single team into two? - <AUTHOR> How would you recommend splitting a single team of 10 or so developers into two teams? Would you recommend vertical or horizontal splits? Or is 10 too small to split yet? What has been your experience(s) and things to be mindful of? Thanks in advance. <comment><USER2> There's no general way to answer that.

<comment><AUTHOR> How were teams that you've been apart of divided up? What worked and didn't work in your setup(s)? Thanks.

<comment><USER2> They've been divided up in essentially every way possible--but I've been doing this for 30 years. The only time I've had a division _not_ work out fine is when a company was bought out and teams/groups were split with no regard to expertise or experience.

Even then, it didn't matter _that_ much, because we still sat in the same places and could just talk to each other.</comment></comment></comment>


Best usb-c dock for the new macbook pro? - <AUTHOR> My google searches for docks are coming up blank. Features I'm looking for:<p>- brick style. i.e., usb-c cable separates the laptop and dock. More like an adapter/hub I guess. Prefer something square/rectangular, not round, with all the ports on the front, except for the usb-c charger that would go to the wall.<p>- Respectable build quality. Maintains the apple aesthetic<p>- USB 2 (4+)<p>- HDMI (1-2)<p>- Micro SD (1)<p>- SD (1)<p>- Ethernet (1)<p>- USB-C (2+, one to wall, one to laptop)<p>- provides power to MBP<p>That's all I can think of. Are there any options available now or will be soon? <comment><USER2> I found one with most of the features you listed. [http://www.belkin.com/us/p/P-F4U095/](http://www.belkin.com/us/p/P-F4U095/)

<comment><AUTHOR> Decent, but too many misses. I found one thats a bit closer to what I'm looking for: [https://www.owcdigital.com/products/thunderbolt/thunderbolt-...](https://www.owcdigital.com/products/thunderbolt/thunderbolt-3-dock- overview) but it doesn't ship until Feb.</comment></comment>


Levittown - <AUTHOR> https://granolashotgun.com/2019/06/03/levittown/ <comment><USER2> > This was only made possible by enormous federal subsidies for returning > soldiers and huge investments in public infrastructure by the federal > government.

> People ... couldn't imagine returning to the city which continued to > decline.

I begin to wonder whether the demise of the city was really caused by the government subsidies of the suburban lifestyle. It's not that Levittown isn't sustainable anymore, it's that it never was, not on a long term scale. Low density living should be expensive because it is expensive. The government chose to invest in suburbs instead of the city. The city rotted without investment, exacerbating the problem.

It's only the last couple decades as governments tightened their coffers that the suburbs have had to carry their own load- and they can't.

<comment><AUTHOR> "It's not that Levittown isn't sustainable anymore, it's that it never was."

I think this is a key point, really well expanded upon here: [https://www.strongtowns.org/the-growth-ponzi- scheme](https://www.strongtowns.org/the-growth-ponzi-scheme)

<comment><USER3> To expand a bit more here, the Strong Towns folks argue that city infrastructure project costs do not factor in long-term maintenance. Growth is the driver of revenue in the short term (building permit fees, more expensive single-family homes paying property taxes). Once growth slows or stops, the party is over. Maintenance costs kick in, and the errors made during the boom time are revealed in the form of broken streets, abandonment, blight, etc.

They consult with cities to target a 20-to-1 "return on investment" when taking on infrastructure projects. That means that the costs to build street or water pipes should result in 20x that cost in economic activity.

</comment></comment></comment><comment><USER4> I live in Bowie, Maryland, a Levittown suburb of Washington, DC. (We pronounce it BOO-ee, by the way, something Alexa doesn't seem to know.) Unlike the original Levittown, Bowie is doing well. I don't live in a Levitt home, but I did look at quite a few of them when I moved back to the DC area in 1998. I passed on them because I wanted a basement and Levitt houses don't usually have basements, due to the cost. It was interesting to see all the ways in which previous owners had enhanced and renovated these homes. The Smithsonian is having trouble finding one that _hasn 't_ been extensively modified. (I ended up in a townhouse, with no mad-science basement, alas, but at least I don't have a large yard to keep up.) When Bowie was built (1964) there was no doubt systematic discrimination against minorities but, interestingly, Prince Georges County is now one of the wealthiest African American-majority counties in the US.

<comment><USER5> I don't think anything about Bowie or PG county is notable given its location. The entire DC area is propped up by the defense industry.

Everywhere else in the country is really different. DC didn't even experience the 2008 great recession

<comment><USER4> I don't know why you think we didn't experience the Great Recession. Housing prices crashed all over the DC area, except in Washington proper, which had a lesser decline, due largely to very low inventory. In my area of Prince Georges County, my townhouse lost about 30% of its value and the mega-mansions down the road lost about _50%_ of their value. Several friends lost jobs and had a hard time finding new ones. Yes, DC is a unique environment in some ways, but we aren't immune to economic downturns.

<comment><USER6> The metropolitan areas around certain cities, such as DC, are in a much different situation than those that experienced a structural loss in value. Around DC, there might have been a temporary loss in value due to reduced economic activity, but overall, the value trends upwards.

But if you look at places from the Northeast (excluding BOS/NYC/PHL) towns, all the way to Midwest to the South that had factories close and not come back, those are still cratered and going down. There simply isn't enough economic activity to support populations, so reduced demand, plus whatever demand there is can't afford to pay much.

</comment></comment></comment></comment><comment><USER7> The economic failings of these Boomer towns reminds me of this article in Citylab, about how cities pay for current infrastructure by selling more land for development. It's an unsustainable pyramid scheme.

[https://www.citylab.com/life/2011/10/suburban-sprawl- ponzi-s...](https://www.citylab.com/life/2011/10/suburban-sprawl-ponzi- scheme/242/)

Overall, these articles are an interesting insight into the hidden financials of urban development. And, sadly, the failings of those financial schemes.

</comment><comment><USER8> Interesting, but I don't get a lot of the author's arguments.

> And there it is. The dreaded wig shop. Flagship of retail desperation and > harbinger of doom. Next stop, evangelical day care centers and government > offices to fill the void.

What's wrong with any of those businesses? Wig shops seem popular in a lot of places, especially with black women. People willing to spend on beauty are usually a good draw for a mall. Day cares bring in predictable revenue per kid. I've been to mall DMVs and gone shopping afterward.

> The buses only exist because the federal government mandates them as a > condition of continued highway funding. It's pointless.

What's pointless? The photos show people waiting at the bus stop, so clearly it's useful to someone.

<comment><USER9> Google tells me there aren't a lot of wig stores, so customers will usually seek out stores - meaning they can often be put in low-traffic low-rent areas.

</comment></comment><comment><USER10> Typically pieces about the Levittowns (there were many such towns) contain at least a cursory acknowledgement of the racism and redlining that surrounded the sales of these homes. A generation of non-minority boomers were able to take advantage of, and build wealth from government subsidies.

<comment><USER11> Why does that matter? Why do we have to inject race into everything?

<comment><USER12> _Levitt & Sons would not sell homes to African Americans... the Federal Housing Administration (FHA) conditioned essential financing for this and similar projects on the restriction of home sales to those of "the Caucasian race", as stipulated in housing rent and sales agreements and deed covenants._

If you had dark colored skin you couldn't live there. That's as starkly about race as it can possibly get.

<comment><USER13> Yes, 67 years ago in 1952. Anyone can live there now if they have the money. Unfortunately, the problem in Levittown, like the problem with the rest of Long Island (and many other areas of the country) are that housing prices are massively inflated and taxes are insanely out of proportion of the services you get back for paying them.

For the honor of living in an average small house in this economically depressed area you can look forward to shelling out ~$500,000 and paying $8,000+ a year in property taxes. That's the real obstacle for working people to come move to places like Levittown. A few decades ago young, working people looking to start a family could buy a house in a place like Levittown for 2-3x their annual income. Now its more like 8-10x of their annual income. It isn't economically sustainable, like much of the rest of our economic system, and it has absolutely nothing to do with racism.

[https://www.zillow.com/levittown-ny/](https://www.zillow.com/levittown-ny/)

<comment><USER14> White people got loan guarantees from the government in 1967 to move there. The whole thing was directly subsidized. People moving in _today_ are not subsidized.

This amounted to a big transfer of wealth to white Americans, that black Americans couldn't participate in. They were stuck paying rent for 67 years while their white "peers" were able to build equity, as they had access to cheap credit.

[https://www.npr.org/2017/05/03/526655831/a-forgotten- history...](https://www.npr.org/2017/05/03/526655831/a-forgotten-history-of- how-the-u-s-government-segregated-america)

<comment><USER13> Which is all relevant to when this happened 60 years ago and not to working people today who were born generations after that happened. Talking about, "white America" like its some sort of monolith is idiotically reductionist. The generational disparity in wealth is magnitudes of order greater than the racial disparity. Start crying about the old people if you want a group to blame.

<comment><USER14> You can't blame the old black people, because they _don 't own homes_. The rate of home ownership among whites is far and away greater than that for blacks. The average white person has _some_ home equity. The average black person has _next to none_. The old people you're thinking about blaming are the old white people who took advantage of the whites-only, government sponsored, subsidized housing projects in the pre and post war years. The reason why all those old people in homes are white is because they were the only ones allowed to buy in the '50s!

The median white family is worth $100k (almost entirely home equity). The average black family is worth $7,000. You don't think massive subsidies for white home ownership during the first half of the 20th century might have _something_.to do with it? Black people _couldn 't get mortgages_. White people had theirs guaranteed by the Feds. It was a sweet deal. That equity didn't just evaporate.

[https://www.forbes.com/sites/laurashin/2015/03/26/the- racial...](https://www.forbes.com/sites/laurashin/2015/03/26/the-racial- wealth-gap-why-a-typical-white-household-has-16-times-the-wealth-of-a-black- one/#3a9ff9501f45)

<comment><USER15> > The median white family is worth $100k (almost entirely home equity). The > average black family is worth $7,000.

Did you intend to jump between median and mean here? I'd guess that using median for both would make your case even stronger.

<comment><USER16> He didn't jump between them, looking at the article, they're both the median, I think he just said average because in a surprising number of places "average" isn't always synonymous with "mean", it's more synonymous with "measure of central tendency", so the mean, median, and mode can all be called the average as long as you've established which one you're talking about first.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER17> > This was only made possible by enormous federal subsidies for returning > soldiers and huge investments in public infrastructure by the federal > government. ...

Today's government subsidies are creating artificial booms of their own. Credit, higher education, housing. The busts, like the one described in this article, should come as a surprise to nobody, but they will. Mixed in with that surprise may be an interest in finding a scapegoat - and a leader willing to deliver it.

</comment><comment><USER18> Population booms and recessions make me wonder how my current town will survive after the influx of new residents. I grew up not too far from Levittown, PA, and now live in Lakewood, CO.

Population here has been exploding and new housing has been on the rise for the past five years. There is currently a ballot to slow new housing projects to 1% growth per year. On one hand, I wonder if it's just artificial restriction of supply to help property values. On the other hand, I do see reason to limit growth to provide the infrastructure needed as growth continues. I'm not sure how to feel about it. Does anyone have any insight into whether artificial housing restrictions could benefit a municipality in the long term?

<comment><USER19> >>"Does anyone have any insight into whether artificial housing restrictions could benefit a municipality in the long term?"

I think you can't answer that question without defining what is the intended outcome: what it's a 'benefit'?.

If you define the optimal result, in a tautological way, as "whatever the market decide", then, by definition, any restriction is going to be bad.

Otherwise, you need to decide what do you want to accomplish (by 'you' I mean the residents of the area) and choose a policy that makes sense.

</comment></comment><comment><USER20> The houses that I've seen in Levittown and the nearby towns don't seem particularly empty - is the residential market dying as well or is it actually just the commercial properties?

Hicksville, for one, seems to be livelier than ever and full of South Asian families and businesses that have given it a new life (although it looks slightly lower-class than I remember).

<comment><USER21> The article is about Levittown PA

</comment></comment><comment><USER22> there is a Levittown on Long Island, New York and its doing just fine economically even though you can tell that the children of the boomers who enjoyed the previous decades aren't so comfortable. Most youth still lives with their parents and drives shit cars.

<comment><USER10> Wikipedia has list of Levittowns

[https://en.m.wikipedia.org/wiki/Levittown#Places](https://en.m.wikipedia.org/wiki/Levittown#Places)

</comment></comment><comment><USER23> Levittown, NY is a pretty interesting place. It was designed for your typical 1950s family with a single car. Nowadays, most people have two cars so you see a ton of cars parked in the street. Also, it's outrageously expensive to buy on Long Island.

<comment><USER13> You also have way more people living at home into their 20s and 30s, so you get 4-5 cars per house. When cops and prison guards are making $200,000 a year someone has to pay for it.

</comment></comment><comment><USER24> And yet we get constantly told that there's no space for homes and that it's too expensive to live anywhere. There are plenty of opportunities out there but when everyone wants to live in only the most desirable areas it creates local shortages.

</comment><comment><USER25> Do those Levitt houses have the same cachet as Eichler houses do in the Bay Area? They were both post war answers to demand for quick cookie cutter houses that people would like to live in.

Seems Eichler took cues from Lloyd-Wright and hired disciples, so the architecture looks nicer (although his didn't have to contend with more continental climates), but from a usability and livability PoV, wonder if they deliver equally when it comes to providing a "home "

</comment><comment><USER26> >This was only made possible by enormous federal subsidies for returning soldiers

 _White_ soldiers, both via black soldiers being excluded from the GI Bill, and Levittown's own restrictive whites-only covenant. These racist limitations greatly reduced the necessary subsidies.

<comment><USER11> From wikipedia:

From December 1942 until VJ-day there were relatively few enlistments into the armed forces as restrictions against the direct recruiting of men in the age group acceptable for service (18-37) were in effect. There were, however, 483,605 other enlistments into the Army and Navy during the period July 1, 1944, to June 30, 1945, but only 1.3 percent were African Americans. Although African Americans constitute approximately 11 percent of the population, aged 18 through 37, only 0.8 percent of Army enlistees and 1.4 percent of Navy enlistees during the period July 1, 1944, to June 30, 1945, were of that race.

So, sounds like the white part doesn't matter too much? Yes it was terrible that they were excluded from the GI bill, but only a very small fraction of soldiers in ww2 were black. It was very unlikely they would have made a difference in the outcome of such suburbs.

<comment><USER27> You say it doesn't matter, and then immediately say it was terrible. Which is it?

May have had an impact on those 6,286 African Americans who were excluded.

<comment><USER28> Of course. And it's an just just as unjust if it only excludes one. And yet, it's a _smaller_ injustice if it's only 0.8% than if it's 11%. _As unjust_ , but _a smaller injustice_.

<comment><USER26> It's a greater injustice that a minority had even the meager crumbs offered by the system stolen by white people kicking them while they're down.

You're focusing only on the raw numbers of people rather than the the effect on _everybody_ of that community. You can bet if 10% of white people had the same discrimination visited upon them that police, lawyers, and legislation would be involved tout suite.

Read up on mortgage redlining during the most prosperous period of the 20th century keeping people out of the progress enjoyed by the majority. Injustice is not zero sum, don't use arguments from proportion when there is a fraught history and politics that makes continuing the discrimination much, much worse than if it was one white person against another white person.

</comment></comment></comment></comment></comment><comment><USER29> Nice Try! just released a great episode about Levittown in Concord Park:

[https://www.curbed.com/2019/6/13/18662753/nice-try- podcast-l...](https://www.curbed.com/2019/6/13/18662753/nice-try-podcast- levittown-concord-park)

</comment><comment><USER30> There was a great Dollop podcast episode about this: [https://thedollop.libsyn.com/310-levittown-the-whitest- subur...](https://thedollop.libsyn.com/310-levittown-the-whitest-suburb)

</comment><comment><USER31> Maybe not relevant to the piece but something not mentioned is that not only would the builders of Levittown only sell to whites but home buyers had to sign a contract not to sell their house to any poc

</comment><comment><USER32> Referenced in the musical Little Shop of Horrors in Somewhere That's Green with the words "Not fancy, like Levittown"

</comment><comment><USER23> Levittown, NY is a pretty interesting place. It was designed for your typical 1950s family with a single car. Nowadays, most people have two cars so you see a ton of cars parked in the street.

</comment><comment><USER33> I grew up 15 minutes from Levittown, PA. I even had to do an undergrad research project on it. The development is boring and pointless but packed with lower middle class families. A place where there's only a driveway for one or two cars but there's always 3 or 4 per house and parked all in the street. The houses themselves are all full. The area just west and north of Levittown is actually one of the oldest rich suburbs in America containing Newtown, PA and Washington's Crossing with estates from the 16th century and acres of land.

Oxford Valley Mall is far from dead. The food court is always pretty lively on Fridays and Saturdays. The Forever 21 next to the food court is constantly packed with teenagers. I literally went there not long ago with my girlfriend and we had to stand in line at the register. Not exactly dead.

The guy just went on a random Tuesday instead of a Saturday. Of course it's going to be dead. The parking lot also has a really good theater seating style movie theater. Both Oxford Valley Mall and Neshaminy Mall are on Route 1 going north out of Philadelphia and also have I-95 going by. Also the Mall has Sesame Street Theme Park right outside it's parking lot and across the street is a whole other plaza containing a Best Buy, A Home Depot, a Lowes, and a bunch of other stuff. Honestly the only reason the mall can't keep full is cause of all the competitions nearby. The area itself is actually super nice just to the west of the mall with lots of properties rising in value.

I used to run a Gaming LAN Center in 2005 in Neshaminy Mall. The area is served by FIOS and Comcast.

As to why buses come to the mall? Really? Old people like to walk around during the day in the mall just for fun. People also use the bus to get to and from work. Most of the routes are going to and from Philly with a few connecting the various regional rail stations. Growing up we all wished there was just one bus from the center of Newtown to the mall so we wouldn't have to ask our parents to take us.

If you actually stay just around Levittown there's a lot of old crap from the 60s in a clearly abandoned and/or ruined state but that's not really indicative of the area.

<comment><USER34> Off topic: by the way, this your comment (and some earlier ones) are showing up as dead. I vouched for this one to unhide it, but you may want to email the mods to see why your account is flagged.

</comment></comment><comment><USER35> Live near Levittown and have talked to residents about it. The entire rust belt is going to shit itself soon and who knows how it'll play out.

<comment><USER36> Most of the article is about Levittown, PA. Its no where near the rust belt.

<comment> grayed-down The "rust belt" and it's socio-economic realities meander quite a bit throughout the NE

<comment><USER36> Except this particular area isn't the "rust belt".</comment></comment></comment></comment>


ClojureScript 1.9.456, Externs Inference and Comprehensive JavaScript Modules - <AUTHOR> https://groups.google.com/forum/#!msg/clojurescript/wGJeG36GPTk/e9XCo3a2BgAJ <comment><USER3> I've been using the externs inference feature for a little while, and it works great. Writing externs was the last truly ugly and error-prone part of ClojureScript development. For my game library [1], I can finally use advanced compilation because of this feature. The resulting games are much smaller and get better frame rates now.

[1] [https://github.com/oakes/play-cljs](https://github.com/oakes/play-cljs)

<comment><USER4> Glad it's working out!

</comment></comment><comment><USER5> ELI5: My understanding is that this version of clojurescript makes it feasible to import arbitrary javascript libraries into a clojurescript project (including npm package support) and then use pretty effective "dead code elimination" over the entire code (js libraries + clojurescript) to output a very lean production js file.

<comment><USER6> "React + ReactDOM production scripts are 53K.

ClojureScript (via Closure) can advance compile them to 32K

dead code elimination works"

[https://twitter.com/swannodette/status/825384686629355520](https://twitter.com/swannodette/status/825384686629355520)

This only worked because he wrote a program which didn't need every feature of react's library. YMMV.

<comment><USER7> Most programs you write use only a segment of the libraries you dep. Closure DCE is really, really good when it has type knowledge. Kills branches, inlines code, etc. It blows anything else in the javascript ecosystem out of the water in that regard (which is important if you're using Closure libraries, because the Closure libraries are massive without DCE).

That said, these days I wouldn't use Closure raw. The tooling is just awful, years out of date. ClojureScript doesn't have that issue though. It gets all the benefits without the crappy tooling.

</comment></comment></comment><comment><USER8> This is huge. ClojureScript's biggest weakness has always been its inability to just use standard JS stuff the way Clojure could use standard Java stuff. Sounds like they've finally solved it (yes, alpha-quality, but still).

<comment><USER9> Have to say, JavaScript itself also can't "just use" all the JS stuff.

</comment></comment><comment><USER4> Happy to answer any questions people might have about this release.

<comment><USER10> Just wanted to say, you and the team are an inspiration. The CLJS community's work goes a long way toward making web applications - dare I say it - <USER2> - and fun to code too.

Congrats on this great release. We're all looking forward to what comes next!

</comment></comment><comment><USER11> Great news, just yesterday I was dusting off my old Cljs project and now this happened.

I was reading the docs on externs (how to describe your JS code - like a 3rd party library - Closure compliant for its API surface). Could it be possible to make Closure's advanced compilation work _without_ name mangling and thus skip the need for externs? Or is there something else going that Closure requires?

Having read about running Babel in Cljs project on Clojurescript site, I'm now contemplating using TypeScript with my Cljs project. There was just now an article on HN about using Angular with Closure, and someone pointed out a library that can convert TypeScript to Closure annotations. It feels like having the best of both worlds: bearable JS when you have to use it and powerful Clojure to rely on. This method would probably work by having TS compiler and Tsickle produce JS + annotations and importing that through CommonJS module support into Cljs. I'll have to make a test for it.

<comment><USER5> Is this the document you were reading? [https://clojurescript.org/guides/javascript- modules](https://clojurescript.org/guides/javascript-modules)

This is the "new stuff"... if you were reading any other document you were probably reading about a far more painful process.

<comment><USER11> Yes, that was one, but this too: [https://clojurescript.org/guides/externs](https://clojurescript.org/guides/externs)

The previous way was painful. The one before that few years back was also very hard to get correct...

</comment></comment></comment><comment><USER12> I just upgraded the the latest ClojureScript two days ago - big thanks to swannodette and all the ClojureScript contributors!

It's really a killer feature that allows generating externs almost pain-free! I'm making the jump to advance compile my React Native ClojureScript code because of that. :)

</comment><comment><USER13> Is there a good way to integrate ClojureScript into an existing JavaScript project yet (not vice-versa)?

All I want is a ClojureScript Webpack loader.

</comment><comment><USER14> For us migration to cc is not easy. We use css and image loaders with webpack. Cc has a weird way of doing that.

</comment><comment><USER15> Great news!</comment>


Ask YC: Monetizing your blogs? - <AUTHOR>

Hey all, what do you guys use to monetize your blogs? I'm deciding between options. Is adsense effective? What other considerations do you make when choosing who to go with? <comment><USER2> Seth Godin pointed to a study from the AOL Global Advertising Strategy about who actually clicks on ads:

'Advertising is the bread and butter of the web, yet most of my friends claim that they never click on ads, typically using a peacock tone that signals their pride in being ad-averse. The geekier amongst them go out of their way to run Mozilla scripts to scrape ads away, bemoaning the presence of consumer culture. Yet, companies increasingly rely on ad revenue to turn a profit'

'Who are these "heavy clickers"? They are predominantly female, indexing at a rate almost double the male population. They are older. They are predominantly Midwesterners, with some concentrations in Mid-Atlantic States and in New England. What kinds of content do they like to view when they are on the Web? Not surprisingly, they look at sweepstakes far more than any other kind of content. Yes, these are the same people that tend to open direct mail and love to talk to telemarketers.'

[http://sethgodin.typepad.com/seths_blog/2007/12/your-ads- are...](http://sethgodin.typepad.com/seths_blog/2007/12/your-ads-are-no.html)

[http://www.zephoria.org/thoughts/archives/2007/12/03/who_cli...](http://www.zephoria.org/thoughts/archives/2007/12/03/who_clicks_on_a.html)

<comment><USER3> Who needs a script when you can simply install a userContent.css file that eliminates most ads: <http://www.floppymoose.com/>

</comment></comment><comment><USER4> I'm thinking of de-monetizing mine, as it just doesn't make much money (adsense), and a cleaner look might be nice. To actually make money, you have to write a lot about writing on your blog, or have massive amounts of users, or write about something that a lot of people click on ads about. Meaning that tech-savvy people, who are the best at ignoring ads, are a terrible audience.

</comment><comment><USER5> I've made a small fortune monetizing my poker blog by creating poker-related services and leveraging the trust built with my audience. I still collect significant revenues from this with no ongoing effort beyond answering emails. In fact, though my traffic was never above 30k uniques a month, I made more profit than many blogs that have uniques in the low millions, though it was also more work than simply slapping on ads.

Even off of ad revenue I was making low 4 figures monthly just by selling them directly. At least in the poker niche, when your blog gets big enough advertisers seek you out. I don't have enough experience in other niches to know if the same is true.

<comment><USER6> I have a feeling that anything gambling-related is easier to make money from. I had a similar experience with an advertiser (a British casino, iirc.) seeking me out when I made a silly little blackjack game.

<comment><USER5> I'm pretty sure almost any niche has some sort of profitable business waiting to be monetized by a blogger with a decently sized, trusting audience.

</comment></comment></comment><comment><USER7> I'd love to know the answer to this one. I've always sucked at monetizing and I get 300k pviews/month. I've attempted joining the larger tech blog ad networks but they pretty much won't talk to you until you hit 1M pviews/month. I'm not one for ugly advertising like adsense - just a personal thing, so I've started running those 125x125 ad blocks and various sponsorship things. They're hard to sell but if you can find the right companies and get decent traffic you can do alright. I sold my last 125x125 for $800 for a month.

<comment><USER8> Paul, you should certainly take a look at dropping affiliate links into your post. At Triggit we have bloggers making really good money with content like yours. With shopping.com paying a buck a click for gadget traffic it can be really lucrative. Best of luck.

</comment></comment><comment><USER9> For most blogs, just don't bother. You can make more money from getting your message out there and from linking to your other work than by advertising other people's stuff.

</comment><comment><USER10> Presumably the people reading your blog have similar interests or circumstances to you. So you could ask yourself what kind of ads or other stuff you'd want to see if you were the reader.

YCombinator seems to be a good example of monetizing what is more or less a blog. I guess the generalization would be to start a business that you and your readers would like to use.

Other than that, I think there's a perception that web ads are sleazy and that clicking them will lead you to someone who is trying to rip you off. The ad either needs to be from a known company, look like it was made by real humans instead of a corporation, or be from sponsors you know the site owner has dealt with personally be cause s/he sells hir own ads. Come to think of it, maybe some of your readers have things they want to advertise.

</comment><comment><USER11> Consideration 1: How many readers will go away if monetization feature X is added? Consideration 2: How much money will feature X make? Consideration 3: Does feature X fit in well with the rest of the blog?</comment>


20 Subjects Every Software Engineer Should Know - <AUTHOR> http://www.dotnetcodegeeks.com/2012/07/20-subjects-every-software-engineer.html

<comment><USER2> I'd rather hire someone who excels only at two or three things on this list(#3, #20), along with some product sense and good communication skills.

</comment><comment><USER3> Apparently "spelling" is not on the list.</comment>


Optimizing HTTPS performance - <AUTHOR> https://istlsfastyet.com/ <comment><USER2> Good points. The author focuses on (a) have server do everything itself or (b) use SSL accelerator hardware. There's a middle ground which has other benefits depending on your use-case: I/O offloading hardware that also handles SSL. These are often PCI networking cards that handle the packet processing, firewall, IDS, maybe management, SSL/VPN, etc. The host CPU works at a high level where it's only interrupted upon significant events or with most work done. The load on an I/O-bound server is so small that cheap, embedded CPU's can handle it. A CPU-bound server gets a great boost in performance for not worrying about massive I/O load.

So, there's still potential with that model. Use host CPU if that's all you need, though. Just remember that a few $200-300 networking cards might be a better deal than whatever HSM vendors charge these days.

</comment><comment> Ono-Sendai I'm currently adding https (TLS) support to my blog, using LibTLS (part of LibreSSL).

My initial impressions are that TLS handshake is very computationally expensive.

Stress testing my webserver with plain HTTP connections:

7980.2744 queries/s

With HTTPS (TLS) connections:

23.059916 queries/s

The slowdown is due to high CPU usage.

I certainly wouldn't classify that as fast!

I've only done a bit of work on this so it's possible I'm misusing the LibTLS API however.

<comment><USER3> How did you measure this?

When measuring on one of my servers that exposes both HTTP and HTTPS, there doesn't appear to be any significant difference.

HTTP:

      % wrk http://hostname
      Running 10s test @ http://hostname
        2 threads and 10 connections
        Thread Stats   Avg      Stdev     Max   +/- Stdev
          Latency     5.11ms    5.42ms  62.85ms   96.08%
          Req/Sec     1.10k   224.03     1.31k    87.04%
        17703 requests in 10.01s, 6.89MB read
      Requests/sec:   1768.57
      Transfer/sec:    704.58KB

HTTPS:

      % wrk https://hostname
      Running 10s test @ https://hostname
        2 threads and 10 connections
        Thread Stats   Avg      Stdev     Max   +/- Stdev
          Latency     4.75ms    4.09ms  50.37ms   96.48%
          Req/Sec     1.10k   228.86     1.34k    79.35%
        17014 requests in 10.01s, 8.39MB read
      Requests/sec:   1700.32
      Transfer/sec:    858.38KB

<comment> Ono-Sendai I tested it with some of my own code, 8 threads making requests to my server at localhost.

Does this program 'wrk' re-establish a connection for each request, or is it re-using them?

<comment><USER3> wrk[1] does appear to reuse a connection for each request.

[1] [https://github.com/wg/wrk](https://github.com/wg/wrk)

</comment></comment></comment></comment><comment><USER4> Stupid question:

A lot of HTTPS's value comes from authentication, not encryption. Has anyone investigated using something like the TLS_RSA_WITH_NULL_SHA cipher suite for HTTPS, to provide auth and integrity without the computational cost of symmetric encryption? Would that even provide a meaningful performance benefit?

I'm guessing that it's disabled by default in most browsers, and figuring out a sane user experience to allow users to differentiate between encrypted and non-encrypted secure traffic seems like a very hard problem.

<comment><USER5> I keep proposing "<a href="..." hash="sha256:abcdefg..."> as the quick, easy 80% solution to this. Works across sites and lets you authenticate resources you don't own.

<comment><USER6> The hard part is delivering the initial page with those hashes. If you can deliver it over HTTPS, why can't you deliver everything over HTTPS? (There are good answers to that question, to be fair.) And if you can't, what use are the hashes?

<comment><USER7> > If you can deliver it over HTTPS, why can't you deliver everything over > HTTPS?

> Works across sites and lets you authenticate resources you don't own.

</comment></comment></comment></comment><comment><USER8> They probably need to automate the "upgrade to latest" box, current version would be OpenSSL 1.0.2f 28 Jan 2016.

Anyway, I am not convinced the `openssl speed` benchmark output conveys anything to the people addressed by the site.

<comment><USER9> You could always fix it and submit a pull request. Then automate that.

[https://github.com/igrigorik/istlsfastyet.com/pulls](https://github.com/igrigorik/istlsfastyet.com/pulls)

<comment><USER8> Thanks for the hint, I did not realize it was on GitHub. Pull request sent.

[https://github.com/igrigorik/istlsfastyet.com/pull/97](https://github.com/igrigorik/istlsfastyet.com/pull/97)

</comment></comment></comment><comment><USER10> Love stuff like this. There's so much momentum around TLS lately, so great to see.

</comment><comment><USER11> TLS is still slow, for users on 3G phones, remote areas, and 3rd world countries. But who cares about them? They're poor! They can cope with a slow web.

</comment><comment><USER12> If I go to a site called IsTLSFastYet.com, I expect a huge bit of text that says "yes" or "no". Otherwise why use that format?

</comment><comment><USER13> thanks for sharing. useful.</comment>