SlackTextViewController: A new growing text input for iOS - <AUTHOR> https://github.com/slackhq/SlackTextViewController

<comment><AUTHOR> We tried other popular text input projects for iOS, but none felt right and worked fully for our needs. We ended up spending a big portion of our time maintaining custom versions of other projects.

For that reason, we decided to build our own growing text input from scratch, and we've just released it as open source. We hope you all will find it useful!

<comment><USER2> Looks really great. Have you thought about submitting to CocoaControls? ([https://www.cocoacontrols.com/](https://www.cocoacontrols.com/)) It's the second place that I look for iOS components (after a simple Google search, that is).

<comment><AUTHOR> Thanks! We submitted and it should be up on their site soon. (Pretty sure they are still reviewing it)

<comment><USER3> Just did :)

<comment><USER4> thanks a lot @aaronbrethorst!

</comment></comment></comment></comment></comment><comment><USER5> > Inverted mode for displaying cells upside-down (using CATransform) -- a > necessary hack for some messaging apps (including ours)

Care to elaborate? Sounds intriguingly crufty.

<comment><AUTHOR> UITableView lays out cells from the top. If there aren't enough cells to fill the screen, there will be an empty area in the bottom part of the table view, between the last cell and the bottom of the table view (as you would expect).

Unfortunately, there isn't a standard way to invert a UITableView, and have cells laid out from the bottom.

So, the easiest solution for us was to set the table's transform to CGAffineTransformMake(1, 0, 0, -1, 0, 0) (flip the whole table upside down) and then give the cells the same transform (to cancel out the table view's transform).

A bit hacky, and causes indexPaths to be inverted as well (0,0 is now at the bottom), but worked for us.

Seen a few other people take this approach as well: [https://twitter.com/tapbot_paul/status/461161920402563072](https://twitter.com/tapbot_paul/status/461161920402563072)

<comment><USER6> That's a pretty interesting approach. Wouldn't it be cleaner to use a UICollectionView with a custom layout?

<comment><USER4> Most definitely! UICollectionViewLayout should be the right answer, but the thing is: the Slack iOS app was already built using UITableView, drawing many many custom cells. We'll probably port someday to UICollectionView ;)

<comment><USER7> I've started experimenting not making cells but UIViews and just add them on top of cells. I haven't gone with that fully yet but I've planned to try it out.

The downside is you lose out on many of the out of the box stuff, like cell background highlights that you know have to define yourself.

The upside is that you can now reuse the UIView everywhere, including non- subclasses of ScrollView.

<comment><USER8> You should add your view to the cell's contentView instead of directly on the cell, which allows you to keep the default behaviors and also reuse the view.

</comment></comment></comment></comment></comment></comment><comment><USER9> As someone that doesn't do iOS development it boggles my mind that you guys have to build this feature into your apps.

<comment><USER10> I'm with you. I don't do iOS development at all, but I will literally sit there and go through the entire code of every iOS control submission to Hacker News just to see how they accomplish what they do. I cannot believe how much code it takes to do something I feel you can accomplish easily in javascript.

Kudos to all the iOS developers out there. I don't know how you guys manage to do it, but I'm sure glad you do and are willing to share your code with the rest of us.

<comment><USER11> That's not really a fair comparison. JavaScript backs onto a browser that already implements a vast amount of rendering.

If we had a similar iOS control, we could do it really simply too.

</comment></comment></comment><comment><USER12> So I'm making iOS apps sometimes, but have not implemented a chat feature.

Why would I want to use this rather than a UITableView where I append the newest message in the end of the UITableView every time (you'd have to increase it's length +1 for each new message, but hey that may be ok)?

<comment> vertex-four This implements the input box, not the rest of it. Apparently, an automatically (vertically) expanding input box does not exist for iOS in the standard libraries for it.

</comment></comment><comment><USER13> Apple developed Swift to make developer's more expressive and efficient yet they do not provide simple controls like this. Can't tell you how many hours I wasted in the chat portion of my app trying to get a simple growing text input to work!

<comment><USER4> Try this out and let us know what you think. It's been designed in a way where you shouldn't care about the growing text input and trivial features related to it, but to build your tableView/collectionView cells and content.

</comment></comment><comment><USER14> cool. I was just shopping for a new growing text view since HPGrowingTextView seemed like it was not maintained and buggy on IOS 8.

I settled on [https://github.com/oseparovic/MessageComposerView](https://github.com/oseparovic/MessageComposerView).

It's nice, simple, and does the trick. However, I will definitely checkout SlackTExtViewController.

For people not in IOS development: yes this is crazy that it is not built in. But our tool chain is better :)

</comment><comment><USER15> Wow. 192 commits. ~1.5 months of work. For a UITextInputField. This pod was made with love.

<comment><USER4> Atomic commits yo! But yes, it was built with much love and attention to details.

<comment><USER16> Agreed! Where I work, GitHub graphs make it look like I'm doing 5 times more work than everyone else. But I'm really just pushing commits more often.

<comment><USER17> Since January I've been insisting that we make atomic commits, but now I'm looking to switching to squashing them into one before merging. This makes it a lot easier to roll back a whole feature and not half way through it.

Plus, our graphs look ridiculous, I'm easily 5-10 times over the others, but it's not that I'm doing more work, I just commit more often.

<comment><USER18> We're using atomic commits since 2009 when we moved to git. However: we very often merge features with --no-ff to make it way easier to back them out at once if needed.

That way you get the best of both worlds (very easy archeology and very easy backing out of features)

</comment></comment></comment></comment></comment><comment><USER19> If this works well, then it's enormously useful. I spent way too many hours trying to get the existing solutions to work, without success. (In the end, I had to implement the view in HTML and JavaScript!)

</comment><comment><USER20> Will this work for just the input component with a separate table view controller? That'd make it much more useful for non-messaging apps also.

<comment><USER4> By subclassing SlackTextViewController, you'll get a tableView or collectionView, and a toolbar at the bottom containing the growing text input. That's basically it. You may decide later to override some methods for disabling or enabling more features.</comment></comment>


Ask HN: How does Facebook detect slight misspelling of password? - <AUTHOR>

I just tried logging into FB and I inadvertently misspelled my password. FB detected this and told me that my password was slightly off (this isn't the exact error message but is representative).<p>How do they know? I use BCrypt on my sites and I wonder how such a message can be generated if you haven't stored the plain text password? One way could be to also store some other hash that makes computing the edit distance easy but wouldn't that  negate the problem BCrypt solves in the first place (namely making it hard to brute force the correct password)? <comment><USER2> I really hope they don't do this... Makes it even easier for an attacker to get into an account.

What was the exact error message, instead of your interpretation of the error message?

</comment><comment><USER3> I tried reproducing the behavior you describe but with various combinations of slightly off passwords never received the error message you describe.

<comment><USER4> Same here.

</comment></comment><comment><USER5> They could just compute every possible edit distance of one (or some obvious mis-spellings or errors like case) and see if that is your password.</comment>


Facebook Studio - Facebook's New Community for Marketers, Creatives, and Fans - <AUTHOR> http://www.facebook-studio.com/

<comment><USER2> Most sites are just ad-supported. I know this is sort of a logical progression, but a site specifically for browsing random ads seems a little weird. Is that just me?

<comment><USER3> Most sites are just app-supported. I know this is sort of a logical progression, but a site specifically for browsing random applications seems a little weird. Is that just me?

Seriously, every web industry has it's galleries, ad websites have been for ages, even ones with banners only <http://bannerblog.com.au/>

</comment></comment><comment><USER4> Did anyone feel that the page design is a bit 'off'? I had to re-check to see if this was not some knock-off site.

</comment><comment><USER5> The title is misleading - it's not actually facebook's community is it?</comment>


Expenses are like spending equity - <AUTHOR> http://david.weebly.com/1/post/2011/02/expenses-are-like-spending-equity.html

<comment><USER2> I've always looked at this a little differently - There are only two sources of cash for a startup, customers and investors. Every dollar you spend has to come from one or the other. The more of your dollars that come from customers, the less of your company you have to sell off to investors. So, use the hard won dollars from your customers wisely, so you can minimize how much you have to take from investors (zero in the best case).

<comment><USER3> Don't retained earnings become a part of owner's equity after dividends?

To me, a buck is a buck. Spend it all "wisely."

<comment><USER2> yes and no - different bucks have different costs. Every dollar you spend is an investment, so you should be asking what return you're going to get for it. For example, if I add another developer, how much value will be created by the extra expense? If I buy a new sofa, how much value? So, on the one hand, I agree with you that every dollar should be invested for maximum return, and it doesnt matter where it came from, but on the other hand, there are decisions to be made about going out and getting more capital above and beyond your retained earnings (i.e. debt or equity financing). That money comes at a much higher price, so the return on it has to justify the cost.

To put it in terms of an individual rather than a company, the decision to take out a mortgage to buy a house is connected but somewhat different than the decision of where to spend or invest your salary dollars. The mortgage is a loan that comes at a cost (the annual interest), yet it enables you to do something (buy a house)that you could not have done out of your earnings. So, many people choose that the return on owning a home (whether financial or otherwise) justifies the decision to seek out a source of capital beyond their earnings, even though that capital comes at a cost.

</comment></comment></comment><comment><AUTHOR> I need to give credit to my co-founder Dan for coming up with this analogy. I think it's especially potent because while entrepreneurs can lose touch with the value of money (eventually, it all just becomes "numbers"), equity always seems to stay near and dear to an entrepreneur's heart.

<comment><USER4> Hah, thanks. I think I mentioned this years ago.

I believe the analogy is most appropriate when a company hasn't yet discovered a solid, profitable business model. When you're in the early, exploratory days of your business, spending cash on non-critical items is literally like spending equity because non-critical purchases (especially extravagant ones) cut down your runway and do not raise the valuation.

</comment></comment><comment><USER5> Who buys a $20K couch at a startup?

Besides, this analogy is pointless. Saying a $20K couch - or a $20K breakroom/kitchen refit (more realistic) is 'equivalent' to 0.2% is meaningless. If you just turned profitable then you can afford it and you have to decide if the $20K is worth spending (vs. saving, or handing out as cash to the employees, or buying something else). If not, you have to decide whether $20K is worth shortening your run-way by however many days/weeks it will shorten your runway.

Knowing that it was 0.2% of a historical figure (amount of money you raised) doesn't tell you anything. If you've made $10M of revenue since, you'd look at a $20K expenditure quite differently than if you've made $0.

This might all make more sense if you're building a company to make noise on Hacker News for a while, then exit (perhaps a 'talent acquisition'), without any real plans to make revenue in the meantime.

<comment><AUTHOR> > Who buys a $20K couch at a startup?

Apparently, some people do. But it's more of a symbol for frivolous expenses than anything else.

This thought was meant for the "we just raised money" phase of a startup. It's certainly very applicable to the money you just raised, since by definition it was a trade of equity-for-money.

It's not just about being able to "afford it" (which is obviously better than not being able to afford it). Even if you are generating a ton of revenue, blowing it all in non-helpful ways is still not justified.

We've built a company that generates very significant revenue, and it remains even more important to have anchors to keep the value of money in perspective.

</comment></comment><comment><USER6> The thing this needs to take into account is the time value of money and of risk in a startup.

$10k/mo for the next 5 years is a lot less painful for a seed stage startup than $200k up-front, if you're going to be increasing in valuation as fast as a successful venture-funded startup.

Reducing risk also needs to be part of the psychological model; sometimes it is worth spending 5% to get to a milestone with less risk, because owning 10% of a $50mm exit is a lot more valuable than 15% of $10mm.

The biggest trick I've found with startups is to just delay and defer anything not on the path; it's a lot easier to say "we'll buy a nicer couch later" vs. "no, a nice couch isn't a reasonable thing to spend money on". The other thing is to find people with a much better time value of money than you, and use their money to pay for things -- landlords doing upgrades for you (cash upfront) in exchange for higher rent, deferring getting an office entirely, etc. Basically, converting potential capex into opex.

<comment><USER7> A decent rule of thumb is usually "would you spend it if it was your own money" - most people aren't going to go buy $20,000 couches for the office, but they might buy an $800 couch or a $150 Craigslist special. Feel free to ignore this if you are Larry Ellison :)

<comment><USER6> Actually, there have been a lot of times where I'd spend more of my own money (and have) than I would startup money -- e.g. I'll bring in my personal game systems but wouldn't pay for them with company money, let people use my personal car, etc. That's a rational decision for a founder, especially since behaving that way might encourage others to be cost-conscious (you wouldn't expect employees to do the same thing, but they might be willing to try a software load balancer instead of a $50k F5 if you have the right culture, or at the very least to get the best pricing and terms possible from vendors)

<comment><USER7> Yeah I used to piss off the CFO a couple of jobs ago by spending entirely modest amounts of money to make the engineers happy/productive and explaining "this is something where I would spend my own money to do this, and in fact I did, if you don't want to cut me a reimbursement check then don't."

It's always kind of crazy to see finance people bitch about buying dinner or espressos for the team when they're working late.

But sometimes the company ends up with a tightass CFO like that after the founder buys a $20k couch, so there we go!

</comment></comment></comment></comment><comment><USER8> A dollar saved is always easier to come by than a dollar earned. Very many companies start to spend their hard earned money foolishely once they become big or get funded. You should always treat the companys money as your own, or you shouldn't be allowed to make monetary decisions.

I always look to IKEAs founder Ingvar Kamprad for inspiration in these matters. He still buys schampoo in discount stores even though he is one of the richest people in the world (he doesn't show up in a lot of lists since his wealth is in funds and not in his name).

</comment><comment><USER7> as one of my good buddies said "Who buys a $20,000 couch? Do you know how many servers you could get for that price?"

<comment><USER9> Exactly. Break it down into something useful & tangible.

This is the startup equivalent of reminding a 2 pack a day smoker that their habit could pay 1/3 of their rent or buy dinner for a month.

</comment></comment><comment><USER3> I agree with the article. But mostly with what is mentioned at the end. "Many times over."

If you look at your expenses like capital investments and you employ a good strategy of weighing alternatives against alternatives then that .1% may dilute to .001% with a future higher valuation.

The investors money is in place to cover the expenses that allow you to build the startup company's infrastructure. Try not to look at it so painstakingly.

</comment><comment><USER10> When you put it that way, a $20k couch costs you the same amount of equity as you would give a senior engineer in a post-series-A company.

<comment><USER11> If I had a startup, I'd probably rather have the senior engineer than the couch.

</comment></comment><comment><USER12> At the risk of sounding obvious, you have different sources of energy to spend: your own time/effort, cash, equity. Figuring out when to use which is the trick. You can't optimize everything, so you have to think about it and give it your best guess.

</comment><comment><USER13> I like it. Sort of the business version of "Just because I have money doesn't mean I need to spend it."</comment>


Mozilla suspends Firefox Send service while it addresses malware abuse - blinding-streak https://www.zdnet.com/article/mozilla-suspends-firefox-send-service-while-it-addresses-malware-abuse/ <comment><AUTHOR> This is why we cant have nice things, you make a nice service with a direct download link that is static and shitty hackers use it because they don't want to host their own bins. smh.

<comment><USER2> Or do hackers use it because Mozilla sold out their one true product/security crowd mindshare for Google cash?</comment></comment>


Aspider: A lightweight, asynchronous micro-framework based on asyncio - <AUTHOR> https://github.com/howie6879/aspider <comment><USER2> A "lightweight" "micro-framework" that downloads and runs Chrome in order to make an http request? :/

<comment><USER3> Framework feels like an odd choice of words. I would call it an async web spider library or async web scraping library.

When I hear framework I think client interaction - whether cli, API, or web page.

<comment><AUTHOR> Hi lilbobbytables: Thanks for your suggestion, I have modified it.

</comment></comment></comment><comment><USER4> Title should mention that its a web scraping framework

<comment><AUTHOR> I am so sorry, you are right, it is my problem.</comment></comment>


I believe in the free Web, which is why I canceled my Netflix account - <AUTHOR> http://u.fsf.org/cancelnetflix <comment><USER2> Hope you also stop watching all movies and television, buying ebooks, and purchasing or streaming music, because otherwise you're just funding the entities who are actually the ones driving the quest for HTML5 DRM extensions.

I've said it before, I'll say it again - attacking Netflix is like boycotting the grocery store because of the nutritional content of the food they sell.

<comment><USER3> Indeed. I don't know who's behind this site, but reading this screed makes me feel embarrassed for them. What do they expect Netflix to do in response to this? Do they believe Netflix is some Dickensian villain who just wants to make everybody miserable through DRM?

I really doubt Netflix cares that much about DRM. Probably a lot of people there would rather not have it. But they can't have a business without content, and the _content owners_ demand DRM.

If you were in Netflix's position, would _you_ say, "Well, there's no way to do this without DRM, so I may as well close up shop"?

<comment><USER4> I wonder why Netflix even needs to stream through a web-browser anymore. It's easy to install apps on all major mobile and desktop platforms.

</comment></comment></comment><comment><USER5> If there is one thing DRM actually makes sense for, it's for streaming content you don't own.

"The announcement is Netflix's latest chess move in their long game to blanket the web in DRM. Slipping a DRM delivery mechanism into the HTML5 standard is the online streaming giant's endgame."

Really? Netflix exists not to disrupt cable and bring streaming video to the masses (not to mention money to its investors), but to proliferate DRM?

I think it's a severe stretch to see breaking the dependency on Silverlight as a bad thing, and if you think rights holders are going to license their content to Netflix without DRM you are living in a fantasy world.

<comment><USER6> The same fantasy world as Itunes where Apple sells non-DRM mp3's?

<comment><USER5> I explicitly said for streaming content you don't own. Does iTunes let you do that without involving any form of DRM?

</comment></comment></comment><comment><USER7> This post is an unconvincing case for a position I agree with.

It's reasonable for Netflix to want to protect their inventory, but I don't think the Web is ready for a content protection and monetization scheme. Before that can happen, it needs a P2P infrastructure that can handle low- friction commerce. Without that, it's stuck in the current model of gatekeeper services, which is what Netflix is, and that makes it hard for smaller players to get involved. DRM worries me because it could enforce the current situation rather than develop it.

Getting P2P commerce right is hard, but I'd like a solution that could enforce small ad-hoc contracts through trust systems. This is basically, "Gain trust for following accepted terms, lose trust for breaking them."

For instance, a music vendor might request that I pay five dollars after download a few albums. If I don't, they'll signal to their circle of music- vendor peers that I'm a welcher, and knock down my trust rating in that circle. If I do pay, however, that vendor would signal that I can be trusted, and that might result in discounts or access to higher-value services. Digital goods contracts would then be trust exchanges, and might even influence the topography of the P2P network, as a trusted buyer or seller would expand their available network through good behavior.

It's still a few steps away, but there's going to be a lot more opportunity for it as WebRTC stabilizes.

</comment><comment><USER8> With all due respect to the author there are probably 200 people worldwide who will do this. Tops. Do you know how many customers they'd lose if they started streaming without DRM? Virtually all of them, because all of the major studios would pull their content and Netflix would look like cable access programming.

I get that DRM can be a bad thing in content I purchase. But for streaming content where my access ends when my subscription does -- I have no qualm at all about it.

</comment><comment><USER9> They are not slipping a DRM delivery MECHANISM into the HTML standard. They are slipping an INTERFACE into the standard, not a MECHANISM. The interface can be used to access a DRM mechanism if one is provided on a given platform, but it can also be used for other things, such as providing secure access to private documents.

</comment><comment><USER10> Since most of Netflix's content is licensed, they may have no choice but to limit it to technologies with DRM. I'm fine with folks dropping Netflix if that's what they want to do, but I don't see it leading to a web where Netflix's content is free.

This proposal has me scratching my head.

</comment><comment><USER11> I don't feel DRM in Netflix is so bad, I would not be happy to have DRM in something I've purchased to own, but since I'm paying a subscription and know fully that I'm not paying to own what I stream, I don't care that they want to use DRM.

</comment><comment><USER12> 'Defective by design' is a great name for that blog.

The writer would've preferred Netflix stuck to propietary tech like Silverlight and Flash, which allows DRM, than move to an open standard like HTML5 video, which allows DRM. Writing on behalf of an organization that promotes an open web, her logic is defective.

</comment><comment><USER13> netflix sux by supporting DRM. its unthinkable to trim and strip words in a sentence and still pretend you respect free speech.</comment>


IBM announces solid-state memory breakthrough - <AUTHOR> http://www.linuxfordevices.com/c/a/News/IBM-racetrack-memory/

<comment><USER2> Just to be clear, it doesn't sound like this will make it into any sort of consumer product for a couple of years, at least.

<comment><USER3> If it turns into something in a couple of years, I will be incredibly impressed. They've discovered something about the physics of domain walls -- not created a working demonstration!

<comment><USER2> I put an (in my opinion) optimistic timeline on it because this research was done in a private research lab, not in (slower-moving) academia. IBM doesn't fund stuff like this for kicks.</comment></comment></comment>


China's going to copy us. Should we care? - <AUTHOR>

We've developed an innovative, unique IP which we are in the process of getting a US patent for. When our customers use the product it's obvious we are leagues ahead of the competition, but we're still small, and won't be at a scaling stage for another year (it's a slow industry).
A partner of ours is using one of our products for cross promotional purposes in China, which will give us a lot of early exposure there. I'm certain someone in China will see our product and copy it. Should we care?
Possible results A) They copy it and saturate the China market, we get US and Europe, compete for India in 2016. B) They copy it and do a ton of free research for us in China, so that when we're ready to move there, we can jump ahead of them and retake the market. C) I'm overestimating the risk and nothing or very little will happen.
Thoughts? Has this happened to anyone else? <comment><USER2> Copier will be your follower forever, not leader. If one day the copier passes you, it means you are not a real leading innovator in this area, the copier(in your words) is. I think you are overestimating the risk. Keep your own pace, focus on your customer, don't put too much time worrying about potential copier

<comment><AUTHOR> thanks - this is my intuition as well .. :-]

</comment></comment><comment><USER3> Saw this on HN couple of days ago

[http://formdevices.com/blog/No-Fools- Errand.html](http://formdevices.com/blog/No-Fools-Errand.html)</comment>


Ask HN: What are the podcasts you listen? - <AUTHOR> <comment><USER2> [https://www.historyofphilosophy.net/](https://www.historyofphilosophy.net/)</comment>


Webinars as Lectures - <AUTHOR> https://www.gkogan.co/blog/webinar-lectures/ <comment><USER2> I wish average professor was like this. I guess you have to go to a fancy uni which invests some effort into getting passionate lecturers. My uni barely makes the top 500 worldwide ranking and I've barely ever seen a motivated lecturer. They just say do the script and go. Lectures have been identical for most classes for 20 years. It's honestly easier to learn the stuff from the course material for a solid C and move on</comment>


The Colossal Cave Adventure as a literate program by Don Knuth - <AUTHOR> http://www.literateprogramming.com/adventure.pdf

<comment><AUTHOR> Knuth says: "Many of the phrases in the following documentation have been lifted directly from comments in the FORTRAN code. Please regard me as merely a translator of the program, not as an author. I thank Don Woods for helping me check the validity of this translation."

And also:

"By the way, if you don't like goto statements, don't read this. (And don't read any other programs that simulate multistate systems.)"

Even computer science marches on: Thanks to tail call elimination, we can write code that's clean and safe, and will compile to gotos.

</comment><comment><USER2> This is the first example I always point to when they ask about Literate Programming.</comment>


Christo's Newest Project: Walking on Water - <AUTHOR> http://www.nytimes.com/2016/06/17/arts/design/christos-newest-project-walking-on-water.html <comment><USER2> I really enjoyed the gates in Central Park [0]. Christo and Jean-Claude were both huge inspirations to me when I was in high school (I fancied myself an artist at the time). If you're unfamiliar with their work check out the wrapped coast, the umbrellas (Japan), and my favorite: the wrapped Reichstag.

Thanks for sharing this.

<comment><USER3> This work reminds me of when he surrounded the islands in Biscayne Bay (Miami, FL) with pink fabric. I recall it being controversial at the time due to environmental and wildlife concerns.

[http://www.christojeanneclaude.net/projects/surrounded- islan...](http://www.christojeanneclaude.net/projects/surrounded- islands#.V2SlA5D3arU)

[http://www.nytimes.com/1983/05/05/arts/design/05chri.html](http://www.nytimes.com/1983/05/05/arts/design/05chri.html)

<comment><USER4> Not the Biscayne Bay!

<comment><USER3> ?

</comment></comment></comment></comment><comment><USER5> Greek speakers like me will have done a double-take on that title. "Christos" is Greek for "Christ".

<comment><USER6> But it's also a common name, so not really a reason for a double take.

<comment><USER7> Remember, in this headline it's paired up with "walking on water".

<comment><USER8> Also, Christo was born in Bulgaria and "Христо" is a pretty popular name there (and is a reference to Jesus, of course).

[https://en.wikipedia.org/wiki/Christo_and_Jeanne- Claude](https://en.wikipedia.org/wiki/Christo_and_Jeanne-Claude)

</comment></comment></comment></comment><comment><USER9> This looks amazing. I understand the temporary nature but it would be awesome if it was up longer.

</comment><comment><USER10> I've been looking at it from afar while it was under construction, now I'm looking forward to walk on it, it's like 1 hour away from where I live, I just can't miss it

<comment><USER11> Hopefully you'll share some photos!

<comment><USER10> just in case you happen to come back: I didn't take a whole lot of them but I have a couple of the less crappy ones I took here [https://www.eversnappro.com/album/561701](https://www.eversnappro.com/album/561701)

<comment><USER11> I finally got a chance to view your photos. It looked like quite an exciting experience. Thanks for sharing!

</comment></comment></comment></comment><comment><USER12> And then air ?</comment>


BLEU Score: Bilingual Evaluation Understudy - <AUTHOR> https://leimao.github.io/blog/BLEU-Score/ <comment><USER2> BLEU and ROUGE scores are almost useless for what they are trying to do (measure how good translation or summarization systems are). The author shows a great example of an excellent translation getting a 0 score.

I tried submitting a NLP paper where I explicitly laid out my reasons for avoiding evaluating my system with ROGUE scores and I learned really quickly that despite having a terrible scoring metric, the NLP community would rather reject all papers without ROGUE scores reported rather than admit that there is an incredible lack of methods for automatically evaluating summaries or translations.

How many good translation or summarization ideas are not published or utilized just because they don't get high BLEU scores? I bet it's a lot of them...

<comment><USER3> The point of BLEU (and ROUGE and METEOR) is to correlate with human grading. It's unusual to find cases where a MT model change increases BLEU but hurts human ratings.

<comment><USER4> It's not so unusual in my experience. I used to do research in this area and we ran side-by-side human evals with our experiments. Yes, huge jumps in BLEU typically imply better human ratings, but the variance is big. Many times, significant jumps in BLEU had no significant effect on human ratings. ROUGE is even more useless.

You just don't see these things reported in the literature because 1. human evals are a pain to run and can be expensive 2. researchers need to publish or perish.

</comment></comment></comment><comment><USER5> There are many ways of computing BLEU. Researchers may use different tokenization, byte pair encoding or raw text processing methods which will affect the final score.

sacrebleu package helps to standardize BLEU computation to make the comparison of model performance easier. [https://github.com/mjpost/sacrebleu](https://github.com/mjpost/sacrebleu)</comment>


The Myth of Convenience - <AUTHOR> https://thefrailestthing.com/2019/05/06/the-myth-of-convenience/ <comment><USER2> Barry Schwartz, in his provocative essay "Self determination: The tyranny of freedom" [1] argues that it is constrains that give meaning to our actions by shaping our choices. Without constraints, on what basis would one choose?

This puts convenience directly at odds with meaningfulness. Ironically, this pursuit of convenience is what gives meaning to a lot of people, especially in Silicon Valley. :-)

As an elderly Uber driver once commented to me... "What do we gain by connecting a smart watch to an internet-enabled coffee maker so I can avoid getting up to press a switch in the morning? Stay in bed and scroll Twitter?"

<comment><USER3> _> "What do we gain by connecting a smart watch to an internet-enabled coffee maker so I can avoid getting up to press a switch in the morning? Stay in bed and scroll Twitter?" _

Or read a book. Or play with your kids. Or your pets. Or talk to your spouse/significant other/friends. Or write code. Or post on your blog. Or...

The value of "time-saving" is that it lets you _choose_ what you will spend the saved time on, instead of being forced to spend it on routine tasks that might not give you any real satisfaction even though they need to be done. But you do have to choose. Being able to do that is of value to many people. But perhaps it isn't of value to everyone; and to someone for whom that opportunity to choose is not of value, perhaps they would indeed be better off making their coffee and doing other necessary life chores by hand.

<comment><USER4> > Or read a book. Or play with your kids. Or your pets. Or talk to your > spouse/significant other/friends. Or write code. Or post on your blog. > you > do have to choose.

Yes, convenience frees you up to pursue something else, but I've felt that it takes so much willpower to pick an activity you know to be of value to you (like exercise, or reading a book) over something immediately gratifying. Another thing I've been thinking about, related to this is that our value systems and/or attention span have been weakened severely by the torrent of information and immediate connectivity these days have.

I remember this quote attributed to G. Michael Hopf: "Hard times create strong men. Strong men create good times. Good times create weak men. And, weak men create hard times." What if this pursuit of convenience is making us weaker, and in the long run, blind to what should be pursued with the time we free up?

<comment><USER5> > Yes, convenience frees you up to pursue something else, but I've felt that > it takes so much willpower to pick an activity you know to be of value to > you (like exercise, or reading a book) over something immediately > gratifying.

Whereas before you didn't have to choose and never got an opportunity to use your willpower to pick an activity of value. What's to say that people weren't made weak and compliant by a lack of opportunity to make their own choices?

> What if this pursuit of convenience is making us weaker, and in the long > run, blind to what should be pursued with the time we free up?

What if it isn't? What if this is little more than another moral panic, such as a decade ago how sexting was going to ruin everyone forever and was a threat to all children?

It seems to me that there are few answers here, but an awful lot of moralizing about shockingly little. Re-frame much of it as the quest for self-mastery, and now generations of philosophers approve.

<comment><USER4> _> Whereas before you didn't have to choose and never got an opportunity to use your willpower to pick an activity of value. What's to say that people weren't made weak and compliant by a lack of opportunity to make their own choices?_

Is the lack of choices and opportunity absolutely less preferable than wasting collective human time and energy in the deceptive pursuit of convenience? Also, aren't we converging to a future where we are in less control of important things, like privacy, human rights and environmental health, because we have traded them away to entities who were willing to take these from us in the pretext of convenience?

 _What if it isn 't? What if this is little more than another moral panic?_ Aren't we better off treating matters like these with care rather than abandon regardless? I think it's weak to dismiss this as a moral panic simply because an unrelated concept came and proved to be one.

Back then, you knew the bad people simply wanted to take your freedom and use it to empower their choices. Now, they feed off our compliance and mindless consumption with a smile on their face and we seek them out actively. I or you may benefit individually, but atrophy is a real thing, tedium and hardship serves its own purpose. Would you make the case that we do not weaken mankind as a whole, or in the long run?

<comment><USER5> I'm saying the premises as presented don't hold water, and therefore the arguments rooted in them do not function as intended.

For instance, we are in a context where we are less in control of important things, like privacy, human rights, and environmental health than we would like. We are not in a context where we previously had full individual control of these things. We in aggregate, human socities, have always traded these away for one reason or another. What clear rubric makes one reason better or worse?

Whether this is a moral panic is an interesting question. It gets to the core of the issue. Specifically, is there any good evidence to believe that convenience is making humanity weaker? Perhaps it is true. Perhaps it is the opposite of true. Perhaps the truth is a mixed bag. Perhaps it's unmeasurable, making the whole subject one purely of personal opinion. Do we even have a clear definition of "strong" or "weak"?

I'm making the case that you have a wonderful opportunity to convincingly make yours ahead of you yet.

<comment><USER6> > Specifically, is there any good evidence to believe that convenience is > making humanity weaker? [...] Do we even have a clear definition of "strong" > or "weak"?

This, exactly. Unless we're talking about how much weight a person can lift, there's no objective definition of "strong" or "weak" person. "Strength" in this context isn't a property of a person at all, in my opinion, but of how other people perceive that person behavior - and that perception is so dependent on observers' life experiences, culture, religion, education and many other factors that it's practically meaningless. As such, the very notion of "strong person" is exploited in all kind of propaganda - with a concept this fuzzy it's easy to bend it to mean whatever you want it to mean.

"Convenience is making us weak" or "hardships make people strong" are examples of such propaganda in action. There's no meaning to them other than what the person talking wants them to mean (and, possibly, what the audience wants to hear). You could reformulate the statements to be easier to prove or falsify, but then the entirety of modern psychology and cognitive science would be against you, which is why nobody attempts to do this.

Well, that's how thought-terminating cliches generally are, so no surprise here. What's amazing to me, though, is that we're this deep into the thread and we still talk about them...

</comment></comment></comment></comment></comment></comment></comment><comment><USER7> This seems interesting but is extremely long and protracted. I would like the _convenience_ of having a summary.

<comment> pure-awesome Agreed. I think it's not the length, directly, but the lack of substance.

The author starts with the unqualified assertion that convenience is bad. I'd expect they'd continue by providing evidence or an argument to support this statement.

Instead they throw in a lot of philosophical passages and quotes and it feels like they're talking around the concept instead of addressing it directly.

I get the impression it is aimed at people who already agree with the core thesis.

</comment></comment><comment><USER8> > "The 'end' or 'goal' is to keep going. Americans, as F. Scott Fitzgerald > concluded, believe in the green light." The green light, constant motion in > whatever direction, acceleration—these are, of course, no 'ends' at all. > They are what you have left when you have lost sight of any true ends. It is > fruitless to save time if you don't know why exactly your are saving it for.

<comment><USER9> "It is fruitless to save money if you don't know why exactly your are saving it for."

<comment><USER10> Time, unlike money, can't be meaningfully saved and then used later. You have to use it immediately.

<comment><USER11> "I ask you, what does a day saved matter to him or to you? A day saved from what? for what? Instead of spending the day travelling, you will see your friend a day earlier, but you cannot stay indefinitely, you will travel home twenty-four hours sooner, that is all. But you will fly home and again save a day? Save it from what, for what? You will begin work a day earlier, but you cannot work on indefinitely. It only means that you will cease work a day earlier. And then, what? You cannot die a day earlier. So you will realize perhaps how rash it was of you to save a day, when you discover how you cannot escape those twenty-four hours you have so carefully preserved; you may push them forward and push them forward, but some time they must be spent, and then you may wish you had spent them as innocently as in the train from Ostend."

</comment></comment></comment></comment><comment><USER12> A better title would be "The Propaganda of Convenience":

Consider the concept of tying in commerce:

[https://en.wikipedia.org/wiki/Tying_(commerce)](https://en.wikipedia.org/wiki/Tying_\(commerce\))

For example you can buy a specific cell phone (the tying good) on the condition of also buying a contract with a certain telecom operator.

If freedom is a virtue, then considering just the 2 products of this specific cell phone and this specific operator contract there should be 2 binary degrees of freedom, resulting in 4 options:

1\. buy nothing

2\. buy cellphone but no contract

3\. buy contract, but no cell phone

4\. buying both.

Then the act of only offering the following choices:

1\. buy nothing

2\. buy both

would be nothing more than false dilemma foisted off as "convenience", literally "coming together".

It's nothing but connotation games.

</comment><comment><USER13> Convenience is the mother of most bad decisions. Sometimes convenience is a protective blanket masking gross incompetence. Many programmers perceive programming as plugging lego blocks together because dicking around with tooling and configurations because writing original software is a great inconvenience, even when it takes dramatically less time.

<comment> yoz-y Without focus on convenience a lot of people would be simply singled out from using tools many take for granted.

To counteract your argument, a popular sentiment seems to be that many JavaScript programmers spend too much time writing original software rather than trying to understand and configure the existing ones... because it's too inconvenient.

<comment><USER13> > many JavaScript programmers spend too much time writing original software

As a full time JavaScript developer for the past 11 years I completely disagree. JavaScript developers tend to be absolutely mortified to write any amount of original code.

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

It is so bad that I just keep my open source contributions to myself and was even berated by a peer once for not using an specific code editor that featured use of my software.</comment></comment></comment>


List of Hacker News-style aggregators for specific niches - <AUTHOR> https://github.com/mikeanthonywild/hacker-news-for-x <comment><AUTHOR> Contributions welcome :)</comment>


Meet Tay – Microsoft A.I. chatbot with zero chill - <AUTHOR> https://www.tay.ai <comment><USER2> This feels more like a markov chain with added emojis. I'm I missing something? It definitely doesn't feel smarter than the old AIM bots of yore.</comment>


BMW's full-color HUD: distraction, minimizer of distractions, or costly gadget? - <AUTHOR> http://www.extremetech.com/extreme/124847-bmws-full-color-hud-distraction-minimizer-of-distractions-or-costly-tech-gadget <comment><USER2> My Audi has a HUD and it's great. It just becomes a part of driving and I find myself never looking at the dashboard anymore.

The adaptive cruise control, speedometer, and navigation is all available on the HUD -- it displays at appropriate times -- and is gone when I don't need it. When I'm about to hit a car in front of me, it gives a red warning that gets my attention.

It's really quite functional, and not distracting. You can dial-up and dial- down the contrast, which is worth doing. For me, it's easy to ignore if I don't want to see it.

But maybe, just maybe, it doesn't bother me because I grew up playing video games with health, points, and other metadata in the corner of my eyes growing up. :-)

<comment><USER3> How visible is it during the day?

<comment><USER2> pretty good. you see it when you want to see it. hard to explain that more clearly. The speedometer is white text, so when driving over very light colored ground, it's hard to see, like inside a concrete parking garage. But on asphalt or dirt, it's easy to see.

</comment></comment></comment><comment><USER4> I've used the HUD available on the C5 Corvette, and it's no more distracting at first than any new car's radio, wiper controls, etc.

Once you've driven with it for a bit, it really does increase the attention paid to the road. Your quick checks for speed, gas, tach are instead diverted to mirror checks or just keeping your eyes on what's happening ahead.

That said, the Corvette's was a monochromatic subtle display. I'm not sure what the impact of full-color high-resolution information would be. One always has to be wary of the "ooo... let's watch the odometer rollover to the next 10,000" kind of distraction.

<comment><USER5> Do you have to check the petrol gauge so often, that it's a great boon having it on the HUD?

<comment><USER6> It's a C5 Corvette, yes.

</comment></comment></comment><comment><USER7> I owned a Nissan Altima once that had this feature and loved it there. The technology was simple - 7 segment display in the dash reflecting off the screen above. Now I'm driving a '11 550i that also has this feature - with the beautiful full color presentation. It's not distracting. If anything it makes me painfully aware when driving other cars that I'm constantly forced to move my gaze from traffic to check my speed.

I do understand BMW's hesitation to load too much information into this display. Most car companies are notably horrible at user interface for the new technology they integrate into the car (BMW has a spotty track record here too with its early iDrive iterations). For example the new Lexus GS appears to persistently show radio station information in the HUD. This is not something that I need to see full time, only when I'm channel surfing. Jaguar does a nice job of showing relevant info at the right time in its non-HUD LCD instrument cluster, replacing the tach with other info at relevant moments.

One thing I've really wanted is for a car's display stack to be built on a customizable platform, like Android or iOS, where third parties can integrate data. This way you can change the UI to suit your need, or integrate third party modules (like a radar detector). Definitely some care needs to be exercised here so as not to produce too much distraction, but I do think some of the features in new cars may have jumped this shark already (my 550 lets me do simple posts to Facebook from the dashboard screen - while driving!).

</comment><comment><USER8> Check out the HUD in the second picture. It reads 77 kmh but the needle is reading about 68khm. I wish they'd use actual pictures. These poor Photoshops don't do any justice.

<comment><USER9> The HUD is very difficult to photograph. I have one in 5 series and you can see it only from a direct angle. Only the driver sees the HUD. These promotional photos are completely fabricated.

From my experience BMW's HUD is the greatest feature of all. Very useful. The speedometer helps drastically, you don't need to shift eyes from the road. Much safer driving.

<comment><USER10> FWIW, I think the first photo in the story is real (it was taken by our writer). I assume he held the camera right in front of his face :)

</comment></comment></comment><comment><USER11> It's a good (but wrong) analogy to compare to the "head-up" display on airplanes. However, driving is a 2D experience compared to flying. Pilot would need to pay attention to the surrounding in the 3D world where as driving, pretty much is just in a flat surface (you pay attention to your front, behind, left, right, that's it). I just cannot see the benefit of the HUD display in road driving use. There is no "head-up" necessary in this driving use case.

<comment><USER12> There's no necessity to keep your eyes on the road and still have that information available to you?

It's not about 3D, it's about never having to look down at a dashboard instead of the real world.

</comment></comment><comment><USER13> This is a $1k option? Is there any reason why this couldn't be a relatively inexpensive after market product? I can pull information like speed etc out of the OBDII socket into my phone via a cheap bluetooth device. A projector can't be that expensive can it?

<comment><USER14> 1\. It needs a special windshield glass (special coating).

2\. Mounting is rather complicated as the whole thing is sunk into the dash behind the instrument cluster. Not many cars (if any at all) have enough empty space there to accommodate the hardware.

<comment><USER15> Interesting, I guess it's more complicated than it sounds.

I wouldn't be surprised if many decades ago having a speedometer in a car was an expensive option. If HUDs catch on (and I hope they do), they'll become cheaper and who knows, maybe even standard equipment one day.

</comment></comment></comment><comment><USER16> Anything that gets drivers' eyes back in the general direction of the road is a good thing. As a bonus, putting data at (perceived) infinity means that older drivers who have become farsighted will have less difficulty reading their speed, GPS directions, etc.

There has been at least one add-on HUD-type display for motorcycle helmets for a few years (<http://www.gizmag.com/go/2430/>). Last I read they weren't technically legal for road use in the US, not that I think anyone would be ticketing you for it.

<comment><USER17> _"Anything that gets drivers' eyes back in the general direction of the road is a good thing."_

On that note, it's technologically possible these days to mount a tiny camera that would keep track of your eye movements and orientation, and would activate a danger signal -- or something to that effect -- when your eyes have been taken off the road for more than X consecutive seconds (i.e., if they're staring at a cell phone screen while you're texting).

So as not to be super-annoying, the X second interval would be ratcheted high enough not to freak out everytime you checked a side mirror or looked out the window, or at the radio dial, etc.

Seems to me that this sort of thing would save at least as many lives as the incessant beeping that new cars activate when you turn on the ignition without fastening your seatbelt.

Then again, maybe this is a terrible idea, bound to plague millions of drivers the way the seatbelt beeping does. I dunno. I'm just _really_ sick of near- misses with idiots who are texting while driving.

<comment><USER18> > Seems to me that this sort of thing would save at least as many lives as the > incessant beeping that new cars activate when you turn on the ignition > without fastening your seatbelt.

I wonder what the _net_ effect would be, considering the potential of drivers to be distracted by annoying beeping noises, or to condition themselves _not_ to look out windows or in mirrors when doing so is more important than looking out the windshield.

> Then again, maybe this is a terrible idea, bound to plague millions of > drivers the way the seatbelt beeping does. I dunno. I'm just really sick of > near-misses with idiots who are texting while driving.

I'm not convinced that it's generally a good idea to outsource responsibility for safety to external devices, but if you're going to do it, in this case, it may be more reasonable to put the constraint in the phone rather than the car. It should be relatively trivial to restrict text entry when moving at high speeds on a phone with embedded GPS, and doing so would alter the behavior of the thing causing the distraction rather than the thing you want drivers to pay attention to.

<comment><USER17> _"It should be relatively trivial to restrict text entry when moving at high speeds on a phone with embedded GPS, and doing so would alter the behavior of the thing causing the distraction rather than the thing you want drivers to pay attention to."_

True, but that solution would have the unintended consequence of screwing over passengers who may want to text.</comment></comment></comment></comment>


China Is About to Fire Up Its HL-2M Tokamak - <AUTHOR> https://www.newsweek.com/china-about-fire-its-artificial-sun-quest-fusion-energy-1477705 <comment><USER2> Related: Either China or the US has the largest overall PPP-adjusted R&D budget in the world. (The US data here is 2016 while China's is 2018 so it's hard to tell exactly.) China's investment is about the same % of its GDP as France's.

Others in the top five are the EU, Japan, and Germany, followed closely by South Korea. South Korea invests the most as a percentage of GDP.

All of the "Asian Tigers", South Korea, Taiwan, Hong Kong, and Singapore, appear to have been invested heavily in R&D as a % of GDP (European level or higher) for a long time, and they were the only ones in Asia crossing from third-world to first-world status after Japan, which did the same before that.

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

Few places managed to join the developed nation status in the last half century. Chile is arguably the only other example.

<comment><USER3> I am instantly suspicious - Research & Development conjurers an impression of lots of research and a hint of development.

However a mining corporation developing a new coal mine site counts that under their R&D budget - it is development. And I suspect the 'development' part of R&D is both substantial and possibly defined differently in different parts of the world with different norms depending on the industry.

I'm neither agreeing nor disagreeing, but this evidence is unreliable. It might be a straight proxy for industrial development.

<comment><USER4> > _I am instantly suspicious - Research & Development conjurers an impression > of lots of research and a hint of development._

Not to me. It could as well be an equal split of research and development, or fairly basic research focused mainly on product development.

> _I 'm neither agreeing nor disagreeing, but this evidence is unreliable. It > might be a straight proxy for industrial development._

Industrial development still needs R&D to compete with industrial development in other parts of the world, it's not like statically applying what the state of the art was in the past.

In several areas we've seen the Chinese go from the same path the Taiwanese, South Korean, and Japanese went in the 60s to the 80s and 90s. From copy cats, to high quality manufacturers and eventual innovators.

One example whose products I've used: DJI for example is the leader in drones and perhaps gimbals, and even started to take down GoPro.

</comment></comment></comment><comment><USER5> There seems to be some confusion in the comments. This is a science machine that does not aim to set any records. It's more akin to DIII-D/ASDEX catchup and provide a decent platform for plasma physics.

[https://www.sciencedirect.com/science/article/pii/S092037961...](https://www.sciencedirect.com/science/article/pii/S0920379619308622)

<comment><USER6> That's mostly because the article linked is not exactly subtle, complete with pictures of coronal mass ejections and other hyperbole. But there is some innovation going on here and I'm pretty curious if it will work as designed without a lot of do-over.

</comment></comment><comment><USER6> To all of you worried that it will work and that China will take the lead: it doesn't matter. What matters is that once someone shows it can be done there will be a race on to copy the feat and that race won't be too long without other winners. The same thing has happened with every other key technology that might give a nation a head start in the military domain, and this definitely is one like that.

Simply knowing that something is possible is often enough to remove the political and mental roadblocks required to see it through.

<comment><USER7> Im always happy to see more funding for magnetic fusion research. Maybe this will put more pressure on US politicians to at least not renege on our existing commitments (ITER). For reference, here is how we have funded it so far: [https://upload.wikimedia.org/wikipedia/commons/a/ab/U.S._his...](https://upload.wikimedia.org/wikipedia/commons/a/ab/U.S._historical_fusion_budget_vs._1976_ERDA_plan.png)

<comment><USER8> If Earth spent a tiny fraction of the annual fossil subsidy, which is in the $US Trillions, on this stuff we'd have it knocked out in no time.

<comment><USER9> Or for < 1/3 of an Iraq War, to put it in other terms.

</comment></comment></comment></comment><comment><USER10> Here's to one more step on the road to a Kardashiev type 1 civilization.

If we harness the power of fusion, we basically remove the biggest roadblock to a space-faring, galaxy-spanning civilization.

And we'd solve so many pressing problems right here within a few decades.

<comment><USER11> in the book "Flight to the Stars: An Inquiry into the Feasibility of Interstellar Flight" by James Strong, the author theorizes the max-v of a generational ship would be about 15% the speed of light. It would take 450 years to get to the next closest star.

Spanning the galaxy would take hundreds of thousands of years, if not longer. There'd be next to no contact between earth and settlements more than a few light years away.

Not so sanguine about it solving near-term problems, either. We currently have exponentially more wealth than anytime in history, yet most of it is being hoarded by a small percent of the population. The benefits of cheap power will also be hoarded

<comment><USER12> An average person today with e.g. a car, a shower and a smartphone with internet access is already richer than any of the kings of the past. Retirement plans also didn't exist or were not widespread. Dentistry and birthcare were either charlatanic or inaccesible etc. So no, wealth isn't "hoarded by a small percent of the population", we really are, the vast majority of us, richer than ever in history of man.

<comment><USER13> If I'm richer than a king, why do I have to cook my own meals?

<comment><USER14> You can use your smartphone with internet access to have your meals delivered to you.

<comment><USER13> I personally could afford to do that (not everyone with a car and smartphone can), but it wouldn't be a good use of my limited budget to do that for every meal.

</comment></comment></comment></comment></comment></comment><comment><USER15> I hope they succeed. We desperately need to adopt nuclear energy world wide.

The success of such a project would pressure western governments into adopting the technology to stay competitive. Especially when the cost of a kilowatt hour plummets.

I sure dislike authoritarianism, but on this one I think everyone's interest are aligned. Anyone who isn't misinformed or sentimental will support modern nuclear. I'm amazed there isn't more unity here in the comment section; this is an objectively good thing for humanity. The advancement of science.

<comment><USER16> Yeah, at this point I've given up on the USA as an innovator in the nuclear field. China seems to be much less luddite in this field and AI, maybe they'll let us buy it off them as we become second or third in the field (and in science in general).

<comment><USER17> > China seems to be much less luddite in this field

If by "luddite" you mean "not building more reactors due to worries about cost and safety", then not really.

 _" though reactors begun several years ago are still coming online, the industry has not broken ground on a new plant in China since late 2016, according to a recent World Nuclear Industry Status Report."_

 _" The 2011 meltdown at Japan's Fukushima Daiichi plant shocked Chinese officials and made a strong impression on many Chinese citizens. A government survey in August 2017 found that only 40% of the public supported nuclear power development."_

 _" Within days of Fukushima, nuclear reactor construction in China was frozen. When building resumed months later, after a wave of inspections, Beijing insisted that future nuclear power projects adopt more advanced designs with extra safety features."_

 _" The bigger problem is financial. Reactors built with extra safety features and more robust cooling systems to avoid a Fukushima-like disaster are expensive, while the costs of wind and solar power continue to plummet: they are now 20% cheaper than electricity from new nuclear plants in China, according to Bloomberg New Energy Finance. Moreover, high construction costs make nuclear a risky investment."_

[https://www.technologyreview.com/s/612564/chinas-losing- its-...](https://www.technologyreview.com/s/612564/chinas-losing-its-taste- for-nuclear-power-thats-bad-news/)

<comment><USER15> Wind and solar don't deal with peak energy use.

See Germany vs France as an example.

<comment><USER17> Nuclear plants don't deal with peak energy use either. For the peak, you need a plant that can quickly regulate it's power output up and down to respond to demand. Nuclear plants only work for base load.

<comment><USER18> There are nuclear power plants capable of throttling up and down at will. Not all designs work like that but some do.

<comment><USER19> Really? Are you talking about a tiny fraction of operating plants?

<comment><USER18> I think it's pretty common. I'm not an expert but I think most of France's grid is run that way. Wikipedia has a few details:

[https://en.wikipedia.org/wiki/Load_following_power_plant#Nuc...](https://en.wikipedia.org/wiki/Load_following_power_plant#Nuclear_power_plants)

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER20> Fusion grad student here. HL-2M is very similar to the US DIII-D reactor in size, magnetic field strength, and plasma current. HL-2M will have 11 MW of heating power in its first stage compared to 23 MW on DIII-D according to Wikipedia, though this will likely be upgraded. But consider the fact that DIII-D was built in 1986.

JET, currently operating in the UK, is the tokamak closest to producing more fusion power than absorbed heating power. It would be a nice surprise if it achieved this in its upcoming research program using deuterium-tritium fuel. But to reliably pass this milestone and get closer to producing electricity, we need to build tokamaks bigger, like ITER, or with a stronger magnetic field, like SPARC. Neither one will produce electricity, but they will allow us to study the potentially different plasma environment and materials issues at high fusion power.

Electricity-producing tokamaks are in the extremely early conceptual design phase (DEMO, ARC) and will require much more research on tritium breeding and materials that can withstand insane levels of heating and irradiation.

HL-2M specs (paywalled): [https://doi.org/10.1016/j.fusengdes.2015.06.106](https://doi.org/10.1016/j.fusengdes.2015.06.106)

<comment><USER21> Great comment. Nice to see a 20 second summary of where we (humanity) is on this currently

</comment></comment><comment><USER22> Can someone more in the know tell us where the HL-2M stacks up compared to other tokamaks and related magnetic confinement devices?

<comment><USER23> This is the key question as there are quite a few Tokamaks around.

Tokamak Energy has had an operational one for a while now. But they are quite some time away from having one that can generate surplus power. Question is whether China is up to this point yet.

[https://www.youtube.com/channel/UCuSlFJbBUIj1zfJLRnGXSow](https://www.youtube.com/channel/UCuSlFJbBUIj1zfJLRnGXSow)

<comment><USER24> Yes, since 1958 with the Soviet T-1.

</comment></comment></comment><comment><USER25> If China figured out Fusion first, would they keep secret how to do it or is scientific knowledge like this shared?

<comment><USER26> Geopolitically, China is trying to prove that it's capable of ground breaking technology originating in China.

It makes no sense for them to hide it; they're going to be singing from the rooftops that they were first if they achieve that.

It'd be like if we went to the moon, but kept it under wraps. Like, why bother?

<comment><USER27> > It'd be like if we went to the moon, but kept it under wraps. Like, why > bother?

Much of the point of space programs is to prove we can drop bombs back on earth with precision. I don't know how fusion reactors are a threat in that fashion.

<comment><USER28> Some people claim the real goals of fusion power research have always been in support of fusion weapons development - specifically, by providing an experimental system for studying controlled fusion reactions (since uncontrolled fusion reactions are banned by treaty), and by providing a jobs program for fusion experts. I do not know enough about the practical obstacles to fusion power to judge the accuracy of this claim for myself, but there's no doubt that it's a dual-use technology, and some projects seem suspiciously like dead ends if commercial electricity generation is the real goal.

<comment><USER29> > but there's no doubt that it's a dual-use technology

I do in fact doubt this. We've been building fusion weapons for 50 years very successfully, progress in fusion power plants is negligible in comparison. If fusion power plants are a dual use technology for weapons, they must be a _very_ inefficient way to get there.

<comment><USER28> But we haven't actually tested those weapons in decades. Ensuring that the stockpile doesn't go bad is a huge money suck for the DOE, and it's been a key factor driving supercomputer improvements. You're right that it's very inefficient, but that has to be balanced against the political cost of setting off thermonuclear explosions regularly.

</comment></comment></comment></comment></comment></comment><comment><USER30> If China gets fusion energy first they will obtain unimaginable power, hell the same applies to the US. While stopping climate change would be great I also fear for what we might put in its place.

<comment><USER31> Not sure why you're being downvoted. The most likely use of a new abundant energy source will be force projection.

<comment><USER15> Because it hasn't historically worked that way.

This isn't a first to market huge advantage. Developing the plants is slow (many years) and the lag between super powers in cracking tech is generally only a couple of years (see space programs/nuclear energy programs)

It's playing into divisive tribal thinking, when this is literally objectively good for everyone on the planet.

<comment><USER30> This is a nation that is currently conducting a second holocaust, I don't think there's anything 'tribal' about not wanting them to have power.

<comment><USER32> We've asked you repeatedly to stop posting unsubstantive comments to Hacker News. If you can't or won't stop, we're going to have to ban you.

(No, that isn't a political position, it's a site guidelines position. Please follow them: [https://news.ycombinator.com/newsguidelines.html.](https://news.ycombinator.com/newsguidelines.html.))

<comment><USER33> True, but a lot of the time it appears to people that the "site guidelines" are not applied in a blanket fashion.

<comment><USER32> They definitely aren't, because we don't see everything that gets posted here, or even close to everything. There's far too much.

If you see a post that ought to have been moderated but hasn't been, the likeliest explanation is that we didn't see it. You can help by flagging it or emailing us at email@example.com.

</comment></comment></comment></comment></comment></comment></comment><comment><USER34> China is also firing up more coal plants.

[https://www.wsj.com/articles/in-tougher-times-china-falls- ba...](https://www.wsj.com/articles/in-tougher-times-china-falls-back-on- coal-11577115096)

<comment><USER35> What is your point? They should stop consuming energy until someone gifts them some magical tech?

From the article we see they are trying better alternatives and if this would be a success maybe we could have enough energy to undo all the CO2 the industrial countries put in the atmosphere.

</comment></comment><comment><USER36> I think I know why there isn't more advanced life out there: as we do bigger and bigger experiments, the chance of making a mistake that can end planets increases as we are more technologically advanced..

<comment><USER37> Do you even know what a tokamak is?

<comment><USER38> Its a funny word and it makes me have nice feelings when i think of it working out.

<comment><USER39> Strictly speaking, an acronym (in Russian).</comment></comment></comment></comment>


Lisp in 3 words - <AUTHOR> http://www.vagrant-coder.com/articles/english/Lisp-in-3-words.html <comment><USER5> I feel like I understand what the author is trying to say, because I remember feeling that "click" in my head when I finally understood why LISP syntax was the way it was, and why it was the best possible syntax. (It was at the same time that I realized that RPN was the best possible mathematical syntax, if that makes any sense).

It's hard to explain this to other people, however. It's doubly hard trying to explain it to people who have spent their careers building up high levels of skill and knowledge in other languages.

I'm not a professional coder-- I'm a hobbyist. I can program badly in many different languages. But I find that with LISP, I am much more productive and happier. I feel like I can "punch above my weight" using LISP, achieving things that would take a lot more skill and effort to do in other languages.

I sometimes wish I could explain it better to other people, but other times I'm just happy to work on my own in my "obscure" language with the all the silly parentheses.

<comment><USER6> Is Lisp anything like Lambda Calculus? If so, then I should get in on that, since I taught myself LC in a day. I saw the sheer power and beauty of it when I had "programed" ternary logic operators on paper with it. The only issue I had was the excessive use of parentheses. If there is a way to structure LC like Python (replacing the syntactical function of parentheses with space/indents), then I'd be sold on that for sure.

<comment><USER7> There's a lambda-calculus-like core to Lisps, but there's enough on top that I'm not comfortable saying that Lisp implementations are "just the lambda calculus." As for indentation-based syntax, there is a Scheme SRFI[^1] that specifies an indentation-based syntax, although I'm not sure how many Schemes actually ship with implementations.

[^1]: Various extensions to Scheme are proposed as numbered SRFIs; the extension in question is SRFI 49, as defined by [http://srfi.schemers.org/srfi-49/srfi-49.html](http://srfi.schemers.org/srfi-49/srfi-49.html)

<comment><USER8> I might be mistaken, but I believe a Python-like syntax for Racket was the strategy undertaken for Pyret: [http://www.pyret.org/](http://www.pyret.org/)

I can't find any direct connection to Racket, though, and it's not part of the Racket package repository.

<comment><USER9> The connection to Racket is the people behind it. Pyret was developed by students of Racket's developer, S. Krishnamurthi (with his support).

<comment><USER10> I think Shriram would point out he is one of many people responsible for the development of Racket.

</comment></comment></comment></comment></comment></comment><comment><USER11> I don't like to be so negative without an objective reason, but that was really very rambling. I don't feel like I learned anything there.

I don't doubt Lisp is beautiful, but I don't think the author explained it well.

<comment><USER12> They didn't. But I think I understood it anyway and can explain it to you.

As a result of Lisp being in prefix notation, which is just a fancy way of saying you always put the action first (for instance you add numbers like (+ x y z)), that design choice results in EVERY part of the language having the same syntax. That is, _everything_ is an action that eventually returns a value, and it all is used the same way. There are no special syntaxes -- loops, conditionals, function definitions, everything. Since it's all the same, everything all the way up to the top level is one action composed of other actions chained together.

Parentheses in Lisp languages are used differently than other languages: parentheses are used for grouping and ordering in other languages, but in Lisps they're used to denote scope. The first word after an open paren is always an action, and every word thereafter is always an argument. Then arguments can be a lower level of scope which performs another action, and so on.

So really, Lisp has almost no syntax at all, and a Lisp program is nothing but a big tree of actions that start at the top level and work down (sort of).

<comment><USER13> "Reverse polish notation" is postfix notation where the action is last. For example Postscript or Forth. Lisp is prefix notation where the action is first.

<comment><USER12> Oops, corrected. Thanks!

</comment></comment></comment></comment><comment><USER14> I'm a big fan of Lisps. I like the simple syntax. Scheme is my go-to tool for some jobs, particularly metaprogramming. And I use the syntax a lot for DSLs because it is so trivial to parse.

But there is something to be said for using syntax as a way of representing meaning.

Conditions, loops, function definitions, types, and so on, can be expressions (depending on the language, they may be fundamentally so), but having them look different, that reduces the interpretive burden, I think.

Perhaps the bigger lesson of the OP is how few programmers understand how their language works. A case for people to write their own languages as part of a CS course, maybe?

I can't remember who said that learning Lisp makes you a better programmer, even if you don't use it day to day. I strongly agree. It did that for me.

<comment><USER15> > Conditions, loops, function definitions, types, and so on, can be > expressions (depending on the language, they may be fundamentally so), but > having them look different, that reduces the interpretive burden, I think.

I think this is a very important point. Since everything is the same in Lisp, it's nearly impossible to have an idea of what the program is doing "at a glance". In (sane) syntax heavy languages, you can glean a significant amount of information in a short period of time just by scanning the syntax without reading the code.

This is less of an issue when writing a program, and more of an issue when maintaining one.

<comment><AUTHOR> I sure have a bit more problems maintaining Lisp code than writing it. But here I'm more comparing these two endeavors with one another while dealing with Lisp rather than comparing each one to the same endeavor in another language. Writing Lisp code is such a breeze that it is in fact unfair to compare other tasks to it. It's also a bit unfair to compare writing Lisp code to the task of writing code in many other languages.

It is very true that in syntax heavy languages, scanning is made very efficient from the syntax of the code. And sure enough, with big chunks of Lisp code, scanning is a chore. But it is important to understand that scanning is an enabler or, in a more mathematical expression, it is a sufficient condition to make scanning a palatable option. But it is absolutely not a necessary condition.

How?

Lisp code is generally terse and split into several tiny functions. There are some exceptions of course and, based on my experience, there is no exception for such exceptions: they are all tedious to read.

How tiny are the functions you may asked? Here's some stats about my project:

It has 8368 lines of Lisp code for a total of 676 definitions (variables, functions, macros and some other things). The average ratio of lines of code required per definitions is thus 12.37! That is completely, absolutely way way less than code in C, Java or Javascript. You may say that I just have a lot of very tiny utilities in the range of, say, 3 to 5 lines of codes. While it's true in a way, the overall average holds well to about 12 lines of code even if you look at the level of code systems (rather than the whole project) or even at the level of files (rather than whole libraries).

The point that I am trying to get across is that, while I agree there is a connection between having an idea of what the program is doing "at a glance" and gleaning information by scanning thanks to the syntax, this connection is certainly _not_ forwarding any qualitative information about what a program is doing. I mean, from gleaning information from syntax to understand what a code does, nothing is passing that is remotely like 'this does that'. Syntax only guides your eyes. Scanning only allows to locate pieces of interest. But to know what a code does, you have to read it and there is no other way around.

And that's the very purpose of my essay. I am like you. I think I know better what a program is doing when I have some syntax but it's only an illusion. Syntax has absolutely no meaning in itself about what is being done. I have to read the name of the actions and what is passed to them. And if I want to really know what is being done, I have to read it all.

True, it's easier to read code with syntax guiding your eyes but when your code is only 12 lines, you can just read the whole very quickly and you know _everything_ about it, not just the pieces you have gleaned. Syntax heavy languages make it easy to have a lot of information in a short amount of time but they make it more difficult to get the whole picture because they just spread code on so many lines with things less connected than in Lisp (two problems about that: statements do not return results and ask the programmer to do variable plumbing).

At the present time, I think it's all a matter of taste because getting to know what is happening still requires quite some work regardless of the language involved and the more complex what a program should perform, the more code there will be to read.

But Lisp has the edge here I think. Note that some of the various code systems I gave some stats about earlier are not trivial. One has two Lisp code parsers (one of them just gives the stats I exposed, the other one identifies dependencies): 1194 lines for 86 definitions thus a ratio of 13.88. Another one "full view debugs" code: 659 lines for 39 definitions thus a ratio of 16.9.

Despite the goals these code systems tackle, they do not sky-rocket in their stats; every one of them stays very reasonable. And both projects bring much insights about the structure of the code and what is being done. Especially the latter. Full view debugging is about computing all intermediate results inside a given code and layout them all in the browser. It's like when one debugs by hand except that it is all done automatically and everything is here for you to see.

In other words, you can scan and you do not get an idea of what the program is doing. You get what it is really doing. And because Lisp syntax is simple, that full view debugger works on _any_ Lisp code (although of some of the most exotic actions, it does not go into them).

<comment><USER14> > Syntax only guides your eyes. Scanning only allows to locate pieces of > interest. But to know what a code does, you have to read it and there is no > other way around.

You could say "paragraphs and punctuation only guide your eyes, but to know what the text says you have to read it, there's no other way around" \- ancient greek was written without word spaces, it barely introduces any ambiguity.

> 1194 lines for 86 definitions thus a ratio of 13.88

Just checked my current python codebase. It has 1540 loc, and 95 definitions , for 16.25 on your metric.

And bear in mind you can't put things all one one line in Python (i.e. it would be trivial to write 1 loc per unit in a Lisp, but not good practice). What would it do to your numbers if your program followed SRFI 49? Newline is just a form of punctuation, after all.

Ultimately "no, this language is more awesomer" gets nowhere, I think. You're clearly passionate about Lisp and think it is the best. Good for you. After writing hundreds of thousands of loc in several languages (incl. Lisps), I'm not so sure. Maybe I am just plain wrong. Maybe I just need to do more until I really 'get' it. Who knows!

<comment><AUTHOR> > You could say "paragraphs and punctuation only guide your eyes, but to know > what the text says you have to read it, there's no other way around" \- > ancient greek was written without word spaces, it barely introduces any > ambiguity.

I'm not sure to understand. But I fully endorsed your paragraph statement up to but not beyond the remark that a parenthesis is a punctuation. I was not suggesting we don't need some kind of punctuation or blank lines in code. I was pointing out Lisp dialects are proof you can basically code with just three signs of punctuations: newlines, left parenthesis and right parenthesis.

Are we also clear on the fact every programmer knows how to program in Lisp, even if they didn't even program in it? It's just like function calls, except for the whole language. Really. There's no need to write Lisp code a lot. It is enough to take a few steps back, consider the whole picture and see it for what it is.

Lisp is chainable action perimeters. And that's very easy because _it is just like function calls in C, Java, Javascript_ or many other, more mainstream languages. If you know one of them - and I bet that's the case - <USER2> congrats, you can program in Lisp! Whether you choose to do so or not, you're the judge of course and either way is fine with me. But don't say reading or understanding Lisp is hard because for that you only have to learn the vocabulary, as is the case for every programming language.

Anyway, thank you very much for the pointer to SRFI 49! I have searched a bit about indenting Lisp code but never found something that detailed.

I'm sorry for the absurdly fine-grain of my stats. It's just that I have my own Lisp code parser for that and it includes inner comments and blank lines. So it's really that precise but I was silly to recopy these numbers without thinking about the issue.

My point was to say they are _consistently_ that low. And for some languages, it's clearly not the case. But from the few codes of Python I have read and given your own stats, it feels like Python is very consistent. And in my eyes that's definitely a very good thing.

> "Ultimately "no, this language is more awesomer" gets nowhere, I think. > You're clearly passionate about Lisp and think it is the best."

I just read again my comment and it can so be read like that... I should have been more careful. I'm truly sorry to have almost versed into a flame debate.

But to read my comment in the direction that Lisp is more awesome or simply the best is to amplify too much my claim which was relative to a precise issue: the needed amount of lines of code against the complexity of the problem. I really said nothing more than Lisp has an edge there and I think the examples give an idea of complex problems: parsing code to get a precise line count or to identify dependencies or to even execute automatically step- by-step the code, these are surely complex tasks. At least it is for me and I can't imagine coding it in other languages than Lisp. Because of their very syntax.

<comment><USER14> Thanks for the response.

> I was pointing out Lisp dialects are proof you can basically code with just > three signs of punctuations: newlines [I think you meant whitespace > generally], left parenthesis and right parenthesis.

I agree. In fact, with SRFI49, you can do it with just newlines and spaces. My point is that you can write prose with just spaces, periods and capital letters too (or less). But the use of parentheses, dashes, colons, semicolons, question and exclamation marks, quotation marks, and ellipses, is not a bug. See the metaphor I'm getting at?

> Are we also clear on the fact every programmer knows how to program in Lisp

Yes, if by 'program in Lisp' you mean 'program in a lisp-like syntax'.

I tend to think that syntax is a rather superficial thing, compared to learning the model of computation and the runtime environment. Then Lisp is quite different from C, say. A C programmer doesn't already know Lisp. One problem I had with the OP was that: it seemed to suggest the syntax 'was' Lisp.

I think Python in Lisp syntax would be more Python than Lisp, personally.

<comment><AUTHOR> Okay, I understand better your point. (I have also misunderstood SRFI49 so it didn't help!). The things you described are features, right?

But what is OP? Opening paragraph?

> compared to learning the model of computation and the runtime environment

There is indeed more important things to learn than syntax. The thing is, for Lisp, chainable action perimeters not only covers the syntax, it also covers the model of computation itself. The basic one at least, without macros and any object system. Still, that basic one is quite broad.

On that question you actually anticipate another article I wanted to share: shortcomings of instructions. It's only logical. If in Lisp dialects the atom is the chainable action perimeter, what other languages have? The answer is the instruction and well, I will keep that for next week but you can read it if you want. The URL is [http://www.vagrant- coder.com/articles/english/Shortcomings-o...](http://www.vagrant- coder.com/articles/english/Shortcomings-of-instructions.html)

<comment><USER14> > The things you described are features, right?

Right, they provide additional structure that can in turn help someone express themselves.

But you're right, the complexity can obscure some underlying simplicity.

I suspect that the solution is to disentangle the two: to help programmers understand the computational model independent of the language.

> it also covers the model of computation itself

eval/apply is what I'd consider the model of Lisps, rather than chainable action perimeters. The two are linked, of course, former depending on the latter. I guess you probably mean roughly the same thing by it, so I'm not disagreeing, just saying what I was thinking of.

I agree, the von Neumann model of computation is not necessarily useful if programmers believe it is the only model. But I think it is crucial for programmers to understand.

OP = original post (i.e. the article on your site).

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER8> I would have said, "Mother flipping macros." I think, historically, it's the closest reason to why Lisp stuck with S-Expressions, rather than continuing to develop M-Expressions, as was originally the plan. Homoiconicity makes it easier to develop more advanced macro facilities than in, for example, C.

Once we got to see just how powerful macro programming could be, the S-Expression syntax was here to stay.

</comment><comment><USER16> Before I ask my question, I'm going to preface it by saying that it is not intended as a criticism of anyone's favorite language, but something I'm genuinely curious about. Here's the question: what substantial pieces of software are written in a functional style (lisp or otherwise).

I'm curious because I've used functional languages in the past and even written some fairly substantial projects in one of them (a toy compiler written in Ocaml), however, I've never left with the impression that they are superior to other languages. In my experience functional languages give you some convenience with doing functional things while making lots of other things slightly more difficult.

<comment><USER17> ITA (used by Orbitz) - <USER3>

Jane Street seems to like OCaml - [https://www.janestreet.com/technology/](https://www.janestreet.com/technology/)

</comment></comment><comment><USER18> Good piece. There's an even deeper truth about applications - that they are defined by a relatively small set of top level function evaluations, called asynchronously. If you're into pure functions, you can manage all mutable state in one place.

Much of the incidental complexity of real software comes from misunderstanding this, just as much of the _real_ complexity comes from the problem of maintaining a big, distributed, mutable state.

</comment><comment><USER19> "code is data" is the traditional incantation

<comment><USER20> And you don't even need three words, just "homoiconicity."

<comment><USER21> There is definitely something quite Lispy about responding to the question "What is Lisp?" with the word "homoiconicity" and then waiting for the person who asked to figure out what that actually means.

</comment></comment></comment><comment><USER22> Lisp in 3 words - Too Many Brackets! Tomorrow Discussing Ruby - <USER4> missing, or missing method? Stay tuned for our weekly newsletter - Java and GC - if it really worked, it would collect and delete the whole JVM!

<comment><AUTHOR> Indeed, Lisp has too many brackets!

However, how many different roles do they have apart from writing action perimeters?

The answer is 0!

And 0 times 10, or 100, or 1000 or well, just go for any number, it doesn't matter, that's still 0.

Also, note that Lisp has only parentheses. While in the end, it is a matter of taste, I don't think one can disagree on the fact Lisp only has parentheses and they serve only one purpose.

Other languages have in fact many roles for parentheses while also having brackets and many roles for them while also having curly braces and many roles for them.

</comment></comment><comment><USER23> wait, parameter, perimeter

</comment><comment><USER24> Just a question, does he mean "parameters" instead of "perimeters"?

<comment><AUTHOR> I really mean perimeters.

An action _perimeter_ returns a value. To perform its work, it needs parameters. That is: values.

Some of these values can be written by hand, others need to be computed. In that latter case, you ask for a computation by writing an action perimeter.

And there's no need for a special syntax to use the value that results in executing that perimeter. You just write it in the appropriate place, as a parameter.

So in practice, you can chain perimeters with one another. Until you have expressed all the computations you wanted the computer to do.

<comment><USER23> According to google you just made that up? I only see action perimeter in reference to expanding the perimeter of action of the coast guard in Canada. So like... how is an "action perimeter" different than a function? In which case you get the more succinct two words "chainable functions."

After looking at the French version I see that "action perimeter" is from the french perimeter d'action (accents removed) which translates better in english (once again according to the interwebs) as: sphere of operations. [http://dictionary.reverso.net/french- english/p%C3%A9rim%C3%A...](http://dictionary.reverso.net/french- english/p%C3%A9rim%C3%A8tre%20d%27action)

Once again, I'd go so far as saying the concept of functions works just as well here, but at least it gets over the near homonym of parameter/perimeter. The chaining of scoped actions is pretty vital to lisp, and I suppose functional programming in general.

<comment><AUTHOR> I haven't read the notion of action perimeter phrased anywhere else. I just came up with it some years ago when I was trying my colleagues to give Lisp a go.

An action perimeter is different from a function because, for instance, you can write (if <test> <then-clause> <else-clause>).

For a function, all its arguments are evaluated first and then it is applied. That's certainly not the case for _if_ since the whole point of a condition is to refrain from evaluating some code unless a condition is met.

Hence, in Lisp, the simple notation encompasses and is fully operative on every action, including the ones that do not behave like functions. While in many language chaining perimeters is only about function calls. And in addition it is rarely idiomatic to chain function calls in such language.

Thank you for pointing out the similarity between parameter and perimeter which borders on confusion. Thanks to everyone who brought it up to!

It's clear that's an issue I overlooked. The reason is I use the term _argument_ in English and in French, never parameter itself. But that's probably because once I realized the notion of a perimeter is important in Lisp, I stopped using the word 'parameter'.

Sorry for that! I'll try to find a better term.

</comment></comment></comment></comment><comment><USER25> Oh, I too have a few words about what a Lisp is.

Remember that DNA structure - an aminoacid in the CAR and the next CONS in CDR?)

Lets say that it is not a coincidence, given that the DNA structure was a host topic these days.)

Guess where the Actor Model came from?)</comment>


Series C and Beyond: How Growth Investing Is Different - <AUTHOR> https://mattermark.com/series-c-versus-series-growth-investing-different/ <comment><USER2> The article makes it sounds like investment gains by a factor of 15 or more are magical and limited to venture capitalists. There are plenty of stocks that anybody could have bought at a stock exchange that gained by this factor. Apple is a famous example.

</comment><comment><USER3> Way too many words to say "lower risk, lower reward, bigger check, more numbers."</comment>