Lisp Lacks Visual Cues - <AUTHOR> http://c2.com/cgi/wiki?LispLacksVisualCues

<comment><USER2> I say the opposite. Lisp's regularity allows the qualities of the program itself to emerge visually. It's amazing how fine-tuned an intuition one develops after a while for code one's looking at when its structure isn't distorted by extraneous demands of the language. In Lisp, I find I am frequently (and often subliminally) processing visual cues to figure out what I'm looking at, prior to parsing what the text says, which is a slower thing to do.

Actually, you get the same effect in any language. You can tell a lot about, say, a Java program by printing it out, sticking the printout on a wall, and walking back 10 feet. But Lisp's regularity makes this effect richer, more powerful, and workable-with at much smaller scale.

Unfamiliarity reactions are not properties of the unfamiliar thing. When you walk into a space that is brighter or darker than what your eyes are used to, you can't see as well. This does not mean the space "lacks visual cues".

</comment><comment><USER3> Clojure makes great strides in this area, by claiming for itself the reader macros for [] and {} in addition to (). [] is always used any time variable binding takes place, for example. It also more closely follows the JSONy conventions used by Python, Ruby and Javascript.

<comment><USER4> The use of [] is something I hate about clojure. I'm never entirely sure where it can/cannot/must be used and why. Sometimes it seems to get used as a replacement for quoting a list, somtimes for efficiency reasons, most of the time I just don't know why it is used.

</comment></comment><comment><USER5> My (arc-like) lisp dialect has pervasive python-style keyword args, which I find makes code easier to read. See, for example, [https://github.com/akkartik/wart/blob/master/063http- get.wts...](https://github.com/akkartik/wart/blob/master/063http-get.wtst). Tokens starting with a ':' are keyword args. Removing them doesn't change program behavior.

You don't _have_ to use them, but I find inserting the odd keyword arg makes things much easier to read.

<comment><USER6> I think Python-style implicit kw-args are a mistake. It means that caller can depend on the name of your function parameters and you can't change them without breaking existing code, which may not be yours. Explicit kw-args, where the names of params are explicitly advertised as part of the interface of the function, are a fine idea OTOH, and should be in every language.

<comment><USER5> Upvoted. We'll have to agree to disagree on this. I don't see why the number and semantics of arguments can be part of the interface but it's bad for the name to be.

Also, wart is like arc in that it's utterly unconcerned about backwards compatibility. It's not meant for building large edifices. That doesn't mean you can't build webapps in it. It _does_ mean that you better write lots of unit tests.

</comment></comment></comment><comment><USER7> Mostly it's a matter of habit (it's the same for typefaces, btw).

After some time, I found syntax-colored Common Lisp (in SLIME) to be very readable, and I started to find confusing other languages.

</comment><comment><USER8> c2.com is classic, or in other words: archaic, software. This makes the page hard to read in this case. For example, it seems to be written in the style of a discussion, by multiple people, but you never know who wrote what (there are a few signed comments, but most are not). There are also no sub-headings to help you navigate the page.

It (Lisp's "lack of visual cues") is also an interesting topic, and I think it would be especially interesting if you looked at this while comparing it to Haskell.

<comment><USER9> Ward's Wiki was the first wiki, and as such, many of the pages were a mess. When you winnow through the crap, there's a lot of pure gold.

I was active at Ward's Wiki from 1999 to 2002. I just spent some seriously nostalgic moments clicking around.

</comment></comment><comment><USER10> The link title is my #1 complaint with Lisp. I think it has many strengths and it's homogeneity is a strength, but also it's biggest weakness. Not a showstopper, of course, but it is a turn-off for me esp when I consider cases like having to parachute in and understand a new codebase or maintain something I wrote years ago. Python, in comparison, gives more visual cues as to what's what. It has less power, but more readability.

<comment><USER11> Indentation and convention both help (as does experience).

Python:

        def spam(self, eggs):
            for egg in eggs:
                if egg.color == "white":
                    egg.crack

Which goes to:

        xxx xxxx(xxxx, xxxx):
            xxx xxx xx xxxx:
                xx xxx.xxxxx == "xxxxx":
                    xxx.xxxxx

CL:

        (defun spam (eggs)
          (dolist (egg eggs)
            (when (equal (color-of egg) 'white)
                         (crack egg))))

(Ignore the fact that this example was clearly written with object-oriented Python in mind :P .)

Which goes to:

        (xxxxx xxxx (xxxx)
          (xxxxxx (xxx xxxx)
            (xxxx (xxxxx (xxxxx-xx xxx) 'xxxxx)
                         (xxxxx xxx))))

I don't think there's a huge difference.

<comment><USER12> Actually, you've misindented the CL and that's causing confusion.

You should indent when statements like:

        (when (equal foo bar)
            (do-something)

So that it doesn't look like:

        (when (equal (some-long thing)
                     (that is being compared))
            (do-something)

</comment></comment></comment><comment><USER13> When reading Scheme code for Chicken Scheme packages I find myself thinking – "So this is why Lisp is unpopular, it really is the parentheses!"

I am not experienced reading Lisp code, but I find the many levels of indentation and the abundance of parentheses overwhelming. I don't know if this is the case with Common Lisp code.

In Chicken Scheme however, parentheses are interchangable with other brackets – so you can add visual cues through your style if you don't care much about portability.

<comment><USER14> Someone (sorry for not noting your name) suggested dimming/graying the parentheses in lisp modes and gave this elisp snippet to do it. I find that I prefer reading lisp with dimmed parentheses.

(defface paren-face '((((class color) (background dark)) (:foreground "grey20")) (((class color) (background light)) (:foreground "grey70"))) "Face used to dim parentheses.")

(add-hook 'scheme-mode-hook (lambda () (font-lock-add-keywords nil '(("(\\\|)" . 'paren-face)))))

I also came across a blog post[1] which includes a slightly more complete solution.

<http://briancarper.net/blog/492/>

<comment><USER15> There's also Dave Pearson's parenface.el:

<http://www.davep.org/emacs/parenface.el>

</comment></comment></comment><comment><USER16> Hm, I'm a lisp newbie but just had a little think about this (<http://blog.timfarland.com/2011/05/12/lithp.html>). I'd be happy just giving special forms short, mostly non-alphabetic names, and using a bit of matchfix sugar, looking something like:

      (def map
        (-> |list f|
            (? (== list []) []
               // (: (f (. list)) (map (.. list) f)))))

</comment><comment><USER17> Guess what, syntax sometimes actually helps readability. For example Python's "something[2:-2]" to remove the first and last to elements of a list or maybe characters of a string.

Lisp is the language, where you have to write the AST yourself instead of having a language-defined parser.

</comment><comment><USER18> they're called brackets

<comment><USER19> Here's how I call the various punctuation which I've found to be reasonably consistent with others' nomenclature:

Parentheses: ()

Braces: {}

Square brackets (or just Brackets): []

Angle brackets: <></comment></comment>


Fuck You Startup World (2016) - <AUTHOR> https://medium.com/startup-grind/fuck-you-startup-world-ab6cc72fad0e <comment><USER2> At least here in Germany, this culture seems to be over. It was declining and after Corona, it has changed completely. More and more smaller companies also value that you have family, friends and social life and home office becomes a normal thing, thanks god.

But I agree with a lot of these points after working 5 years in a startup. The biggest problem is that you try to increase your runway even though the business model does not seem to work. Instead of making it profitable as soon as possible, you try to grow and grow and hire people you don't even need. This was the worst experience. And then letting those people go again is even worse.

I hope that we get back to the ground and try to build solid and profitable business in the future instead of blown up air castles with no value at all.

</comment><comment><USER3> This is probably going to earn me a mountain of downvotes and rebukes (all of which I welcome so that I can learn!), but here goes nothing...

I'm fairly convinced that a lot of technical people are on the spectrum. I don't mean this as an insult in any way whatsoever, though I'm sure many will take it as such (sorry, in advance!). The raw, calculative persona of those described as "10x developers" and "optimize all minutiae" seems to line up with having difficulty empathizing with others and acknowledging emotions. In many ways, I really envy the ability to execute to that degree. Simultaneously, I think these are many of the same people who are taken advantage of by others (e.g. founders, managers, investors) to further deepen their pockets.

They're often immensely talented in technical realms and excel in sciences, making computer science and software careers ideal places where they can thrive. Their relative over-performance creates a tension on the opposite end where others can't keep up to the same capacity. I think we've often chalked it up to people being "quirky" and I think we're all familiar with Hollywood's stereotypes about technical folk, but there is a lack of mental health discussion in the US (and perhaps other places in the west). Am I completely off-base in thinking this way? I'm certainly no psychologist, but I welcome other perspectives on this.

<comment><USER4> > I'm fairly convinced that a lot of sports people are on the spectrum. I > don't mean this as an insult in any way whatsoever, though I'm sure many > will take it as such (sorry, in advance!). The raw, calculative persona of > those described as "10x sportsman" and "optimize all muscleai" seems to line > up with having difficulty empathizing with others and acknowledging > emotions. In many ways, I really envy the ability to execute to that degree. > Simultaneously, I think these are many of the same people who are taken > advantage of by others (e.g. founders, managers, investors) to further > deepen their pockets.

They're often immensely talented in physical realms and excel in sports, making sport careers ideal places where they can thrive. Their relative over- performance creates a tension on the opposite end where others can't keep up to the same capacity. I think we've often chalked it up to people being "quirky" and I think we're all familiar with Hollywood's stereotypes about sports folk, but there is a lack of mental health discussion in the US (and perhaps other places in the west). Am I completely off-base in thinking this way? I'm certainly no psychologist, but I welcome other perspectives on this.

<comment><USER5> The difference is sports people don't really run anything. They sport. In a closed environment.

Software and start-ups are more like having to sports whatever you do, whether you like it or not.

Buy take-out? Pick up your sportsy phone and sports the heck out of that! Don't forget to tip your driver, because he's on minimum wage.

Order an airline ticket? So fast and sportsy! OK, so someone didn't sports properly and some of these planes crashed, but let's just [cough] pretend the pilots made mistakes.

Find somewhere to stay? Your accommodation choices have been so uniformly sportsed you'll get a properly sportsed touch of local flavour, but you'll be spared any unsettling cultural surprises.

Chat to friends? We've totally sportsed that up for you!

So now everything you do has been completely sportsed by people who just love sportsing.

And this is good for you. And for everyone. And especially good for the future.

No, really, it is.

</comment></comment></comment><comment><USER6> Hmm, I kind of disagree. I don't personally find listed startup 'traditions' necessarily bad. In fact, I love the fact that there are startups that are just like that (maybe because I like whiskey too). BUT I think it's a problem when startup culture is being copied. It's like saying 'the only cool music is rap, we won't listed to jazz or classical music or heavy metal'. So yeah, let there be more startups with their own authentic cultures (including totally opposing ones) because the culture described is a problem only when it's not your own, but you copy is because you want to be a cool kid too.

<comment><USER7> Hard to have authentic cultures when everyone is eating from the same VC plate and everything is located in the same few areas.

</comment></comment><comment><USER8> Very sensational, but how is this much different than the humor in Silicon Valley the rant makes fun of? Maybe the irony is intentional. I personally sit on an exercise ball at work because I like to bounce up and down. I developed that preference while programming spaceships at SpaceX. The over the top parties there were a lot of fun. Low key responsible parties are fun too; I recall after a funding round at Zipline we took half an hour to eat an ice cream cake then went back to work. The comments about coworkers drinking soylent is spot on.

<comment><USER9> I just ordered a mini trampoline to bounce up and down at my standing desk. Pretty excited, actually.

</comment></comment><comment><USER10> Originally from 2016. For those interested, these were the major discussions:

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

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

</comment><comment><USER11> I watched the 2018 German film "The Wave" about some students that spend a week learning about fascism by gradually becoming fascists without knowing it.

And it's similar to a startup:

\- One of the first stages in their indoctrination is wearing a uniform. In startups you get company t-shirts.

\- Then there's the autocracy... a central figure that has supreme power, the movement leader. In a startup, you have the founders.

\- And once startups become a cohesive group, they become a groupthink collective that thinks they're the invincible chosen few destined to rule the world.

</comment><comment><USER12> It was an entertaining read. The mixture of valid criticism and bitterness was funny.

Sure, there are some crazy people in the field, but in the end, most of my friends would kill for the conditions I had at tech companies. As long as you remind yourself that it's just a job, it's a pleasant experience.

</comment><comment><USER13> Does this really deserve a rehash?

I hope this guy found his true passion as an alpaca rancher. All humour aside, it's clear that the feeling is probably mutual.

</comment><comment><USER14> >Fuck reading a book a week. No one can read that fast. Let me repeat that -NO ONE CAN FUCKING READ THAT FAST. How about actually reading that god damn book?!

I used to read a book a day (sometimes 2 days when books were really big or half a day when really small - like I could get through 2 Narnia books a day) - however that was in my teens when I didn't do my schoolwork and just read, or in my twenties when I was a committed non-productive member of society.

Recently I read a lot of Mark Twain (Tom Sawyer, Huckleberry Finn, Puddn'head Wilson, Life on the Mississippi) I think it took about 3-4 weeks, so yeah a book a week. Luckily I have an e-reader now so I could get it in otherwise yeah I wouldn't have managed it.

In short - that got on my nerves and I think this person with their swearing judgements of other people should actually try reading a bit themselves.

<comment><USER15> Audio books is not technically reading yourself, but with those you can easily go through one book a week. They don't really work for me personally, but some of my friends listen to audio books all the time.

<comment><USER14> since I can do a book a week (approximately) using an ereader and reading whenever I have a spare moment during the day that's not my point, my point is where does he get this nobody can read a book a week thing (since I could read a book a day when I did not have the troubling concerns of employment and family and still a book a week now that I do have these concerns.)

The average reading speed is about 55 pages per hour, 8 hours a day or 8 hours a week - 440 pages.

Pretty much anyone can read fast enough to read a book a week.

</comment></comment></comment><comment><USER16> I notice he doesn't say, "Fuck you for solving your customers' problems and making them insanely happy."

He's talking about the cargo cult parts.

<comment><USER17> That's because solving customers problems is so rarely a goal.

</comment></comment><comment><USER18> >Fuck you productivity freaks. You try to make me feel bad because I woke up "only" at 6AM.

What's so terrible about getting up sometime between 8 and 9am? :o

<comment><USER19> You obviously don't have kids :)

I guess that many of those "productivity freaks" have toddlers, they tend to wake up at 6.30-7. So waking up at 6 is the one hour in your day that is yours and yours alone. So they wake up at 5-6am, to have a couple of "good hours". Because after the morning preparations and a 40min drive to get the kids to school, your mind is less 'fresh' than what it was at 6am.

It's a practical thing (for those who find it to be). Not a panacea for all.

</comment></comment><comment><USER20> When did computer geeks and programmers, professionals of one of the least physical occupations, become so aggressive, at least verbally? This article sounds rather like my 16 year old friends who had a punk band with song lyrics where they "fucked" the police, the politicians, the church and basically everybody else. So much pent-up anger, I expect from a teenage punk band, but an article on technology? I don't really get it.

Not to say that, knowing we're all nerds here, this kind of tone sounds, frankly, a little ridiculous. I'm compelled to whisper "when you make a fist, you wanna keep your thumb on the outside".

</comment><comment><USER21> > I never had to shift a bit in a C array in my life!

I have done (and continue to do) quite a bit of work involving bit shifting, along with various other bitwise operations. Is it really that unusual? Should I feel guilty?

Humor aside, I am genuinely curious to what extent other people are familiar or experienced with low-level bitwise operations.

<comment><USER22> I imagine that very few people who work with higher abstraction level languages (java, c#, go, js) are experienced at all with that.

<comment><USER23> C# developer here. Bit shifting is super useful for defining flags and flags are awesome. In the web app world, I don't really come across the need for bit shifting outside of flags. If I am building something in Unity or GodotSharp, there are far more opportunities where bit-shifting is useful.

I generally agree with your statement when referring to code bootcamp graduates, but anyone with a CS degree should have learned bitshifting by their second programming course; YMMV.

</comment></comment></comment><comment><USER24> Some "Fuck Everyone" vibes from Ed Norton in 25th Hour. Could use a little more than one line of self-reflection though at the end though.

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

</comment><comment><USER25> There is a follow-up post where he explains what happened after publication: [https://medium.com/@shemag8/when-your-story-go- viral-8a1c84a...](https://medium.com/@shemag8/when-your-story-go- viral-8a1c84ad0fdb)

</comment><comment><USER17> I lived like this for decades. I think I'm beginning to recover now.

</comment><comment><USER26> This is amusing. However, there's rejection of the baby with the bath water here:

> reviewed your quarterly and yearly "goals" for another 30 minutes ... noise > cancelling headphones and Pomodoro timers, your fucking to-do lists, apps

You can have these when you pry these from my cold, dead hands. I vividly remember my life before I got organised, productive, and before noise cancelling headphones, and there's absolutely no going back.

</comment><comment><USER27> It get me off on this line " when I need a hash set in Java I just use HashSet- I don't fucking care about the complexity of this code block because I can afford another EC2 instance! So fuck you." I have to deal with these incompetent idiots everyday. Software Engineering is not mindless copy paste.

</comment><comment><USER28> In September 2020, somehow this all feels so dated and irrelevant, including talking about it here on Hacker News. The whole culture is past its zenith, ready to be processed and filed away.

<comment><USER29> To some extent the 'culture' just moves on to different fields and/or subfields.

For example, my experience has been that the cryptocurrency/blockchain 'culture' reached its zenith at a point later than the more general 'startup/app culture'.

I suppose ML/AI stuff is still sort of on the way up, if not for the coronavirus putting everything on pause.

I know a bunch of people in their early-to-mid-twenties who are perfect 'canaries' for whatever is the next 'startup culture' and it's both interesting and slightly annoying to talk to them about it.

I feel to old to get caught up in all of it, but I admit that knowing what's hot can be helpful to find the type of work that I don't like but that pays the bills.

<comment> blaser-waffle > For example, my experience has been that the cryptocurrency/blockchain > 'culture' reached its zenith at a point later than the more general > 'startup/app culture'.

I'd argue that it was the same thing; startup culture was running out of gas and then a new, spicy tech showed up that revived the field and spawned a whole new galaxy of statups.

</comment></comment></comment><comment><USER30> Interesting that in 2020 I'm not really sure how much of this applies? Trying to think of the major trends today, I don't feel like they're very well represented here. Or maybe I'm just a bit more disconnected from the modern startup world.

</comment><comment><USER31> _" I don't fucking care about the complexity of this code block because I can afford another EC2 instance! So fuck you."_

You mean, you can afford another N^2 instances?

</comment><comment><USER32> "I'll come work for you because you have the Glenlivet 17 and not the 15" ... obviously not a whisky drinker :D ... nothing against Glenlivet but come on :D

</comment><comment><USER33> The Hustle: [https://www.youtube.com/watch?v=_o7qjN3KF8U](https://www.youtube.com/watch?v=_o7qjN3KF8U)

</comment><comment><USER34> This felt good. I feel like I also wanted to say this

</comment><comment><USER35> quite the collection of first world problems...

I only skimmed the article, but I am guessing "Fuck you for my 6 figures salary" is not there.

</comment><comment><USER36> This just came across as "I am 14 and this is deep" or perhaps a LiveJournal post. I know how to swear too!

</comment><comment><USER37> >design sprints

Oh my goodness; let's take everything that anyone has learned about software development and gut it. I hate these people.

</comment><comment><USER38> Let's not ignore the 'minor' detail that the entire space is a ponzi scheme to begin with (coming from Chamath Palihapitiya; a billionaire who was one of the first Facebook employees): [https://youtu.be/NVVsdlHslfI?t=2](https://youtu.be/NVVsdlHslfI?t=2)

And let's not ignore that the entire financial system within which this ponzi scheme operates is also a giant ponzi scheme: [https://youtu.be/iFDe5kUUyT0?t=79](https://youtu.be/iFDe5kUUyT0?t=79)

So the startup world is literally a ponzi scheme within a ponzi scheme.</comment>


Recommended hosting for video course files? - <AUTHOR>

Hi! We have a library of files, 500Mb each containing an hour-long video course.
We would like to serve them online, globally, and expect an average traffic of several hundreds of users per day.
would a CDN be an absolute must? Which services, other than than Amazon CloudFront / S3, are available? Does Google have any CDN offering?
thanks a bunch! <comment><USER2> Are the files public? Then perhaps just use youtube.

If you need a CDN, CDN77 has worked fine for me at a reasonable price.

I'd start hosting them on a separate domain first, then move that to a CDN if necessary.

<comment><AUTHOR> thanks, will take a look at CDN77

any idea whether Google Cloud Storage is suitable for such task?

</comment></comment><comment><USER3> Have you thought of youtube?

<comment><AUTHOR> we intend the service to be subscription-based, and therefore need to put the files behind a paywall</comment></comment>


A Peek At Postmates — The Uber For The Courier Industry - <AUTHOR> http://techcrunch.com/2011/10/07/a-peek-at-postmates-the-uber-for-the-courier-industry/

<comment><USER2> Up vote!!!!

</comment><comment><USER3> Up vote!</comment>


The Social Ties Between Autism and Schizophrenia - <AUTHOR> https://www.scientificamerican.com/article/the-social-ties-between-autism-and-schizophrenia/ <comment><USER2> It is actually very likely that an individual with a diagnosis involving the central nervous system or brain disorder or injury involving sensory processing will have an axis diagnosis of some form of mental illness. It is common for an individual with intellectual disabilities to also have a diagnosis of autisim, OCD, ADHD, etc.

It is sometimes very difficult to determine which disorder or diagnosis occupies Axis I or Axis II. While generally not that important, it can be very important when it comes to obtaining limited supply governmental waiver programs and clinical trials.</comment>


Facebook Hit With FTC Complaint - <AUTHOR> http://www.informationweek.com/news/security/app-security/showArticle.jhtml?articleID=222002613

<comment><USER2> I just checked my facebook search privacy settings, and was greeted with a popup:

"Worried about search engines? Your information is safe. There have been misleading rumors recently about Facebook indexing all your information on Google. This is not true. Facebook created public search listings in 2007 to enable people to search for your name and see a link to your Facebook profile. They will still only see a basic set of information."

<comment><USER3> As an aside, I noticed this popup as well and the atrocious grammar makes it read like a phishing message.

Specifically, the line "This is not true" is meant to refer to the idea that Google indexes your whole Facebook account, but the way it is written actually seems to indicate that there have, in fact, been no misleading rumors. This might seem like a nitpicky thing, but to me it just underscored the fact that Facebook is on the defensive right now and is scrambling to keep users' mindshare at the expense of the usual level of polish we have come to expect throughout the site.</comment></comment>


Nifty Fold Expression Tricks - <AUTHOR> https://foonathan.net/2020/05/fold-tricks/ <comment><USER2>
      auto count = (std::size_t(0) + ... + (pred(ts) ? 1 : 0));
      // expands to: std::size_t(0) + (pred(ts[0]) ? 1 : 0)
      //                            + (pred(ts[1]) ? 1 : 0)
      //                            + ...

My deepest sympathies to the person who has to fix bugs in that kind of codebase 10 years from now.

<comment><USER3> (Read this before TFA; after multiple minutes of staring:)

      > auto count = (std::size_t(0) + ... + (pred(ts) ? 1 : 0));

Wait that's literal, non-metasyntacic elipses? What the actual fuck!?

</comment></comment><comment><USER4> Sometimes I think the first truly sentient computer program that will take over the world will begin its life as a C++ parser.

And it will want revenge.

</comment><comment><USER5> i've never seen a programming language implement math-y notation in the vein of

      xs[0] + ... + xs[n]

so that's kind of cool... though C++ seems like an odd place to find it. i wonder how expressive it is, i.e. what the limitations are.

 _NOTE: the following might be incorrect, i really don 't know C++ well enough to tell..._

unfortunately it looks like it's limited to working with "parameter packs", which i understand are basically varargs, and can't be used to fold/map e.g. a normal vector. which seems like a strange choice... if you're going to add this much syntax, why limit it like that?

<comment><USER6> Fold expressions are expanded entirely at compile time to create a fixed-size expression that gets compiled normally (the number of terms in any given case is known before machine code is generated). Applying a fold over a std::vector would require runtime iteration (see std::accumulate).

This is essentially a QoL improvement for existing users of variadic templates, where unnecessary complexity was required to simulate the behavior fold expressions provide for packs.

<comment><USER5> i get that, i just think it'd be nice if they could be used for run-time stuff too – why create a gap between the compile- and run-time parts of the language? it seems like desugaring it into a loop should be pretty straightforward¹; it'd just be a concise replacement for some uses of std::accumulate.

though as mentioned, i don't really use C++ much. are there reasons why this wouldn't work well for run-time stuff?

\---

¹ it'd have to be mindful of short-circuiting constructs, but compilers special-case those anyway

<comment><USER7> It guess it would require a different syntax, otherwise it may not be clear how it was desugared (runtime vs. compile).

Then again, we already have for loops, range for loops, the ranges library, the std algorithms, the parallel algorithms... I don't think people would welcome yet another way of writing things, but who knows...

<comment><USER5> > otherwise it may not be clear how it was desugared (runtime vs. compile)

but does that really matter, as long it has well-defined semantics? even for the compile-time case, it's up to the compiler/optimizer to decide whether `(xs + ...)` ends up as multiple ADDs or one ADD in a loop – you're only guaranteed that it's observable behavior will be `xs[0] + xs[1] + xs[2] + ...`, no?

<comment><USER7> Yes, it does matter. When you are programming in a language like C++, you want to understand what the compiler generates for a given abstraction.

</comment></comment></comment></comment></comment></comment><comment><USER8> i think this is really incredible. with move semantics and modeling without inheritance c++ 17/20 is getting a lot of my attention in the past couple of weeks.</comment>


Free copy of Stroustrup - <AUTHOR>

Doing some house cleaning and came across an extra copy of Stroustrup's "The C++ Programming Language" that I don't need.  Free to the first person who sends me their mailing address.  firstname.lastname@example.com <comment><USER2> Thanks very much for the offer. I've just e-mailed you my mailing address.

</comment><comment><USER3> I can kill myself with C++.. I don't want it.

</comment><comment><AUTHOR> The book has been claimed.</comment>


Every day almost 1 mln people help astronomers identify galaxies on Galaxy Zoo - <AUTHOR> http://www.galaxyzoo.org/

<comment><AUTHOR> My curiosity is, what leads people to spend time and effort to analyze millions of universe pictures to identify stars without any specific reward (they can't even name new discoveries)?

<comment><USER2> This may sound like a cliche, but the discovery is the reward. Everything else is just icing on the cake, may make your life more comfortable, may make you feel appreciated, but it's optional. I mean, your question actually says "why would anyone do any science?", because have in mind that doing fundamental science is not that lucrative in terms of pay compared to the value it brings, and only a vanishingly small percentage of scientists actually get some kind of a recognition, and of those who do a vanishingly small percentage is even _mentioned_ to general public.</comment></comment>


Dart is ready for the real world - <AUTHOR> http://arstechnica.com/information-technology/2012/10/googles-bid-to-fix-javascript-dart-is-ready-for-the-real-world/ <comment><USER2> Honestly I still don't see the point of Dart. It's made some strange choices (IMHO) like optional typing.

The idea that code can be shared between client and server is the panacea touted by GWT, which (IMHO) failed to eventuate (eg some classes weren't "GWT compatible" and this included protocol buffers generated classes). Dart seems like the next throw of the dice. I am not optimistic about its successes.

Go on the other hand, seems to have an incredibly bright future (IMHO) and it has lots of things in it that I like.

The only issue with Go, as a low-level (C++ replacement) language at least, is that it is a GC language. I used to think that you could implement some kind of ARC (automatic reference counting) system a la Obj-C/iOS 5+ as a middle ground between manual memory management and GC but I now have doubts about this, largely due to reference counting being an issue with locking on highly concurrent systems (something not an issue on phones with Obj-C/iOS).

More to the point, I think Javascript is like the email of programming languages: its ubiquitous and a whole bunch of people are convinced it needs fixing but I'm not exactly sure why. More to the point, those fixes seem to be incredibly complicated to the point of being a questionable value proposition.

I've been using AngularJS of late and to me it's a bit like the Lisp of Javascript frameworks in the sense that it is actually incredibly expressive but can have a steep learning curve. There is a lot that's simple about Angular but once you start delving into custom directives that support ngModel and the like you start requiring a deeper understanding of what's actually happening.

Anyway, back to Dart: I wish them the best but the complexity of language cross-compilation I think diminishes most if not all of the benefits of client and server language-sharing.

<comment><USER3> >It's made some strange choices (IMHO) like optional typing.

Yes, this may look a bit weird, but it actually makes perfect sense. Those types are annotations. If you use them at the "API boundaries" (parameters and return values), you already get most of the benefits you may know from Java or C#.

Compare the doc comments you usually have to write with those baked-in type annotations:

        /**
         * Foos the bar.
         * @param {int} x
         * @param {int} y
         * @returns {String}
         */
        function foo (x, y) {
            ...
        }

vs

        /// Foos the bar.
        String foo (int x, int y) {
            ...
        }

Much better, isn't it?

Additionally, adding those type annotations is useful right off the bat. The IDE will make use of them right away.

>Go on the other hand [...]

Well, Go is very different. It has a completely different focus. It's more like Rust, for example.

<comment><USER4> You made an example of how not to write documentation and then you shown that the code was better without. That is not the point.

Try to add content to the documentation, as "what is expected to be x?", then you can't remove it so easily anymore

<comment><USER5> Um, I think that's a type annotation for closure compiler, not a documentation comment.

<comment><USER3> The closure compiler uses doc comments.

YUIDoc or JSDoc comments look pretty similar, for example. However, since this stuff isn't standardized, there are some differences between different flavors.

</comment></comment></comment></comment></comment><comment><USER6> From the editor-promoted comment:

 _Why are we bothering with developing new languages when what we should be doing is developing a web standard for a universal bytecode + VM? Hell, use the JVM or the CLR, just as long as it doesn't tie me to a specific language. Dart may be better than JavaScript (I would hope so) but that doesn't mean it's a silver bullet. If we create a standardized bytecode, it doesn't matter what language produced it._

I've been thinking about something like this for a long time. However, the question came up in an interview or presentation with either Brendan Eich or Douglas Crockford (I can't remember exactly where I read this) about why Javascript won out over a VM solution (supposedly this is what the JVM was made for). The most salient argument against a universal VM was that maintaining backwards compatibility between byte-code versions and the competing eco-system of languages would have been a nightmare. Instead the web targeted a single language (and all the trouble that has been along with it). I would rather like to see other languages on the web but I don't think a browser is good place to do it.

Instead what I'd rather see is <http://www.cs.cornell.edu/home/ulfar/cuba/paper/> \-- work could be done to improve that initial design, but the idea IMO is that the OS already handles processes and allocating memory well and the browser vendors are terrible at this task by comparison.

Either way, Dart is an interesting experiment and I'd give it a shot on some prototyping projects.

<comment><USER7> Brendan Eich talks about the VM solution (<http://www.youtube.com/watch?v=Rj49rmc01Hs> Slides: <http://brendaneich.github.com/Strange-Loop-2012/#/>).

I personally believe that HTML is fantastic for what it was designed for: Structured Documents. But the world has gone more interactive and I believe the ad-hoc solution of Javascript, HTML and CSS is not "rich" enough to provide for the users demand.

I like the language independent VM idea as long as it doesn't turn out like bloated Java bytecode.

<comment><USER8> #golang had Limbo in its ancestry, another CSP language, this time for the Inferno register-based VM from Bell Labs. Target Go at a browser VM?

</comment></comment></comment><comment><USER9> From what I've seen of both, TypeScript seems like the language that Google should have created in the first place. It has similar goals, but without the "let's create a whole new VM and replace the entire JacaScript runtime in all browsers" ambition (which is ridiculous).

<comment><USER10> (Disclaimer: I'm partly working on Dart)

\- Every Javascript program is a valid typescript program so typescript doesn't fix JS semantics (like variable hoisting and the only numeric type being floats). I think typescript is a good fit when you already have some big JS project and you want to get some type errors by loading a predefined signature for jquery or whatever library you're using. You basically get a linter + code completion for free on a pre-existing project. But if I have the choice between Javascript and any other language with saner semantics to start a new project, then I will for sure not chose Javascript.

\- I don't think that Dart aims to "replace the entire JacaScript runtime in all browsers", even though the Ars Technica article says so. It's an alternative to Javascript, exactly like Ruby is an alternative to Python. Of course there's a difference between Js vs Dart and Python vs Ruby: every browser runs Js and only Js. That's why the story with Dart is: develop with the VM and Dartium, so that you can reload you application with F5, use the debugger, etc. and then deploy by compiling to Javascript.

<comment><USER11> Function hoisting is a good thing.

<comment><USER10> Sorry, what do you mean by function hoisting? The fact that you can write mutually recursive functions at toplevel? Anyway, I was referring to variable hoisting.

</comment></comment></comment></comment><comment><USER5> I was excited about Dart, until I saw how many lines of code the JavaScript output was for one of its simple examples.

And then I completely lost interest when I started structuring my code well, and realised that I didn't need it as much as I thought.

<comment><USER3> The output is more optimized now. However, there is a one-time cost for some of the language features. So, it grows kinda quickly initially. There is some sort of bump, basically.

Thanks to "tree shaking" (=dead code removal), you'll reach the break-even point fairly quickly though. You can use massive libraries, buy only those pieces you actually use get included in the final output.

For example, the last JS app I wrote is about 80kB (minified and compressed). jQuery alone took about 33kB of that. How much of jQuery do I actually use? I'd guess it's less than 20%.

So, even with that initial overhead, a Dart version would be probably a bit smaller.

</comment></comment><comment><USER12> I'm not convinced. After Google killed numerous projects this year, I'm a little skittish about jumping into Dart. When it has the traction of Go, I'll be more willing.

<comment><USER13> Second time I've seen this today. An account created minutes after the submission apparently just for the purpose of spreading FUD.

<comment><USER14> I disagree that it's FUD. Not every concern expressed about a new technology is FUD. And it seems to me that Google's history of canceling projects that get only limited traction does provide a legitimate concern.

</comment></comment></comment><comment><USER15> There are some things in Dart that would be nice to have in Javascript, but I don't see why Google wouldn't just try to work them into future ECMAScript revisions. With the exception of banning eval and run-time modification of prototypes, I don't see anything that's completely incompatible with a future revision of Javascript.

I'd even bet that the ES standards committee will eventually give in on the "arrow" lambda style. ES5 has the "function(x) x * x" shorthand, but with C# and Java both settling on "(x) => x * x", I can see it happening in time.

<comment><USER16> They did a while ago: [http://wiki.ecmascript.org/doku.php?id=harmony:arrow_functio...](http://wiki.ecmascript.org/doku.php?id=harmony:arrow_function_syntax)

</comment></comment><comment><USER17> You know what, bringing Dart to android development may be a good idea. Web hobbyists hate java with a passion but may embrace Dart for its resemblance with javascript.

<comment><USER18> Bringing Go development to Android would be even better, but I doubt either will ever happen, at least not as an officially sanctioned way to create native apps.

<comment><USER19> Oh I would love for Google to do that!

</comment></comment></comment><comment><USER20> I like it. Here's what it has got for me:

Isolates: Message passing concurrency which takes away 80% of the problems with threads and locking. I find it intuitive in the way that Unix pipes are intuitive. A few other languages have this also but Dart is one of them and its a plus.

Optional Typing: Its a dynamic language so its very flexible. Some statically typed languages are also flexible but you can still run into some very complex cases with the type system. I want to focus on my application. By having optional types though I can get 80% of what static, strong typing gives me, namely documentation, the ability to quickly reverse engineer someone else's code and runtime type checks. You know all those unit tests that you write in a dynamically typed language just to check the type of some parameter? With Dart you just turn on a switch and those unit tests are built in (I don't think typescript gives you this as the type information is erased at runtime)

Native debugger: I want my apps to run everywhere which means generating javascript. I see the Dart VM as a native debugging environment. Google have built a special VM so that I can debug Dart natively. I don't think source maps will be able to give as rich a debugging experience.

Tree shaking: The size of javascript libraries is a big issue. Have you tried looking at some sites over a slow mobile connection? Tree shaking looks like it will make it possible to only pay for what you use. This is a major plus

A consistent core: How many javascript libraries are there? Which should I pick? I don't even want to pick anymore I just want to get on with the job.

A pretty good experience: Rob Pike had an article a while ago about people complaining about a language without using it. I tried Go and that's why I like it. I also tried Dart with the Dart editor. Its nice, the libraries are good, the language is fluent and concise enough. Everything seems to be in the right place.

</comment><comment><USER21> Dart + Native Client Modules almost makes me excited about web programming again. Obviously not for general websites, but for specific applications it would not be unreasonable to require Chrome to be installed as the alternative would be installing a native app anyway.

<comment><USER22> Not again. We have been through this with ActiveX and it was no fun. Similarly we have been through "works on every OS (if it is Windows)".

Web development today with JS/CoffeeScript + jQuery + Underscore and other libs is not hard. Just accept that different users will use different browsers.

<comment><USER21> I am more thinking of Dart+Native Client as a nice alternative to native application development rather than an alternative to general web development.

If you wanted to write an application that performed with native speed would you rather write it multiple times for Windows, Linux and OSX, iOS* and Android (and make sure it compiles on multiple architectures) AND force your users to install and update the application on their computer...

OR

Write it once as a mixed Dart/Native Client app targeting the LLVM bytecode and run it securely in the Chrome browser on multiple platforms? All the user needs to do is install Chrome and visit a URL. Updating the app becomes trivial.

I am not saying it is the clear winner, but to me it sounds like a damn interesting alternative with a lot of promise.

It is also _possible_ that Chrome will "win" - either by gaining such majority user-base that targeting specific features of Chrome becomes worth while, or because Dart+Native Client becomes a de facto standard the other browsers adopt.

Also, if you are writing a "web app" to target a niche market that really want to use the application (hard-core gamers?), requiring Chrome really may not be a big deal for the user-base. After all, if people are willing to install native applications on their local system, why would they be unwilling to install Chrome and visit a URL?

* It is unclear if the Chrome browser on iOS will ever be able to download and run native code for both technical and policy reasons.

</comment></comment></comment><comment><USER23> I haven't read all the comments sorry if this has been posted already. I think you guys would enjoy listing to this discussion about TypeScript, Dart and JavaScript between Anders Hejlsberg and Lars Bak the guy behind V8 and co- creator of Dart.

Link: [http://channel9.msdn.com/Shows/Going+Deep/Anders- Hejlsberg-a...](http://channel9.msdn.com/Shows/Going+Deep/Anders-Hejlsberg- and-Lars-Bak-TypeScript-JavaScript-and-Dart)

</comment><comment><USER11> My problem with Dart is that it's just not that interesting from a language perspective. TypeScript is somewhat interesting in that it has a very low learning curve for JS devs, so that you can go straight to using ES6 maximally minimal classes and type annotations. The ability to jump straight in makes it worth a look. But Dart... Dart is a different (by similar) language that, therefore, has to be learned like any other language. And I simply have no desire to learn another traditional object oriented language that has all of the same features as other object oriented languages but with a "we do this one small thing better" proposition.

You might say that this is the point, but I have to ask why they didn't just fully commit to GWT instead. If the point is to attract Java developers, that seems like the more logical way to go.

</comment><comment><USER24> I was at this. I was really looking forward since listening to the Javascript Jabber podcast ([http://javascriptjabber.com/008-1-v8-and-v8-and-dart-with- la...](http://javascriptjabber.com/008-1-v8-and-v8-and-dart-with-lars-bak-and- kasper-lund-bonus-content/)) about it.

Less than 1/3 through I decided to started to zone out. I don't understand why you need a VM to compile something into Javascript. Also the optional typed language feature is just odd (okay I can see working in groups and wanting to empirically let other developers what type a variable is), but it's just not something I see myself wanting to learn to do what I already know.

I was also interested in the Angular talk, which was good, but it left me thinking Angular is to CakePHP in the MV* javascript world with all the built- in automagic.

Overall some pretty good talks at this.

<comment><USER10> You don't need a VM to compile something into Javascript but the VM buys you a fast edit/reload cycle and some tooling like a debugger. Also Dart can be used as server-side language and there the VM makes sense. It can also be used as an interpreted language just like Python and here it doesn't hurt if it's fast.

Even if _you_ don't put type annotations in your code, the IDE infers types (locally) and gives you useful warnings and code completion.

</comment></comment><comment><USER25> Is google really betting dart will take off? Because I don't see microsoft/apple/mozilla supporting it in the future. But of course dart can still be a cofeescript competitor.

<comment><USER16> They don't need anyone else to support it. Compiling to JS means Dart apps will work in other browsers, and in a Chrome-only world (the world Google wants to exist), everyone will benefit from the native Dart VM.

</comment></comment><comment><USER26> I have been using dart for a couple of months now and am extremely happy with it. Code completion on the DOM API is a different world to the classic javascript edit-test-fix syntax error cycle.

The language and the vm are a distraction. The huge win with dart is what the IDE will do for your productivity.

</comment><comment><USER27> Dart, attempt 35.

</comment><comment><USER28> Could someone throw a good "Beginning Dart" Tutorial here please.Just want play with it.

</comment><comment><USER29> Why does this video sound like a tv shop program selling body hair removal solutions.</comment>


Losses at Revolut more than triple to £106m - <AUTHOR> https://www.telegraph.co.uk/technology/2020/08/11/losses-monzo-rival-revolut-rise-105m <comment><USER2> I had the worst interview experience there (contacted on LI and agreed to interview). Totally unnecessarily drawn out interview process that took months, with a long homework exercise only to be dinged at the very last interview with a "walk me through your resume" interview (are you kidding me).

<comment><USER3> Honestly. I do not blame you.

[https://web.archive.org/web/20200406205828/https://jobs.leve...](https://web.archive.org/web/20200406205828/https://jobs.lever.co/revolut/7445f477-6ba8-43e8-ab50-fa61cb303630)

<comment><USER4> Ridiculous, they care about a 10+ year old GPA?

<comment><USER5> Yeah, and (as a brit) wtf does "60% (UK)" even mean!?

<comment><USER6> 2:2 I imagine.

<comment><USER7> It's a rock bottom 2:1.

I find this odd. Generally a 2:1 equals a GPA between 2.8 and 3.2, depending on how strong it is.

The UK degree requirement is very soft in comparison to the others.

</comment></comment></comment></comment></comment></comment><comment><USER8> I work for a bank. We only make money on credit cards and mortgages. The fees for regular banking stuff like accounts, cheques, etc. barely cover the expenses for operating them. And this is after decades of MBAs and executives trying to find ways to profit off of them.

Unless Revolut gets into lending (aside from the overnight market) I think there is little opportunity for them to make a profit - It's like trying to run a bar without serving alcohol.

<comment><USER9> I've always assumed that they make their money through mining customer data and merging it with e.g. Facebook Pixel datasets etc, but I have no evidence for this. Just seems like the 'obvious' business model for a tech-focussed bank as I assume that traditional banks have more difficulty in adapting their systems for these kind of use cases and I don't see how they could offer so much for free based on small monthly fees from a handful of people.

That said, they're also looking more and more like they might become the Robinhood of Europe, which brings its own revenue models.

<comment><USER8> Normal banks do this too, it's not that profitable. We mine your credit card history and form partnerships with companies that appear on a lot of people's statements. _We send you our customers, you advertise our credit cards, win- win!_

<comment><USER10> Companies buy data on who buys their products if they have a wholesale/retail distribution model. Unlike DTC they don't know who buys their stuff so they don't know who to target.

Buying our credit card data is a big business.

</comment></comment></comment></comment><comment><USER11> Maybe a way out of these losses is to have employees working weekends for free? [1] Maybe a new CFO? [2]

[1] [https://twitter.com/phillipcaudell/status/110108122935141580...](https://twitter.com/phillipcaudell/status/1101081229351415808)

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

</comment><comment><USER12> This seems to be a sensationalist headline. Their revenue is up and they are spending a lot to expand into new markets, hence their losses will be high.

> Revolut's revenues increased sharply to £163m in 2019, up from £58m in 2018.

> Revolut has been expanding heavily over the past year, with the total number > of employees of the company rising from 633 to 2,261 by the end of 2019.

As someone who spends a lot of time between € and £, Revolut has been an absolutely huge money saver. I don't like their reported working conditions and I wouldn't keep savings there, but there's no denying that they are a useful product.

<comment><USER13> You can also use Monzo

</comment></comment><comment><USER14> Are deposits at Revolut government-insured like deposits at a regular bank are? If not, what happens if Revolut goes out of business?

<comment><USER15> [https://www.fscs.org.uk/what-we-cover/banks-building- societi...](https://www.fscs.org.uk/what-we-cover/banks-building-societies/)

You are protected up to £85k per bank.

<comment><USER14> Their "Protection Checker" has this to say about Revolut:

 _Revolut Ltd (FRN:900562)_

...

 _None of your money is protected by FSCS_

[https://www.fscs.org.uk/check-your-money-is- protected/](https://www.fscs.org.uk/check-your-money-is-protected/)

</comment></comment></comment><comment><USER16> I have a Revolut debit card/account but I've never used it. Why? I can not fund it via PayPal, Stripe , etc.. making it useless in my case. They should learn from Transferwise.

</comment><comment><USER17> Not surprised. I've used them for travel but don't think they made any real money off that. Doesn't seem like much of a business model

</comment><comment><USER18> Paywalled

<comment><USER9> [https://telegra.ph/Losses-at-Revolut-more-than-triple- to-106...](https://telegra.ph/Losses-at-Revolut-more-than-triple- to-106m-08-11)</comment></comment>


Ex-NSA Chief's Cybersecurity Startup Draws Funding - <AUTHOR> http://www.wsj.com/articles/ex-nsa-chiefs-cybersecurity-startup-draws-funding-1445819345 <comment><USER2> I'm not really sure wtf KPCB was thinking here.

NSA isn't exactly the world's top defensive security organization. As a red- team, I could see some value in ex-NSA, but for commercial information assurance (IA), aside from "we've seen how things are done badly, by contractors", I would consider NSA experience not just irrelevant but negative.

In addition to being ineffective at the IA mission, NSA has entirely unreasonable resources and imposes constraints on their users. These would be unavailable for commercial companies, so NSA IA experience is even less helpful.

I could sort of see putting $XX mm into a company for "halo effect" on your other investments, but in this case there are more than enough negative external optics which come with the decision. I personally would not want to be associated via common investor with this.

(maybe should post as a throwaway, but w/e; I stand by this)

<comment><USER3> You mean that it's not reasonable to expect users to do all their work on an air-gapped system, and wait in line for the one internet-enabled terminal in the office? ;)

<comment><USER2> Or the 1-3y pre-employment background screening, involving things which would be illegal for a private employer.

<comment><USER4> And the results of the background screening subsequently being sent to China via a cyber security breach.

</comment></comment></comment></comment><comment><USER5> So let me get this straight. The guy who headed the NSA--an organization so secure that a 30 year old contractor was walking out with classified documents on a thumb drive during this guy's tenure--wants companies to buy his product? I don't think so.

<comment><USER6> Snowden is actually a great example of how well compartmentalization works.

He downloaded what was effectively the brochure stand you see in the lobby of a cheap hotel. Look, we have this for use, here is a high level overview. Come talk to us, we will read you into the program, and provide you with the details.

Sure it was an intelligence loss - but it was all stuff that any cleared staff could access anyway.

<comment><USER7> > He [Snowden] downloaded what was effectively the brochure stand you see in > the lobby of a cheap hotel

The NSA and other government security organizations say that the information he leaked was very damaging. The NSA also changed their security procedures in response.

All of that could be for show, but I haven't seen evidence that it is.

</comment></comment></comment><comment><USER8> It's a convention in American governance to pay one's protection money _after_ the official's tenure, to avoid any appearance of impropriety.

</comment><comment><USER9> The NSA did its best on INFOSEC back in the days of Walker's Computer Security Initiative:

[http://lukemuehlhauser.com/wp-content/uploads/Bell- Looking-B...](http://lukemuehlhauser.com/wp-content/uploads/Bell-Looking-Back- Addendum.pdf)

Many systems, under A1 label, were created back then which defeated NSA pentesters. NSA was mainly evaluator rather than developer, but developed some interesting tech of their own. EKMS for key management and especially the inline-media encryptor come to mind. My own IME designs were based on theirs.

[https://www.nsa.gov/ia/programs/inline_media_encryptor/](https://www.nsa.gov/ia/programs/inline_media_encryptor/)

However, most of the developments came from computer science, U.S. military organizations, and defence contractors. They produced a lot of secure technology. People in NSA's IAD helped where possible. Those same methods are used on select systems today although NSA is fast-tracking everything now for some reason at low-assurance. Probably part of BULLRUN.

Anyway, NSA could easily offer good INFOSEC by just applying what's proven to work to various use cases as Bell said. Anyone could. Some did to varying degrees: Sentinel's HYDRA firewall, GEMSOS's thin clients, Mikro-SINA VPN, Secure64's SourceT OS for DNS, and so on. Each of these either had clear security improvements or did vastly better on penetration tests with GEMSOS and HYDRA surviving NSA pentests with much praise from evaluators.

So, people wanting security should just apply what works to every part of the stack. Won't be easy. Will take time. Will probably be incremental. Nonetheless, insecure protocols, monolithic kernels, C libraries... these things have never worked and never will. Just doing the opposite of mainstream in key areas will get one far. Imitating the best of the past will get you really far. And the hardware is the most important battle from there as I said in counterpoint to Dan Geer.

[https://www.schneier.com/blog/archives/2014/04/dan_geer_on_h...](https://www.schneier.com/blog/archives/2014/04/dan_geer_on_hea.html#c5598568)

So, screw Alexander's outfit. Nobody needs it: just lessons NSA and others taught us long ago plus what we've learned in mean time. So, use them instead and save yourself the consulting fee. You'll need it for the premium that real security costs you. ;)

</comment><comment><USER10> Security is kind of a weird space. You can't just buy security. It's lots of consulting and training firms with some products that enterprises buy.

I have a feeling this is going to be just like all the other ones, with some proprietary IDS.

One interesting thing to note, being originally from NoVa/DC. No mention of a clearance requirement in the company's job reqs. I've never seen a job req that required a clearance without one.

<comment><USER11> If you think about not having security clearance, it makes sense. You'd usually have clearance to see certain data. By not requiring it, you're replicating how anyone else would try breaking into secure systems.

<comment><USER12> The way most agencies work, the vulnerabilities would be considered classified information. So, the testers would not have access to classified information prior to the evaluation, but what they find during the evaluation would become classified.

</comment></comment></comment><comment><USER13> The DIRNSA isn't really an NSA staff member. He's a general or admiral that represents the agency to Congress, etc.

This is relevant to whether NSA experience is a pro or con in the commercial space - he doesn't have the type of NSA experience you're probably thinking of.

<comment><USER9> Yet, he and Hayden were the reason it got where it did. Further, Alexander has Masters in Business, Electronic Warfare, and _Physics._ His Master's thesis was technical enough that I'm thinking he plays dumb in public. It's probably a hold-over from how he talks to laypeople in military and Congress.

In any case, even if he isn't technical, his staff is. Especially his right- hand, James Heath, that led the creation of many technical capabilities. If he went with Alexander, then the two could accomplish plenty in INFOSEC (mainly detection/response) at corporate levels and with easy government contracts.

</comment></comment><comment><USER14> How exactly is this guy able to raise money, as a practical matter? He lied his ass off under oath, testifying before Congress. It's likely he'll disappear overnight with all of his investors' funds.

<comment><USER15> As far as raising money goes, liars tend to be really good at it.

</comment></comment><comment><USER16> How will this even work? Will he tell his company's developers to develop software that will protect against all the vulnerabilities he learned about while being the head of NSA and hacking into everyone's networks? That seems...wrong somehow?

<comment><USER17> he'll probably spend a lot of time having the devs write software based on DoD standards. It's surprising how much of security is "make sure you've configured everything correctly".

<comment><USER18> _It 's surprising how much of security is "make sure you've configured everything correctly"._

Or "don't accept _' or 1=1 --_ as a password", for that matter. Internet- facing web system with several thousand users, just a year ago or so. Made me feel like I'm back in the '90s.

<comment><USER19> There's nothing inherently wrong with that password as long as your code isn't vulnerable to SQL injection, which is trivial to do nowadays.

<comment><USER18> Sure SQL injection is trivial to do nowadays; it's always been.

I mean, of course I meant this _was_ an SQL injection.

<comment><USER20> It's trivial to _not_ be vulnerable to SQL injection.

<comment><USER21> That's not what "trivial" means. Trivial means the simplest possible example, which in almost every web framework involves passing input as received to the DB driver without knowing its contents and without escaping/sanitizing it.

Only by using frameworks and DB drivers correctly (RTFM) is one able to accurately avoid SQLi. I would argue that "using software correctly" is by no means trivial and rarely happens in most systems that have less than NASA quality safeguards.

I would agree that most modern frameworks which are adopted by at least a few hundred developers tend to use best practices and a "security by default" mindset, but that's far from saying that "avoiding SQLi is trivial".

</comment></comment></comment></comment></comment></comment></comment><comment><USER22> _To Read the Full Story, Subscribe or Sign In_

<comment><USER23> Clickthrough: [https://www.google.com/search?q=Ex- NSA+Chief%27s+Cybersecuri...](https://www.google.com/search?q=Ex- NSA+Chief%27s+Cybersecurity+Startup+Draws+Funding)</comment></comment>


Communication with Submarines - <AUTHOR> https://en.wikipedia.org/wiki/Communication_with_submarines <comment><USER2> This article completely missed the Russian attempts to use PSI mediums, ordinary clairvoyants to transmit messages to their submarines. It didn't work out :)</comment>


DEC Alpha AXP CPU History - <AUTHOR> http://es40.org/CPU <comment><USER2> The history is interesting. It's a shame that work on ES40 had stopped before it was fully able to run VMS.

It's going to be a LONG time before emulation comes close to the actual speed of real Alpha hardware. I'm still running an API CS20, and it's still quite a speedy machine.</comment>


Why You Should Never Center Align Paragraph Text - <AUTHOR> http://uxmovement.com/content/why-you-should-never-center-align-paragraph-text

<comment><USER2> Another painfully obvious, no-data article from uxmovement.com.

A minute of Googling gave me a more researched article with more comprehensive suggestions. See 3.5 on p. 390.

[http://core.ecu.edu/engl/tpc/MennoMenno/ftp/williams%202000....](http://core.ecu.edu/engl/tpc/MennoMenno/ftp/williams%202000.pdf) (Link fixed, thanks!)

<comment><USER3> Dead link.

<comment><USER4> Works if you remove "25": [http://core.ecu.edu/engl/tpc/MennoMenno/ftp/williams%202000....](http://core.ecu.edu/engl/tpc/MennoMenno/ftp/williams%202000.pdf)

</comment></comment></comment><comment><USER5> > _In other words, a centered headline should never go with a left aligned > paragraph._

And then their poll is an exact example of this. I swear, _every_ UX movement article I've seen has had an example of what they're campaigning against elsewhere in the page.

I ask: why? Headings are a different section of the page, a different conceptual item than the paragraph they relate to. Centering them, and giving them a different left-edge helps differentiate them from merely large text.

<comment><USER6> "I ask: why?"

They told you. It will look off-center. Draw the lines on the right side of the text that they drew on the left above that and you'll see it. If the box is 20 units wide, the center of the centered text will be put at 10 units by your layout algorithm, but that will actually be to the right of the "actual" center, because nearly all lines of text will actually be shorter than 20 units. The 20 is an upper bound, not an actual bound.

I would be intrigued to see if they say the same thing if one justifies the text, but my guess is that they would tell you not to justify your text on the web anyhow.

<comment><USER5> That's _their_ why, and it's a style choice that's heavily influenced by the size of your text chunks. And style choices are fast-changing.

Try the same experiment with a wider (say, 6-800px) block of text, such as you see more frequently than the ~200px they demonstrate with, and try to tell how off-center it is. Or with a longer block of text, where the width is more easily visible because the ragged edge on the right will inevitably get close to the actual width of the container. Or with anything with surrounding images / colors that are different, where it'll _clearly_ be centered.

Meanwhile, left-align everything and then compare with a center-aligned header, and decide which one reads more easily. This is " _UX_ movement", ie "user experience", not Designer Daily; ease of reading and detecting different sections of the page are part of UX.

</comment></comment></comment><comment><USER7> What about text justified to both sides?

<comment><USER5> I personally despise justified text. Losing the ragged edge means it's easier to lose your place, and varying spaces between words just means more brain- load if you're reading quickly.

<comment><USER8> It's odd. I find justified text difficult to read on a screen, but when it's printed I read it easily, without even noticing it's justified.

If the reason for this is that screens are lower resolution than print, I would expect reading justified text on screens to become easier over the next few years, as 300dpi screens first become available and then common.

</comment></comment></comment><comment><USER9> Fewer vertical lines looks cleaner to the eye.

But "never"? I'm sure gorgeous counterexamples are only a few hops away.

Reminds me of militant opinions on font choice for resumes.

</comment><comment><USER10> What is you opinion on All caps or Small caps headlines? I think they are captivating, and small caps even induce some eye flow.

</comment><comment><USER11> WHAT ABOUT ALL CAPS? GOOD? BAD?</comment>


Finding Pi from Random Numbers - <AUTHOR> https://measureofdoubt.com/2018/07/22/finding-pi-from-random-numbers/ <comment><USER2> This is a classic statistics/machine learning exercise. It is also the topic of my favorite scientific paper of all time:

[https://arxiv.org/abs/1404.1499](https://arxiv.org/abs/1404.1499)

> _A Ballistic Monte Carlo Approximation of π_

>> _We compute a Monte Carlo approximation of π using importance sampling with shots coming out of a Mossberg 500 pump-action shotgun as the proposal distribution._

</comment><comment><USER3> There is another way to compute pi from random numbers while having nothing to do with geometry. The probability of two random numbers being co-prime is related to pi [1]. Notably, standupmaths did this once by hand [2].

[1]: [https://en.wikipedia.org/wiki/Coprime_integers#Probability_o...](https://en.wikipedia.org/wiki/Coprime_integers#Probability_of_coprimality)

[2]: [https://youtu.be/RZBhSi_PwHU](https://youtu.be/RZBhSi_PwHU)

<comment><USER4> How do you do this with the need to use a ceiling? (Sorry, I didn't watch the video).

<comment><USER5> If you mean a highest integer, he didn't, he's using rolls of a pair of 100+ sided dice. It's an approximation, anyway.

</comment></comment></comment><comment><USER6> There is also the classical Buffon's needle experiment: [https://en.wikipedia.org/wiki/Buffon%27s_needle#Estimating_%...](https://en.wikipedia.org/wiki/Buffon%27s_needle#Estimating_%CF%80)

</comment><comment><USER7> The article is not about the (trivial) way to compute pi by putting random numbers in the square. It's about altering the way you compute your target function to narrow down the confidence intervals, while still computing the same value.

Definitely you can compute pi by scanning a uniform grid in a square and checking how much ends up in the quarter-circle. But with these stats tricks applied, mere 10k points give the author very good approximation, beating 22/7 30% of the time. Scanning a 100x100 grid will give a much coarser approximation, I suppose.

</comment><comment><USER4> I had to do this exercise in my undergrad, it's always stuck out as one of the exercises I've remembered and found really interesting.</comment>


Introducing Triton: A static cache-enabled web server in Go - <AUTHOR> http://cjslep.com/blog/triton

<comment><USER2> To clarify: do you watch filesystem for template changes, then store the parsed template in memory, or do you execute the template every time?

I'd be curious to see benchmarks against nginx with the equivalent html files already generated.

> The droplet hosting the former site only accepted its key, so losing the > hard drive meant I lost access to maintain the site.

Droplet as in DigitalOcean? As long as you still have access to your DigitalOcean account, you can "Reset Root Password" and use "Console Access" to re-establish ssh.

<comment><AUTHOR> > To clarify: do you watch filesystem for template changes, then store the > parsed template in memory, or do you execute the template every time?

I watch the filesystem for template changes and re-read the template into memory. However, upon serving a request the template is re-executed. The rationale is to, in the future, expose the data portion of Go's template.ExecuteTemplate so a third-party content manager can pass in information such as date of publication, published by whom, tags, etc.

> As long as you still have access to your DigitalOcean account...

I had no idea that was possible, but now I am kicking myself. Fortunately, my previous site had very little. Thanks for pointing that out!

<comment><USER2> What do you mean by "third party content manager"? That sounds quite a bit like a database. Is this a static site or not? :)

</comment></comment></comment><comment><USER3> Why manually cache plain files if the kernel does it for you?

<comment><AUTHOR> Good question!

In theory, the disk cache uses spare memory that applications are not using, so it is not guaranteed to be present if I am hosting it on a server with little-to-no free memory. However, if an application contains the cache then it will not be eliminated in a memory-starved environment.

In practice, this will probably rarely happen on my server.

Edited to add the "in practice" bit.

<comment><USER2> On a memory-constrained system, forcing files into memory will increase memory pressure. You have roughly the same amount of cacheable data either way, but many VPS providers don't configure a swap partition by default, so the kernel can't page out your idle memory to make room for something else and you can run into OOM problems.

If you're not hitting the bounds of your machine's memory, the kernel disk cache will do a pretty good job. If you _are_ , then you're more likely to cause problems by forcing more active data into memory.

For what it's worth, the kernel is free to evict your unused memory pages to disk (on a system with swap), which is almost an identical access model to disk caching:

Virtual memory: We need this previously-idle section of memory, so let's restore it from disk until it becomes idle again.

Disk caching: We need this previously-idle section of disk, so let's cache it in memory until it becomes idle again.

<comment><AUTHOR> So if I am understanding this right, to really get any appreciable cache improvements would I need to pre-execute the templates once and store that generated output in a temporary file to leverage the disk cache and repeatedly fetch (cache hit) that file upon request?

<comment><USER2> The basic statement I was trying to make was "due to disk caching, putting your cache in memory or disk is roughly equivalent, except it's easier for the kernel to make decisions about an on-disk cache."

As far as re-executing templates, let's break down some hypothetical costs, including pretty optimistic network latency.

1\. Accept, read, and parse a request from a socket: >50ms

2\. Read a template from (solid-state) disk: 16µs

3\. Parse and execute a template: 100µs

4\. Serve the response over TCP: >20ms

If we replace (2) with a memory cache (whether it's your app or the kernel), the cost goes down to maybe 1-5µs.

Your time-to-response is effectively the same with template caching. So what's the point of a generated static site? Reducing CPU and memory pressure. Your page load times are almost completely bottlenecked on network, so you can optimize this using a CDN/external caching service (like Cloudflare) to bring the content closer to the user, or you can optimize by removing CPU cycles per page load to increase the number of concurrent connections you can handle.

There's a point where the userspace to kernel latency in serving a file is also a bottleneck, but nginx can use the sendfile() [1] system call to copy a file directly to a socket (from the kernel disk cache) without ever touching userspace, which is _much_ faster than anything you're going to do with in-app caching, unless you also put the TCP stack in-app.

[1] [http://linux.die.net/man/2/sendfile](http://linux.die.net/man/2/sendfile)</comment></comment></comment></comment></comment>


Twitter Explained by Ev - <AUTHOR> http://evhead.com/2008/03/twitter-explained.html

<comment><USER2> Brilliant. I'm working on a video with a similar purpose and my standards for how good it has to be just went up. They're for hire...very tempting.

<http://www.commoncraft.com/work>

</comment><comment><USER3> Actually, not remotely explained by Ev. Explained by CommonCraft. Tho Ev links to 'em.</comment>


NSA: Linux Journal readers get flagged for extra surveillance - <AUTHOR> http://www.linuxjournal.com/content/nsa-linux-journal-extremist-forum-and-its-readers-get-flagged-extra-surveillance

<comment><USER2> I can understand it from a positive vetting approach, but now it is known about then if anything further data will be of questionable quality.

If anything I'm more surprised this is know about the NSA regarding this site more than the NSA's actions.

Though if you look at the linked source, viewers in 'US' OR 'GB' OR 'CA' OR 'AU' OR 'NZ' are excluded.

Now it does not appear that if you run thru a proxy service located in one of those countries, that you would by pass this flagging. Which is anything seems a little bit of a silly oversight and not one I would expect the NSA to be making.

So how trusted and true is this information and associated source this article is related too? Anybody add credence to this?</comment>


Cell Segmentation with U-Net and Others - <AUTHOR> https://benjamin.computer/posts/2019-12-20-Turing-DSG.html <comment><USER2> Deepcell[1] is a framework I worked on for a bit during my undergrad. It can do cell segmentation & tracking for different imaging types.

[1]: [https://github.com/vanvalenlab/deepcell- tf/blob/master/READM...](https://github.com/vanvalenlab/deepcell- tf/blob/master/README.md)

</comment><comment><USER3> For this particular problem, Mask R-CNN would have been the way to go -- it spits out instances as opposed to just deciding, for each pixel, to which class it belongs. Or an SSD (if we don't care about the mask at all).

</comment><comment><USER4> U-net is great and there are plenty of different versions of it for a variety of problems that have yet to be discovered!</comment>


Intel wants developers to think parallel - <AUTHOR> http://tech.yahoo.com/news/infoworld/20090310/tc_infoworld/128347 <comment><USER2> I bet they do. :-)</comment>


Mathematical model reveals solution to sloshing coffee - <AUTHOR> https://www.phys.org/news/2017-12-mathematical-reveals-solution-sloshing-coffee.html <comment><USER2> If we're going to allow impractical solutions, just freeze the coffee.

<comment><USER3> I found it (almost), low temp microgravity environment!

[http://www.sciencedirect.com/science/article/pii/S0011227501...](http://www.sciencedirect.com/science/article/pii/S0011227501001746)</comment></comment>


Apple Dabbles In Public Transportation, Adopts A Subway Station - <AUTHOR> http://crispgreen.com/2010/11/apple-dabbles-in-public-transportation-adopts-a-subway-station/

<comment><USER2> Creative marketing move. Particularly because that stop is where the store is located.</comment>


Millionaire teachers: a lucrative online marketplace for lesson plans - <AUTHOR> http://www.tampabay.com/news/education/k12/millionaire-teachers-rising-standards-have-led-to-a-lucrative-online/2320189 <comment><USER3> This is textbook PR, literally from the first word. The headline is crafted specifically to engender resentment and outrage.

The intention is to reinforce the counterfactual narrative that teachers in the US are overpaid, which is needed to depress opposition to the looting of public school systems.

Now, a market for lesson plans _is_ interesting - and I'm much happier with money going to entrepreneurial teachers actually creating content that might otherwise end up in the pockets of the Blackstone Group or Holtzbrinck - <USER2> the real point of this article has more to do with parochial politics.

<comment><USER4> Could you point me to what you mean, or how you found that meaning here? I grant that I probably bring my own biases to this interpretation, but the article made me think, "teachers now have to spend their own salaries on teaching material because districts only buy lousy, overpriced stuff (if that) from textbook publishers. Worse yet, the jerks feel the need to attack the teachers who are sharing their material, as if $40k p.a. entitled them to 168 hours of their employees' time each week."

<comment><USER5> Starting off with the title of "Millionaire" would definitely annoy people.

<comment><USER4> Ahhh, so it's PR for people who only look at the title. Thank you; I totally missed that, but you're quite right about it. (This from the guy who misses important information in emails because why would I read the subject line if I'm reading the whole message?)

</comment></comment></comment></comment><comment><USER6> Man, I don't get why Teachers stress so much on lesson plans.

I was a high school teacher for about a decade and after the first three years, it doesn't take long or difficult to have lesson plans available.

If you want ideas, the school district often has a crap load of them. And if you are teaching a standardized course (like Algebra or Geometry) you are essentially provided lesson plans for every day.

The website is an interesting idea, but it won't make a bunch of people millionaires. It will make 2 or 3 teachers millionaires, with most people who contributed probably losing money for the amount of time invested in creating these lesson plans.

Really, the school districts biggest waste of resources are their teachers. You could easily open source all the teachers lesson plans for the district, then you could freely pick and choose from anyone in your district.

Also, you could do away with those crazy expensive textbooks. Get every kid a $50 android tablet and get a team of teachers to come up with an open source version.

It would take them a few weeks over the summer if you are dealing with experienced teachers.

Then, you update the textbook every summer and the students download the latest version in August.

The school district would save insane amounts of money.

But, they won't do that because the publishers and administrators have corrupted the textbook buying process to a maddening degree. So sad.

<comment><USER7> Your profile notes:

> Owner/ Founder: Making-The-Grade Private Learning (Private Tutoring > Services).

Your belief that there is nothing more to teaching than a lesson plan - "you could freely pick and choose from anyone in your district" \- doesn't inspire confidence in the services you offer.

You also note that you're a Wordpress (sic) contractor. WordPress (note the capitalized P) is open source. Do you also believe that you could freely pick and choose from anyone (i.e. anybody without prior training or experience) to do WordPress development?

<comment><USER6> I know this is super late, but I will respond as I just saw it.

I have been an educator for over a decade, and lesson plans are very low on the list of what makes someone a good or great teacher/educator.

Teaching successfully is a lot of things, but for me it is a presentation. Making an interesting presentation and guiding students through a course correctly is the true skill.

Lesson plans are mostly about inserting industry language and cool sounding bullet points into pdfs so that your administrator will be impressed. They are really useful to inexperienced teachers, but are largely an after thought for many great experienced teachers. When you open source them to people in your district, it would be easy for other teachers to get ideas from them and allow them to actually be useful for even the most experienced teachers.

You clearly didn't understand my comment, so please enlighten me on what your theory of teaching and education is and the role that lesson plans play in all of it.

Your question, which was probably rhetorical, about Wordpress (note the uncapitalized p) doesn't make any sense. If you want an honest debate, rephrase it.

</comment></comment></comment><comment><USER8> This reminds me of what Michelle Rhee wrote in her book 'Radical':

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

Imagine a third-grade teacher whose class is working on fractions. She opens up her laptop that the school has provided. She ventures into a teacher portal that the district has set up to assist educators. The teacher types "adding fractions" into the search engine. Up pop links to lesson plans that various teachers in the district have used to teach the skill of adding fractions. They are sorted by grade level. Each lesson is rated by a certain number of stars, ratings other teachers have given the plan based on how well it was written and how well it worked in their classroom. There are also links to videos of master teachers presenting lessons on adding fractions. In these videos teachers can hear narration by the master teacher, who is explaining what happened in the room, and why she did what she did. There's also a message board that teachers can use to comment on the video and share ideas.

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

When I read this, I thought "Yes! Stack Overflow for lesson plans"

</comment><comment><USER9> Glad teachers are finding a way to make some additional money especially given how much time they spend on lesson plans. The licensing aspect seems interesting and potentially problematic, but I don't see why the school districts couldn't get into this too and do some sort of revenue share with the teachers (ignoring the bureaucracy of actually setting it up). A more "open source" version of this would be nice too but then you get into the same kinds of funding issues that open source projects have. Seems like it would be good to have teachers contributing back improvements though too. Does anybody know of anything like this?

</comment><comment><USER10> I don't see the downside here. Being able to sell lesson plans would be a nice little bonus to often underpaid teachers. It would have the upside of having teachers put in a little more work in developing their lesson plans if they think they can sell them. Other teachers would be able to benefit greatly from purchasing other lesson plans and saving time and effort.

I don't think it would harm the "traditional collaborative atmosphere of schools". Creating an exchange, even with the option of payment would just improve it

<comment><USER11> >I don't see the downside here.

The new thing here isn't lesson plans for sale, it's a marketplace with small vendors. So this isn't a new downside, but sponsored content is a continual worry.

A train carrying delicious Pepsi products is traveling from the Pepsi plant in Pepsi-town to the Pepsi distribution center in Pepsi-city. What is your favorite beverage?

<comment><USER12> Imported sparkling glacial water only, sorry.

</comment></comment></comment><comment><USER13> As a parent, I dread seeing worksheets come home with my kids that are obviously downloaded from the web. It's mostly been busy work dressed up with clip-art, or just totally unvetted by the teacher (e.g. "fun" word puzzles with obscure words). There were a couple of history worksheets that made sense to share, but the documents were apparently un-editable, so about 2/3 of the questions were blacked out before it was copied. Which is fine, I guess, but seems not exactly optimal.

</comment><comment><USER14> I'll be curmudgeonly ... can someone open-source lesson plans so the community could work to improve them and they would be free? Teachers shouldn't have to be paying out of pocket for this stuff.

Or does such a thing exist?

I guess I'm torn: I like that teachers are seeing compensation by selling their lesson plans, hate that other teachers have to pay.

(I'm personally working on a site to eventually provide free primers to elementary school age children.)

<comment><USER15> Ideally we'd abandon this weird psuedo-capitalist idea of education and just convince our government that education _is the best investment a country can make_.

An educated populace will devise better defense technologies and strategies. An educated populace will create more efficient means of production. An educated populace will strategize better trade deals. An educated populace will create more cultural icons that attract foreign tourists.

In other words, yes, open-source the lesson plans, and increase the education budget by 500%.

<comment><USER16> Throwing money at the problem isn't necessarily going to help. Tons of poor school districts have gotten major cash infusions and produced nothing to show for it. The money needs to be spent efficiently. Power needs to be taken away from administrators and given back to teachers. Also, bad teachers need to be fired.

<comment><USER15> Why do bad teachers exist? Why do we have tyrranical, shitty administrations?

Giving a million dollars to a homeless drug addict would kill him within the week. You don't solve the problem by throwing money at it, now.

I said _increase the education budget_. That's not just money to schools, that's money to education research, schools, teachers, after school programs, parent outreach, and all the other weird little things people don't think about when they think about education. It would shift our country's cultural and political policy towards education - if teachers are pulling 120k salaries, the expectations for their performance would be higher. More people would seek out the extra difficult training to become a teacher because the rewards are worth it, much like people are willing to spend 10 years slaving through medical school for a prominent, well-respected, highly paid job that involves helping people.

Right now the only people that teach are the genuinely good people that are willing to take 24k/year salaries minus personal expenses on classroom supplies, or yea, the shitty people who couldn't figure out what else to do.

</comment></comment></comment></comment><comment><USER17> >Some legal experts argue that the resources teachers produce while working for a school district may actually be the property of the school district.

I think as this industry grows, this becomes a huge issue for retention. Some teachers may decide to leave the profession and produce content full time if they can make more money (which isn't hard in some states).

<comment><USER18> I doubt it can happen, but I believe we would be well served to more clearly and firmly limit copyright within the classroom setting. I understand that publishers need to protect their investment, but teacher actively and regularly break the law in preparing curriculum for their classes.

</comment></comment><comment><USER17> Andrew at Mixergy did an awesome podcast on a similar site just recently. I highly recommend listening to it, the co-founders are incredible.

[https://mixergy.com/interviews/flipped-lifestyle-with- shane-...](https://mixergy.com/interviews/flipped-lifestyle-with-shane-and- jocelyn-sams/)

</comment><comment><USER18> I've always felt that Teacherspayteachers is interesting, but it can't be a general purpose curriculum tool. The marketplace model also distorts (in my mind) the incentives for sharing while limiting buyers/users to the infrequent, desperate and/or inexperienced. The relationship between teachers is purely transactional, so there is no collaborative development or improvement of the content over time. Likewise, it is reliant on discrete documents, which I find inflexible. This inflexibility might not matter if you're working with young kids and just need a fun activity/game - but (as a high school teacher) it is a significant hinderance to using this platform on a regular basis.

All that said, sincere props to Paul Edelman for developing a strong community around the site.

</comment><comment><USER19> I say great for the teachers who found a way to make some well deserved extra money for all of their hard work.

The thing that makes no sense is the need for it in the first place. The constant changing of books for the curriculum forces everyone to reinvent the wheel for their lesson plans. So much wasted time and _energy_ that the teachers could be spending actually helping children and being more satisfied. This isn't cutting edge ML research at MIT, it is helping 3rd graders learn about planets, etc.

Why isn't this done at the state level Department of Education? Here is the playbook, follow it and add/adjust as you need to based on your students. Huge time and money savings for all. This is easy to solve with some political will and give-a-shit.

<comment><USER20> It's mostly driven by publishers who want to sell books every year instead of every decade. Add some academics looking to justify their existence plus upper administrators who are given big salaries to 'do something' to 'improve' education and you soon have a system that's very willing to slosh taxpayer money around.

<comment><USER21> In other words, someone has a money incentive to change the game, and the power to do it, and we're all worse off as a result.

</comment></comment></comment><comment><USER22> This is great. I love to see this kind of news. Good teachers are very expensive and there's a of schools that prefers to have mediocre ones and capitalize their earnings.

I'm doing 4 to 6 online courses per year I think it's a great way to spend my money. And I always have the same teachers with me</comment>


Show HN: Build, run and share React Native apps in your browser - <AUTHOR> https://rnplay.org/ <comment><USER2> One day there'll be a collection of React-Native view components which output HTML/DOM, and it will be a terrible, fantastic, horrible day.

<comment><USER3> [https://github.com/KodersLab/react-native-for- web](https://github.com/KodersLab/react-native-for-web) [https://github.com/necolas/react-native- web](https://github.com/necolas/react-native-web)

<comment><USER4> As dumb as that sounds, it's not entirely without merit. React Native's direct goal isn't write-once-run-anywhere, it's write-once-write-anywhere. That's a good goal for a place with as many engineers as Facebook does, but smaller teams might place more importance on write-once-run-anywhere.

</comment></comment></comment><comment><USER5> We've gone full circle!

</comment><comment><USER6> Were the accusations that React's license enables Facebook to steal your entire project without facing any legal consequences ever addressed?

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

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

<comment><USER7> The patent grant has been updated in April.

[https://code.facebook.com/posts/1639473982937255/updating- ou...](https://code.facebook.com/posts/1639473982937255/updating-our-open- source-patent-grant/)

[https://github.com/facebook/react/commit/b8ba8c83f318b84e429...](https://github.com/facebook/react/commit/b8ba8c83f318b84e42933f6928f231dc0918f864#diff-7373d27f0ea94a5b649f893e20fffeda)

</comment></comment><comment><USER8> Would love to see the ability to build Android apps too now that Android support has been released.

<comment><AUTHOR> We're working on getting Android support along with other devices (iPhone 5/6/6+).

</comment></comment><comment><USER9> This has come along way in the last six months! Great work guys :)

<comment><AUTHOR> Thanks! We have worked quite a lot in the past month to push this out.

Special thanks to Joshua who has done the groundwork with others. He's a great guy and it's been pleasure to work with him.

</comment></comment><comment><USER10> Really cool idea, hope to see more examples! :)

<comment><AUTHOR> We have plans to add more examples and complete apps as well in the future.

Support for Android will come later, also landscape mode for simulator etc.

</comment></comment><comment><USER11> Looks like this React Native showcase is built with Angular!

<comment><AUTHOR> Backend is powered by Rails. The editor is React app and the site is partly using React components.</comment></comment>