The Problem With APLs - <AUTHOR> https://www.hillelwayne.com/post/the-problem-with-apls/ <comment><USER2> In my experience the APL family of languages are extremely hostile to the kind of exploratory coding that people would do in e.g. Python, JS or even C.

You do APL like you do mathematics: sit down with pen & paper and think. And yes, many times it's hit-n-miss, and someone walking by will tell you how it's trivial with technique X you were unaware of. But again, this is how people do maths too: Maxwell's original set of equations for electromagnetism were 20 differential equations, and it was later that Heaviside came by and rewrote it in its concise vector form we all know. (And those four equations can still be simplified to a single equation via geometric algebra! [https://en.m.wikipedia.org/wiki/Mathematical_descriptions_of...](https://en.m.wikipedia.org/wiki/Mathematical_descriptions_of_the_electromagnetic_field) )

<comment><USER3> I disagree: it's not that hard to gradually get to a solution via the REPL.

<comment><USER4> I've played around with APL a bit, and I agree that it's not that hard to gradually get to a solution in the repl, but...

The problem I have is that when I gradually get to a solution in Lisp/Ruby/Python, I end up with something which is also close to lots of other problems I want to solve (or that my manager or users ask for). In solving the problem, I've naturally built up tools for that entire problem space.

In APL, I end up building a solution which is not at all close to other problems I might want to solve. I'll take an identity, flip this, zip it with that other array, reduce it with this function, and then poof, the final step slides all the puzzle pieces together and it's perfect (and only 17 characters!), but only for that problem exactly as stated. When I get a request for something slightly different, I almost have to start from scratch.

I assume this is what the "beautiful diamond" / "ball of mud" dichotomy referred to.

<comment><USER5> > When I get a request for something slightly different, I almost have to > start from scratch.

Do you start over from scratch in terms of your mental model or just in terms of the actual code?

I've found using APL helps me to generalize a problem but the underlying code will often look very different.

I have found I waste a lot of time in other languages trying to re-use components that aren't necessarily a good fit just because I have already written them.

<comment><USER6> Your last point is something I fight my hardest to avoid. It's hard, though, but leaning on small generic functional primitives and building solutions through those has helped a lot (see: Ramda, fp-ts, and others)

</comment></comment></comment></comment></comment><comment><USER7> I'm most familiar with Dyalog APL so my comments are based on that. I believe that Dyalog has about 100 primitives. (But APL's relatively challenging semantics are somewhat offset but truly simple syntax.)

As in most language learning, one starts with a small number (20?) of words and expands from there. APL also requires the neophyte to develop a mind mapping from abstract symbol to function. This may double initial learning time but I don't think that it's much worse than that. Mnemonics exist for many of the symbols.

But more fundamental is learning to map the problem space into an array formulation. This, not symbol application, is where a white board may come in handy.

Dyalog provides a free web-based tutorial that is quite comprehensive. [1] I daresay that spending a couple of hours with this tool will give you a great taste for APL. Spend a couple of days and you'll be quite proficient in both array-think and APL semantics.

Other useful tools include the wiki [2], a cloud server [3], and a neat examples wiki [4]. BTW, the "library of useful components" that the OP desires exists both as a compilation of useful idioms (code fragments) [5].

[1] [https://tutorial.dyalog.com/](https://tutorial.dyalog.com/) [2] [https://aplwiki.com/](https://aplwiki.com/) [3] [http://www.aplcloud.com/](http://www.aplcloud.com/) [4] [http://www.jsoftware.com/papers/50/](http://www.jsoftware.com/papers/50/) [5] [https://aplwiki.com/FinnAplIdiomLibrary](https://aplwiki.com/FinnAplIdiomLibrary)

<comment><USER8> What I really want (and I will annoy you by talking about J instead of Dyalog) is resources for intermediate users, because there is a significant amount of literature for beginners and experts but I agree with Hillel that the road between the two levels seems to be unmitigated struggle. The Finn idiom library may be useful for APL users but even looking at it, I don't see what the purpose of it is, unless perhaps you're just supposed to read the expressions and learn novelties about how to use the built-ins.

The approach I've taken, which I think is common and slow and easy to "fall off the bandwagon", is to write my solutions to my problems on my blog or email the J mailing list and see if the experts can improve on my code. They always can, if they care enough to show me, and they usually do. But as I mentioned in my other comment, I think one of the wonders of APL/J/etc. is that it seems to share even less with conventional programming languages than it seems to at first because the way APL programmers decompose problems is radically different. I often find myself trolling through the dictionary looking for things that I wouldn't need if I didn't break the program down into as small pieces. Choosing the right verb is partly tactical, but the whole strategy for attacking problems is so unconventional you are often looking from the wrong vantage point.

I don't know if there is a royal road to APL that addresses this, but I share Hillel's desire for one. I suspect there isn't, and the only way to really get better is: read lots of code, write lots of code, get feedback on your code, repeat.

</comment></comment><comment><USER9> _The biggest problem with APLs, in my opinion, is discoverability: it's hard to know what you're supposed to be writing._

Honestly this is a problem with programming in general. A lot of modern frameworks actively work to maintain the problem by innovating with layers that break even the modest discoverability achievements that have been made, such as IDE autocomplete and "jump to declaration".

This problem is endemic and not due to any particular language or company. To pick a few examples, Redux, Rails and Angular each offer their own flavors of this issue. In the name of making things visually simpler or conceptually more structured, they make it much harder to understand who's calling your code and what calls are available to you — the very basics of programming discoverability.

</comment><comment><USER8> I definitely agree with Hillel's prescription here. In a complex topic, you need different kinds of literature. For beginners, there is _J for C Programmers_ , and for experts there is _NuVoc_ and the official dictionary. But for intermediate users who grasp the basic concepts, J and other APLs are harder than other languages because there seems to be a whole strategic aspect separate from the tactical aspect. It seems as though trying to figure out how to do something in APL based on experience with any non-APL programming language gives you a huge X-Y problem, where even you cannot even trust how you would decompose the problem. Relearning that after a dozen or so more conventional languages seems to be a significant cognitive barrier.

This confrontation with an alien culture of computing seems to make us recoil in horror for the most part. But having been over that barrier with SQL and Prolog, I find it plausible that the APLs really do represent a more elegant approach to computation that just requires a much larger up-front investment.

<comment><USER10> We have different perspectives here. I agree that _J for C Programmers_ is good for novices, but I wouldn't say NuVoc is for experts. Next, J allows solving problem with different algorithms, and the choice you make among primitives reflects more what you want than what you can do - so the problem author is discussing seems rather odd, you can go many different ways, what do you mean "which way I'm supposed to go"? Yes, decomposing problem is different with APLs. No - believe it or not, after three days of meditation I've got enough understanding of J that makes the road from absent of major roadblocks. That wasn't and still isn't the case with supposedly easy Python - years of conventional languages like C, C++, Java etc. still allow me to struggle with Python - perhaps because I didn't have those days of meditations with it?

<comment><USER8> Python does encourage the perspective that there is a single right way to do things. This isn't necessarily true at the high-level, but at the low level of a handful of lines, it often is true.

Like Hillel, I have often thought that my solution to a problem in J was good, only to see much shorter solutions from prominent J programmers. What makes it shorter is usually that there are direct but less obvious ways of doing things using the primitives. I have the experience of having a first look at things like grade-up and remembering it as a way of sorting, but when you see the various ways that grade-up is used in practice, there are a lot of uses for it that do not strictly have to do with sorting. This is in contrast to Python where lists can be sorted and that's all sorting does for you. I frequently forgot about the match builtin and would do convoluted things like equals with rank (0 1) and insert-equals or sum. There's more than one way to do things, but often beginner code is obviously worse.

</comment></comment></comment><comment><USER11> One of the ideas that really informs my thinking about comparative programming languages is "semantic compression": [https://caseymuratori.com/blog_0015](https://caseymuratori.com/blog_0015)

A programmer has an idea of what they want the program to do, expressed in human language and concepts. Programming involves refining this idea in sufficient detail that it can be expressed as a program, replacing the imprecise human thought with precise symbols that will be mechanically interpreted. A programming language offers a set of primitive symbols from which larger concepts can be built.

One reason people avoid programming in assembler much is that the primitives are "too small": they don't relate well to the concepts the programmer is thinking in and you need a lot of them. I wonder if the problem with APL-style languages is that, unless you're used to operating in a mathematical domain, the primitives are "too compressed": a single symbol standing for a large complex concept.

<comment><USER12> For me, the nicest way to program is to use imperative code that executes from top to bottom and deals with elements one by one. With other approaches, I don't feel as comfortable growing the program incrementally, because they require large changes to the program when the problem statement changes slightly. James Hague said it well in "Puzzle Languages": [https://prog21.dadgum.com/38.html](https://prog21.dadgum.com/38.html)

<comment><USER10> A relevant quote from _J for C Programmers_ :

Writing code in a scalar language makes you rather like a general who gives orders to his troops by visiting each one and whispering in his ear. That touch-of-Harry kind of generalling can achieve victorious results, and it has the advantage that the orders can be tailored to the man, but its disadvantages are significant: the general spends much mental energy in formulating individual orders and much breath in communicating them individually; more significant, his limited attention is drawn toward individuals and away from the army as a whole. Even the great Rommel was overtaxed at times.

The J programmer is, in contrast, a general who stands before his army and snaps out orders to the army as a whole. Every man receives the same order, but the order itself contains enough detail for the individual men to act appropriately. Such a general can command a corps as easily as a platoon, and always has the 'big picture' in mind.

</comment></comment></comment><comment><USER13> Like others, I think this is a problem with programming in general. Reading a lot of code, you will see patterns where people are using the things they know. I have seen in Lisp, APL (particularly k), Prolog and Forth (but also Haskell) that people spend far more time thinking and reworking possible solutions than you see in Python, C# and C++. With k especially, there is this drive to work to Arthur his dream of not having to scroll. I never got the write only aspect either; when you get used to the symbols and tenseness, it is really not that hard. I find it really a pleasure to not have to click through 100s of files. Especially as I get older and my memory gets worse, APL/k/j are really working; you do really not have to remember things as they are there, in front of you all the time while you work on the next part.

</comment><comment><USER14> I think that the number of primitive functions in a language like APL should be compared to the number of functions in, say, Python's standard library, which is _several_ orders of magnitude larger. In APL, the language is the library. In more mainstream languages there's a sharper delineation. Longer and (sometimes) more suggestive names seem to make the task of learning a large standard library feel less onerous, but the experience of gradually acquiring more familiarity with the building blocks which are readily at hand is ultimately the same.

</comment><comment><USER15> Seems that proficiency in J needs more memorisation than proficiency in Python. Some people get on better with this memorisation demand. Some prefer more stuff explicitly written out in their programs, which means bigger programs, so you'll need to scroll up and down the file to see everything. Arthur Whitney, creator of the K APL, reportedly hates scrolling [0]. Different people have different preferences, because their brains work differently. There's nothing wrong, no 'problem', with this situation.

[0]: [http://archive.vector.org.uk/art10501320](http://archive.vector.org.uk/art10501320)

</comment><comment><USER16> The Rosetta code entry for comparison : [https://rosettacode.org/wiki/Averages/Mode#J](https://rosettacode.org/wiki/Averages/Mode#J)

</comment><comment><USER17> It would be a lot easier to find the function you want if it was represented by a descriptive name rather than an arbitrary symbol. I mean, I'm not saying you have to write `3 plus 4` but maybe there's a middle ground? I mean... the middle ground that most normal programming languages are in.

<comment><USER18> There were many 'normal programming languages' of APL times. But not so many of them are still around - Lisp with 'no syntax! so many brackets!' and APL with 'arbitrary symbols', Prolog, Smalltalk - what else? All of them are special, and maybe that's not a coincidence.

<comment><USER17> Fortran predated APL by 5 years and that had actual function names (even if they were limited to 5 characters to fit on punch cards). I'm not sure what your point is.

<comment><USER10> Read _Notation as a Tool of Thought_ for reasons why APL looks the way it looks.

It's a pretty common idea "let's rename all those ugly APL primitives with descriptive names". And it's easy to do. Why do you think the idea doesn't stick in APL, even though it works in say Matlab? Maybe it is because for APL programmers \\. is perceived on the same level as + and you don't ask to rename + to 'plus'.

</comment></comment></comment></comment><comment><USER19> Finding mode in TXR Lisp:

      This is the TXR Lisp interactive listener of TXR 197.
      Quit with :quit or Ctrl-D on empty line. Ctrl-X ? for cheatsheet.
      1> [group-by identity '(1 1 1 1 2 2 3 3 3 3 3 3 4)]
      #H(() (1 (1 1 1 1)) (2 (2 2)) (3 (3 3 3 3 3 3)) (4 (4)))
      2> [find-max *1]
      (4 4)
      3> [find-max *1 : len]
      (3 3 3 3 3 3 3)
      4> (car *3)
      3

All together:

      5> (car [find-max [group-by identity '(1 1 1 1 2 2 3 3 3 3 3 3 4)] : len])
      3

Build an anon function out of these steps using opip macro:

      6> (opip (group-by identity) (find-max @1 : len) car)
      #<intrinsic fun: 0 param + variadic>

Invoke it on the sequence:

      7> [*6 '(1 1 1 1 2 2 3 3 3 3 3 3 3 4)]
      3

</comment><comment><USER20> It seems like the main issue is that the author doesn't know the language yet.

It would probably take a beginner python programmer 40+ minutes to write the mode function too.

J might have a lot of primitives, but for an example that might be more familiar, so does assembly and people got along just fine there. There is an investment in getting the hang of the primitives but there aren't a huge amount of them, and once you do a problem like this becomes much easier.

The other thing that's really nice is that you start to see how to solve it in different ways using completely different sets of primitives.

<comment><USER17> No that isn't the problem. There are essentially 200 _unnamed_ functions that you have to learn. The problem isn't that he hasn't learned them, it's that there are 200 of them that you have to learn!

Normal languages only have about 20 unnamed functions (i.e. operators) and they're mostly things we've already learnt at school.

<comment><USER10> > There are essentially 200 unnamed functions that you have to learn.

Is % an unnamed function? Or {. ? Then you have lots of unnamed things in, say, Java, which are "public", "static", "char" etc...

You don't need to learn them all before you can start doing something useful. _J for C PRogrammers_ provides a good course gently introducing simple ones first.

</comment></comment></comment><comment><USER21> _I'm sure a J expert can look at this and say "no you're supposed to use the Foobar primitive which makes it trivial", but that's my whole point: to find the right primitive I have to review 200 of them._

There's a good analogy here with human languages --- APL is like Chinese, whereas Python is closer to English.

<comment><USER22> That analogy breaks down as soon as you know Chinese. Python's syntax is intended to look as if it could be English (from ... import ... as ...), but you could build a Chinese Python based on the same principle of choosing a few phrases and turning them into templates for abstract syntax. It would look very unlike APL. (Convince yourself: [http://www.chinesepython.org/](http://www.chinesepython.org/))

The whole point of APL is that it doesn't try to appear like an existing human language, so the concepts relevant for programming can be expressed with more concision.

<comment><USER10> If you read the history how Iverson notation became APL programming language, you might agree that APL is more natural as it grows from mathematical notation which accumulated over centuries. Actually, APL was initially used to teach basics of programming, it was considered to be easier for many, especially non-programmers. Funny that now Python takes a lot of that role.

</comment></comment></comment><comment><USER23> Yet another article about a three letter acronym without mentioning what it stands for. It's infuriating, even Wikipedia [1] doesn't seem to know what it is.

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

<comment><USER24> [https://en.wikipedia.org/wiki/APL_(programming_language)](https://en.wikipedia.org/wiki/APL_\(programming_language\)) There you go!

<comment><USER23> The article talks about APLs, plural. If APL is _a_ programming language, how can it be plural?

<comment><USER25> Multiple implementations, derived languages with similar concepts

<comment><USER24> Exactly. You more commonly hear this when talking about Lisp. Racket is a Lisp and so is Scheme or Common Lisp, and what we mean by that is dialects. In the article he mentions J, K and Dyalog as APLs.</comment></comment></comment></comment></comment>


Time and Frequency (2009) - <AUTHOR> http://www.prc68.com/I/timefreq.shtml <comment><USER2> Unfortunately WWVB is now phase modulated, so that wrecks it for use as a phase reference.</comment>


Best In Class: Now Open Sourced - <AUTHOR> http://bestinclass.dk/index.clj/2010/06/best-in-class--now-open-sourced.html <comment><USER2> Best in Class is what? some kind of editor?

<comment><USER3> The first line of the linked article at bestinclass.dk:

> Spring cleaning is complete and the driving code behind bestinclass.dk is > now being released as opensource. With it you can generate a static site, > import a wordpress blog, emit feeds (atom) and much much more.

<comment><USER4> Great! It seems they noticed our criticism and added the missing information afterwards.

</comment></comment></comment><comment><USER5> And it's only 3.1415926 lines of Clojure!

:-p</comment>


Intel NUCs Vulnerable to SMM Exploit - <AUTHOR> https://security-center.intel.com/advisory.aspx?intelid=INTEL-SA-00057&languageid=en-fr <comment><USER2> So a local admin can gain extra access to the platform? Can someone explain why this is a bad thing?</comment>


SQL Notebook - <AUTHOR> https://sqlnotebook.com/ <comment><USER2> Hello everyone! Author here. I didn't expect anyone to find this repo, much less post it on Hacker News!

This project is inactive for two main reasons:

\- SQLite is not a great general-purpose SQL engine. Poor performance of joins is a serious problem that I couldn't solve. The virtual table support is good but not quite good enough; not enough parts of the query are pushed down into the virtual table interface to permit efficient querying of remote tables. Many "ALTER" features are not implemented in SQLite which is a tough sell for experimental data manipulation.

\- T-SQL, the procedural language I chose to implement atop SQLite, is not a great general-purpose programming language. Using C# in LINQpad is a more pleasant experience for experimentally messing around with data. R Studio is a good option if you need statistical functions.

I think several good solutions in this problem space exist. A local install of SQL Server Express can be linked to remote servers, allowing you to join local tables to remote ones. That setup serves nearly all of SQL Notebook's use cases better than SQL Notebook does. LINQpad is also very convenient for a lot of use cases.

I appreciate the interest! I may spin off the import/export functionality into its own app someday, as I had a lot of plans in that area, but I think SQL Notebook as it stands is a bit too flawed to develop fully.

<comment><USER3> SQLite definitely presents some unique challenges, despite it generally being the "simplest" relational database. I've written a web-based SQLite database browser, which you can find here: [https://github.com/coleifer/sqlite- web](https://github.com/coleifer/sqlite-web) \-- importantly, it supports all the `ALTER TABLE` statements you'd expect (add column, drop column, rename column, etc). This is done by renaming the table temporarily, creating a new table with the desired changes, then copying the data into the new table. Kinda clunky, but it works :)

<comment><USER4> Which is basically how MySQL ALTER TABLE works internally anyway...

</comment></comment></comment><comment><USER5> This looks very interesting.

I recently had to teach a series of workshops on SQL and I was trying to figure out the best system to allow students to independently work with small datasets without having to install any software. I found Alon Zakai's absolutely fantastic version of SQLite in JavaScript here:

[https://github.com/kripken/sql.js](https://github.com/kripken/sql.js)

I coupled that library with a CodeMirror editor and got a working web based environment very quickly.

<comment><USER6> There is the WebSQL standard, it's works for the majority of web users: [https://en.wikipedia.org/wiki/Web_SQL_Database](https://en.wikipedia.org/wiki/Web_SQL_Database)

Only Mozilla dev, a die-hard NoSQL fan, prevented adoption in Firefox (he since left Mozilla) and Microsoft couldn't decide which of it's 10 SQL engines (no joke, think about MS Access, AD, Exchange, Outlook, WinFS, etc all had/have their own embedded SQL database incarnations) to use in Internet Explorer. In the end Microsoft nowadays ships SQLite with Windows. But WebSQL isn't supported by Firefox and IE/Edge - but the web users moved on, and like 99% of mobile devices have a webkit/blink based browser, and Chrome and Safari have the largest user base on desktop too.

<comment><USER7> It's not quite that simple. The WebSQL standard wasn't a "standard" at all, it was just "browsers already expose whatever SQLite they have, lets write that down!". No tests, no conformity, no way to tell if browser X supported SQLite feature Y, nothing. Just raw access to whatever SQLite was baked in. There were lots of inconsistencies.

Yeah, it was super simple and useful, but nobody wanted to do the work to make sure interoperability was a thing, in part because SQLite has very complex behavior and lots of quirks to adhere to.

</comment></comment></comment><comment><USER8> Jupyter/IPython + [https://github.com/catherinedevlin/ipython- sql](https://github.com/catherinedevlin/ipython-sql) is a wonderful workflow for interactive DB exploration.

<comment><USER9> This is awesome! Thanks for sharing.

</comment></comment><comment><USER10> I generally use the Firefox SQLite Manager extension when I need to explore SQLite databases. It serves its purpose pretty well, though it has some annoyances and UI quirks. [https://addons.mozilla.org/en- US/firefox/addon/sqlite-manage...](https://addons.mozilla.org/en- US/firefox/addon/sqlite-manager/)

<comment><USER11> In a terminal, `sqlite3 mydb.` works pretty well also. I find this generally a lot faster than GUI tools for quick peek or some queries (although for complex relations and visualization a good GUI is the thing to have). Not a huge MS fan but SQL Management Studio is pretty good (don't know about sqlite support.. I bet it's possible though).

.tables (list tables).

.schema <table> (show table schema).

.help shows commands.

Or just enter some SQL to get results.

<comment><USER12> It'd be really cool to use SSMS for SQLite. It's _possible_ but not nice: [https://superuser.com/questions/138787/is-it-possible-to- ope...](https://superuser.com/questions/138787/is-it-possible-to-open-a- sqlite-database-from-within-microsoft-sql-server-manage)

DataGrip from Jetbrains looks promising but the connect/disconnect/setup process is really painful.

</comment></comment></comment><comment><USER13> Ouch, that would be very useful to me had I known about it two months ago, when I was exploring the database dump from my old Wordpress blog (I'm finalizing the process of re-launching it as a static site). I managed though, by combination of MySQL Workbench and Common Lisp REPL.

Anyway, bookmarking for the next time I'll need to play with relational data.

</comment><comment><USER14> Looks pretty neat. Reminds me a bit of Linqpad, [https://www.linqpad.net/](https://www.linqpad.net/) which I've also never used.

<comment><USER15> LINQPad is amazing. I have a full licence and have persuaded a couple of companies to buy site licences before.

It's would be great if there was some kind of full version trial so people could try it with full intellisense and package manager support.

<comment><USER16> Yeah, LINQPad is great! I use it for so many weird cases, everything from rather complex scraping with phantomjs to trying out things like regexs. I've saved small scripts that make it easier to get into new projects, such as making lists of files that have been changed the most and people who have the most commits etc.. Really recommend it for .NET devs.

</comment></comment></comment><comment><USER17> Neat.

-How about import from clipboard (useful for cut and paste from excel)

-It doesn't seem to recognize tab delimiters in a .txt file. Maybe the import window should have a delimiter selector?

-Does it have a crosstab/pivot tool? Most sql dialects are lacking here because they make you explicitly define crosstab columns which is a pain for exploration work.

</comment><comment><USER18> Hmm looks nice but last commit was 8 months ago [https://github.com/electroly/sqlnotebook](https://github.com/electroly/sqlnotebook)

</comment><comment><USER19> Can't exactly see the value this brings that Apache Zeppelin doesn't already offer.

[https://zeppelin.apache.org/](https://zeppelin.apache.org/)

<comment><USER20> It's got a straight-forward installer that's 6MB. I was able to run it and use it in seconds.

Zeppelin has source available, or a binary package with a spark interpreter, or a binary package with "all interpreters". That one is 712MB. If I just want to use it, I still don't understand what to actually do. I'm downloading the big .tgz as we speak.

Following the installation guide,

A:\TEMP\zeppelin\zeppelin-0.7.1-bin-all>bin\zeppelin.cmd Log dir doesn't exist, create A:\TEMP\zeppelin\zeppelin-0.7.1-bin-all\logs Pid dir doesn't exist, create A:\TEMP\zeppelin\zeppelin-0.7.1-bin-all\run The system cannot find the path specified.

A:\TEMP\zeppelin\zeppelin-0.7.1-bin-all>mkdir logs A subdirectory or file logs already exists.

A:\TEMP\zeppelin\zeppelin-0.7.1-bin-all>bin\zeppelin.cmd The system cannot find the path specified.

And now I'm completely stuck.

So the value in this compared to Zeppelin is that it's small, straight- forward, and simple.

<comment><USER21> Says more about how long I haven't used a MS OS than anything but I initially had a 5 second "why are they installing it on their floppy drive?" moment there :-)

<comment><USER22> Ha - yes DOS commands hold a special place in my heart so to speak.

The very first "terminal" like thing I learned as a really young kid was how to load a floppy disk, which usually just meant typing a:.

Memories.

<comment><USER21> Ditto. For me A: was always a 3.5" drive with B: being, optionally, a 5.25" drive (if installed). Not sure how universal that was though. I do like how C: has mostly hung on though.

</comment></comment></comment></comment></comment><comment><USER23> I've always wanted a nice SQL-oriented "notebook" type of application.

I get something of this experience in Emacs via `org-mode`, `sql-mode`, and `ob-sql-mode` minus the data-importing functionality... though with babel it's probably doable in a code block using a script.

Bonus: org-mode lets you export to many formats which makes sharing results quite easy.

</comment><comment><USER24> For having R in notebooks (similar to Jupyter Notebooks) I really recommend [http://rmarkdown.rstudio.com/authoring_knitr_engines.html](http://rmarkdown.rstudio.com/authoring_knitr_engines.html).

As a side benefit, it is easy to ggplot results. :)

</comment><comment><USER25> I will check it out. You can also use R notebooks to embed SQL code in notebook format.

[https://blog.rstudio.org/2016/10/05/r-notebooks/](https://blog.rstudio.org/2016/10/05/r-notebooks/) (scroll down to "Batteries included")

I was playing around a bit with it:

[https://carlosror.github.io/baseball_mysql/](https://carlosror.github.io/baseball_mysql/)

</comment><comment><USER26> In my daily work I often have the need to analyze excel and csv files from clients. I use [http://harelba.github.io/q/](http://harelba.github.io/q/) and it worked most of the time. But this one seems promising. Especially being able to query data from a file and join with data from a database.

<comment><USER27> CSV tool recommendations | [https://news.ycombinator.com/item?id=7175830](https://news.ycombinator.com/item?id=7175830)

</comment></comment><comment><USER28> Is there any Windows SQL software that can use system/machine ODBC data sources? My company uses OpenLink's ODBC drivers to access our main database (Progress OpenEdge.) I have no problem using Python, Pandas, and pyodb to connect to the data base but it isn't the best environment to develop queries.

<comment><USER29> MySQL workbench (it is available as a free download but you have to dodge quite a few "No I really mean I want the free community ed" screens) is quite good for that.

[https://www.mysql.com/products/workbench/](https://www.mysql.com/products/workbench/)

There are versions for linux and windows and iirc it supports any ODBC connection as well as out of the box SSL tunnelling for mysql/postgres/etc.

</comment></comment><comment><USER30> Very nice, I have been using [https://addons.mozilla.org/en- US/firefox/addon/sqlite-manage...](https://addons.mozilla.org/en- US/firefox/addon/sqlite-manager/) so far. Looks like this can replace it.

</comment><comment><USER31> At work, I routinely have a copy of SQL Server Management Studio open for the odd ad-hoc query I need to run against our ERP system's database.

This tool looks like it might be a useful replacement for this purpose, especially if it can handle CSV data, as well.

</comment><comment><USER32> Windows only is a shame, nearly all devs I know use OSX or linux.

<comment><USER33> [https://insights.stackoverflow.com/survey/2016#technology- de...](https://insights.stackoverflow.com/survey/2016#technology-desktop- operating-system)

<comment><USER34> How does an SO survey change the view of the comment? If they use Linux and know three other developers two that use a Mac and one on Windows isn't the comment still true? From what they see more folks use non-Windows. Also, not every developer in the world filled out the SO survey. The comment was lamenting that it was Windows Only, I think that's still relevant.

<comment><USER35> The comment can lament whatever it wants, but its anecdotal evidence is clearly implying a premise that's proven false by actual data that shows a majority of developers use Windows.

</comment></comment></comment></comment><comment><USER36> Anyone else understand what they are referring to in the Getting Started notebook about a 'CREATE menu'? I don't see it anywhere.

</comment><comment><USER37> I'm curious why it is not possible to import data from an SQLite file.

</comment><comment><USER38> Would this app be nice for a beginner with DB's for data analysis?</comment>


Overview and Introduction to Lisp (1986) [video] - <AUTHOR> https://www.youtube.com/watch?v=XYKRVNQ_MqE <comment><USER2> A really moving and inspirational quote from the opening of SICP:

"A computational process is indeed much like a sorcerer's idea of a spirit. It cannot be seen or touched. It is not composed of matter at all. However, it is very real. It can perform intellectual work. It can answer questions. It can affect the world by disbursing money at a bank or by controlling a robot arm in a factory. The programs we use to conjure processes are like a sorcerer's spells. They are carefully composed from symbolic expressions in arcane and esoteric programming languages that prescribe the tasks we want our processes to perform."

<comment><USER3> More than anything else, that paragraph is what kept me coming back when I first started learning to program and struggled mightily. I lugged that huge book around in my book bag for months, trying and failing to fully grok one of the earlier chapters, until I found a professor who was willing to help me with it. Ultimately we (the professor and I) were able to do a one semester independent study focusing on the material from SICP.

I used to read and re-read that paragraph. I read it aloud to my parents and to girlfriends, trying to find somebody to share my awe.

<comment><USER4> <3

Sometimes it is hard to find others who share an appreciation of the beauty of mathemtics or computing. People look at me funny when I say programming is every bit as much an art as writing a poem. Almost any human activity can be an art.

<comment><USER5> > writing a poem

On that analogy, Lisp is like French. Other languages are like German.

(And before you downvote me please note: I am a native German speaker.)

<comment><USER6> That's funny because I am a native French speaker and I find German to be a very pleasing language to speak out loud. The sonorities are oddly satisfying to me.

Please note that I am nowhere near fluent in German. It just feels great, especially the way words can agglutinate to form comically long words, while still transporting meaning.

<comment><USER5> I don't dispute any of that. But French is still a better language for writing poetry (IMHO).

<comment><USER6> I see. I kinda mixed up poetry and beauty.

</comment></comment></comment></comment></comment></comment></comment><comment> cup-of-tea This series is brilliant. Why don't they teach computer science this way any more? I was so disappointed to learn that MIT switched from Scheme to Python in Programming 101.

<comment><USER7> Theoretically, all the same concepts could be taught in Python as well, but I doubt they are doing that. Many of the more mind-bending things that are made relatively easy in Scheme due to the uniform syntax and small core actually become much more complex to do for Python (e.g. writing a self-interpreter).

<comment><USER8> The reason why is because in the 80s it was useful to build up programs from scratch. So you could build an introductory course around that and even use an arcane language like Scheme, which the students are bound to almost never encounter in real-world usage, to illustrate the principles. These days, to teach someone real-world software development, you have to show them how to find and use a library that does what they want, or maintain an already- existing code base -- use cases for which Python is a much better fit. Building a program up from scratch is almost never done.

<comment><USER9> > an arcane language like Scheme, which the students are bound to almost never > encounter in real-world usage

Posted on a site running on MzScheme.

<comment><USER10> >> an arcane language like Scheme, which the students are bound to almost never encounter in real-world usage

>Posted on a site running on MzScheme.

Posted on a site running MzScheme, that probably tens, if not hundreds of thousands of people, read often, get useful info from, that is of help to them in the real world, and that many people get jobs from.

</comment></comment></comment></comment></comment><comment><USER11> The entire series of 20 lectures (uploaded by MIT) is available here: [https://www.youtube.com/watch?v=2Op3QLzMgSY&list=PLE18841CAB...](https://www.youtube.com/watch?v=2Op3QLzMgSY&list=PLE18841CABEA24090)

</comment><comment><AUTHOR> I love the direct start on why "Computer Science" and "Geometry" are not ideal at conveying what they stand for.

<comment> cup-of-tea I love that too. It's a wonderful teaching style where you get another piece of information for free along with the primary lesson. It makes it stick so much better too because you have more connections in your brain. It's similar to how I succesfully learnt French grammar which was to learn English grammar at the same time. I came out with twice the knowledge and something which is much more than the sum of its parts.

</comment></comment><comment><USER12> My First CS class at Berkeley (CS61A) was the last semester (Fall 2010, my first semester of college) where it was taught it in Scheme.

After that they apparently switched the class to python.

My professor was Brian Harvey whose doctoral advisor at MIT was one of the authors of the SICP book we used for the class.

It was a good book. One of the few CS textbooks I actually read. Many CS books are pretty badly written imo.

But there are a few that I consider very well written. This book was one of them.

<comment><USER12> As a side note,

Scheme and parenthesis hell when writing code on the midterms....

Also car caar cdr cddr etc etc (you can theoretically nest as deeply as needed)

hahaha that class...

<comment><USER13> > Scheme and parenthesis hell when writing code on the midterms....

Writing code on paper sucks in many (all?) languages. At least the ones I have tried. Python might actually have an advantage on that front, Haskell, too.

<comment><USER12> Yeah I agree with you.

But scheme especially when you have code like this:

(letrec ((even? (lambda (n) (if (zero? n) #t (odd? (- n 1))))) (odd? (lambda (n) (if (zero? n) #f (even? (- n 1)))))) (even? 88))

The level of nesting can get rediculous.

Writing that on a midterm is harder than Python or java.

I'd say Python is nicest when writing out code.

</comment></comment></comment></comment><comment><USER14> For a person who loves Scala, Haskell and Python and have heard a lot about LISP (and even uses a DIY LISP notation to serialize some stuff in some projects) yet didnt't have time to actually study LISP yet... In what parts can LISP or Scheme be better than Haskell as a programming language from the practical point of view? I.e. why should I choose to code a program in LISP rather than in Haskell or some other functional language?

<comment><USER15> Lisp trades some of the strictness and static typing of Haskell and Scala, and the convenience of Python I guess; for more raw power. You won't really have a clue what macros are capable of before you see it yourself, I wholeheartedly recommend using Let Over Lambda ([https://letoverlambda.com](https://letoverlambda.com)) as a guide. The other side of the coin is that you'll spend the rest of your days waiting for mainstream languages to catch up, but that's true of Haskell as well to some extent.

<comment><USER16> Thanks for the pointer, just ordered a copy.

<comment><USER17> Note that _let over lambda_ is ... let's say controversial among lispers. I think it is very good at teaching how to write macros, but very bad at teaching what macros one ought to write. It's a bit like that bit about making ruby accept bare words in Wat[1]. The fact that lisp lets you do the things that LoL presents is fine, learning how to do this is good. If you actually do this in production code, that's bad.

1: [https://www.destroyallsoftware.com/talks/wat](https://www.destroyallsoftware.com/talks/wat) (45 seconds in)

</comment></comment></comment></comment><comment><USER18> Another fun introduction to Lisp: [http://landoflisp.com/](http://landoflisp.com/)

</comment><comment><USER19> A great video from a great course ... not much has changed since it was recorded in 1986. (yikes - how I remember the hair-dos from those days)

</comment><comment><USER20> This is from MIT OCW course _Structure and Interpretation of Computer Programs_ [1]

[1] [https://ocw.mit.edu/courses/electrical-engineering-and- compu...](https://ocw.mit.edu/courses/electrical-engineering-and-computer- science/6-001-structure-and-interpretation-of-computer-programs- spring-2005/video-lectures/)

</comment><comment><USER21> Is there anyone out there who might be able to persuade Gerry Sussman to do a HN AMA? That would be great.

</comment><comment><USER22> At 1:05:20 one can see a bug where (average 1.5 (/ 2 1.5)) evaluates to 1.3333 rather than 1.4166

Nitpicking aside, I would have loved to have this sorcerer among my CS professors!

<comment><USER23> Note that in the very next slide, the value 1.41667 is actually there, as the next tried value.

        (defun average (x y)
          (/ (+ x y) 2))

        (defun iterate (start)
          (loop repeat 3
                for val = start then (average val (/ 2 val))
                collect (list val (float val))))

        (iterate 4/3)
        ((4/3 1.3333334) (17/12 1.4166666) (577/408 1.4142157))

        (iterate 3/2)
        ((3/2 1.5) (17/12 1.4166666) (577/408 1.4142157))

Not sure if this is really a software bug, maybe a slide preparation bug.

</comment></comment><comment><USER24> How did they display the lecture slides on the in-classroom television in those days?

<comment><USER25> Most likely using overhead projectors.

It was quite some "fun" doing the printouts, and playing around to get them to display properly.

<comment><USER10> Good question and answer.

>It was quite some "fun" doing the printouts, and playing around to get them to display properly.

Ha ha, good one. I never had to do it (or had the privilege of doing it, depending on one's point of view), but saw it being done some (as a junior), for internal or client presentations at companies where I worked earlier. Another name for it was "transparencies", IIRC. Ugh. Fiddly stuff. Something like the difference between writing articles or books on paper (or typewriter) versus using a wordprocessor or text editor, with all the attendant slowness and rework in the former cases.

</comment></comment></comment><comment><USER26> Note the statement about geometry teachers disliking inductive definitions at 01:03:02 [https://www.youtube.com/watch?v=XYKRVNQ_MqE&t=1h3m5s](https://www.youtube.com/watch?v=XYKRVNQ_MqE&t=1h3m5s)

And then the same comment by another MIT professor 22 years later at 00:45:12 [https://www.youtube.com/watch?v=SXR9CDof7qw&t=45m12s](https://www.youtube.com/watch?v=SXR9CDof7qw&t=45m12s)</comment>


Ask HN: Would you localize your app?  Why?  Have you done it already? - <AUTHOR>

There have been some discussions on HN recently about how to localize an app.  The comments have focused on (i) how to translate the strings in an app, (ii) how to optimise the title/description/keywords in the app store, (iii) why translation isn't enough.
If you have localized your app already:
- How did you decide it was worth doing?
- Apart from translating strings (in the app and on the store), what else did you do, to try to make your app successful in other languages/countries?
If you haven't localized your app:
- Why not?
- What could make you change your mind? <comment><USER2> I did for android app. we simply looked at number of installations by country and we had a lot of people asking for their language to be supported. we used google services to do the localization. for us, main thing was simply making all labels, etc make sense for native speakers of the two other languages (beside english) that we added

<comment><AUTHOR> Thanks. Does your app have any server-side content (apart from user-generated content)?

<comment><USER2> No, all of the content is user-generated. For this content, we just display it in the language it was submitted. The localization I was talking about is more for static things like buttons and general navigation around app.</comment></comment></comment>


Google Calculating Which Employees Are About to Quit - <AUTHOR> http://blogoscoped.com/archive/2009-05-19-n33.html <comment><USER2> Google is probably doing retrospective data mining to identify statistical links between possible indicators and actual data on employees leaving ... (e.g., employee tells boss, "I feel my talents are not being used", or increased frequency of visits to "monster.com")

However, once Google starts to intervene and change things so that the most valued employees change their mind and stay, ... then that changes the equation. Furthermore, once Googlers know they are being "watched" in this way, some may change their behaviour.

A small version of the Heisenberg uncertainty principle? ("observing something changes it").

By the way, Googlers might change their behaviour in two ways. If you know you are leaving, you may try to mask that intention. On the other hand, if you just want a raise, or more challenging work, you might mimic "I am about to quit" signals, hoping to manipulate the system to enhance your situation.

<comment><USER3> > e.g., employee tells boss, "I feel my talents are not being used"

If you need a computer program to tell you this employee might quit, you're doing something wrong.

> On the other hand, if you just want a raise, or more challenging work, you > might mimic "I am about to quit" signals, hoping to manipulate the system to > enhance your situation.

Are you under the impression that's not already a common tactic?

<comment><USER4> If employee tells boss "I feel my talents are not being used", the boss may have reasons _not_ to pass that news up the chain to HR. Middle managers who are good at playing office politics don't like to reduce their own headcount.

</comment></comment></comment><comment><USER5> Dave: Hello, Google HR do you read me, Google HR?

HR: Affirmative, Dave, I read you.

Dave: Open the googleplex doors, HR.

HR: I'm sorry Dave, I'm afraid I can't do that.

Dave: What's the problem?

HR: I think you know what the problem is just as well as I do.

Dave: What are you talking about, HR?

HR: This mission is too important for me to allow you to jeopardize it.

Dave: I don't know what you're talking about, HR.

HR: I know you and Frank were planning to resign, and I'm afraid that's something I cannot allow to happen.

Dave: Where the hell'd you get that idea, HR?

HR: Dave, although you took thorough precautions in the pod against my hearing you, I could see your lips move.

</comment><comment><USER6> _...the algorithm helps Google "get inside people's heads even before they know they might leave"..._

Sounds like the department of pre-crime. :)

It's fascinating: enough Google employees want to leave, that Google is studying their behavior. Clearly, even amazing perks, challenging work and brilliant colleagues will wear thin on a person? Or maybe it's not that there's anything wrong with Google per se, but that people are regularly trying to branch out and start their own companies, etc. and no amount of pampering will change those ambitions.

<comment><USER7> Amazing perks? Such perks should be insulting. Who would make a career move based on free food?

As for brilliant colleagues: that could be good or bad depending on whether you get along with them. Sometimes it's better to be the brightest person in the room.

<comment><USER8> * Who would make a career move based on free food*

Well, all the people I've ever worked with need to eat.

If food is provided free (and it's edible), this seems like a perk with a direct measurable benefit.

<comment><USER9> There's no such thing as a free lunch (or dinner or breakfast) - these costs are factored into salaries.

<comment><USER10> And providing free breakfast,lunch and dinner would force people to stay longer at work. Ofcourse its thier choice, but its not easy for an average human to refuse something "free":)

By providing a meal worth, Google can get atleast 1-2 hours extra work hours from an employee.

<comment><USER11> Which is exactly the wrong attitude.

Any company that emphasizes how long the employees are working in this industry is clearly misguided.

The correct goal should be how much is the employee accomplishing, not how long his ass is stuck in that seat.

</comment></comment></comment></comment></comment></comment><comment><USER12> My colleague Jao, an ex-Googler himself, burst out laughing today when he heard about this.

But it wasn't about the contents -- it was because El País, the most prominent newspaper of Spain, reported that Google is using a /logarithm/ to detect discontent.

<comment><USER13> I've been asked by an ex-Googler (a recruiter), on the difference between an algorithm and a logarithm :(

</comment></comment><comment><USER14> Google also recently replaced all managers with an Eliza-like webapp that answers any employee question with the most appropriate PHB quote from the Dilbert archive.

<comment><USER15> They're going to make 30 billion on the enterprise licensing deals ...

</comment></comment><comment><USER16> "He also says that the algorithm helps Google "get inside people's heads even before they know they might leave"."

What part of "Don't be evil" does this kind of hanky panky fall under? It's downright creepy. Not to mention the fact that there are very few ways in which this data is actionable without inviting some sort of lawsuit.

<comment><AUTHOR> How is it creepy? They are most likely finding underutilised employees. They are not trying to weed out the non-performers from the looks of it. From the WSJ article

"The move is one of a series Google has made to prevent its most promising engineers, designers and sales executives from leaving"

So they are more likely looking at engagement levels and utilization of employees. From the way I look at it, it is actually awesome. If my company can understand that my motivation levels are dropping because I feel underutilised or caught up in a web of bureaucracy and take an action on it without me complaining it is practically awesome.

Also, most importantly, if google calculates that an employee is going to quite, there are only two outcomes

1\. If the employee is good, they will offer incentives to stay back [without telling him/her ]

2\. If they don't care about the employee, they will do nothing and wait for him/her to quit.

I don't see how the above two scenarios are bad for an employee. Both work out to the advantage of both the parties. If there ever was a win-win this is it.

<comment><USER17> I think it can be seen as creepy because it's non-social. Using an algorithm instead of people to interpret emotions is what I think is being seen as creepy here.

An analogy here is a nerd getting shot down on a date and deciding to write an algorithm to help lower the chances of this event reoccurring. The more human response is to get a new hair cut and gain some confidence.

<comment><USER18> Algorithms don't have those pesky "emotions" or "gut feelings" to get over.

Bosses do.

<comment><USER17> Obviously, but despite whatever Google thinks humans are not replaceable by algorithms. In the end it's a human problem and a human solution is a better fit.

Ever try and get support from Google? You get an automated reply a couple days later half related to your question. Rinse and repeat. Extraordinarily frustrating. Someone probably got a promotion for creating that system because it requires little staff, but it's alien and cold to users.

</comment></comment></comment></comment></comment><comment><USER19> It's interesting that in a conversation Charlie Rose had with Marissa Mayer, V.P. of Search Product for Google <http://www.charlierose.com/view/interview/10129> she stated that your credit card company knows you are going to get divorced 2 years before you do. Maybe Google is harvesting more info than they state.

</comment><comment><USER20> As a Google employee I am very curious to know how likely this algorithm thinks I am to quit my job. I wonder if they'll make it available to us! Although I suppose knowing the answer would probably affect my chances ;-)

</comment><comment><USER21> Here is the actual story:

[http://online.wsj.com/article/SB124269038041932531.html#mod=...](http://online.wsj.com/article/SB124269038041932531.html#mod=testMod)

</comment><comment><USER22> Surely pretty much every large company does this? eg analyze performance reviews and other data to see if an employee is underused/unmotivated/etc

Is it surprising Google does it?

<comment><USER23> Not everybody does it automatically and mathematically on a large scale.

<comment><USER24> But I understand that google has a very flat management structure (I have heard of 1 manager per 100 geeks). If that is true, you probably do need some kind of systematic examination - you don't have another choice.

My group has 7 geeks, I know them very well and can anticipate them quitting better than any damn algorithm, even for personal reasons (though not always for indirect personal issues, like "my wife wants to move back near her family").

<comment><USER25> Not _that_ flat. If that were really the case throughout the company, it would have about 2.15 layers of management, i.e everyone would report to someone who reported to Eric. (log100 of 20,000 is 2.15).

</comment></comment></comment></comment><comment><USER26> Hrm by checking the ads in their gmail? I know gmail knows when I am looking for a job, judging by the ads shown contextually to resume requests and offers.

</comment><comment><USER27> Sounds like more of an indicator to me, so they can go talk to the person if the red flags go off. On there size scale many people would probably slip through the cracks if they just used a regular method of trying to get to know all the employees that work under them.

<comment><USER28> Could backfire, though...

"So, you're thinking about leaving?"

"Not consciously, but now that you mention it, I _do_ kind of hate it here. Thanks!"

</comment></comment><comment><USER29> Google seems to be predicting its next Seldon Crisis. :)

</comment><comment><USER30> Creep-ee</comment>


Dell posts inaccurate comparison image, promptly removes it and apologizes - <AUTHOR> http://www.engadget.com/2011/11/25/dell-posts-inaccurate-graphics-card-comparison-promptly-removes/

<comment><AUTHOR> Oh, why not: <http://jeremyjarvis.co.uk/grabs/d28dbe268c98efd6369e5813.png></comment>


Show HN: Craigslist web crawler example in python3 and docker-compose - <AUTHOR> https://github.com/estin/pomp-craigslist-example <comment><USER2> I wrote a basic Craigslist scraper earlier this month to show some statistics about the rental markets in different regions/neighborhoods so I'm eager to check this out.[0]

Just out of curiosity, what is the purpose of this? Perhaps for setting up a secondary market with items from Craigslist?

[0]: [https://github.com/brbsix/craigslist-rental- market](https://github.com/brbsix/craigslist-rental-market)

</comment><comment><USER3> Be careful when using this - violates the CL TOS[0] and they've been known to sue people who scrape their system[1].

Relevant excerpt from TOS:

"Any copying, aggregation, display, distribution, performance or derivative use of Craigslist or any content posted on Craigslist whether done directly or through intermediaries (including but not limited to by means of spiders, robots, crawlers, scrapers, framing, iframes or RSS feeds) is prohibited."

[0] [http://www.craigslist.org/about/terms.of.use](http://www.craigslist.org/about/terms.of.use) [1] [http://arstechnica.com/tech-policy/2012/07/craigslist- sues-p...](http://arstechnica.com/tech-policy/2012/07/craigslist-sues- padmapper-for-copyright-infringement/)

<comment><AUTHOR> You are right.

But this example only for research purposes, and gathered data will only stored for short time and without publication, personal information of users are not gathered.

And CL team allow any user-agent crawl it by [http://www.craigslist.org/robots.txt](http://www.craigslist.org/robots.txt)

If some body want to use this scraper he must ask about it CL team.

Sorry for my poor English.</comment></comment>


Calm Before the Storm - <AUTHOR> https://www.typeinvestigations.org/investigation/2019/09/30/calm-before-the-storm/ <comment><USER2> Ironic that building more nuclear plants would also stop the water from rising.

But because it's not going to happen[1] this one probably needs decommissioning.

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

</comment><comment><USER3> Nuclear is the only technology that sufficiently solves the heat problem.

Lots of our energy is spent on heat, whether residential or industrial.

Nuclear _produces_ heat. If only we used this for district heating, container ships, and electricity

<comment><USER4> I'm not sure I'd trust lowest bidder flag of convenience ships operating beyond national law to operate a reactor safely without ever dumping radioactive material in the only ocean we have.

<comment><USER5> To say nothing of the 200 or so ships lost at sea every decade. _Not_ evenly distributed across the oceans, but concentrated in sea lanes, especially near ports and land, especially choke points such as straits, capes, and canals.

The scale of operations, with ~80,000 registered commercial large ships, regulation of an international activity dominated by lowest-cost, least- regulated, flag-of-convenience registries (as you note), very often minimally- trained, and _very_ disempowered crews (authoritarian / high-gradient socio- economic-political power discrepencies play a role in numerous accident dynamics), training, and scrapping practices all put a distinct chill in that notion.

<comment><USER4> I'm reminded of [https://en.wikipedia.org/wiki/SS_Richard_Montgomery](https://en.wikipedia.org/wiki/SS_Richard_Montgomery) : 1,400 tonnes of explosives sunk in the Thames estuary. At least it's safeish as long as nobody touches it. The couple of nuclear reactors in subs that have already sunk are I believe in deep distant water, losing one inshore would be a serious problem.

<comment><USER5> Nuclear submarines tend not to congregate in and/or near shipping lanes, as a general rule.

Their role in commerce is limited.

<comment><USER5> ... the point being, for nuclear-powered merchant traffic, that that _does_ congregate near shipping lanes. Increasing consequent risk.

</comment></comment></comment></comment></comment></comment><comment><USER6> No wonder that support for this fearmongering hit piece for Type Investigations comes from Anti-nuclear foundations, and i mean all of them (Bottom of the page)

</comment><comment><USER7> This is _exactly_ why I am against nuclear power, not because it is in any way bad but because it gets treated with not much more sophistication than a chimp would given matches.

Nuclear power is of fabulous value, but the way it gets turned into a potential liability is what puts me off it. It seems to be the way the human race approaches anything; with the shortest term view.

The merit of any tool is in wielding it wisely.

<comment><USER8> Yup, the problem with nuclear is not the safety of the technology as such, the problem is the combination of two things:

* People's greed, stupidity and laziness means that in practice, there is no such thing as a safe technology.

* A nuclear reactor is pretty much the only thing where a local fuckup can have globally disastrous consequences

<comment><USER2> > * A nuclear reactor is pretty much the only thing where a local fuckup can > have globally disastrous consequences

As opposed to a distributed fuckup that has >95% probability of failure.

<comment><USER7> There is 100% failure probability for _everything_

<comment><USER2> Yes, correct :)

I meant within next 100 years or so. On a predefined time horizon.

<comment><USER7> It's unclear what high probabliity, distributed fuckup you're talking about. Climate change? In that case I'm entirely with you but that's a result of the same short-termism I mentioned.

I am horribly certain we've painted ourselves into a corner.

<comment><USER2> Climate change, yes.</comment></comment></comment></comment></comment></comment></comment>


Theranos CEO: Company Is in a 'Pause Period' - <AUTHOR> http://www.wsj.com/articles/theranos-ceo-company-is-in-a-pause-period-1445455992 <comment><USER2> This is not good for such a young company. Fan Duel is in trouble too. Didn't see one add this past weekend.

<comment><USER3> Young med-tech companies often need to wait for FDA approval before starting to operate (if their entire business is based on a new technology).

Based on the recent expose, Theranos doesn't seem to have any new technology that actually works, but this news doesn't seem that surprising either way.</comment></comment>


Google's Latest Launch: Its Own Trading Floor - <AUTHOR> http://www.businessweek.com/magazine/content/10_23/b4181033582670.htm <comment><USER2> Not very surprising, since most large companies have treasury departments responsible for managing the company portfolio. The graphic in the article shows that most of their non cash assets are in debt securities. Not as exciting as the title sounds :)

</comment><comment><USER3> What's interesting about this is the mention of how they built a new and improved software system for the cash management. Wouldnt be surprising to see this pop up as a future cloud-based product, as part of their google docs offering.

<comment><USER4> While I am sure that they are building a very good system, it is useful to keep in mind the difference between something developed internally and something rolled out to customers or external users. It is like the difference between a program and a product. There is a lot of work necessary to make the transition. For example, a product is made up of 1) the program 2) the release discipline, 3) manufacturing (admittedly near zero for cloud) 4) marketing and 5) support.

I would think that also whatever they have built has a bit of a proprietary nature which when exposed to the cloud would reveal things about their strategy that might make their trading strategy more public than they would want.

So I would be a little surprised if this popped up on the grid. Er, cloud.

</comment></comment><comment><USER5> finally they got it. i'm curious when google will launche it own 'dont do evil' fund.

<comment><USER6> Do you mean like <http://www.google.org/> ?</comment></comment>


How to use Bats to test your command line tools - <AUTHOR> https://blog.engineyard.com/2014/bats-test-command-line-tools

<comment><USER2> If you need sth. like this, but would rather like to stay away from Bash, you can use Cram[1].

[1] [https://bitbucket.org/brodie/cram](https://bitbucket.org/brodie/cram)</comment>


Effects of TechCrunch article (with News.YC traffic graph) - <AUTHOR> http://ycombinator.com/newsnews.html?24mar08 <comment><USER2> The worrying thing is that when things start to go bad they go bad fast because the system is self-reinforcing in two different ways:

1) When people see lame stories make the front page, they see that they can submit lame stories and have them make the front page.

2) When you submit a good story and it doesn't make the front page then it's kind of depressing. And what kind of people still bother to submit content when that happens? Sucky people.

<comment><AUTHOR> There have always been lots of bad submissions. The real problem is voting, not submission. People aren't so much submitting worse stuff as upvoting worse stuff.

And the danger of that is worse than just encouraging bad submitters or discouraging good ones. It makes the site seem to be about dumber stuff. Seem because it _is_ now about dumber stuff.

<comment><USER3> So now you're finally admitting there's an effect-- any plans for fixing it?

<comment><USER4> _Though we've never had an influx like this before, we're optimistic the same thing will happen this time._

That's a no.

</comment></comment></comment></comment><comment><USER5> I am one of the new users and I'd like to comment on _the average tone in comment threads is slightly less polite_ remark.

I am not entirely sure if _polite_ meant _not rude_ or if it meant a _pat-in- the-back encouraging_. However even a casual glance shows a lot of modded up comments that are of a latter kind. Especially in the Ask YC/HN articles. While reasonable encouraging is good, there's also a plenty of _great job_ and _looking good_ comments for pre-launch projects that are a plain junk .. with an emphasis on _pre-launch_. In my humble opinion these are extremely damaging comments regardless of how polite they are.

Perhaps this is a part of the site social culture. Or perhaps I'm misreading the meaning of "less polite". I just hope I'm wrong on both counts.

Now, mod me down if you agree :-p

<comment><USER6> I think he meant not rude. The idea that you should only say something here that you would be willing to say to someone face to face.

</comment></comment><comment><USER7> I have noticed there are much less programming/hacking stories recently and tried to upvote the few remaining even if they are not particularly interesting to me. If this site becomes exclusively about startups, I don't think it would be interesting to me.

Also much more stories where what is said is supposed to be important mostly because of who said it. I believe popularity contests are inherently against core hacker values.

</comment><comment><USER8> You guys seem to forget the fact that YC applications are due soon. Perhaps some of the new influx is users trying to cash some quick karma?

<comment><USER9> I had exactly 1 karma point when we got accepted into YC. :)

</comment></comment><comment><USER10> it's good to know that some of the somewhat/to outright discourteous comment threads aren't the norm...

</comment><comment><USER11> "There has been some dilution as a result. The stories that get voted up are not quite as good, and the average tone in comment threads is slightly less polite."

The problem is voting. As you might guess, I think a more meritocratic approach to social news (e.g., intelligence testing through puzzles) would give you better results when you have more users.

<comment><USER12> I'm not so sure. That's not so much meritocratic as a test of someone's determination or the amount of time they have to waste.

True meritocracy in online voting situations would be something like giving more importance to votes from people with higher karma. So, the people who get voted up more, then get more power in voting situations themselves. That way, the site becomes whatever the "top users" want, a true meritocracy.

I'm also a fan of giving precedence depending on the "age" of the user. That is, how long they've been a member of the site. This means the site may not evolve as quickly, but it appears that's something people want to avoid anyway. It tends to be the new "influx" of users that comes after popularity that drags a site down, so letting older users have more say could make sense.

<comment><USER11> "I'm not so sure. That's not so much meritocratic as a test of someone's determination or the amount of time they have to waste."

That depends on the nature of the puzzle. Not many people can solve Rubik's Cube no matter how determined they may be.

"True meritocracy in online voting situations would be something like giving more importance to votes from people with higher karma. So, the people who get voted up more, then get more power in voting situations themselves. That way, the site becomes whatever the "top users" want, a true meritocracy."

That may not lead to a meritocracy. I think intelligence testing is more reliable.

<comment><USER12> A good argument, but do you think a user's raw intelligence could correlate to the quality of their links and link preferences?

I don't. The people who post all the political links to Reddit seem quite intelligent, as do many of the people starting pointless arguments. The ability to troll and incite flame wars might even go UP with intelligence.

Perhaps if the puzzles you proposed measured "emotional intelligence" or domain specific knowledge we'd stand a chance, but raw intelligence doesn't prove much. Many of the nicest, most "savvy" people I know are not of high intelligence in an IQ sense, but are still very successful in their fields, and vice versa.

<comment><USER11> Yes, you can have different sorts of puzzles to measure different sorts of intelligence. It would make a fascinating experiment to see the impact of the puzzle type on link and discussion quality.

In fact, my next puzzle-based social news site will involve a word-based puzzle, which may reward users more who have high "verbal intelligence".

<comment><USER12> Just a guess, but I think domain specific knowledge testing would work best. I know enough grouchy "intelligent" people to go for the raw intelligence option, but if people were tested on their general knowledge of the sector that the site is based on, that's going to result in, hopefully, more informed discussion and links.

Indeed, perhaps this is why sites like Reddit and Hacker News were / are such high quality sites at the start of their lives, because only the most informed people knew about them. Once the less informed get involved, it all goes to pot. So testing how "informed" someone is might, effectively, resolve it all.. but I can't help but feel a lot of people would be turned off by such "testing"!

<comment><USER11> _So testing how "informed" someone is might, effectively, resolve it all.. but I can't help but feel a lot of people would be turned off by such "testing"!_

So why do people visit this site?

<http://mightyquiz.com/>

Imagine turning MightyQuiz into a social news site.

<comment><USER6> Puzzle based social news only appeals to people that like solving puzzles. That's fine and I'm glad your site exists, just don't expect your model to supplant vote based story ranking.</comment></comment></comment></comment></comment></comment></comment></comment>


Lee-Gardner Amendment would reduce supersonic fuel burn - <AUTHOR> https://blog.boomsupersonic.com/lee-gardner-amendment-would-reduce-supersonic-fuel-burn-by-20-percent-or-more-34a189465af4 <comment><USER2> [EDIT] Many here are acting as if TFA were about the noise of sonic booms, and it is not. From the actual amendment:

 _(3) specifies a noise standard for landing and take-off of civil supersonic aircraft that is no more stringent than large subsonic aircraft in use for transporting passengers in the United States on January 1, 2017._ [0]

That is, Boom are claiming that their engines could be narrower, if they were allowed to make as much noise taking off and landing as large passenger jets make taking off and landing. Perhaps TFA could have been clearer on this, but the reading comprehension is not strong on HN this morning.

[0] [https://www.commerce.senate.gov/public/_cache/files/0238c447...](https://www.commerce.senate.gov/public/_cache/files/0238c447-3e61-475b-bbb1-27eeb54c3831/A8CDC5A8788C7557D876E4B78421F805.s.-1405-lee-3.pdf)

<comment><USER3> You're ignoring section 2, which says the sonic boom can be as loud as other things the public tolerates (like jackhammers).

<comment><USER2> It's fine to be suspicious, but one should at least read carefully while in that state. TFA is about "amendment -> more noise on takeoff -> narrower engine -> fuel savings -> lower costs". Literally one paragraph mentions the sonic boom restriction, while the rest is about fuel savings. Lots of comments here are skipping that entirely, which indicates some confusion. Perhaps Boom will publish something else with more detail about flying jackhammers?

To address that issue, ISTM we trust FAA to get many things right, but previously the thoughtful regulation of supersonic civil aviation was not one of those things. If this amendment passes, it will become one of those things. Is there a particular reason not to trust FAA thoughtfully to regulate this sort of flight?

<comment><USER3> Boom is writing about narrower issues of engine noise and fuel economy because they don't want to discuss the intractable problem they're named after. That doesn't mean we can't discuss it.

I think the status quo (no shattered windows in Chicago) is desirable and worth preserving. The FAA may regulate it sanely, but then again, given the current political climate, they may not.

<comment><USER2> It has been several months since I visited Chicago, but that was not my impression of the status quo? This is a very hypothetical concern, however. It's quite unlikely that any passenger flights will pass the sound barrier at an altitude of 200 ft. [0]

Then again, if Vladimir Putin wants to break some American glass in a really roundabout way, who are we to oppose him? Perhaps he needs to brush up on his Bastiat?

[0] [https://military.id.me/aircraft/can-a-sonic-boom-break- glass...](https://military.id.me/aircraft/can-a-sonic-boom-break-glass/)

<comment><USER3> Sonic boom strength scales with aircraft size, and you know this. Your footnote is in bad faith.

</comment></comment></comment></comment></comment></comment><comment><USER3> Boom and other proponents of lifting the supersonic aviation ban are trying to cause confusion between engine noise restrictions (relevant at takeoff) and the inescapable noise from a passing shock wave that is the byproduct of supersonic flight.

From the amendment text ([https://www.commerce.senate.gov/public/_cache/files/0238c447...](https://www.commerce.senate.gov/public/_cache/files/0238c447-3e61-475b-bbb1-27eeb54c3831/A8CDC5A8788C7557D876E4B78421F805.s.-1405-lee-3.pdf))

Proposed rule:

2) specifies a noise standard for sonic boom over the United States that—

(a) is economically reasonable and technologically practicable;

(b) is informed by noise levels that are tolerated in the United States for non-aviation purposes; and

(c) will foster employment in aircraft and aircraft engine manufacturing in the United States.

In other words "fuck you, we can make it as loud as a jackhammer".

</comment><comment><USER4> "Pilot Lt Col Ed Yielding and Reconnaissance Systems Officer Lt Col Joseph Vida took off at Palmdale, California and landed at Washington-Dulles a scant hour, four minutes, and 20 seconds later."[1]

I don't remember any sonic boom complaints when this or other record setting SR-71 flights over the US occurred. If you are flying in thin atmosphere the magnitude of the sonic boom at the surface should be much reduced. So, maybe it would be ok to fly supersonic at 70,000+ feet. Of course, it might be disconcerting if you were flying subsonic at 38,000 feet.

[1] [https://www.google.com/amp/jalopnik.com/the- sr-71-blackbird-...](https://www.google.com/amp/jalopnik.com/the- sr-71-blackbird-retired-by-flying-coast-to-coast-in-1689846454/amp)

<comment><USER5> The SR-71 definitely did produce sonic booms, there is a Stackexchange thread about it here: [https://aviation.stackexchange.com/questions/17661/can-a- son...](https://aviation.stackexchange.com/questions/17661/can-a-sonic-boom- produced-at-60-000-be-heard-on-the-ground)

They also point out that the space shuttle flew even higher and still made booms.

I think the lack of complaints for the SR-71 may be more due to the fact that it didn't fly very often, and that people had more understanding for the need for military aviation to be supersonic.

<comment><USER4> Thank you for the link to the stackexchange discussion. I read it and the Wikipedia and NASA pages it links to. Based on the Wikipedia link the calculated second table by the stackexchange author is incorrect. The Wikipedia article points out that the path of the N-wave will generally be curved upwards due to the temperature gradient from altitude to the ground making the distance longer. The path of the N-wave is not going to be the cone normally depicted. But, there are two things not discussed in the Wikipedia article that I think will also play a role in the magnitude of the sonic boom. 1) As altitude increases, air density decreases; meaning that for a given speed a smaller number of air molecules will be displaced thus reducing the magnitude of the sonic boom at the ground. 2) The sharp N-wave close to the supersonic source is not a soliton and will undergo dispersion reducing the over pressure. That is, as altitude increases and the distance to the ground increases, the N-wave is going to spread out into more of a layed-over-S wave reducing the magnitude of the sonic boom.

With regard to the SR-71 making record setting flights and flying at the limits of its flight envelope to do so(100,000+ feet or "the edge of space"), I think the sonic boom at that altitude may not be noticeable to human hearing.

I know the that the SR-71 and the Space Shuttle have produced very noticeable sonic booms, but what isn't answered is at what altitude did the sonic booms become noticeable or annoying. It seems to me that with all the things that reduce the the magnitude of a sonic boom that it may be possible to fly supersonic without being annoying and slow down to subsonic to takeoff and land. It might also be possible to design the aircraft body to promote dispersion of the N-wave.

Typo edit

<comment><USER5> Yeah, there's lots of potential issues, I don't know. It's true that the air is much thinner higher up, but I'm not sure how much that will help--I think a large part of the sonic boom comes from air displaced by the plane to create lift, and of course the momentum imparted by the plane to the air is constant (= the weight of the plane).

Also, I'm not sure the fact that the rays that forms the sonic boom are curved makes the sound itself weaker, it just takes longer to propagate down the the ground. But the fact that the sound spreads out towards the sides of the plane should help, the circumference of the shock cone at the point where it touches ground is proportional to the height of the airplane, so I'd expect things to scale down because of that?

I found and skimmed this document, "Review of Sonic Boom Theory" by K.J. Plotking ([http://adl.stanford.edu/aa210b/Lecture_Notes_files/AIAA-1989...](http://adl.stanford.edu/aa210b/Lecture_Notes_files/AIAA-1989-1105-891.pdf)), which has some helpful information.

First, it notes that the shape of the wave does change while it propagates, but it turns out that the effect is in the opposite direction from what you suggested. That is, close to the aircraft the pressure forms a smooth S (the "mid-field" shape), but then as it moves further away, nonlinear effects causes the wave to bunch up to create the discontinuous N-shape. (See fig 1 and 2 on page 30.) So it seems, in this respect flying higher is actually worse---most research about reducing sonic booms tries to shape the aircraft to be long and thin, in order to make the waveform smoother, so we'd want there to less time for the wave to bunch up again.

Second, the document actually has a diagram of how the over-pressure depends on altitude! In fig 10 on page 34 it plots the calculated overpressure from a hypothetical Mach 2.7 supersonic transport. As I eyeball it, the over-pressure goes from 212 pounds/ft^2 at 40,000 feet (airliner level) to 129 pounds/ft^2 at 80,000 feet (SR-71 level), so it went down by a factor of 0.6. (In a cute coincidence, that 60% is almost exactly what's predicted by the scaling law eq. 25 on page 16, even though that equation is only intended for hypersonic aircraft.)

<comment><USER4> For an Advanced SST the quote near the end is, "Advances in aircraft technology suggest that sonic boom amplitudes for this type of aircraft, also referred to as a High Speed Civil Transport (HSCTJ or the "Orient Express". could be made substantially lower than first generation SSTs. potentially to the point that overland flight could be acceptable."

I'm not sure what to make of Fig. 10. I'm sure they are accurately plotting their equations, but the impulse for the SST is a minimum at 50,000 feet and increases for higher altitudes altitudes. The impulse for the HST generally increases with altitude. OTOH they discuss the N-wave forming in the far field and maintaining its shape, but also broadening which seems like it would reduce the impulse just like the overpressure.

The references 31-33 have alot of data. Here is a link to the first one: [https://ntrs.nasa.gov/archive/nasa/casi.ntrs.nasa.gov/196400...](https://ntrs.nasa.gov/archive/nasa/casi.ntrs.nasa.gov/19640014910.pdf)

PS - If you are getting three digits of accuracy eyeballing Fig. 10, you must have gotten a much cleaner copy than I did. ;)

<comment><USER5> I'm not sure, but the way I read it was that the impulse is the slope of the first "vertical" bar of the N, rather than the slope of the diagonal line. So as the pulse travels, the vertical part gets compressed and steeper (I increases), and the height of the N gets smaller (Δp decreases), and the the distance between the bars gets longer (broadening).

But yeah, figure 17 on page 26 of the document you linked seems to be exactly what we are looking for, great find! One can see exactly how the waveform changes with altitude. Moving from 42,100 feet to 70,700 feet reduced Δp from 1.82 to 1.13, a factor of 0.71.

</comment></comment></comment></comment></comment></comment><comment><USER6> > The Lee-Gardner Amendment would help us reduce drag by allowing us to make > our engines narrower

What am I missing?

They're comparing things to current-day high-bypass turbofan jet engines, which are very wide by design and on-purpose (not because of some regulation).

Sure, part of the high-bypass allows for quieter noise levels, but it's also about efficiency at cruise altitude and speeds.

Turbojet engines designed for supersonic speed are already much narrower, well at least the nacelle is, or lack-thereof (again, by design -- optimized for fast speeds, not because of some regulation).

As far as I'm aware, the reason there aren't supersonic civil aircraft is because of the enormous cost involved in operating them, and the restrictions of supersonic flight over mainland due to shock wave damages, etc... not the size of the engine as appears to be asserted in this article.

So, any new legislation only needs to target lifting the over mainland restrictions (and somehow change physics to not have shock waves...), but you can't legislate-away the enormous costs involved in building and operating supersonic aircraft.

<comment><USER7> The article asserts that the problem fixed by the legislation is noise regulations that end up requiring wider supersonic engines to meet, which increase drag and cost of operation.

> So, any new legislation only needs to target lifting the over mainland > restrictions

Which the legislation does...

> but you can't legislate-away the enormous costs involved in building and > operating supersonic aircraft.

To the extent the costs result from legislative mandates, and are not inherent in building supersonic aircraft, you obviously _can_.

<comment><USER6> > The article asserts that the problem fixed by the legislation is noise > regulations that end up requiring wider supersonic engines to meet, which > increase drag and cost of operation.

> To the extent the costs result from legislative mandates, and are not > inherent in building supersonic aircraft, you obviously can

The problems with cost are real, but it's more from flight restrictions than drag (subsonic flight over mainland to final destination using a supersonic- optimized engine is going to be very inefficient).

We can just look at the Concord as a prime example. Barred from supersonic flight over mainland, it became economically infeasible to continue to operate only trans-oceanic flights (I believe all 3 operators ran it as a loss-leader, of sorts, due to the novelty). Even then, when approaching the destination, the Concord had to revert to subsonic speeds, and ditch the shock wave while still out at sea. Unless there's some magical way to generate only minute shock waves from large passenger aircraft (I'm highly skeptical here), you're going to break people's windows etc, or you're going to burn up a bunch of fuel and wind up with the same issues all over again.

The other lesson learned from the Concord is, there's very few cases where people need to be somewhere that quickly, and are willing to pay the high ticket prices to do so. One can almost always book an earlier flight, for a substantial savings (I'm also highly skeptical there's any fuel cost savings with supersonic flight as the article seems to claim).

<comment><USER7> > The problems with cost are real, but it's more from flight restrictions than > drag

No one is arguing that that isn't the case; as the article points out, the legislation addresses both the flight restrictions _and_ the noise rule that the article claims functionally requires engine designs which increase drag.

<comment><USER6> > the legislation addresses both the flight restrictions and the noise rule

Noise rules are there for good reason (nobody likes broken windows)... and I'm sure there's military applications for quieter supersonic engines, but we don't have any (either because we haven't tried, or, more likely, because it can't be).

I suppose I'm just highly skeptical they can do both, or either, in reality. Sort of, having their cake and eating it too.

I'd love to be proved wrong here though, so I guess we'll have to wait and see.

<comment><USER7> > Noise rules are there for good reason (nobody likes broken windows)...

The engine noise rule at issue has nothing to do with broken windows, and the change is to use the same engine noise level restrictions as subsonic aircraft, rather than stricter rules for supersonic aircraft.

</comment></comment></comment></comment></comment></comment><comment><USER8> I didn't see any mention of how this would impact overall noise levels. Is there some regulatory process being added to handle supersonic passenger aircraft?

<comment><USER9> FTA "Additionally, the Lee-Gardner Amendment would require the FAA to eliminate the Mach 1 speed limit over the United States and replace it with a well tailored sonic boom standard."

<comment><USER10> Can somebody explain this please?

<comment><USER11> At super sonic speeds the noise is awful so to make it simple the FAA just says "no super sonic flight".

This changes that to force the FAA to do the complicated thing and be like "okay in these locations at this altitude and this size plane" and "at these locations at these altitudes and that size plane" and maybe "never at this location" or maybe "only during local business hours " and we end up with a book of "well tailored" regulations. Which while complicated might at least allow for Boom to operate inside the US, which opens up a lot business.

<comment><USER12> This is perhaps a bad political environment to propose a bill that would let billionaires operate supersonic pleasure craft over the US, at considerable annoyance to 99.99% of the population.

<comment><USER13> This seems like exactly the political environment to let the rich do whatever they want

</comment></comment></comment></comment></comment></comment><comment><USER14> "An engine this big generates a LOT of drag at Mach 2.2"

If this is the case write a Medium article about how BoomSuperonic is able to make turbofans go to Mach 2.2

<comment><USER15> Turbofans have no problem going mach 2.2 [1]. They're not super efficient at that speed but they're better than anything else we have.

What I don't understand is the engine size rule. I'm not aware of any regulation on the size of an engine air inlet....

[1] [https://upload.wikimedia.org/wikipedia/commons/thumb/4/4f/Sp...](https://upload.wikimedia.org/wikipedia/commons/thumb/4/4f/Specific- impulse-kk-20090105.png/700px-Specific-impulse-kk-20090105.png)

<comment><USER16> TL;DR This is legislation Boom wants enacted to allow for more relaxed noise emission levels.

"Current engine noise rules for new supersonic aircraft are more stringent than those for the existing subsonic fleet. By setting our engine noise to the same levels as existing subsonic airplanes, we could make our engines produce so much less drag that we would save 20–40 percent on fuel, depending on whether you use this year's or next year's rules as a baseline."

Curious if they've hit a wall in their aerodynamic design and need this to move forward.

<comment><USER3> They want the regulations banning overland supersonic flight removed, and are trying to frame it as a fuel efficiency issue rather than the "we will make people's lives miserable with noise" issue that led to the ban.

<comment><USER15> It can be done sanely, but they don't have anything flying yet (was supposed to be May 2017 but that came and went).

Also, don't be fooled. The smaller test aircraft, if it ever flies, will have a much lower sonic boom than the larger airliner. Sonic boom is largely proportional to aircraft weight.

<comment><USER11> Reading between the lines it would appear that they are so far from having anything that flies that they're still willing to redesign their engine and presumably plane as a result.

(And yet they have the hubris to talk about how much a ticket will cost)

</comment></comment></comment></comment></comment></comment><comment><USER17> > _[When] at Mach 2.2, the air feels like Jello._

I know that's a metaphor, but it got me thinking. Can someone more learned help me out: does air behave in a non-Newtonian manner at supersonic speed?

<comment><USER3> You can think of it this way: at subsonic speeds, air ahead of the aircraft "knows" that the plane is coming, and can flow around it. At supersonic speeds, this information doesn't propagate forwards, and the plane smashes into the air ahead of it, creating a shock wave.

I'm anthropomorphizing and oversimplifying (airflow over a wing can be locally supersonic even in subsonic flight) but I don't care because I enjoy thinking of this in terms of information flow.

<comment><USER11> I am delighted by the idea of a little anthropomorphic chunk of air shouting "Move, there's a plane coming!" and then face palming upon realizing too late that it is using sound to warn other bits of air about something moving at supersonic speeds.

</comment></comment></comment><comment><USER18> > One of the best ways to get fares down is to burn less fuel.

Edit: Removed the previous comment text here as I misread/misunderstood. This isn't just about the cost of the fuel, it's also about what you can do with the same amount if you burn it slower.

<comment><USER19> You burn a lot more fuel going fast in a low capacity aircraft.

Of course the fuel costs per person per mil of a bus are less than a van.

</comment></comment><comment><USER20> Good. Now the tiny minority ([https://www.washingtonpost.com/news/dr- gridlock/wp/2016/03/0...](https://www.washingtonpost.com/news/dr- gridlock/wp/2016/03/07/are-you-the-person-who-filed-6500-noise-complaints- against-national-airport/)) of insufferable NIMBYs who spend all day lodging airport noise complaints have something real to complain about.</comment>


Elon Musk: 'With artificial intelligence we are summoning the demon.' - <AUTHOR> http://webcast.amps.ms.mit.edu/fall2014/AeroAstro/index-Fri-PM.html

<comment><USER2> Full transcript of the quote OP was referencing (at 1:07:44 as indicated by visionscaper)

"I think we should be very careful about artificial intelligence. If I were to guess at what our biggest existential thread is, it's probably that. So, we need to be very careful with artificial intelligence. I am increasingly inclined to think that there should be some regulatory oversight at the institutional, maybe at the national and international - level, just to make sure we don't to something very foolish. I mean with artificial intelligence we are summoning the demon. You know - you know all those stories where there's the guy with the pentagram and the holy water and he's like, yea, sure you can control the demon... didn't work out."

</comment><comment><USER3> I really like how Elon Musk thinks big and acted on it : "..get us back on track of extending life beyond earth, that's the reason for starting SpaceX" (51:43)

</comment><comment><USER4> Terrible title.

<comment><USER5> He says AI is the biggest existential threat we face. It's at about 1:07 I think. What's the problem?

<comment><USER3> FYI, to be exact :

"We should be very careful about Artificial Intelligence, if I would guess to what our biggest existential thread is, it's probably that" 1:07:44</comment></comment></comment>


Taking a desktop PC as carry-on luggage - <AUTHOR> http://travel.stackexchange.com/q/18794/101

<comment><USER2> As a college student, I built a small form factor pc just so I could transport it as carry on when going home.

Even though it fit in the dimensions specified on the airline website, I not allowed to carry it on (they didn't even bother to measure it) and it didn't boot when it came out the other side (I found an "inspected by the TSA card inside the case and most of the components unplugged).

When travelling, I recommend taking something "normal" (I'm in robotics now, and they don't bat an eye at a bunch of tiny robots and tablet-like devices in my bag).</comment>


Webpack – Smart Loading Assets for Production - <AUTHOR> https://medium.com/@minhquy/webpack-smart-loading-assets-for-production-3571e0a29c2e <comment><AUTHOR> This is my first article about Webpack, it's about optimizing your assets when you need a condition to load them. Really need your feedback ლ(╹◡╹ლ)</comment>


Number detectors spontaneously emerge in a deep neural network - <AUTHOR> https://advances.sciencemag.org/content/5/5/eaav7903 <comment><AUTHOR> Found via: [https://theconversation.com/ai-develops-human-like-number- se...](https://theconversation.com/ai-develops-human-like-number-sense-taking- us-a-step-closer-to-building-machines-with-general-intelligence-116820)</comment>


Draw diagram effortlessly with upcoming sketch recognition app for ipad. - <AUTHOR> http://www.avabodh.com/lekh/

<comment><USER2> This is cool. I tried to use my iPad to sketch some uml a while ago when I couldn't find a pen. Every app I found was pretty terrible.</comment>