Storyboarder: free, cross-platform storyboard tool - open-source-ux https://wonderunit.com/storyboarder/ <comment><AUTHOR> Note: This licensing is really unclear and problematic.

[https://twitter.com/charlesforman/status/909863346127671296](https://twitter.com/charlesforman/status/909863346127671296)

[https://wonderunit.com/thoughts-on-free-and-open- source/](https://wonderunit.com/thoughts-on-free-and-open-source/)

<comment><USER2> Why is it problematic? I think I lay my thoughts out pretty clearly.

<comment><AUTHOR> Because open source has a very specific definition which the licensing on this application does not conform to. The ability to produce derived works is a key attribute of open source.

And I understand that these are your thoughts, but what I'm looking for is a clear and legally enforceable license, which seems to still be missing.

<comment><USER3> I would love to know the very specific definition of open source you are referring too. I believe there are multiple very specific definitions that are drastically different, from Stallman's "Free Software" to "Open Source" to "Creative Commons" and the flavors in-between. The proliferation of Open Source Licenses seems to suggest that it's not as clear as your myopic viewpoint suggests.

"The ability to produce derived works is a key attribute of open source." Where did you get that gem from?

"but what I'm looking for is a clear and legally enforceable license, which seems to still be missing." As far as I know the only OS License that has been deemed enforceable is GNU General Public License.

It's free software and the code is viewable, what's so hard to understand?

<comment><AUTHOR> > Where did you get that gem from?

From the open source definition: [https://opensource.org/osd](https://opensource.org/osd)

> As far as I know the only OS License that has been deemed enforceable is GNU > General Public License.

The OSI recognizes a number of different licenses, as do the attorneys of the numerous individuals and companies making use of them.

> It's free software

It's not, unless I have a legal right to redistribute a modified copy.

"Open source" and "free software" both have requirements to meet their respective definitions. And additonally, "source is viewable" is not the same thing as a license.

<comment><USER3> OpenSource.org doesn't own the definition of "Open Source." It's a concept and idea interpreted and implemented by lots of people in different ways meaning different things.

No one gets to "own" what open source means.

But, in their definition: "The license must allow modifications and derived works, and must allow them to be distributed under the same terms as the license of the original software."

All that says is that derived works are allowed under the same terms as the original software, which technically could enforce a royalty payment to the original for any derivative, how would that sit with you?

You're conflating community and cultural definitions with legal precedents and enforceability. GNU GPL is the only enforceable one in a US (and I think UK) court of law.

In the end of the day, what's the argument - you want the software creator to use a LICENSE you approve of or else not call their software release "free" or "open" because you feel that misleading?

<comment><USER4> > OpenSource.org doesn't own the definition of "Open Source."

Don't they, though? "Open Source" is not even a natural turn of phrase like "Free Software" is. Open Source is a strange phrase made up to describe a specific thing, and that thing is not that the source is available to be viewed.

edit: Also, thinking that the GPL is the only enforceable software license is just strange.

<comment><USER5> I was watching a stream at one time (wish I had a link, but it was a Microsoft project), and they called that concept 'source open' (viewable but not not modifiable).

<comment><USER6> I think the preferred term for software that doesn't comply with the OSI's definition is "source available".

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER7> If the author reads this, I can't view the site with the latest Firefox on Android (can't check the desktop one yet). The error is SSL_ERROR_NO_CYPHER_OVERLAP which means that the site and Firefox don't share any cipher so it's really the end of the story.

The ciphers supported by Firefox are

TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 (0xc02b) TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (0xc02f) TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 (0xcca9) TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 (0xcca8) TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 (0xc02c) TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (0xc030) TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA (0xc00a) TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA (0xc009) TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (0xc013) TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (0xc014) TLS_DHE_RSA_WITH_AES_128_CBC_SHA (0x33) TLS_DHE_RSA_WITH_AES_256_CBC_SHA (0x39) TLS_RSA_WITH_AES_128_CBC_SHA (0x2f) TLS_RSA_WITH_AES_256_CBC_SHA (0x35) TLS_RSA_WITH_3DES_EDE_CBC_SHA (0xa)

The last three ones are reported as weak by [https://www.ssllabs.com/ssltest/viewMyClient.html](https://www.ssllabs.com/ssltest/viewMyClient.html)

The author should add at least one of the others to the web site SSL configuration.

<comment><USER8> Internet Archive has a pretty good snapshot of the site as it appeared earlier today:

[http://web.archive.org/web/20180328000037/https://wonderunit...](http://web.archive.org/web/20180328000037/https://wonderunit.com/storyboarder/)

<comment><USER9> I also like archive to or archive is

You can archive things on demand.

[https://archive.fo/PAL3t](https://archive.fo/PAL3t)

<comment><USER8> FWIW, Internet Archive provides snapshot-on-demand too -- see the "Save Page Now" feature in the bottom-right: [http://web.archive.org/](http://web.archive.org/)

More info: [https://blog.archive.org/2017/01/25/see-something-save- somet...](https://blog.archive.org/2017/01/25/see-something-save-something/)

</comment></comment></comment></comment><comment><USER10> NOTE: You may want to stay far away from this project.

The author is trying to do an end-run around Open Source licensing, as can be seen in the last section of this weird and rambling rant: [https://web.archive.org/web/20180130105751/https://wonderuni...](https://web.archive.org/web/20180130105751/https://wonderunit.com/thoughts- on-free-and-open-source/)

There have been several issues and PRs raised trying to add a license to the project. These were never acknowledged by the author, and silently closed after a while.

<comment><USER8> It's a strange position that the author takes. It seems that a good part of his reluctance/cautiousness comes from a run-in with some educator who forked the repo and made some aesthetic changes ("removed all the swears") and then scrubbed the fork of any mention of "Wonder Unit":

> _The readme, the software, and even the images. Because of the way GitHub > works, it now looks like we are contributors on his project._

IANAL, but if Storyboarder was MIT License, this forker couldn't just scrub the license of all mention of Wonder Unit (or whoever was listed as copyright holders), right? But as far as making a fork look like his own project...Sure, that's the risk with any open source venture, but by and large, forks (especially by individual people) don't seem to go anywhere. This forker isn't likely to end up with anything but an outdated buggy copy of a ostensibly popular and evolving product.

It does seems like the creator and his collaborators have put in a non-trivial amount of thought and desire into going OSS, but are also wary of running into any unseen pitfalls. It just seems strange that they've come this far developing the product and putting it in the open; why be hung up about some educator doofus who wants to clean up cuss words in the code/docs, as if he and his ilk present a real threat to what Wonder Unit have made?

edit: grammer, wording

<comment><USER11> Right, and even a cursory search would reveal that for license violations, you can file a DMCA takedown request with Github against the offending repository [0]. It literally takes ten minutes and Github is _required by law_ to act immediately and ask questions later. And then at that point, the ball's in the other guy's court. He could file a DMCA Counter Notice with Github to get the repository reinstated, but in doing so, he is swearing under penalty of perjury that he is telling the truth claiming that he didn't violate the original code's license. If the forker didn't credit Wonder Unit as required by their original license [1], well, then _clearly_ Wonder Unit has a case to have the code removed. This isn't Vietnam. There are rules.

[0] [https://help.github.com/articles/dmca-takedown- policy/](https://help.github.com/articles/dmca-takedown-policy/)

[1] [https://choosealicense.com/licenses/mit/](https://choosealicense.com/licenses/mit/)

<comment><USER10> The Github ToC require you to allow forks for public repositories. So a fork on Github is almost literally the _only_ use of this software that they couldn't stop.

I'm reasonably certain that Github would check this when served with a DMCA notice, as well. The ToC read as if they are a reaction to exactly such a case. They don't want it to be possible to infringe copyright with the single click of a button.

<comment><USER11> But the fork wasn't the problem. The problem was the forker scrubbing attribution, which is against the license it supposedly had at the time. Or, at least, that seemed to have been the problem at the time?

</comment></comment></comment></comment></comment><comment><USER12> Interesting that pains were taken to require an email before downloading, even an extensive blacklist to block throwaway email services like mailinator. Yet, the release is freely available on the linked github page.

<comment><USER13> Seems like setpixel now wants more than just your email:

[https://twitter.com/charlesforman/status/978808181425082368](https://twitter.com/charlesforman/status/978808181425082368)

<comment><USER14> @setpixel, your behaviour is very unpleasing and clearly violates the most important principle of hackernews: civility.

"Since long before the web, the anonymity of online conversation has lured people into being much ruder than they'd be in person. So the principle here is: don't say anything you wouldn't say face to face. This doesn't mean you can't disagree. But disagree without calling names. If you're right, your argument will be more convincing without them."

You can find the rest of the site guidelines here: [https://news.ycombinator.com/newswelcome.html](https://news.ycombinator.com/newswelcome.html)

</comment></comment></comment><comment><USER15> Apparently, the author of the software thinks all "good" artists steal the software they use:

> "Let's be completely real – I've never known anyone working on dope ass shit > to be paying for the software they use anyways."

If I had known this, I wouldn't be giving up several hundred dollars a year for Adobe Creative Cloud. No wonder I'm not a good artist.

<comment><USER16> The whole paragraph makes me wonder what went through the author's head …

>And fuck Sony Pictures. They make the worst fucking movies. What does that have to do with free software? Not much. Maybe use free software to make great movies and don't waste money going to a Sony movie? Fuck.

>And fuck Dave Morin. And Gary Vaynerchuk. Ugh.

<comment><USER15> Clearly he has a vendetta against key people in the industry and wishes to call them out with school-yard bully insults.

</comment></comment></comment><comment><USER2> Hi, this is Charles. I made Storyboarder. I used to be in YC in 2006. We are a super small team, making Storyboarder without any funding. We're just trying to make a tool to use on our own movie project. 150k people use Storyboarder and we are struggling to keep up with the response.

<comment><USER17> I'm interested in seeing the movie. Where can I find more info about it?

<comment><USER2> just email me: email@example.com - its not even close to done yet tho

<comment> master-litty Are you making an animated film? 2D or 3D?

</comment></comment></comment></comment><comment><USER18> The shot generator feature looks unbelievable.

Scroll down and check out this text. Would love to get inside scoop on this.

"Storyboard Pro - Shitty software that costs $1000? Boords and other online software that just allows you to order images and costs a monthly fee?

Fuck those guys.

And fuck Sony Pictures. They make the worst fucking movies. What does that have to do with free software? Not much. Maybe use free software to make great movies and don't waste money going to a Sony movie? Fuck.

And fuck Dave Morin. And Gary Vaynerchuk. Ugh."

<comment><USER2> I just wrote that because it's how I feel, and it's free software. I answer to no god but myself.

<comment><AUTHOR> But again, to be clear, it's not free software according to the commonly accepted definition of free software.

[https://www.gnu.org/philosophy/free- sw.en.html](https://www.gnu.org/philosophy/free-sw.en.html)

<comment><USER19> well, to be clear, the dictionary says free means "without charge". You can use this software "without charge"

<comment><USER20> "Free software" and "open source" have very clear meanings in software industry. Nobody can force you to use them correctly but don't get angry or even act surprised when people complain that you are wrong and even deceitful (when the error doesn't seem naive).

If you go to a flight engineer and say that a plane has a high risk of stalling, first thing the engineer thinks would be a problem in the aerodynamics, not some engine problem, which would not make sense according to the dictionary definition: _Stalling: Stop running, typically because of an overload on the engine_. (Random example from the top of my head and my example can theoretically be very wrong, but I hope my point is clear).

<comment><USER21> I agree with you on "open source", that term was basically introduced by the OSI and people still stick to the OSI definition, but I cannot agree with you on the term "free", that word has a very long history of meaning gratis long before the FSF.

<comment><USER20> I personally understand different things when I hear that an application is "free" vs that it is "free software" [1].

It also helps to look at the more correct terms to use when talking about a different kind of "free" [2].

It doesn't actually matter, but even if we dig the actual root of the word, and its usage, we see that the "libre" meaning precedes the "kostenlos" (without monetary cost). It meant "noble, free person" in the proto-Germanic [3]. If you say that someone is a free person, no sane person would think that he/she can be owned for free. So the phrase "free software" is a very unsuitable substitute for "free to redistribute" or "free to use", even when you ignore the industry jargon. License to use it is free, not the software.

[1] [https://en.wikipedia.org/wiki/Free_software](https://en.wikipedia.org/wiki/Free_software) , [https://fsfe.org/freesoftware/basics/summary.en.html](https://fsfe.org/freesoftware/basics/summary.en.html) , [https://www.fsf.org/about/what-is-free- software](https://www.fsf.org/about/what-is-free-software) , [https://www.gnu.org/philosophy/free- sw.en.html](https://www.gnu.org/philosophy/free-sw.en.html)

[2] [https://en.wikipedia.org/wiki/Free_software_(disambiguation)](https://en.wikipedia.org/wiki/Free_software_\(disambiguation\))

[3]: [https://www.etymonline.com/word/free](https://www.etymonline.com/word/free)

</comment></comment></comment></comment></comment></comment></comment><comment><USER22> Buried deep in the marketing page is a dynamic shot generator powered by typing in keywords?! I don't know much about video production but this seems insanely cool.

<comment><USER2> Once you play with it, you'll see it's really early. There's so much I want to do with it. It's very much v.0.1 of shot generator.

<comment><USER22> I'm not surprised. I'm not really in that biz, so it's just really cool to me that such a thing exists. I love coming across applications of tech that, to us engineers, are pretty simple but to the user are game changing.

</comment></comment></comment><comment><USER15> This snippet:

> When I look at people like Richard Stallman, I just don't know what they > want out of life, but it's certainly not to cultivate great taste, or to > make great art. He seems to want to politicize some open source agenda as a > religion to the detriment of taking a shower or exercising. I fail to see > what he is trying to achieve. He seems to connect with only certain types of > people - definitely not me.

</comment><comment><USER23> I cannot get the site to load in Chrome 65, by the way. I'm getting:

>This site can't provide a secure connection

>wonderunit.com uses an unsupported protocol.

>ERR_SSL_VERSION_OR_CIPHER_MISMATCH

<comment><USER8> Same here. Works fine on Chrome iOS from my iPhone.

</comment></comment><comment><USER24> the download link [https://wonderunit.com/storyboarder/download/](https://wonderunit.com/storyboarder/download/)

</comment><comment><USER25> For people wondering about the type of thing that the generator supports, there's this config file [https://github.com/wonderunit/storyboarder/blob/f0a7cc75beb1...](https://github.com/wonderunit/storyboarder/blob/f0a7cc75beb1247a6317411a133fb1345b6395ad/src/js/shot- template-system/shot-properties.js)

</comment><comment><USER26> The software looks very impressive, and the marketing page really sells it well.

I know next to nothing about storyboarding, and I can see easily see the value-proposition of it.

The author himself seems like quite the character too, judging both from the comments in this thread and on some of the off-hand remarks in the marketing material.

<comment> the-dude Do you mean he seems to be his own worst enemy?

</comment></comment><comment><USER27> Wow Generating the initial wire-frame scenes with the shot-generator feature looks amazing!

</comment><comment><USER28> Wow, I feel really bad for the authors of this wonderful free software.(Even though I liked the previous Storyboard Foundation build better...) Everyone hating on the project because it doesn't have a normal license is a weird thing to complain about. This software is for artists; we just use software and we don't really care about the license. We use paid and free software. That is the only different to the end user. Is it paid or free? Software that is open-source has little to no effect on me directly as an artist. I don't edit the code, I use the software.

<comment><USER29> That is not smart. "Artist" or not does not preclude one from the enforcement of law.

Its like saying; "I'am just going to build a sculpture right here.... I don't really care about the codes or who owns the land, I am an artist so rules don't apply to me!"

</comment></comment><comment><USER30> This looks awesome; a quick look at the source shows it uses Electron. How feasible would it be to package as a Chrome app? I would be awesome in education, but a lot of our students use Chromebooks.

<comment><USER2> I'd love to try to figure that out!!! Do chromebooks have pens?

<comment><USER30> Some do, some don't. Increasing numbers of them have touchscreens though. Also, some of them have access to the Android Play store, so if it can be packaged as an Android app, that might also work. I don't know what sort of API's chromebooks have for pens though.

</comment></comment></comment><comment><USER31> I found the drawing tools limiting -- I just need 1 brush that has the option to change: \- size \- opacity \- color

Also there are a finite set a pre-defined artboard sizes for some reason.

<comment><USER2> We have a totally new drawing system we are working on: [https://s3.amazonaws.com/test.wonderunit.com/index.html](https://s3.amazonaws.com/test.wonderunit.com/index.html)

<comment><USER32> Nice! FWIW I think Procreate does a really great job of striking the right balance between options/flexibility and simplicity.

<comment><USER2> Yes! I'm modelling after their brush system.

</comment></comment></comment></comment><comment><USER33> This is amazing, the frame-generator is so futuristic I feel like it could almost replace Frameforge as is. I can't wait to see how this matures.

</comment><comment><USER34> This looks really wonderful!

Interesting that there is a CLA, but no embedded license file? Rather curious for such a well executed application and launch page.

<comment><USER2> Thanks! I haven't made up my mind on the LIC yet. As for the launch page, it's a thing that comes easy to me.

</comment></comment><comment><USER35> I would rather pay for Free Software than use zero cost Non-Free Software.

Edit: To elaborate, if you take the time to learn how to use this, and incorporate it into your workflow, you're at the mercy of the developer. If they decide to stop distributing it, and you get a new computer, then you're not even legally allowed to install it.

</comment><comment><USER30> Just had a play; stylus input works a treat, as does mouse/trackpad, but using a touchscreen (finger, or 'dumb stylus') doesn't seem to let me draw continuous lines at all. A _lot_ of laptops have touchscreens nowadays, much fewer have 'real' styluses.

</comment><comment><USER36> I am no story designer and just checked it out out of interest.

For whatever reason drawing (using touchpad on my laptop) is super slow (running it in Ubuntu 16.04) - is it expected and I should be using tablet to draw, or this is some issue with my video drivers or something along these lines?

</comment><comment><USER37> This is odd because the "download link" that gets mailed seems to be a MailChimp email subscribe link too. What the heck? I wanted a download link, not a subscription to whatever marketing you want to send my way later...

</comment><comment><USER38> "An error occurred during a connection to wonderunit.com. Cannot communicate securely with peer: no common encryption algorithm(s). Error code: SSL_ERROR_NO_CYPHER_OVERLAP"

What the hell?

</comment><comment><USER39> Reminds me of an old tool called Animator.

</comment><comment><USER40> https errror and it's not just that the certificate is unknown.

</comment><comment><USER41> WOW! So cool what Wonderunit just did; a really cool, useful, FREE creative software.

</comment><comment><USER42> site is down, DDOSed by HN visitors I assume

<comment><USER2> You can download from here: [https://github.com/wonderunit/storyboarder/releases](https://github.com/wonderunit/storyboarder/releases) Feel free to star too :D

</comment></comment><comment><USER43> This is genius! As a designer & storyteller I love this and I'd like to support you guys with my team's UI design power (we occasionally help open source or charity projects for free). Reach out if you guys could need some UI design help. Details in my bio.

<comment><USER44> It's a nice gesture but why not email them directly with the contact info on the website? Maybe I'm being a prig but this post seems like an ad, free or not

<comment><USER45> You're not alone in your sentiment. There are a few posts around here that do not "feel" like a typical Hacker News post. So my astro-turfing alarms are going off.

Granted, this looks like a good tool (at minimum: a very good marketing page), and the practice of astroturfing is unfortunately utilitarian (aka: it works ) in many contexts. But there's something offputting about some of the comments on this story right now.

With that being said: I'm not entirely sure if this tool is best suited for the hacker news audience? Its definitely more of an art tool, while the audience around here is more programmer / technical.

</comment></comment></comment><comment><USER46> Dooooooope.

</comment><comment><USER47> Dammit I wanted to see this... hope the site comes back up soon!

<comment><USER2> Hmmm - is DNS not responding? I was switching to cloudflare earlier, maybe I screwed something up. Had no idea I was going to be on HN

<comment><USER30> I'm getting this problem from my work network, but works fine from my 4G connection.</comment></comment></comment>


How Microsoft Bob ended up being a part of every copy of Windows XP - <AUTHOR> http://technet.microsoft.com/en-us/magazine/2008.07.windowsconfidential.aspx

<comment><USER2> Microsoft should offer $1M for anyone who cracks the encryption on the MS Bob data. Not sure why they'd do that but it would be a fun contest.

<comment><USER3> Someone will probably do it 'just for fun'

</comment></comment><comment><USER4> I rather like what Microsoft has been doing lately with their blogging. It isn't the super stuffy "we are always right and have always been flawless", but is actually worth reading and gives some decent insights.

<comment><USER5> Raymond Chen (the author of this article), Larry Osterman and others have been writing great historical MS stuff for years. There's lots of great stuff if you've got the time to read it.

</comment></comment><comment><USER6> This is fantastic. I'd love to hear more interesting tidbits of information like this.

<comment><USER7> Subscribe to Raymond Chen's blog: <http://blogs.msdn.com/oldnewthing/>

It's basically this sort of article, published a few times a month, interspersed with low-level Windows technical articles.

<comment><USER6> Cool. Thanks for the link.

</comment></comment></comment><comment><USER8> That's not the only way... that dog made it into Window XP's search.</comment>


Georgia Tech's free math textbook collective - <AUTHOR> http://people.math.gatech.edu/~cain/textbooks/onlinebooks.html <comment><USER2> There's a huge ecosystem of open textbooks, and two of my favorite math sources the AIM textbook initiative and the UMN open texts library.

American Institute of Mathematics Open Textbook Initiative -- note that they review the texts too and are a bit picky about what they list: [https://aimath.org/textbooks/](https://aimath.org/textbooks/)

More than just math: University of Minnesota open textbook initiative. Stats, CS, and humanities as well: [https://open.umn.edu/opentextbooks/](https://open.umn.edu/opentextbooks/)

Not a repository, but an individual free/open math text under development -- comments and feedback desired: [https://www.softcover.io/read/bf34ea25/math_for_finance](https://www.softcover.io/read/bf34ea25/math_for_finance) It starts with elementary probability and then combines probability and stats with linear algebra, multivariable calculus, and differential equations. Aimed at folks who have seen the math before but need a refresher and a viewpoint that unifies seemingly disparate topics. Note that it uses Softcover, a great way to publish technical texts to several formats at once.

<comment><USER3> To add to this, there's also American Math Society's free notes, some of which are basically full texts: [https://www.ams.org/open-math- notes](https://www.ams.org/open-math-notes)

</comment></comment><comment><USER4> Sadly, it seems that Professor Cain (the editor of this page) passed away in 2015[1]. The page had disappeared from the gatech.edu servers at one point, and I was afraid that without Professor Cain's presence, it might not ever be restored. Happy to see that it's online again.

[1]: [http://obits.dignitymemorial.com/dignity- memorial/obituary.a...](http://obits.dignitymemorial.com/dignity- memorial/obituary.aspx?n=George-Cain&lc=4945&pid=175128935&mid=6490500)

<comment><USER5> When I was at GT, I had professors in 3 different departments who wrote free text books.

As a "budget" engineering/science school, I feel like it's part of the ethos.

<comment><USER6> As an out-of-state student, it's hard to see the "budget" approach GT had. However, I will say that many of my professors were well aware of the costs of textbooks, and rarely did it feel like we were required to buy ridiculously expensive books.

It also helps that the library checks out textbooks as well. I think they'll even obtain a copy of a textbook they don't have at the professor's request.

EDIT: Also, the the University System of Georgia has an exchange program that ships unique books between libraries in the state, though this isn't unique to Georgia.

</comment></comment></comment><comment><USER7> This is awesome. At some point in the next five years I plan on taking a sabbatical and focusing almost exclusively on redoing my math education and moving deeper into advanced topics than I did as an undergraduate.

Is there anyone who has done something similar who might share some suggestions for success?

<comment><USER8> I have quite a few adult readers using my book to refresh and re-learn basic calculus and mechanics. You might consider checking it out[1]. It's not free, but very affordable.

[1] [https://www.amazon.com/dp/0992001005/noBSguide](https://www.amazon.com/dp/0992001005/noBSguide) preview: [https://minireference.com/static/excerpts/noBSguide_v5_previ...](https://minireference.com/static/excerpts/noBSguide_v5_preview.pdf)

<comment><USER7> Ha, this looks great, thanks. I have no problem paying for good content.

</comment></comment></comment><comment><USER9> If you find it easier to keep at it and learn from lecture videos instead of from textbooks, here's a math curriculum of lecture videos I've curated. This covers calculus, linear algebra, probability, statistics, convex optimization and a math for ML course thrown in for the HN audience:

Calculus Revisited: Single Variable Calculus | MIT [https://ocw.mit.edu/resources/res-18-006-calculus- revisited-...](https://ocw.mit.edu/resources/res-18-006-calculus-revisited- single-variable-calculus-fall-2010/index.htm)

Calculus Revisited: Multivariable Calculus | MIT [https://ocw.mit.edu/resources/res-18-007-calculus- revisited-...](https://ocw.mit.edu/resources/res-18-007-calculus-revisited- multivariable-calculus-fall-2011/index.htm)

Complex Variables, Differential Equations, and Linear Algebra | MIT [https://ocw.mit.edu/resources/res-18-008-calculus- revisited-...](https://ocw.mit.edu/resources/res-18-008-calculus-revisited- complex-variables-differential-equations-and-linear-algebra- fall-2011/index.htm)

Linear Algebra | MIT - [https://www.youtube.com/watch?v=ZK3O402wf1c&list=PLE7DDD9101...](https://www.youtube.com/watch?v=ZK3O402wf1c&list=PLE7DDD91010BC51F8)

Introduction to Linear Dynamical Systems |Stanford [https://see.stanford.edu/Course/EE263](https://see.stanford.edu/Course/EE263)

Probability | Harvard [https://www.youtube.com/playlist?list=PL2SOU6wwxB0uwwH80KTQ6...](https://www.youtube.com/playlist?list=PL2SOU6wwxB0uwwH80KTQ6ht66KWxbzTIo)

Intermediate Statistics | CMU [https://www.youtube.com/playlist?list=PLcW8xNfZoh7eI7KSWneVW...](https://www.youtube.com/playlist?list=PLcW8xNfZoh7eI7KSWneVWq-7wr8ffRtHF)

Convex Optimization I | Stanford [https://see.stanford.edu/Course/EE364A](https://see.stanford.edu/Course/EE364A)

Math Background for ML | CMU [https://www.youtube.com/playlist?list=PL7y-1rk2cCsA339crwXMW...](https://www.youtube.com/playlist?list=PL7y-1rk2cCsA339crwXMWUaBRuLBvPBCg)

<comment><USER10> Thank you for collecting these resources together!

</comment></comment><comment><USER11> Where was this when I was an undergrad at GaTech?

I'll never forget how the math professors would switch from edition x to edition x+1 with the only clearly visible difference being the homework assignment questions.

I truly hope that this is not just a trove of books, but also a signaling of the change in culture from opportunism at the expense of the students to openness.

<comment><USER12> > signaling of the change in culture

I am a free text author (one of mine is an entry on OP's page). If you want change, here is something you can do.

When you are contacted by the alum reps at your school, GaTech or otherwise, don't ask about the football team. Ask if the faculty are rewarded for writing books that are Free.

People respond to rewards. Said less abstractly, I have been told a lot, often by young folks starting out, that they have a good idea but cannot afford to spend the time on a project that would not be recognized at their institution when they come up for tenure or promotion.

(My institution had the foresight to recognized this kind of work, for which I can only say how great that was of them.)

<comment><USER2> Hallelujah and amen. Institutional support is crucial. I have found that librarians are more likely to provide material and monetary support than departments.

<comment><USER12> Could you say more?

<comment><USER2> Librarians across the US are heavily involved in efforts to promote free and open textbooks. I don't really know what's happening, but university librarians all over are promoting open texts, providing hosting for them, working together to catalogue them, working with writers and instructors on copyright issues, etc. Some of them are putting money into texts, too -- I'm getting some funding to pay for a copyeditor, for instance. Departments have not (in my admittedly limited) experience ponied up cash or other support, although they seem to think open texts are nice.

</comment></comment></comment></comment></comment><comment><USER13> Fellow HN readers, I humbly ask for some advice:

I'm currently working through Udacity's Self-Driving Car Engineer Nanodegree; if everything goes well, I should be heading into Term 3 soon.

What is painfully known to me, before I started this course and now in the middle of it - is my lack of certain education in mathematics.

Particularly that of stats/probability - but lately understanding the basics of calculus, namely that of derivatives and integrals. So I would like some assistance - namely, what are your suggestions for me to remedy this, after I finish the Nanodegree?

My thoughts have been to take a reprieve from coursework, then maybe next year launch into something more. Maybe more MOOCs or other online course or resources (like these books) geared toward learning this material. Or perhaps taking a course or two at a local community college? Perhaps I could audit a local (ASU West here in Arizona would be closest) mathematics course? Or maybe do some other kind of formal online study (I have considered getting a BS then an MS via an online school).

I seem to do alright with MOOCs "at my own pace" \- but I also do well in a more structured system, with a set syllabus, schedule, and testing.

I just want to see what others think might be the best approach, in order to assist my decision in the future. Thank you all for any suggestions and such.

<comment><USER14> I learn a lot from Barabar Oakley's book "A Mind for Numbers". [http://barbaraoakley.com/](http://barbaraoakley.com/)

I wrote about some of my take-home messages from that book here: [https://www.quora.com/profile/David- Lawrence-6](https://www.quora.com/profile/David-Lawrence-6) "How I study hard"

Abhishek Pillai wrote about what he learnt here: [https://medium.com/learn- love-code/learnings-from-learning-h...](https://medium.com/learn-love- code/learnings-from-learning-how-to-learn-19d149920dc4)

I have completed 3 MOOC courses. I was lucky that they tied in with my job.

</comment></comment><comment><USER15> There's a subreddit for locating more: [https://www.reddit.com/r/mathbooks/](https://www.reddit.com/r/mathbooks/)

___________________

This list's a couple years old, for machine learning, including basic lin.alg, prob/stats: [https://www.reddit.com/r/MachineLearning/comments/1jeawf/mac...](https://www.reddit.com/r/MachineLearning/comments/1jeawf/machine_learning_books/)

Since then,

\- Deep learning book by Goodfellow et al,[http://www.deeplearningbook.org/](http://www.deeplearningbook.org/) (the one by Michael Nielsen is good as well)

\- Foundations, excellent text: [http://www.cs.huji.ac.il/~shais/UnderstandingMachineLearning...](http://www.cs.huji.ac.il/~shais/UnderstandingMachineLearning/) Shalev-Shwartz, Ben-David

\- [https://www.cs.cornell.edu/jeh/bookMay2015.pdf](https://www.cs.cornell.edu/jeh/bookMay2015.pdf), Blum, Hopcroft, Kannan, probably an older version

<comment><USER16> Regarding the Blum, Hopcroft, Kannan book, this seems to be a more recent version: [https://www.cs.cornell.edu/jeh/book.pdf](https://www.cs.cornell.edu/jeh/book.pdf)

</comment></comment><comment><USER17> Some of these look pretty good, although the selection is rather limited. For those willing to pay a little to get a bigger selection there is a nice alternative between "free" and the insanity that is the pricing of most textbooks today.

That alternative is the books published or republished by Dover publications. They like to take older textbooks and purchase rights to republish them as relatively inexpensive paperback editions. A very large fraction of their books are under $20, with many under $12. A few are more expensive, but only rarely more than $30.

The level ranges from suitable for high school students to graduate level and beyond.

Here's their mathematics section: [http://store.doverpublications.com/by- subject-mathematics.ht...](http://store.doverpublications.com/by-subject- mathematics.html)

Don't overlook the "general" subcategory. They have some wonderful problem books there, such as Yaglom and Yaglom's "Challenging Mathematical Problems With Elementary Solutions" series.

They also do this for physics, chemistry, engineering, history, economics, computer science, biology, earth science and more.

<comment> m-j-fox This is reasonable. Grinds my gears that the IEEE hoards all computer research and wants at-least $15 for a single paper no matter how interesting or inane. [http://ieeexplore.ieee.org/document/7942927/](http://ieeexplore.ieee.org/document/7942927/)

Hey IEEE, you are doing the opposite of a service in a world created by your members. Please cease to exist.

<comment><USER4> _Hey IEEE, you are doing the opposite of a service in a world created by your members. Please cease to exist._

As an on-again, off-again IEEE member, I've often wondered what it would take to stage a "revolt" of sort and get enough like minded people on the IEEE board (or whatever they call their leadership group) to radically remake their approach to monetizing content. In an ideal world, I'd love to see all research papers made freely available and the organization funded solely by membership fees and other means - conference fees, sales of dead-tree books, probably other stuff. Maybe charitable donations?

But up to this point, I'm afraid I've never been motivated enough to really pursue the issue. But if anybody wants to form an "open access caucus" (or if there already is one!) feel free to give me a shout. I'd still like to help with an effort of this nature.

</comment></comment></comment><comment><USER18> I'm a high school graduate (2016, took a gap year) and I've been lurking on HN for almost a year in my free time. All the folks on here have really piqued my interest for math (I hear terms like category theory and abstract algebra being thrown around) and CS theory. If there's anything I'm thankful for from this community it's this thing. However I cannot bring myself to tackle such topics(because I feel that I'm not armed enough to learn them). How do you think I can overcome that?

<comment><USER19> I would first try to learn how to do proofs. I did no math since high school, then started again a few years ago just for fun . All higher level math (upper division and graduate school) is based on being able to read and write proofs. However, you don't need anything above high school algebra to learn proofs, so you don't have to wait, you can just get started now!

My favorite book, that I strongly recommend despite the high price of around $100 in the US is "Mathematical Proofs" by Chartrand. You can get an international copy off eBay for around $45.

If you're weak on basic algebra etc, then you should instead start with "engineering mathematics" by Stroud, which has a foundations section that I started with several years ago when I started relearning math. It's designed for self-study.

I actually did find it helpful to do classes, I found most of the lower division math classes available online (i.e. calculus 1,2,3 and linear algebra). Sometimes, it helps to have deadlines, exams etc :)

Btw, if anyone out there already has a non math degree, but wants to study upper division and graduate level math formally, it turns out the way that is usually done on the US is to apply to a Math Masters program for "conditional admission" to the masters programs. They admit you, and then you do the upper division undergrad courses first, then move onto the masters programs. It's also possible to sign up for one-off classes at various universities via some kind of "open university" program, which is much easier to get into than formal admission to a degree course- I'm actually starting an Analysis course and a Linear algebra course at Berkeley tomorrow, as part of their "summer session", and you basically just sign up, pay your money, and turn up :)

Feel free to get in touch if anyone has any questions (email in profile)

<comment><USER18> Great! Thank you so much.

</comment></comment></comment><comment><USER20> This is one I remember using that I didn't see on there:

Professors William T. Trotter [1] and Mitchel T. Keller [2] Applied Combinatorics [3,4]

[1] [http://people.math.gatech.edu/~trotter/](http://people.math.gatech.edu/~trotter/)

[2] [http://rellek.net/home/](http://rellek.net/home/)

[3] [http://rellek.net/book/app-comb.html](http://rellek.net/book/app- comb.html)

[4] [https://people.math.gatech.edu/~trotter/book.pdf](https://people.math.gatech.edu/~trotter/book.pdf)

<comment><USER21> The last link gives a cert error, but http works. Maybe you should edit it.

<comment><USER4> FWIW, the https link works fine for me, using Chrome 58.0.3029.81 on Linux.

</comment></comment></comment><comment><USER22> Not free but cheap and great, David Morin book on classical mechanics: [https://www.physics.harvard.edu/node/386](https://www.physics.harvard.edu/node/386)

</comment><comment><USER23> Reminds me of Tom Henderson's so-called _Punk Mathematics_ [0], a USD$30k vapourware kickstarter that I funded.

After that disappointment and Schuyler Towne's famously USD$90k vapourware _Lockpicks by Open Locksport_ , I stopped supporting crowdfunding projects.

Good job guys, you ruined it for everyone else.

[0] [https://www.kickstarter.com/projects/1541803748/punk- mathema...](https://www.kickstarter.com/projects/1541803748/punk-mathematics)

[1] [https://www.kickstarter.com/projects/schuyler/lockpicks- by-o...](https://www.kickstarter.com/projects/schuyler/lockpicks-by-open- locksport)

</comment><comment><USER24> This ([http://insti.physics.sunysb.edu/~siegel/errata.shtml](http://insti.physics.sunysb.edu/~siegel/errata.shtml)) is a free (As in Beer and also possibly speech) field theory textbook. So far it's pretty good.

I can't comment on the deeper parts of the book, because I don't _get it_ yet (I don't really have the time atm to slog through a 900 page book, as much as I'd love to)

</comment><comment><USER25> The AMS is trying its hand at curation as well. The project shifts some of the work onto authors and seems most useful for undergraduate subjects at the moment, but the names behind it should help.

[https://www.ams.org/open-math-notes](https://www.ams.org/open-math-notes)

<comment><USER12> Thaks for this link. I was unaware.

I note that slthough it mentions textbooks, it says this:

"They have not been published elsewhere, and, as works in progress, are subject to significant revision."

So I understand the model behind these materials this to be that in the end the goal is to publish with a publisher, not to offer the material for Free download, and that these works are being developed, and welcoming feedback during that process.

I don't believe OP's page has that model. I think OP's page is works that the author considers finished.

<comment><USER25> I should have described the differences, but I would have wanted to perform some interpretation and did not feel comfortable doing so.

For example, one item [1] there that interests me is a set of student-taken notes that has been on the lecturer's website [2] for seven years. My prediction is that it will never be changed or fed to a publisher. I think that in trying to avoid conflict with publishers and blame for unstable and error-filled texts the sentence you quote saps the enthusiasm of the visitor.

[1] [https://www.ams.org/open-math-notes/omn-view- listing?listing...](https://www.ams.org/open-math-notes/omn-view- listing?listingId=110662)

[2] [http://math.stanford.edu/~conrad/252Page/index.html](http://math.stanford.edu/~conrad/252Page/index.html)

</comment></comment></comment><comment><USER26> Why is it so hard to have everything in a single pdf?

<comment><USER27> [http://stacks.math.columbia.edu](http://stacks.math.columbia.edu)

</comment></comment><comment><USER28> Another free e-texts initiative: [https://openstax.org/](https://openstax.org/)

</comment><comment><USER29> This would be a much better resource if it was in tabular format (Title, Author, Description)

</comment><comment><USER30> God damn it, every time I hear Georgia I thing of the country nearby Russia and then after some time I remember that there is a state in th US which is called the same too.

<comment><USER31> Those of us who live in the US have the opposite problem.

(And Georgia the US state has a larger population than Georgia the country. So perhaps this is one of the rare times when our parochialism about the rest of the world is justified.)

</comment></comment><comment><USER32> [http://lib.ru/](http://lib.ru/)

<comment><USER33> While I don't advocate for piracy, I also don't advocate for buying the wrong books or hoarding books that you won't use. This is why sometimes having the ability to look at a book before you buy it (same as you would do in an actual book store) is useful.

The "look inside" feature of Amazon is sometimes very limited. Sometimes I've taken a look at PDF or DjVu versions of books, not with the intention of reading them but just looking at them before buying them.

Books approach subjects in varying levels of detail. Sometimes you are interested in deep theory and proofs, sometimes you just want workable formulas.

</comment></comment><comment><USER34> I wish they were a single html file, with nice typography and plenty of margins.</comment>


Build your own chatbot and chat AI service with NLP.js and Netlify functions - <AUTHOR> https://www.voorhoede.nl/en/blog/building-our-own-chatbot-and-cloud-ai-service/ <comment><USER2> Hi! Thank you!!!! That's great! I started playing a little bit with your bot :)</comment>


Rust Error Handling Survey - <AUTHOR> https://blog.yoshuawuyts.com/error-handling-survey/ <comment><USER2> Thanks to the author and contributors for putting in the time and effort to create this.

Especially the cross-comparison in the second half is very thorough and useful!

Perhaps this or something similar could be hosted on a public git repo so that it can be maintained by a wider set of contributors?

There was a similar survey[0] of Common Lisp systems from 2007-2010 from before services like Github/Gitlab became prevalent, so maybe we can have something like this Rust library survey NOT suffer the same fate. (Yes, Fare maintained it for a while--thanks, Fare!-- after Dan passed away too young, and then it became less detailed[1], but you get the idea...)

[0] [https://web.archive.org/web/20180824234333/https://common- li...](https://web.archive.org/web/20180824234333/https://common- lisp.net/~dlw/LispSurvey.html)

[1] [https://common-lisp.net/implementations](https://common- lisp.net/implementations)</comment>


Watch SpaceX staff erupt as Falcon 9 nails the landing - <AUTHOR> http://www.engadget.com/2016/01/13/spacex-falcon-9-landing-video/ <comment><USER2> That looks like a major morale boost for the employees</comment>


PostmarketOS is moving to Gitlab - <AUTHOR> https://postmarketos.org/blog/2018/06/27/moving-to-gitlab/ <comment><USER2> Based on another article posted today on hackernews, microsoft is one of the big ones doing the most efforts towards complying to the new european privacy rules (GDPR) ([https://fil.forbrukerradet.no/wp- content/uploads/2018/06/201...](https://fil.forbrukerradet.no/wp- content/uploads/2018/06/2018-06-27-deceived-by-design-final.pdf)) and I also see them doing a lot of efforts towards opensource lately, so even though I'm not a huge microsoft fan nor working for them, I think a lot of prejudices that exist today are due to their history / legacy and therefor I would recommend to be a bit more careful when arguing that they are the devil and all their sub companies and tools have to be avoided at all cost

<comment><USER3> They're also working with ICE, the agency that imprisoned thousands of children.

So you know, there's that.

<comment><USER4> Tbc, Supporting ice /w Office and other legacy products. Not sure what the alternative is? Don't sell Office and exchange?

</comment></comment></comment><comment><USER2> "[..] GitHub has always had a vendor lock-in with the user's issues and pull requests hidden behind a rate limited API [..] at least we want to be able to create a public backup of all our > 1500 issues and pull requests once a week"

Github rate limit: "5000 requests per hour"

<comment><USER5> Where can I see the rate limit? I tried [https://api.github.com/rate_limit](https://api.github.com/rate_limit) but I see a rate limit of 60 only:

        {
          "resources": {
            "core": {
              "limit": 60,
              "remaining": 58,
              "reset": 1530102452
            },
            "search": {
              "limit": 10,
              "remaining": 10,
              "reset": 1530099950
            },
            "graphql": {
              "limit": 0,
              "remaining": 0,
              "reset": 1530103490
            }
          },
          "rate": {
            "limit": 60,
            "remaining": 58,
            "reset": 1530102452
          }
        }

<comment><USER2> [https://developer.github.com/v3/rate_limit/](https://developer.github.com/v3/rate_limit/) [https://developer.github.com/v3/#rate- limiting](https://developer.github.com/v3/#rate-limiting)

</comment></comment></comment><comment><USER6> In a bit of bizarre cognitive dissonance or intellectual dishonesty on my end, I have publicly told people that I am ok with Microsoft's purchase of Github, but have moved all my projects over to Gitlab.

It's not that I think Microsoft will do a bad job (and the issue isn't about Microsoft specifically) it just made me realize something that I logically knew but never thought about: Github can be bought, and it's a near-monopoly.

We take advantage of a seemingly altruistic service like Github, but I now process that they're a for-profit corporation, and there is no reason they couldn't exploit that fact. While I don't think they would do this, Microsoft could easily deprioritize projects that compete with their products, or surround popular releases with adware (like Sourceforge did a few years ago).

Gitlab is a for-profit corporation as well, so they're not immune to this, but the difference is that I can easily run my own Gitlab server if I really wanted to, or fork the project and make "Tombert's Cool Gitlab Competitor" whenever I need to. Inherently, Gitlab has created its own competition, which I think can shield a bit from my concerns.

Also, I've grown to really like the Gitlab interface; maybe that's a good enough reason to switch.

</comment><comment><USER7> Always good to see PostmarketOS getting some publicity.

I need a break from work and research, so I'm planning on finally trying out drebrez's LVM branch on my old Nexus 7 this weekend. I might also look into what it would take to get a HTC One (m7) booting.

</comment><comment><USER8> It's great that the space is getting more independent of one big player, but there is no need to make a fuss out of it anytime a project moves.

If you think that GitLab (the company) is any better for your data than GitHub (Microsoft) you are incapable of understanding economy and capitalism.

<comment><USER9> > If you think that GitLab (the company) is any better for your data than > GitHub (Microsoft) you are incapable of understanding economy and > capitalism.

LOL that's quite the generalization. How about the argument that with GitLab you don't have vendor lock in since you can export and run your own instance at any moment? Seems like a compelling reason for GitLab to be a better place for your data.

<comment><USER10> How would exporting to a different server work in practice?

Wouldn't every single user have to create a new account in the Gitlab instance running on the new server?

<comment><USER6> Yes, but if I own a company, and Gitlab does something that we don't like to our project, I could conceivably run my own on a Digital Ocean droplet or AWS or Azure or something, so that my developers don't have to radically change the way they work.

Granted, Github has Enterprise, but that's proprietary, and I like that there's no need to worry about license fees and whatnot with Gitlab.

</comment></comment></comment></comment><comment><USER11> This is a good way of knowing which companies and projects are managed by brats.

<comment><USER12> I mean if making critical decisions about who you want to trust, where you want to store your code and data, and how you want to operate your day to day business, based on an evolving market is being a "brat" then yeah.

I'm not expecting GitHub to change much, if at all, but part of an open internet is people and companies being able to choose how they want to do things.

<comment><USER13> Using the #movingtogitlab hashtag does make it feel a bit brattish. FWIW I'm on (self-hosted) Gitlab, not GitHub.

</comment></comment></comment><comment><USER14> To give you some context, I'm coding lots email templates for living and on daily basis we're dealing with Outlook 2016 bugs some of which are as old as IE5. Yes, Internet Explorer five. For example, if you have a TD less than 18px high, it will be push to be 18px high, unless there's font-size set. These kinds of bugs were squished on IE6. Hatred to Internet Explorer was one of the main reasons devs hated M$. Now, IE is gone, web devs live happy lives with React and us, email devs still code in tables and use VML hacks just to set background picture (ahem, of a table cell).

With the above context, I'd say M$ may be different now compared to before but it's changing only because it has to and only because they reap what they sow. Previous seeds grew.

Speaking about V$Code, there was so much hatred in GitHub when peeps asked maintainers to allow users to customise the blue status bar that I think I saw true "spirit" of that company. See for yourselves: [https://github.com/Microsoft/vscode/issues/1884](https://github.com/Microsoft/vscode/issues/1884) \- some juicy posts have been deleted/edited since though

PS. I moved all my 80 Open Source libraries to BitBucket and haven't looked back since. I applaud all others that migrate out of GitHub.

<comment><USER15> > _See for > yourselves:[https://github.com/Microsoft/vscode/issues/1884](https://github.com/Microsoft/vscode/issues/1884) > \- some juicy posts have been deleted/edited since though_

obviously can't tell about the edited ones, but there's not a single "juicy" comment by someone from Microsoft there IMHO? I mostly see external commenters misbehaving.</comment></comment>


Flask by Example – Part 2 – Postgres, SQLAlchemy, and Alembic - <AUTHOR> http://www.realpython.com/blog/flask-by-example-part-2-postgres-sqlalchemy-and-alembic/#.U1-hunzipp8.hackernews <comment><USER2> That technique used for migrations will fail with a real production app where you want to avoid downtime. The process outlined is:

1\. deploy new code to prod

2\. run migration on prod via a one-off dyno instance

However, in step 1 you are pushing code that relies on new tables/fields that don't yet exist, causing errors and likely downtime for the app.

To avoid this, you can instead have Alembic generate SQL from the migration and then apply that SQL to the prod DB directly prior to deploying the updated code.

<comment><AUTHOR> Good points. This post is actually meant for the initial setup. You're right, though: - there will be downtown, albeit not much. But down time is down time.

It may be beneficial to update the post to specify the initial setup vs. migrations after the production env is setup. Or we could just add that in the next post.

Thanks!

<comment><USER2> Yeah, it's more of an advanced topic for commercial prod sites, but worth mentioning as trying to do the migration prior to a code push is also not going to work (no migration to be done) and could confuse those new to these tools/libs.

In any case, good job on a well written set of posts.

</comment></comment></comment><comment><USER3> Cool, but can someone please add some context to this? Where's part one, what's the goal of this "Flask by Example" tutorial.

I've recently started getting into Python and love Flask so far (spares newbies from having to buy into bullshit philosophies which are irrelevant to me). Would love to understand better what this project is trying to accomplish

<comment><AUTHOR> 1\. You can find the link to part 1 in the beginning of the tutorial - [http://www.realpython.com/blog/python/flask-by-example- part-...](http://www.realpython.com/blog/python/flask-by-example- part-1-project-setup/)

2\. Context: We're going to build an app using Flask with a simple text box that you enter text into and the app processes and displays a count of how many times each word appears on the page.

3\. Parts:

In part one, we'll set up a local development environment and then deploy both a staging environment and a production environment on Heroku.

In part two, we'll set up our PostgreSQL database along with SQLAlchemy as our ORM and Alembic to handle migrations.

In part three, we'll be doing a bunch of backend processing to count the words of a web page so we'll implement a request queue that will do the actual processing of the words. (coming soon!)

Does that answer your questions? Best!

<comment><USER3> Thanks, that's exactly what I was looking for! Looking forward to part 3!

<comment><AUTHOR> cheers!

</comment></comment></comment></comment><comment><USER4> Lol... Everytime I see Alembic, I always think of this: [http://en.wikipedia.org/wiki/Alembic_(Computer_Graphics)](http://en.wikipedia.org/wiki/Alembic_\(Computer_Graphics\))</comment>


Serfs of Academe - <AUTHOR> https://www.nybooks.com/articles/2020/03/12/adjuncts-serfs-of-academe/ <comment><USER2> When I was 19 I worked at Dominos Pizza, and they offered me a management track position. I would attend Dominos University, a management training course where they would teach me the art of pizza restaurant management and advanced pizza making skills. The starting salary for management back in 2007 was $38k per year with 10% bonus, and included health insurance, paid sick leave, etc.

I say this because - _why do these adjuncts subject themselves to such torture?_ If you are smart enough to teach medieval poetry, you can run a pizza restaurant. These people fetishize university life and kill themselves for no reason. It's absurd. Universities get away with paying horrible wages because there is a seemingly endless line of people willing to be homeless in order to teach undergraduates and grade papers. Insanity

<comment><USER3> Because some people want to live in a world where we as a society can value things like medieval poetry and have thriving ecosystems around that.

There's a seemingly endless line of people willing to enslave themselves to a broken system rather than fold and turn into a Dominos manager like the system wants.

<comment><USER2> At one point do you get punched in the nose enough times to realize you aren't meant to be a boxer? These people clearly didn't make it in academia. As much as I want to be an NFL quarterback, sometimes you have to accept reality and try for a different goal.

<comment><USER4> Well, what if you wanted to be an NFL quarterback, had all the skills, but couldn't find a job because Joe Montana, Dan Marino, John Elway etc.--greats in their day--had tenure?

<comment><USER2> You can post on Twitter about how unfair it is, but I would rather take control of my own destiny and do something else. Living in my car outside the football stadium in the hope that someday I'll be hired would be naive. The same for the adjuncts.

</comment></comment></comment></comment></comment><comment><USER5> I've heard ghastly horror stories from PhD friends of mine at the Ivy I attended. I don't think the average person appreciate how unbalanced the power dynamic can be for doctoral students. An advisor can exert a fearsome pressure on their subordinates. You can also get lose funding, forcing you to pay an outrageous rate of tuition to the university (100k~ per annum) if you can't find another source of funding.

<comment><USER6> ... and this is almost entirely due to the lack of recognition of the employee status of Ph.D. candidates as junior researchers.

That is, the assumption that payment somehow naturally goes from the Ph.D. candidate to the university rather than vice-versa.

Luckily, there has been a very positive development in this front a few years back - 364 NLRB 90, Columbia University vs UAW:

[https://columbiagradunion.org/wp-content/uploads/NLRB- Case-0...](https://columbiagradunion.org/wp-content/uploads/NLRB- Case-02%E2%80%93RC%E2%80%93143012-DECISION-ON-REVIEW-AND-ORDER-20160823.pdf)

<comment><USER7> Also, at least in the state my grad school is in, graduate students are not employees which means that they aren't bound by worker safety laws preventing them from working in a lab setting for over 40 hours a week.

<comment><USER6> Two points about that:

1\. A graduate employee/reseacher union can demand a cap on lab hours regardless of employment status. (Actually it can demand anything regardless of employment status if it's capable of concerted action to put pressure on management). That would also be a trivial an extremely justifiable demand, which would make management sound evil if they try to deny it. A media campaign about the poor lab rats might do the trick.

2\. "in the state my grad school is in, graduate students are not employees" <\- That's probably wrong, in two ways.

First there's the question of whether you're an employee as opposed to the question of whether you can unionize and bargain collectively in the framework of US labor law, and those are two different things.

Second, the fact that management treats you as non-employees does not mean that that is the legal reality. I mean, NLRB rulings are binding in all states. And regardless of legal issues - at the bottom line it's a matter of organizing yourselves, getting in touch with other organized graduate employees in other universities/states, and educating yourselves collectively (= talks, workshops, rallies, whatever, in which you explain things; print materials; departmental discussion+Q&A sessions; orientation sessions with new graduate employees and so on). The struggle between yourselves and management is first and foremost about your collective self-perception and beliefs.

</comment></comment></comment></comment><comment><USER6> Readers who are able - for some peculiar reason - to read Hebrew may also be interested in the book, in a similar vein, edited by Drs. Mishori and Hazan named "Abusive Employment", which has multiple chapters regarding employment, precarity and unionization attempts in Israeli academia, and the rest regards the Israeli economy more generally.

The book is made available for public download through this page:

[http://sea.org.il/he/precarious_employment_book/](http://sea.org.il/he/precarious_employment_book/)

</comment><comment><USER8> A warning seen on Twitter today says: don't enter a PhD program unless you are given full funding (or have a trust fund).

Honestly, even if you get full funding, you should consider the opportunity cost.

[https://twitter.com/megankatenelson/status/12319359557010513...](https://twitter.com/megankatenelson/status/1231935955701051393)

<comment><USER9> That was standard advice fifteen years ago, when I was in this situation. I imagine it's more true today.

(I'd argue that even if you have a trust fund, you shouldn't go if they won't fund you. The not funding you is a vote of no confidence in you.)

<comment><USER8> > _even if you have a trust fund, you shouldn 't go if they won't fund you_

Yeah, but perhaps TFKs just want the cred of having a PhD, and don't actually care that they won't likely be able to do anything with it afterward.

</comment></comment></comment><comment><USER10> An acquaintance teaches a course one night a week at the local community college. The pay is really low - $1200 per semester course. On the other hand, he has interned and/or hired some of the best students, so there are other advantages besides spare cash.

</comment><comment><USER3> appalling lack of public support for educational institutions. I hope the chase for lucre was worth it.</comment>


Development of Warajevo: ZX Spectrum Emulator Made During the Bosnian War - <AUTHOR> https://worldofspectrum.net/features/warajevo/Story.html <comment><USER2> Wow, this page takes me back. Match Day! What a game.

[https://worldofspectrum.net/features/warajevo/Sshots4.html](https://worldofspectrum.net/features/warajevo/Sshots4.html)

I don't remember how it came to be that my mam & dad bought me a ZX Spectrum+ – probably because I was about 10 at the time. Did I ask for it? How would I have known? Either way, an eternity of thanks is due because that thing changed my life. I mean, I just can't imagine me without that foundation as a kid.

I know it's a bit clichéd but I really think it's true that the fact that kids today get iOS vs. a BASIC prompt is a real shame. Even having to manually LOAD a game makes you think, huh, what's going on there? Back in my early 20s I worried that the next generation would come and eat my lunch, but it never happened, and I think that BASIC prompt was why. It really was a golden time.

Good times. I wish we'd never sold that thing, but it made way for an Amiga 500 and who was to ever have known that it would be valuable, even if only sentimentally, 30+ years later.

<comment><USER3> > I wish we'd never sold that thing

You have only 18 days left to stop wishing — a new reconstruction of the old hardware, compatible with the old, with modern ports added:

[https://www.kickstarter.com/projects/spectrumnext/zx- spectru...](https://www.kickstarter.com/projects/spectrumnext/zx-spectrum- next-issue-2)

Seen on HN:

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

</comment></comment><comment><USER4> WoS has excellent content, but wouldn't suffer from an update (more responsive aware, no dead links and better quality images).

Not that it detracts from the article, but anyone else wanting a clear(er) view of the top two illustrations of how things can change in not too many years:

[https://didyouknowfacts.com/wp- content/uploads/2016/08/sara1...](https://didyouknowfacts.com/wp- content/uploads/2016/08/sara11.jpg)

[https://www.geographicus.com/mm5/graphics/00000001/L/Sarajev...](https://www.geographicus.com/mm5/graphics/00000001/L/Sarajevo- fama-1996.jpg)

And for anyone wanting a quick Spectrum fix:

[http://torinak.com/qaop/games](http://torinak.com/qaop/games)

[http://jsspeccy.zxdemo.org/](http://jsspeccy.zxdemo.org/)

<comment><USER5> There's also a spot that was used to award medals for the Olympians and as a place for executions not long after (Malo Polje on the top right of the first photo): [https://www.reddit.com/r/HistoryPorn/comments/5gmy1j/medal_p...](https://www.reddit.com/r/HistoryPorn/comments/5gmy1j/medal_podium_from_the_1984_sarajevo_olympics_that/)

This month it was supposed to be used as a place for the Red Bull 400 race (400 meters uphill), but from what I can find, it appears as if the event was cancelled.

Like someone said, the history of Europe in the 20th century can be summarised as "from Sarajevo to Sarajevo", considering it's a place where an assassination triggered WW1 and a place of gruesome aggression at the end of the century.

<comment><USER3> > the history of Europe in the 20th century can be summarised as "from > Sarajevo to Sarajevo"

...if you live there. In the broader historical perspective, Sarajevo was both in 1914 and late in the 20th century a pretext used by orders of magnitude bigger players making orders of magnitudes bigger moves, responsible for many millions of deaths.

Somehow, this line concentrates the partial perception of that, including somebody in Nigeria relating in the comment there:

[https://twitter.com/tejucole/status/463672671226429440](https://twitter.com/tejucole/status/463672671226429440)

</comment></comment></comment><comment><USER6> Very interesting post. Stuff like the computer setup and the power generator being a rigged up car engine is pretty cool.

I've always been interested in software development and electronics engineering on "the edge" with woefully inadequate parts and little documentation. This document gives great insight into those conditions in a real world example.

</comment><comment><USER7> This post has really inspired me as a young programmer!

</comment><comment><USER8> In the heart of Europe we let this go on for years. Still makes me furious, the willingness to look the other way.

<comment><USER5> As a citizen of Sarajevo, I just want to say thank you. <3

<comment><USER8> A friend showed me the news that the war was over. He had a news poster (the paper flyer kind) in his room. At that moment I could not properly express my disgusted reaction.

 _How can we celebrate that something ended through sheer attrition?_

 _Why didn't we do anything when it was on our doorstep?_

 _Why do we celebrate this war's end when we ignore countless other wars all over the globe?_

It was shown in the headlines of newspapers like it was WW2 ending and like we had a hand in it ending and it was over through some great struggle on our part, when in reality Europe watched in a "bring more popcorn" fashion.

AT THE VERY LEAST the siege should have been broken (through force) and a humanitarian corridor opened.

This was right after the Cold War, the Western powers, including my native Sweden were still armed to the teeth.

<comment><USER5> A tiny tunnel was constructed that served as the entry point to the city through which supplies were transferred (and a few thousand civilians fled the city): [https://en.wikipedia.org/wiki/Sarajevo_Tunnel](https://en.wikipedia.org/wiki/Sarajevo_Tunnel)

It went underneath the airport (controlled by the UN at the time) and is now often referred to as the "Tunnel of Hope". Definitely not big enough to stand upright, but the city was fortunate enough that the Serb forces never quite figured out where the entrance is (a private home that looked quite ordinary from the outside).</comment></comment></comment></comment>


Programming analogy as sudoku - <AUTHOR> http://pastebin.com/4BAhcjqU

<comment><USER2> As a beardo, I have to say, this makes programming far more complicated than it needs to be.

It is like solving a sudoku, except you get to write the sudoku.

So it is possible to make the sudoku really easy, if you think about what a really easy sudoku consists of and code according to principles of easy sudokus.

It is also possible to make it really difficult if you use java, fortran, or c++.

<comment><USER2> And halfway through, some guy says 'oh hey, I didn't want a sudoku, I wanted a crossword.' And you can't do anything about it.

So you shoehorn your beautifully sculpted sudoku (which was perfect and simple to understand!) and try to force it to look like a crossword, and it kind of is, but it is extremely complicated, you can't even understand it, but the deadline is tomorrow. So you ship it anyway.

</comment></comment><comment><USER3> I was outright laughing by the time I got to "The squares, can't you see, the squares, they're so beautiful".

Because it's so true. It's SO easy to get wrapped up in chaos like that if you aren't truly working as a team. If everyone is off doing their own thing with no code review, it happens just like that.

However, if you add code reviews (or pair programmer, if you are so minded) and good teamwork, it's more like crafting fine art than creating a labyrinth from the inside.

</comment><comment><USER4> I read the sudoku analogy some time ago on stack overflow, only it was much shorter and concerning the question of time.

How do you explain somebody why it is hard to know when you will have accomplished a certain programming task?

Just ask how long he will need for a sudoku, with a second in precision.

</comment><comment><USER5> I'd say that teamwork and cooperation within programmers is like a sudoku, programming is more like writing not the sudoku but whatever comes out of that fucked up mind of any of you HN readers!

<comment><USER6> I'd rather be me than you.

Sincerely, threepoint-"a rather fucked up mind"-one.

<comment><USER5> Do you mean to be offensive with that post? I wrote "fucked up" as in "crazy, spontaneous, creative as hell", not as in any offensive way, homie.

<comment><USER6> Fair enough, but you sure sounded offensive. I apologize for the snarky comment as well. It sucks when tone doesn't get conveyed properly over plain text.

We good? Yeah, we good :)</comment></comment></comment></comment>


Secure Socket API: POSIX socket API as a vehicle for a simplified TLS API - <AUTHOR> https://owntrust.org/ssa <comment><USER2> OpenBSD libtls is a really simplified TLS API with sane defaults and convenient handling of extensions like SNI and ALPN. Nice and somewhat long overview can be found in [https://github.com/bob- beck/libtls/blob/master/TUTORIAL.md](https://github.com/bob- beck/libtls/blob/master/TUTORIAL.md) . There is also a nice presentation [https://www.openbsd.org/papers/linuxconfau2017-libtls/](https://www.openbsd.org/papers/linuxconfau2017-libtls/)

It's in C but this also means there it is easy to make bindings in other languages like Rust: [https://docs.rs/libtls/0.0.1/libtls/](https://docs.rs/libtls/0.0.1/libtls/)

</comment><comment><USER3> It seems there are some implications.

1\. This is a Linux-only kernel module, so I'm guessing writing applications using this would limit you to Linux.

2\. You now put more trust in the kernel. It's not like you don't already trust the kernel, but this certainly makes life easier on a kernel to spy on encrypted traffic.

3\. It's ported to Go. Which is handy, but Go already has what seems to be an extremely solid TLS implementation of it's own (and at worst, it's not OpenSSL, at least.) That certainly makes the "easy to use" angle less interesting...

So far I really only think this would be particularly interesting if it outperformed existing TLS implementations significantly.

<comment><USER4> I would much rather have the kernel handle all encryption than userland.

Userland is much more susceptible to attacks.

<comment><USER5> The concern is that TLS is a complex protocol and if there is a bug in the code then the attacker gets access to the kernel instead of only a user process.

There is also the problem of conservative distributions using very old kernels. If you want your application to work on those distributions then you will need to have two versions of your program, one using a TLS library for those distributions and another using the kernel implementation. And this will persist even when current kernels make it into those distributions, because then they'll support TLS 1.3 but by then there may be a newer version of TLS the current kernels don't support and you'll still need to use a TLS library on those distributions if you want to use the updated protocol version.

<comment><USER6> The kernel driver forwards the heavy lifting to a user-space daemon that manages the TCP socket (using standard API) and implements TLS.

<comment><USER5> Then why not move the user-space code into the original user process as part of the standard library?

<comment><USER6> Read section 8.2 of the paper.

<comment><USER5> They make two main points:

> By implementing the SSA with a kernel module, developers who wish to use it > do not have to link with any additional userspace libraries.

It's not clear why this is a major problem to begin with, but socket() and friends are part of libc, which would be the natural place for something using this type of interface and would then already be linked.

> Adding TLS to the Linux kernel as an Internet protocol allows the SSA to > leverage the existing separation of the system call boundary.

The main benefit of this (as they mention) is to separate access to the private key(s). But that could be done for _only_ the private key (signing operation) instead of the entire TLS protocol and would then be generically useful, e.g. for non-TLS protocols that require signing, would provide a standard interface in case you have a HSM, and could be used by a libc implementation or any other TLS implementation.

</comment></comment></comment></comment></comment></comment></comment><comment><USER7> I'm not sure how I feel about sticking so much complexity into the kernel, but one thing I would really enjoy is being able to use standard tools like `strace` on TLS-speaking processes. With user-space implementations, you only get to see the encrypted content (you can use other tools like ltrace to get around this, but I've found that tools for observing the kernel-userspace boundary are easier to use).

</comment><comment><USER8> How is this different from the TLS feature the kernel already has?

[https://www.kernel.org/doc/Documentation/networking/tls.txt](https://www.kernel.org/doc/Documentation/networking/tls.txt)

<comment><USER9> The feature you linked only handles the symmetric crypto.

TLS and other protocols in this space do very little public key crypto, during a "handshake" phase when they also check everybody is agreed about how the protocol will work and set other parameters, they pick symmetric keys (often two each, it could just one each, and it might be more) and then most of the actual content is handled with just symmetric encryption.

The handshake phase is complicated, whereas the symmetric crypto is very simple. There's also a bunch more policy decisions in the handshake phase, and the Linux kernel tries not to do policy. For example, when your browser connects to a site and there's a problem it often has an "override" feature you can use to connect anyway, if the policy deciding whether to allow connections was in the kernel... too bad?

However this "SSA" does almost everything on the kernel side, at least from the point of view of the application.

It also, and I can't tell how serious they were about this, says it offers the just published TLS 1.3 including 0RTT.

In a way TLS 1.3 is simpler than previous versions, so that makes sense, but it does also add some brand new twists, and more cautious implementations (e.g. in Chrome) don't do 0RTT while they wait to decide how to approach it since it has exciting security properties.

This paper takes those exciting properties a bit more casually than I'm comfortable with. What's _supposed_ to happen here is that protocols on top of TLS (e.g. HTTPS) figure out whether 0RTT is something they'll handle and if so how best to do so. What's definitely NOT safe is to just go "Eh, who cares?" and do 0RTT but treat it the same as the non-0RTT case silently.</comment></comment>


Why ICE is sending out notices with fake court dates - <AUTHOR> https://news.vice.com/en_us/article/gyez33/ice-is-sending-out-fake-court-dates-to-immigrants-heres-why <comment><USER2> What is with the sudden uptick of non-tech political submissions from Vice on HN?

<comment><AUTHOR> Vice were just the first people to do a story on it. Law is a social technology and this is a crude attempt to hack it.

<comment><USER2> That's a bit of a stretch to justify posting on HN. We could use this same type of logic to allow lots of other unrelated topics on here, but IMO we shouldn't.

<comment><AUTHOR> Historically we have favored a more expansive approach than you may be aware of. [https://news.ycombinator.com/newsguidelines.html](https://news.ycombinator.com/newsguidelines.html)</comment></comment></comment></comment>