Why I'm joining the Dart Team - <AUTHOR> https://medium.com/@filiph/why-i-m-joining-the-dart-team-of-all-places-d0b9f83a3b66#.oldcuv47e <comment><USER3> I liked Dart from the beginning... It could have been a perfect replacement for JavaScript a few years ago, but now with ES6 becoming widely available in browsers and Node.js, I feel that some of the shine of Dart has been lost.

I think the biggest problem with Dart isn't related to the project itself - <USER2> biggest concern is that other browser vendors didn't embrace it. Dart has not been universally accepted by all sides, despite the massive amount of publicity which it received over the years.

With ES6, I think that JavaScript has proved that it can adapt to change and that it has significant staying power.

I think the Dart team made all the right moves, but, unfortunately, so did the JS team.

The project hasn't had much luck either. There was no breakthrough. Getting its own native VM inside Chrome would have been nice.

<comment><USER4> "With ES6, I think that JavaScript has proved that it can adapt to change"

JavaScript proved squat. Those changes should have been done a long time ago and now we should have had a sane language instead of JS. Betting on JS "evolving" is the wrong way to go.

<comment><USER5> > Betting on JS "evolving" is the wrong way to go.

Why? It __is __evolving. Slowly, but it is evolving.

Enough to cast a doubt on the viability of Dart and Typescript.

<comment><USER6> I think Typescript is in a different boat. All valid JS is valid Typescript, and Typescript is adding new JS features faster than browsers can. If JS ever catches up to Typescript it'll be by becoming Typescript, basically.

</comment></comment></comment></comment><comment><USER7> I used Dart for a project 1-2 years ago and really enjoyed it. It's a well designed language with an equally well designed standard library and already had fabulous tooling (IDE support, package manager, debugger) back then. My hopes were that it could really replace JS at some point of time, because I'm not the biggest fan of JS in the ES5 incarnation. For me it was a little bit sad to see that Dart got almost no external traction since while Go got lot's of traction. I personally think Dart is the better language in most regards.

Since then I have worked on a few non-web projects and now got back to building some bigger application with node, a browser frontend and typescript. With the current revisions of typescript I don't miss much from Dart, Typescript did a great job on building a type system that fits to Javascript and the ecosystem (available libraries, etc.) is huge due to seamless interoperability (export typescript as JS libraries and import all JS as untyped typescript). Therefore for me the appeal to use Dart instead of typescript in classical web applications is much lower then some years before.

For other applications the choice of languages is already more then abundant. I don't think it would have been a bad move to introduce it as an Android application language, but I don't think that will happen due to all the existing code.

I'm interested to see what will happen in the microcontroller domain, but this is a very slowly evolving domain where real changes happen rarly and everybody is stuck on C despite alternatives have been available earlier. Don't see a special appeal for raspberry PI like devices - these are more like PCs then really embedded stuff. You can run nearly anything you want there.

</comment><comment><USER8> Dart is a great language. I tried it on day one and it has come a long way since then. But in my experience... every time I read an article trying to justify why something is still relevant or important in a company roadmap, it dies a lonely death a short time after.

<comment><USER9> > trying to justify why something is still relevant or important in a company > roadmap

While I know what you mean, I didn't read the article that way at all. The author isn't a marketing type or someone high up in the company, but a programmer making a calculation about Dart and passing on his observation to his friends, who don't see that situation the way he does. Dart has received a lot of bad press because some Dart engineers made the mistake of saying it would replace JavaScript. I didn't get involved in defending JavaScript from Dart and wrote a bunch of Dart, and I noticed I was about twice as productive. I also learned along the way that Google was heavily invested in something called Google Web Toolkit, a Java based system for writing web apps. I figured Google was looking to replace that with Dart so it would always have a place, and it looks like I was right. The code that powers the engine that brings in 17 billion dollars a year is nothing to dismiss, like many do of Dart, if in fact they are converting GWT to Dart, and it sounds like they are.

TypeScript is one way to add safety, Dart is another. The difference in the two approaches is discussed here by the two main authors Anders Hejlsberg and Lars Bak respectively [1]. What I found compelling about Dart was the elimination of "monkey patching" that Lars talks about. I was also drawn to try TypeScript and found it a great tool as well. So does Google as they are now using TypeScript in Angular 2.0. Microsoft and Google are working together - never thought I'd see the day.

[1] [https://www.youtube.com/watch?v=5AqbCQuK0gM](https://www.youtube.com/watch?v=5AqbCQuK0gM)

</comment></comment><comment><USER10> I couldn't help reading the emphasized "types" in "optional types" as a yell for the Typescript developers to come back.

But I too hope that Dart will become more successful, because let's stop beating around the bush -- it isn't now, not relatively speaking and comparing to the state of web development today. And this is unfortunatenly _not_ because web development hasn't been rapidly evolving the past few years.

But enough negativity. I found this part the most interesting, because today there are already so many ways to get various non-officially sanctioned languages onto both iOS and Android:

> Soon, you'll be able to write Dart code for micro-processors (think > Raspberry Pi) and — more interestingly — for micro-controllers (think > Arduino). This means developing for really compact, really cheap, really > low-energy devices is no longer a C/C++/asm club.

Maybe Dart can at least find an unexpected niche?

<comment><USER11> I'm the author of the article.

> I couldn't help reading the emphasized "types" in "optional types" as a yell > for the Typescript developers to come back.

Not sure what you mean, but I definitely didn't have TypeScript in mind. I emphasized "optional" in "optional types" in the bulletpoint where I'm talking about "getting out of your way", and "type" in the next bulletpoint where I'm talking about structure. It was meant to be cute but evidently I failed... Sorry for the confusion.

<comment><USER12> I got your meaning.

I liked Dart enough to give a talk about it at the local Google user group a year or so ago. Sadly, I haven't touched it since; less because I fear that it's a dead/failed language, and more because I simply haven't found a use case for it where a language I already know better doesn't do an acceptable job.

</comment></comment></comment><comment><USER13> I think it's interesting that the author says: "I'm betting my career on it"

Careers in software are (hopefully) long and varied.

Committing to work for a few years on one particular technology should not make or break your career.

As long as we're always learning and sharing our knowledge and skills, we should all be better off.

Regardless of whether Dart ever hits the mainstream.

<comment><USER5> > I think it's interesting that the author says: "I'm betting my career on it"

Yes, the author is probably a bit junior in that field. You don't bet your career on technologies, much less languages (especially beleaguered languages like Dart).

You take a bet, see if it works for a few years and if it doesn't (which is the case for 99% of languages out there), you move on to something else.

</comment></comment><comment><USER14> One of the things that Rust (GC free zero cost memory management), Swift (the official iOS programming language with excellent UI libraries) and Blueprint (easy coding for non-coders in UE4) have made crystal clear to me is that, _if_ you choose to create a new programming language rather than using an existing one, you need to _actually decide_ what the draw card you have is, over other existing solutions, and stick to it.

Dart has consistently failed to be anything more interesting than slightly better javascript that interops poorly with existing the existing javascript ecosystem.

That is not a draw card.

Now, it seems to be trying to be 'a generally useful programming language you can use on multiple platforms'. That's not a draw card. Just _stop_!

Please actually focus on making Dart something special, or give up on it.

There's this thing, where you make something and you get invested in it, and it becomes to politically complicated to throw away.

I have no technical objections to Dart, it's a fairly nice language; but I too, cannot come up with any reason to either use it, or be excited about the future of it.

</comment><comment><USER15> I've made this comment before. I'm wondering if there are plans to replace Java with Dart or Go on the Android platform. This because of the continuing threat of lawsuits from Oracle.

It's probably impossible to replace Dalvik because you need the bytcode but maybe replacing the language might shield Google from Oracle.

<comment><USER16> It would be fantastic if Swift was adopted as the language for Android.

It's a very well-designed language (with non-nullable types and immutability!). It's now open-source, and development model is even more open than Android's throw-over-the-wall.

Swift's type inference and ARC makes it feel very script-like, but it supports AOT compilation and tighter control over memory usage.

While Cocoa won't be available on Android, having a single language that's usable on iOS, Android and server-side would be great for reusing as much as possible.

<comment> V-2 Android already has Kotlin. It's kind of similar to Swift. You're quoting non- nullable types, immutability, open-source, well it has it all.

<comment><USER17> How well does Kotlin perform on Android? Can you use all the native stuff? Are there some successful apps written in Kotlin?

<comment><USER18> >How well does Kotlin perform on Android? Can you use all the native stuff?

Not only is Kotlin a great language, it is also a good fit for Android since it outputs bytecode and is entirely interoperable with java. The only cost of using Kotlin are the 6k methods that it adds to the apk. You can call all the native Android APIs. Of course they are not idiomatic kotlin code, but you can cope with that, especially since the Kotlin team has written some Extensions methods in order to facilitate this process.

>Are there some successful apps written in Kotlin?

I know that Expedia uses some Kotlin for its new features (since there is full interop, you can switch gradually). I am working alongside 12 or so other engineers on a successful Android app. Most of us (especially the more experimented) would like to switch to Kotlin but we get a lot of resistance from an extremely change averse team leader (we have just convinced him to start using EventBus and are still pushing for Dagger 2 & Rx).

This kind of move is always complex for a large team though. You need to get everyone on board and up to speed with this new language. Even though I think that kotlin is very easy to learn (especially for a java dev), this is still a significant effort.

<comment> V-2 Personally I think a good way to set a foot in the door (with Kotlin) is to use it for unit tests. Hey, unit tests aren't production code, so what's the worst that can happen, right? Plus in many projects - sadly - tests are still perceived as an optional thing.

And Kotlin is very well suited for tests, because it's so expressive, DSL- friendly etc. There's also this pleasant framework: [http://jetbrains.github.io/spek/](http://jetbrains.github.io/spek/)

If you can't convince your team (or bosses) to switch to Kotlin, start writing unit tests in Kotlin. They can even coexist with Java ones, so I believe this is an easy way in. And once people get to see it at work...

<comment><USER18> thanks, that's an interesting idea.

we already have started making more and more tests several months ago (the code base we inherited is awfully architectured and entirely untested), I will try to win over our test engineer with that idea.

</comment></comment></comment></comment></comment></comment></comment><comment><USER19> It's interesting to hear that Dart was designed as a general-purpose language. I always assumed that Dart was kind of like Coffeescript, that it was only meant to be translated into JavaScript.

I'm curious how this fits in with Go, another programming language from Google, which is also presumably a general-purpose language. Can anybody compare Go and Dart?

<comment><USER11> I see Go as a systems language and I think it was designed that way (wikipedia agrees with me here but I don't know enough about it so I'm not claiming this to be true). AFAIK it's used mostly for server / CLI stuff, where its concurrency model and speed shines.

<comment><USER20> I do write a lot of Go and it fits in the Oberon/Modula-2/C family. It is a general purpose language and the design of the language does not really make it a system language. In fact, one could argue that many properties that people expect of a system language (e.g. no GC) are missing.

Currently, Go is indeed popular for network services and command-line tools, but I think that is due to it's standard library supporting those use-cases well. But Go will surely branch out as its ecosystem matures.

</comment></comment></comment><comment><USER21> I used Dart a while ago for a personal project. Language-wise, it has dramatically improved by 'await'. My favorite part about Dart is the standard library. I've never used a language with a better standard library.

Does anyone know how Dart will be affected by web assembly?

<comment><USER22> > Does anyone know how Dart will be affected by web assembly?

WebAssembly right now is a suitable target only for C++ like languages. There is a hope that in the future WebAssembly will introduce features enabling efficient compilation of dynamic languages, but so far it's unclear when this hope is going to materialize into something more tangible than a few entries on the road map.

</comment></comment><comment><USER23> What's really interesting in the comments on this thread is that almost everyone who has tried Dart reports liking or loving the experience. If all those people would push a little harder instead of caving to the status quo, we might just get wide adoption and a great experience for everyone. You know...progress.

</comment><comment><USER24> Anyone have any experience with typescript vs. dart? I'm thinking of learning one of the two for frontend and wondered if anyone had any success or horror stories either way. Thanks!

<comment><USER23> I develop with both, and Dart wins hands-down. ES6/TS adds a lot of Dart's best features to JavaScript, but without getting rid of JS's annoying problems. Many here have mentioned that Dart's standard library is among the best there is, and that's no exaggeration. That alone makes it better.

Whenever I have a choice, I always use Dart. The tools (analyzer, profiler, etc.) automatically make me twice as productive as when I use JS.

<comment><USER24> Thanks, very helpful. And did you find any problems debugging the javascript output in the browser?

<comment><USER23> Dart uses map files for debugging in the browser, but if you use an IDE like JetBrains WebStorm or Eclipse, you can debug right in your editor environment without the provably harmful context switch.

</comment></comment></comment></comment><comment><USER25> well... packt free ebook for today happens to be a dart book Dart Cookbook [https://www.packtpub.com/packt/offers/free- learning](https://www.packtpub.com/packt/offers/free-learning)

9 hours left from the time of this posting

</comment><comment><USER26> I'm rooting for you guys :) I've really enjoyed working with Dart

</comment><comment><USER27> The comparison about commit velocity across popular languages is interesting on its own (sec 2 in the article).

Here's the discussion it spawned for Scala, which surprisingly lags behind its successor Dotty in that metric: [https://www.reddit.com/r/scala/comments/405zw6/commit_veloci...](https://www.reddit.com/r/scala/comments/405zw6/commit_velocity_for_dotty_surpassing_scala_last/)

</comment><comment><USER28> I heard Dart before, but didn't know it's created by Google until now. I am a fan of Go. I like goroutines and channels.

Why does google create two new languages?

<comment><USER29> Google is a massive organization, and this is probably the LEAST ridiculous example of redundancy! I've lost count of the number of database systems they've developed.

I don't know if they're still as committed to this today, but historically Google has been famous for allowing their engineers to spend some percentage of their time on self-directed side projects. This leads to lots of engineers working on the same sorts of things in different ways.

<comment><USER30> Some of Google's databases are just more functionality on top of an existing one, though, rather than being created from scratch. Spanner is built on top of BigTable, and F1 is built on top of Spanner, for example.

</comment></comment></comment><comment><USER31> I gave Dart a try and liked it. In my opinion it has failed in being a mainstream. It was bad enough that browser vendors where not embracing its VM, but its downfall to go mainstream was in my opinion when Google themselves announced that it would not be included in Chrome.

JS community are embracing ES6 and Typescript now. And for the none browser market there are definitely a lot of better choices.

</comment><comment><USER32> Do what you love.

Programming languages take years to incubate and in five years time you never know what will happen.

Don't believe that a virtual machine based language is going to fly in true embedded environments other than toys though. I've got more faith in lightweight scripting languages for rapid development.

</comment><comment><USER33> Using the same language on Android and iOS will be a huge advantage, once the framework ready to production.

<comment><USER34> Anyone can share his experiences using Dart for mobile?

<comment><USER18> You can have a look at the flutter demo app.

I only tested the Android version and it is still extremely early.

Very basic samples that don't run very well and implement Material elements in an uncanny valley kind of way compared to the existing web & mobiles implementations.

Not to mention that Android with Java/Kotlin has a truckload of tooling that Dart would have to replace.

<comment><USER35> And Flutter has no support for accessibility or localization yet.

I think it takes a lot of hubris to implement a new cross-platform widget set that attempts to compete with the native widgets these days.

<comment><USER18> yeah, it is ambitious to say the least.

There are several parts of the android framework that I would like to see rewritten from scratch (activity as a god object, love of inheritance everywhere in the framework classes, weak UI/animation framework, etc) but it is also a mature code base with tons of features, tools & open source libraries built around it.

</comment></comment></comment></comment></comment><comment><USER36> I tried Dart when looking for a typed language that compiles to Javascript. It was nice but in the end I used haxe because it had a much smaller footprint. Dart seems to include its own library while haxe sticks close to what Javascript offers.

<comment><USER30> When was that? Dart started out generating _massive_ JavaScript files, but the output has been significantly reduced in the past couple of years (something to do with using transformers to replace some of the reflection at transpilation time, I think).

<comment><USER36> About half a year ago. It turned 1500 lines of Dart into ~10000 lines of Javascript. That might not be that much to handle for a webview but it was quite hard to debug. I used it as a UserScript in WKWebView so I couldn't use DartEditor. In comparison, the haxe code, which looked very similar to the Dart code, was compiled into 1400 lines of pretty readable Javascript.

</comment></comment></comment><comment><USER37> Tried Dart a while back and really liked the language.

But I found the emphasis on Dart's use as an application building language didn't fit my use case very well - compiling JavaScript libraries.

In short, I wanted to use Dart as a cleaner replacement for the Closure libraries and compiler. It didn't work well. Not only was the JavaScript quite large, but exposing APIs was a time-consuming manual process.

I noticed the change of focus to using Dart as a language that transpiles to JavaScript for in-browser use. That sounds like what I'm looking for.

When will it be possible to use Dart to conveniently create minified JavaScript libraries that expose well-defined interfaces?

<comment><USER38> I can't give you any time estimates, but what you're asking for is exactly what the team has in mind with "DDC", the new Dart -> JS transpiler[1].

It produces much cleaner, more readable JS and is designed to make it much easier to interop with JS code in both directions.

[1]: [https://github.com/dart-lang/dev_compiler](https://github.com/dart- lang/dev_compiler)

</comment></comment><comment><USER39> Do Dart and Typescript hurt each other's adoption? i.e. they are close enough that it 'splits the vote' and what might result in critical mass for one ends up with both feeling like they are marginal contenders.

</comment><comment><USER40> And what's the future of Go language?

<comment><USER41> I'm far from being an expert in Go or know the specifics about future plans but from what I've gathered it does seem like a beautiful system language. We mainly use it for writing lightning fast API's. I do have a feeling that it will have a breakout year in 2016.

<comment><USER42> Go is neither a systems language nor "lighting fast" (that would make C, C++, Swift and all "ridiculous speed").

And what kind of APIs would one write in Go? The kind that can only be consumed by Go programs?

<comment><USER43> Presumably the post above was referring to HTTP-based services, which of course don't face issues of cross-language ABI compatibility. In this case Go is often much faster than Ruby, Python, JS, etc., while still allowing relatively quick development compared to even faster, yet lower level, languages such as C/C++.

</comment></comment></comment></comment><comment><USER44> That's actually nice. I had the impression, for some reason, Dart was kind of abandoned from Google or they shifted focus from it.

<comment><USER45> Maybe because Google is backing TypeScript and using it for Angular 2

[https://jaxenter.com/google-announces-new-approach- angular-2...](https://jaxenter.com/google-announces-new-approach- angular-2-0-115228.html)

<comment><USER38> I feel like I sound defensive every time I bring this up, but Angular supports three languages that are all equally first-class: JavaScript, TypeScript, and Dart[1].

Angular 2 is _written_ in TypeScript because that felt that was the best source language to transpile _from_. But then they have transpile that to JS and Dart for users of those languages.

[1]: [https://angular.io/docs/dart/latest/index.html](https://angular.io/docs/dart/latest/index.html)

<comment><USER45> Interesting, thanks for the info.

</comment></comment></comment></comment><comment><USER46> The main thing stopping me from using Dart is the same thing as Java and Python and others. It isn't designed to compile in the browser. You have to use the command line or an IDE. I have no problems with those myself, but the apps I am interested in involve letting end users create their own apps/animations/simulations, etc. If they went forward with a Dart VM in the browser, that would be great, but it sounds like that was one of the first things they abandoned.

There are so many other languages that do compile in the browser and can be used without relying on command line tools that there's no reason to pay any attention to dart at all, even though I like everything else about dart: [https://github.com/jashkenas/coffeescript/wiki/List-of- langu...](https://github.com/jashkenas/coffeescript/wiki/List-of-languages- that-compile-to-JS)

<comment><USER10> Yes, when Dart was still recently released I fully expected at least Chrome of all browsers to directly support it, and with it being an open source project, it to perhaps even trickle out to other browsers as well.

And I saw a Dart-powered web, and it was beautiful. Calling it a Javascript killer is a misnomer, because it's a Javascript eviscerator.

Now Typescript is here in full force and I honestly think that, assuming the language isn't going to be browser supported, that this is a better idea. :/ Simply because TS is a superscript over JS, so developers can migrate their projects over time. Regardless how much of it is still in JS, that is per definition also TS.

I think that is a huge boon, along with Typescript definition files to TS:ify libraries without having to restort to what the Dart guys seem to have been forced into doing with full reimplementations (DQuery, Bootjack, ... rather than simply downloading the appropriate files from DefinitelyTyped.org).

It's too bad, because _conceptually_ I like Dart more! Everything is so coherent regardless if it's on the client or the server, and modern HTML5 features are suddenly just libraries in the language itself! I really like it, I don't even have to "want" to like it, I already do. Kind of annoying. :P

</comment></comment><comment><USER17> Why is Google making all these languages? I mean, they have Go, use a lot of Python, and now they're developing Dart? What they're playing at?

<comment><USER30> They made two languages. That doesn't seem a lot for a technology company as large as Google. Nobody looks at Visual Basic, C#, F#, etc and says, "Why does one company need so many languages?"

</comment></comment><comment><USER47> Alright I'll give this a serious look.

</comment><comment><USER48> A downside of Medium is that we have no clue who "I" is:

[https://imgur.com/wIqpJyN](https://imgur.com/wIqpJyN)

</comment><comment><USER49> Is JavaScript the only "language" you've programmed in? Personally, I prefer a language that doesn't require large frameworks and libraries that are here today, gone tomorrow for basic language constructs like name spacing or library references. Personally, I prefer not having "engines" silently fail on something as fundamental as syntax errors, causing bugs that can't be reproduced or tracked down. Want syntax checking? You guessed it! Another Framework/Library/Tool to learn or build! Not horrendus? Good Enough? JavaScript is the language of Satan's incompetent stepchild.

<comment><USER50> I don't know how you can hate Javascript or any other language so thoroughly unless you just finally branched out to your second language that you're currently in honeymoon love with.

Took me two years of writing Clojure full-time to realize that there is no best. There are only trade-offs. These days I mostly use Javascript.

<comment><USER49> The story goes that I have played with many languages, but only used small amounts of js as needed before building an extension for chrome. I have never found a language to be so unfriendly to n00bs. One is absolutely required to learn third party frameworks and libraries just to do anything useful. There is a never-ending list of basic things that are not supported by the language. I have never had to use a third party tool just to check syntax in any other language. I don't see any trade-offs to using javascript at all. It is a language just like most C-based languages with everything chopped out of it. What benefits does javascript have over any other language?

> These days I mostly use Javascript

You don't use javascript, you use a framework for javascript. In fact, because browsers don't fully support EMCA 6, you are probably even using a tool to convert your javascript code.

I absolutely abhor javascript, to the point where I stopped working on my chrome extension (which is < 500 lines at this point) until I figure out how to do it in another language. Which will probably be clojurescript or typescript.

<comment><USER23> I think you would find Dart to be a true joy, given your complaints about JS. I switched to Dart, and now even looking at JS code with all those stacks of indented curly-braces hurts my eyes...</comment></comment></comment></comment>


PyCharm Edu: Python IDE to Learn Programming Quickly and Efficiently - <AUTHOR> https://www.jetbrains.com/pycharm-edu/ <comment><USER3> From the FAQ:

Q: "How does PyCharm Edu differ from PyCharm Professional Edition or PyCharm Community Edition?"

A: "PyCharm Edu is based on the Community Edition and comprises all of its functionality. Additionally, it installs and detects Python during installation. It has a simpler UI (adjustable in settings) and adds a new "Educational" project type.

PyCharm Professional Edition additionally supports different web development technologies, has remote development capabilities and additional languages, and supports working with databases."

</comment><comment><USER4> As someone who's written / taught a CS intro class in Python. This is a nice addition to my tool belt. When I taught labs, we used a really crappy Python IDE that consistently froze and would delete student's code.

I'm pretty partial to the VS Code and command line approach, myself. It teaches you basic command line stuff, which is good for anyone learning CS in the long run, and it teaches you how to NOT rely on an IDE for most of your syntax and semantics which is enormously helpful for those starting out (even though the learning curve is a bit steep).

<comment><USER5> Not using an IDE just strikes me as an exercise in pointless masochism.

<comment><USER6> Don't tell that to my Vim- and Sublime-loving coworkers...they'll look at you like you're some idiot who must not be able to program very well.

<comment><USER7> Vim and Sublime have great support for code completion. I've never met someone who writes code completely without any plugins

<comment><USER5> They do, but code completion is only the tip of the iceberg as far as IDE features go.

</comment></comment></comment></comment></comment><comment><USER8> Unfortunately, PyCharm does not (by default) encourage the wonderfully productive development pattern of ``python -i`` -- running the script and breaking into the interactive prompt afterwards. IDLE does this and it's excellent for teaching. Any other technique and the students are much less likely to develop the habit of testing/debugging code interactively in the REPL.

Even if you do invoke the interactive mode in PyCharm, each execution creates a separate prompt, causing confusion. I'll admit I'm not the most skilled PyCharm-user. Perhaps there's a way to make it work like IDLE?

<comment><USER9> AFAIK, PyCharm doesn't have good auto-completion in the REPL, right ? Any decent alternative ?

<comment><USER10> If you install iPython into your project interpreter, it will be used.

<comment><USER11> Or even better ipython / Jupyter notebook

</comment></comment></comment></comment><comment><USER12> I like this a lot. My uni just switched to Python from IDLE a few years ago. While its nicer than IDLE, the complexity of the IDE can be a bit much for novices. Heaven help you if you accidentally select the wrong python interpreter at project startup, for instance.

The other thing I'd like to see is more intelligent defaults for project location. On Windows, it defaults to the C drive, which is fine except for when students don't know where their documents folder is buried. Putting a git repo in a system folder breaks git because of permissions, but the UI will never tell you that.

<comment><USER13> I disagree. Misspelling symbols and forgetting function names and signatures is a waste of time that distracts from what you're really learning.

I was dismayed to see the amount of time my first-time-programmer CS classmates had to spend navigating directories to locate functions and dealing with typo-based compile errors that would have been fixed immediately with an IDE. We should not be teaching new programmers that this is normal. Language and type aware autocomplete, inline syntax error and undefined symbol highlighing, and go-to-definition are things you should always expect from your programming environment.

Sure you can set up an editor to do these things, but that's a project in itself, and the results tend not to be nearly as good as "just use the JetBrains product."

<comment><USER8> IDLE has pretty decent auto-complete. I've found that teaching with IDLE first, then switching to PyCharm (or other more full-featured environments) after they've learned the basics produces better programmers.

Python also has the built-in ``help`` and ``dir`` for reminding yourself about features. No need to rely on the IDE when the language has you covered.

</comment></comment></comment><comment><USER14> JetBrain products user, including PyCharm.

What JetBrains needs to do is create a good series of instructional videos to show how they intend these products to be used. They are excellent and very powerful but you are left to peek and poke around to figure out how they intended you to use and configure them. The various videos available, last time I looked, are seriously outdated. For example, there are a bunch of different ways to work with PyCharm and Django.

The other thing they need to do is improve their customer service. The couple of times I needed an answer not found on sites like SO it took something like 3 to 5 days to get an answer from them.

<comment><USER10> FWIW, around a year ago I did the getting started videos: [https://www.youtube.com/playlist?list=PLQ176FUIyIUZ1mwB- uImQ...](https://www.youtube.com/playlist?list=PLQ176FUIyIUZ1mwB-uImQE- gmkwzjNLjP)

Can you let me know if this is the kind of thing that you're talking about?

<comment><USER14> Yes! Looks very nice. I can now point people to an easy set of videos to understand how to use PyCharm to develop Python products. I will watch them all when I have some time.

Do you cover Django integration at all?

Subjects such as remote development (You sit at your windows machine while developing and running code on a Linux server elsewhere or on a local VM) and deployment under various scenarios would be useful (for example, best way to deal with deployment to separate application and database servers).

In general terms, a bunch of IDE's can provide a project tree on the left and code completion. In the course of easy-to-follow tutorials it would be great to highlight and teach how to use benefits PyCharm offers that add value to the product.

Without this guidance people are left to poke around and sometimes fail to get it.

A few years ago I had a situation where I wanted a client to switch from SublimeText (an excellent product) to PyCharm. Probably a hundred seats or more. A lot of resistance to IDE's in general. Three hour videos from PyCon are deal-breakers, nobody but the most interested are going to watch them. And JetBrains didn't have anything I could use. It looks like things might be different now.

Thanks!

</comment></comment></comment><comment><USER15> I love it. And I will religiously see through the entire course. Thanks JetBrains guys

</comment><comment><USER16> For those of you working on Windows, may I suggest PyScripter:

[https://sourceforge.net/projects/pyscripter/](https://sourceforge.net/projects/pyscripter/)

(not affiliated but I want to support it by bringing it to your awareness)

It's a native IDE, it's fast, doesn't crash, there is a portable version as well. I use it for the last four or five years when developing in Python.

<comment><USER17> Along the same lines, there is the awesome Python Tools for Visual Studio plug-in that turns Visual Studio into full fledged Python IDE: [https://microsoft.github.io/PTVS/](https://microsoft.github.io/PTVS/)

It supports CPython, IronPython, IPython, IntelliSense, mixed Python/C++ debugging, remote debugging, profiling, etc. And best of all? It's also open source.

</comment></comment><comment><USER18> PyCharm is awsome! And I say that as a 20 years+ (and counting) emacs user.

If you program python (especially Django), you should give PyCharm a go!

<comment><USER19> All of jetbrains products are awesome. Everyone I convinced about this thanked me afterwards.

</comment></comment><comment><USER20> > PyCharm Educational Edition is completely Free and Open Source. Novice > programmers can download and use it for educational or any other purposes > for free. Instructors and course authors can use it to create, modify and > share their own courses.

I dug around the site a bit and found the quote above, but didn't find a link to the source. Anyone find one?

<comment><USER21> I don't know where exactly the pycharm source is, but I suspect its part of the larger IntelliJ community repository.

[https://github.com/JetBrains](https://github.com/JetBrains)

<comment><USER22> It's the python subfolder of IntelliJ community edition:

[https://github.com/JetBrains/intellij- community/tree/master/...](https://github.com/JetBrains/intellij- community/tree/master/python)

<comment><USER20> Nice. Thanks.

</comment></comment></comment></comment><comment><USER23> I use pycharm at work every day. Tried showing a teacher friend some stuff, but got confused as half the options seemed to be missing in the Edu version.

</comment><comment><USER24> Is there something similar for Javascript?

<comment><USER25> There is WebStorm and PHPStorm which is WS with PHP functionality - <USER2> professional editions are free if you have an edu email.

<comment><USER24> I'm referring to the whole Education think not the Editor. thanks. Something like Webstorm EDU

</comment></comment></comment><comment><USER26> Wing IDE, another Python IDE, has had a similar product for a while (Wing IDE 101). It was very simple though.</comment>


How Building a Black Hole for Interstellar Led to a Scientific Discovery - <AUTHOR> http://www.wired.com/2014/10/astrophysics-interstellar-black-hole

<comment><USER2> These guys are not pioneers in this field, "realistic" black hole rendering was done many times before them.

For example, a ring visible twice can be seen here:

[http://www.spacetimetravel.org/filme/bsm1/bsm1-xe-640x480.mp...](http://www.spacetimetravel.org/filme/bsm1/bsm1-xe-640x480.mpg)

Black hole warping light:

[http://jila.colorado.edu/~ajsh/insidebh/schw.html](http://jila.colorado.edu/~ajsh/insidebh/schw.html)

Other relativistic renders:

[http://www.spacetimetravel.org/galerie/galerie.html](http://www.spacetimetravel.org/galerie/galerie.html)

</comment><comment><USER3> Sigh. Even the headline is a spoiler.

<comment><AUTHOR> Where's the spoiler? Nothing in this text seems to tell anything more about the movie than trailers.

<comment><USER3> Trailers are the absolute worst. It's like a condensed version of the film.</comment></comment></comment>


Ask HN: Is it front-end, frontend or front end? - <AUTHOR> <comment><USER2> I have personally found that anyone taking issue with this is a pain to work with in _general_. If you understand what the developer is talking about, and you know that this is a pedantic comparison, then what is the issue?

The only times I have seen someone take issue was because of an ego-related response. I don't have time to deal with that in my day to day, so I generally just say "Whatever floats your boat" and fall in with their term, simmilar to how I would document code and fall in place with code style while working on someone's project with existing code.

Unless there is something I see that would actually cause real problems for future development, customers, or myself, I won't take issue with the little things. There are a lot of other hills that I would rather die on than spaces and hyphens.

</comment><comment><USER3> Yes.

Any of those should be acceptable. Your meaning will be understood. The rules of grammar have been relaxed greatly from what they were 50 years ago, especially with grammar "correction" software which wants to change my "I ate an apple." to "I ate and apple."

I would avoid frontend as it takes a bit longer to parse. It makes perfect sense to me for someone to write:

I am working on the front end of this process and need to hire some front-end developers.

</comment><comment><USER4> Css-Tricks ran a poll on this one a while back:

[https://css-tricks.com/poll-results-front-end-front-end/](https://css- tricks.com/poll-results-front-end-front-end/)

</comment><comment><USER5> I say frontend and backend. Spell check usually dislikes the former while liking the later.</comment>


Should Procedural PHP Be Depreciated? - <AUTHOR> http://protoco.de/procedural-php-be-depreciated/

<comment><USER2> Should the author of the article be clued into the difference between "depreciated" and "deprecated"?</comment>


Car Hacker's Handbook (2016) - <AUTHOR> http://opengarages.org/handbook/ <comment><USER2> I would love it if somebody would make a guide to create a "privacy car": disabling OnStar, shutting off all telematics that manufacturers put into the navigation and infotainment systems, changing or disabling the serial numbers in the tire-pressure monitoring system, and similar things. I imagine that this would need to be model-specific, but I'm amenable to choosing a new car based the availability of a privacy hack, the same as developers who choose their computers/phones/routers based on availability of firmware replacement and known jailbreaks.

<comment><USER3> I agree that would be cool, although with 2018+ cars this is going to get very difficult. Manufacturers are starting to encrypt bus traffic and add firewalls that will prevent unauthorized communication between certain ECUs and from the J1962 connector (aka "OBDII Port").

I work for an auto supplier that supplies vehicle communication software, so I can confirm first hand that some 2018 vehicles currently on sale already have these firewalls:

[http://www.bosch-mobility-solutions.com/en/products-and- serv...](http://www.bosch-mobility-solutions.com/en/products-and- services/passenger-cars-and-light-commercial-vehicles/connectivity- solutions/central-gateway-cgw/)

<comment><USER4> Which is to keep the evil hackers out, but has the additional benefit that they can have a captive market for a $100 part that would normally be $1. The aftermarket suppliers are locked out of the market because they don't have the private keys to handshake on the bus.

(happily keeping my late 90's car running, although my most recent car literally has gone 100k miles with _NOTHING_ but oil, tires and brake pads). Its now at its first service interval and I'm wondering if I should just trade it in before anything breaks.

<comment><USER5> Something which is already being seen in the farming market: [https://motherboard.vice.com/en_us/article/xykkkd/why- americ...](https://motherboard.vice.com/en_us/article/xykkkd/why-american- farmers-are-hacking-their-tractors-with-ukrainian-firmware)

<comment><USER3> Yes, the John Deere situation will likely drive change in the automotive world too. There is already a pretty strong "right to repair" law in MA, and it will likely inform the laws that are written in other states or maybe even at a federal level. All automakers have to conform to the MA law already, but I'm not sure if that law applies to farming/John Deere as well.

</comment></comment></comment></comment></comment><comment><USER6> I would love it if I didn't have to click Accept on the touch-screen in my car every time I start it up. I shouldn't have to accept the terms and conditions every time - I already have agreed to abide by local laws - it's my driving license.

Anybody know if it's possible to get into a these systems and do a bit of tinkering? I guess my question is more: as someone who isn't really prepared to spend weeks looking for buffer overrun exploits, is there usually a quick ("mechanic's view") backdoor to these things that's accessible with a bit of cunning?

<comment><USER2> > _have to click Accept on the touch-screen in my car every time I start it > up_

Wow, that's just horrible. Even Windows doesn't make you accept Terms and Conditions every time you reboot. May I ask what car you have?

<comment><USER6> Maserati Ghibli (2017) - the parent company is Fiat/Chrysler and they seem to have a re-skinned Chrysler infotainment system. Which isn't too bad once you get past the annoying warning. It doesn't stop me driving, just stops quick access to things you want to set when you get in the car.

</comment></comment></comment><comment><USER7> This is a great primer on car hacking, but in my opinion it focuses a lot on the "physical layer". My bet would be that the future is going to be based in things like what Comma.ai is building upon what the book describes.

<comment><USER8> Wait. People keep mentioning Comma.AI. Didn't they die, after failing to go all Uber on transportation safety, followed by the founder throwing a tantrum?

<comment><USER9> They are still around developing electronics or products for specific models of autos. Is their goal to provide a low-end device that will do automatic driving (at what level)? [https://comma.ai/](https://comma.ai/) Edit: spelling

<comment><USER10> it looks like they're targeting the hobbyist market -- the couple hundred people worldwide who want to roll their own self-driving car.

</comment></comment></comment></comment><comment><USER11> Can anyone recommend a particular maker and/or model which are, from their own experience, _hackable_ in the sense of the book?

<comment><USER12> Ford Fusion Titanium Plus 2017, better if you get the Hybrid version. (This one I own)

Chevy Bolt/Volt. (This would be my first choice if I lived in the US)

Toyota Prius. (This would be my second choice if I lived in the US)

Honda Civic. (This one has a lot of information out there thanks to Comma AI)

<comment><USER13> Are your choices based on hackability or something else?

<comment><USER12> The hackability comes with the car doing most of it's internal communication via a CAN bus and having enough electrical power to power your custom electronics.

Apart from that, the car needs to have Steering by wire, Gas/Brake by wire and Shift by wire. Lane Keep Assist and Adaptive Criuse Control in those models mean that the car can be ordered to steer or accelerate via the can bus without additional actuators.

I have been learning about that topic for about a year and a half and the reason I recommend those specific models is because I have seen autonomous driving companies pick those specific ones _without_ official support from the manufacturer.

<comment><USER14> Steering by wire --> none of the cars you listed have steer by wire. Nissan is the only OEM who has steer by wire in production. Brake by wire --> does not exist at all.

<comment><USER12> You are right in the formal sense, none of those cars officially have by-wire functionality but in order to have LKAS, Park Assist and ACC work they need to support steering via can bus messages and braking via can bus messages. I used by-wire in an informal sense. Disclamer, I have never worked in the car industry, that's why my terminology is a bit loose.

<comment><USER15> ingenieroariel is being humble here. He is one of the first (if not the first) to do this with the Ford Fusion.

[https://github.com/commaai/openpilot/issues/1](https://github.com/commaai/openpilot/issues/1)

<comment><USER12> Work on the Lincoln MKZ / Ford Fusion was made popular thanks to Dataspeed / Autonomoustuff, they open sourced a ROS module but most of their magic is propietary / secret. It's expensive but a lot of startups use it.

The work that you point to is what we now know "openly", and yeah, there is only a few of us and I am one of the firsts sharing their findings on that specific model. There are a ton of people who know what we yet don't know but they don't/can't share it publicly.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER16> Not sure if you can still do it but years ago at my first job one of my coworkers (with a BSC and MSC in mech eng) got the full workshop manual for his partners car so he could work on it.

I assume that he also did that for his Mustang which had been prepped for drag racing (the top class that is legal to drive on the road)

<comment><USER4> I've purchased (actual) shop manuals for my cars a couple times. The first time was for a mustang. They are better than the chilton style manuals but barely. I used to joke that the mustang manual was the most detailed choose your own adventure guide I'd seen. Because that is what they are for, they are a guide to diagnosing and replacing whatever part/module happens to be malfunctioning. Which is why the first page was something like "Customer is complaining of" followed by a long list of generic things, and the page to turn to to start diagnosing the problem. The sections on interpreting/diagnosing MIL codes are really where they shine, but the sections on repairing things are frequently "use special service tool $TOOLNUMBER" to remove part A from part B where as these days 10 mins on youtube frequently will have a shade tree mechanic way to get around the problem without spending $100 on some tool you will only use once.

So, you shouldn't imagine that the shop manuals detail the protocol between differing components or whatever. While they frequently will have complete wiring diagrams (with pinouts) between modules, I have yet to see a schematics for any of the modules, even when disassembling them shows that they are little more than a few passive components and a relay, motor, etc. That is where the real savings/knowledge come in anyway, its rebuilding the $300 dealer only door lock with a $.50 motor from the electronics supply house that has brushes that won't wear out in 5 years. Or swaping a good film cap for an electrolytic in some part that costs hundreds of dollars.

Basically generic problem solving skills make using those manuals needless. I have them for my late 90's car I keep around but I haven't opened them in probably 10 years. I don't own any manuals for the more recent ones. I drive toyotas now and they simply don't break regularly enough to need purchasing manuals. I can usually quickly diagnose if I'm going to be able to repair the problem myself in a couple hours at which point I proceed to do it, or just take it to the dealer/wherever.

<comment><USER17> I had obtained shop manuals for every car I ever owned. Almost always I only used them to find out how to disassemble something. Somewhat interesting observation that before model year 1995 or something like that the shop manuals generally included detailed mechanical drawings of various custom tools and jigs (detailed enough that you could conceivably manufacture the thing with dremel and lathe), since then you only get order numbers.

<comment><USER4> Probably earlier that that. I purchased the mustang set in the early 90's for a late 80's mustang. It definitely had a lot of special service tools usage.

(fox body, had no idea when I sold it for $500 in the late 90's they would be considered so cool today).

</comment></comment></comment></comment><comment><USER18> Already been posten 5 times before, one with enough votes to hit the frontpage: [https://news.ycombinator.com/from?site=opengarages.org](https://news.ycombinator.com/from?site=opengarages.org)

</comment><comment><USER19> some may find this CAN Simulator useful - [https://stackoverflow.com/questions/35607115/virtual-can- bus...](https://stackoverflow.com/questions/35607115/virtual-can-bus- simulator)

</comment><comment><USER20> I bought this book, and he graciously provides it online.

It's put together well. I just haven't read it throughly, buy it's a keeper.

I just opened the book, and happened to see a motherboard. It was a VW board, and I saw this,

"In their paper, the researchers analyzed the algorithm and reported on the vulnerabilities they found, though the actual exploit was apparently not trivial and there were much easier ways to steal a car with a Megamos system. Nevertheless, the research was placed under a gag order, and the findings weren't made public. Unfortunately, the problem with Megamos still exists, and it's still insecure—the gag order simply prevents vehicle owners from determining their risk because the research isn't publicly available. This is a prime example of how the auto industry should not respond to security research."

1\. Ironic the board is made by VW.

2\. We need to see all that information.

3\. This was just a paper of a few security bugs.

4\. My point is I don't want to be tied to a Dealership for the life of "my" vechicle when it gets sick.. I don't want to pay $220/hr to Reflash "my" vechicle.

5\. And their will be those that get this post here, but I know the general public just cares about looks, and cup holders. As a kid, I knew most people didn't care about double overhead cams, etc.

6\. A vechicle is a huge purchase for most of us. We shouldn't be locked out of anything we own. Can trust wireless attacker with the information; don't use wireless technology in your Vechicle.

7\. I really wish Toyota who start manufacturing late 70-80's, simple trucks, and cars again. We want simplicity. Or, many of us want Simplicity.

8\. Rant over. Key in off position, and and in pocket. Can't loose it--a replacement key is $350. I just don't get it. But then again I'm very unhappy lately. I sometimes think I need to attach the Jumper cables to by temples, and get a little shock. Amperage is not enough, or too high. Don't want to know.

<comment><USER21> The chicken tax ([https://en.wikipedia.org/wiki/Chicken_tax](https://en.wikipedia.org/wiki/Chicken_tax)) is part of why there are no small simple trucks in the US.

I recently got back from a trip to Mexico, and I saw all kinds of new small simple trucks. Nissan's small truck (not sure of the name) and the Toyota Hilux seemed to be the most popular. There were all different kinds of bed attachments people were using.

</comment></comment><comment><USER22> _The world needs more hackers, and the world definitely needs more car hackers. Vehicle technology is trending toward more complexity and more connectivity. Combined, these trends will require a greater focus on automotive security and more talented individuals to provide this focus._

Looking at recent "terror attacks", where cars/trucks were used: it is plausible to think that terrorists could pull an organized attack using a coordinated fleet of hacked cars/trucks. Kind of scary...

<comment><USER23> Seems like you are confusing what technical people call a hacker with what journalist calls a hacker. The hacker used here is a person who thinkers and makes changes, what journalists calls a hacker is called cracker in that context. A car hack will be to make it work more the way you want it to, a car crack will be to take control and damage it or others with it

</comment></comment><comment><USER24> The problem here is the market distorting the incentives to the point that car-manufacturers have a interest that thieves create artifical demand backed by insurance money. Which the insurarers then transfer to the consumer, a circle that amounts to a hidden price raise for cars via insurrance, and contains nothing of value for the user of the product.</comment>


Ask HN: Does HN webserver follow HTTP 1.1 standard? - <AUTHOR>

Hi all,<p>sorry to be such a protocol nazi, but today I noticed that surfing the Hacker news triggers protocol violation error in Fiddler. It appears that HN is sending lines in headers terminated with LF instead of CR LF ( see http://en.wikipedia.org/wiki/Http#Request_message or http://tools.ietf.org/html/rfc2616#section-2.2). Am I reading the standards wrong? <comment><USER2> This is not surprising; I don't think pg cares about details like HTTP, Unicode, or CSS.

</comment><comment><USER3> You are right. OTOH, anything that breaks is not likely to survive contact with the rest of the web.</comment>


The story behind Turkish Delight - <AUTHOR> http://www.bbc.com/travel/story/20181003-the-secret-story-behind-turkish-delight <comment><USER2> It is not easy to do it well, only ~5% of producers making it really enjoyable I can say. As a Turkish foodie with a Chef wife, Turkish Delight is not something we consume regularly. Unless it is very well done like the ones Haci Bekir produce. It's just a companion to Turkish Cofee most of the time. It's very easy to make a bad Turkish Delight. On 90% of my tastings, I don't even finish it, but Haci Bekir and some other shops are making it perfect which you do eat without coffee also.

<comment><USER3> I have the same thing with baklava, 90% doesn't taste good but you always keep looking for the 10% that does. Whenever baklava is on the menu, I _need_ to try it, but none of the fancy restaurants I've been to in the US do it really well (the $4 per piece ones), but the cheap corner store on Post & Powell in SF surprisingly has one of the best (and they get it from some bakery in Oakland but refuse to tell me which one).

<comment><USER4> I have the fotunate/unfortunate experience of growing up eating home-made baklava. I grew up going to an Eastern Orthodox church and most of the congregation was either immigrants or descendants of immigrants (including myself, great-grandmother was from Syria, along with some of my grandmother's siblings. My grandmother happened to be born in the US).

I used to find most of it disappointing at best. My tastes have loosened up quite a bit since then because not only did I give up church, but I'm far removed from the area now.

<comment><USER5> Are you saying the home-made baklava was usually disappointing or the bought baklava was? The middle eastern ladies at my Orthodox parish make delicious baklawa.

<comment><USER4> The store-bought always was disappointing - the home-made stuff was always wonderful.

Their cookies, however, were not. Anise... blech. :D

</comment></comment></comment></comment></comment><comment><USER6> Maybe I've not had great Turkish Delight, but my reaction to it was the same as this person's:

"I tried Turkish Delight and it was good but not 'sell out my family to the White Witch' good."

Source: [https://twitter.com/missmfair/status/585582845554532353](https://twitter.com/missmfair/status/585582845554532353)

Ref: [https://www.tor.com/2016/08/08/why-was-turkish-delight- the-u...](https://www.tor.com/2016/08/08/why-was-turkish-delight-the-ultimate- temptation-in-c-s-lewis-narnia/)

<comment><USER7> Given the "old world" nature of it, I have to think that it's one of those things that was really amazing at the time, but just can't compare to modern sweets, so you can't really get a good perspective on it. Like if you had watched a movie like Guardians of the Galaxy before ever seeing Star Wars, you'd wonder what the big deal was about Star Wars.

<comment><USER8> In the same token there are a lot of modern sweets that I find to be overly sweet. For example a lot of the Starbucks sweet coffee drinks are so sweet that they make me gag.

I find most modern sweet things to be disgustingly sweet, but Turkish Delight is one of the few sweets that I really like because it's not overwhelmingly sweet.

<comment><USER9> Starbucks coffee drinks are to me what I'd imagine it would be like to gargle a sheet cake. Not just sweet, but cloying, and very fatty.

<comment><USER8> Frequently they'll take something that I like and add a couple of pumps of vanilla to it, then discontinue the original recipe.

There was a cold brew with sweet cream that they had last year which was a really good cold drink that wasn't overly sweet. So this year they replace it with a cold brew with vanilla sweet cream and now it has two pumps of vanilla syrup in it in addition to the sweetness of the sweet cream. So now it's disgustingly sweet and tastes cloyingly of vanilla.

I pretty much only get lattes and drip coffee there now.

<comment><USER10> You can just ask them not to put in the vanilla; starbucks is impressively malleable, and removing a syrup is likely barely on their complexity meter, given the hyper-specific orders I've seen people give

</comment></comment></comment></comment></comment></comment><comment> crooked-v C. S. Lewis's greatest crime was tricking innumerable children into thinking they'd like Turkish Delight.

<comment><USER11> As a kid growing up in the US, I liked "Aplets and Cotlets" a lot, so I could really empathize with Edmund. I suppose that if my parents had given us rose or bergamot lokum it would have been a very different story.

<comment><USER12> It's funny, I adore rosewater and pine Turkish Delight, but think of Aplets and Cotlets as that weird, bad candy that comes with your rations in the Boy Scouts.

</comment></comment></comment><comment><USER13> So did anyone manage to glean what the "secret story" was?

<comment><USER14> A way to get people to click on the article based solely on the title. Like a kind of bait to drive clicks. Weird.

</comment></comment><comment><USER15> being English, every Christmas there was always a box of Turkish Delight on the table (and dates of course).

<comment><USER8> I love dates, especially ones that have not been pitted because they retain a lot more softness. Pitted dates are an abomination.

</comment></comment><comment><USER16> For a good ten years or so, I thought Turkish Delight was a fictitious candy brand C.S. Lewis made up for the Narnia books.

</comment><comment><USER17> Putting all aside, I don't know who came up with but what a terrible name for a dessert; and why do you change its original name in the first place?</comment>


Advice on CMS for a primary school - <AUTHOR>

Hi, we are looking for a CMS platform for our school web site. It needs to be easy and flexible enough for teachers to create their pages/post news and content.<p>Any one got suggestions? We have looked in to Durpal etc but they all look quite complicated <comment><USER2> I have no advice to offer but I there's a discussion over at this thread which may be of use

<http://news.ycombinator.com/item?id=1078750></comment>


Ask HN: Would a game to teach Bash & *nix be worth-while? - <AUTHOR>

I got struck by the idea to build a game to teach Bash & *nix.
It'd be modelled on classic kung-fu movies where you'd learn with a master (Master Foo, clearly), to battle the evil Master Blub. Badges, leader-boards and all other buzzwords would be present. Have a look - http://banzaibash.com
Does it sound like something you or anyone else would find useful? If I could get around 250 preorders that'd be enough to take the time off to build it. <comment><USER2> Loving the concept but maybe you should be charitable and make it free as it is really just a tutorial + triggers.

<comment><AUTHOR> I'd love to but I'm not really at a point in my life where I can do a whole project full time for fun :) Since it'd be cloud based (as you'd be doing things which would be dangerous to do on your home system, under time pressure) it'd have running costs, and I expect the security aspect to be tricky.

<comment><USER3> What about using something like kickstarter to raise money?

<comment><AUTHOR> I wish I could, but Kickstarter is US only. The alternative, invested.in doesn't look that strong.

I think you're right that it's a model that would work well - if I could raise the money to code it I'd happily make it open source after that (running costs means it'd have to cost something to use on someone's server).

<comment><USER4> What about IndieGoGo?

<comment><USER5> I'm not sure exactly what you are looking for, but IndieGoGo has had a lot of successful non-US projects. Community is building every day, and the payment options (e.g. PayPal & direct credit card) are not US only. Check it out.

</comment></comment></comment></comment></comment></comment><comment><USER6> Have you considered selling this as an assessment tool? You'd probably have to drop the Kung-fu theme but that doesn't mean it would have to be boring either.

I think a scored and timed test would be really useful to HR departments at large corporations who need to screen technical applicants.

One hitch is that with most thing *nix, TMTOWTDI. Do you check for the result or do you check the command typed? Just as an example, your screenshots show the pushd/popd lesson. If prompted to change to my home directory in under two seconds I'd just type 'cd'. To get back to where I used to be I'd type 'cd -'. I never use pushd/popd. If the lesson is presented as 'use pushd and popd to navigate the filesystem' then there's no issue.

<comment><AUTHOR> It's a good point - I am planning to be result oriented, for anything complex it'd be impossible to think of all the ways you could sensibly achieve it.

</comment></comment><comment><USER7> I might be inclined to buy it if it was a "pay as you go" model where much smaller amounts of money can unlock the next set of levels.

Maybe a model like Project Euler (with paid-stages) would work better? I'd much prefer it to be free of course.

<comment><AUTHOR> That's a cool idea, especially as lots of people wouldn't need the basics, just the advanced stuff.

</comment></comment><comment><USER8> Nice, but I think game-features make sense where the actual learning perhaps is non-existant or not rewarding enough. When learning how to use a shell you have successes along the way anyway and you don't need any score or badge to feel happy.

<comment><AUTHOR> I agree, but command-line skills were something I didn't consider learning explicitly - not really knowing how useful it'd be. I know a lot of developers with just a sketchy understanding of a tiny part of them!

</comment></comment><comment><USER9> I'm very intrigued. This is definitely one of the skills I'd like to improve upon. But I'd like to play with a demo episode first before forking over the preorder cash.

</comment><comment><USER10> How about a game to teach regex? That would be awesome. "Write a regex that will match xxx and yyy but not zzz", for example.

<comment><AUTHOR> Interesting - regex could be an expansion pack :)

</comment></comment><comment><USER11> interesting idea itself, depends on execution.

i'd suggest to highlight that its productivity game for Mac OS console as well.

i believe Mac users will more likely pay for that.

<comment><AUTHOR> Thanks, that's good advice, Mac users (I use Mac) are definitely happier to pay for productivity stuff - OmniFocus etc. I'll add that :)

</comment></comment><comment><USER12> your paypal redirects to yoursite.co.uk instead of a thank you page! I hope you get around to doing this, cause it looks like an interesting project.

<comment><AUTHOR> Done, thanks.

</comment></comment><comment><USER13> You've got a typo in the last screenshot, "direcotry"

<comment><AUTHOR> Good spot, you're in the git log now :)

</comment></comment><comment><USER14> Yes.

<comment><AUTHOR> Thanks very much for your support wyclif, any suggestions?

</comment></comment><comment><USER15> Have you checked out Hacker Evolution? Might be a good source of ideas. It also strikes me that £20 may be a tad much to ask for an interactive fiction text game.

<comment><USER16> But £20 might be well worth it for the skills and productivity gained.

Products are worth what value they provide, not what they cost to make.

</comment></comment><comment><USER15> Good idea however your site has no news, contact info etc .. nothing apart from an overview of the product and links to paypal .. add some info about yourself at least and I'll cough up £11.99.

Good luck!

<comment><AUTHOR> About me page now up (isn't it awkward writing about yourself :D). I'll pop more stuff in as it happens!</comment></comment>


Failure by WHO team to visit Wuhan sparks concerns over virus probe - abc-xyz https://www.ft.com/content/f9dea077-66fb-4734-9d1d-076dc93568e1 <comment><AUTHOR> So they think there is one specific animal path from bats to humans? It's already been shown that several types of animals can become infected, so why not multiple paths? I don't understand why they think it necessarily started in the Wuhan area either; that's where it first started spreading rapidly and was noticed, but as we've seen in the US sometimes it spreads fast and sometimes it doesn't and even with testing there appear to be a lot of excess deaths where no one realized the cause was COVID-19. Could have been around long before Dec 2019 and then flared up in Wuhan. I'm not an expert though, maybe they have other clues such as from gene sequencing.

</comment><comment><USER2> I normally like the FT, but this article smells very like the standard Australian/US saber-rattling around China's responsibility for Covid-19.

It sortof smacks of looking for someone to blame, which is weird given that China dealt with Covid-19 far far better than most Western countries.

<comment><USER3> Compare the 'Active Cases' graph in each of the links below. Does the Chinese graph seem credible to you?

China: [https://www.worldometers.info/coronavirus/country/china/](https://www.worldometers.info/coronavirus/country/china/)

Japan: [https://www.worldometers.info/coronavirus/country/Japan/](https://www.worldometers.info/coronavirus/country/Japan/)

Italy: [https://www.worldometers.info/coronavirus/country/Italy/](https://www.worldometers.info/coronavirus/country/Italy/)

Denmark: [https://www.worldometers.info/coronavirus/country/Denmark/](https://www.worldometers.info/coronavirus/country/Denmark/)

Iran: [https://www.worldometers.info/coronavirus/country/Iran/](https://www.worldometers.info/coronavirus/country/Iran/)

Russia: [https://www.worldometers.info/coronavirus/country/Iran/](https://www.worldometers.info/coronavirus/country/Iran/)

<comment><USER2> I completely agree that the data from China is not particularly reliable. In fact, I remember noticing this in early March.

That being said, it's clear that they have dealt with Covid 19 much better than much of the West.

Like, I guess I got sucked into geo-political flamebait here, but this FT article is quite poor by their standards and it's a shame that it's getting covered on HN.

<comment><USER4> Well yeah, the PRC can literaly weld people into their apartments to force people to be quarantined:

[https://www.the-sun.com/news/378365/](https://www.the-sun.com/news/378365/)

[https://www.reuters.com/article/us-china-health- quarantine-i...](https://www.reuters.com/article/us-china-health-quarantine- idUSKCN20G0AY)

When a government has that sort of power, of course they can handle a forced quarantine. That is, when they actually have to admit there is an issue, which is this not the first pandemic they have attempted to cover up:

[https://en.wikipedia.org/wiki/2002%E2%80%932004_SARS_outbrea...](https://en.wikipedia.org/wiki/2002%E2%80%932004_SARS_outbreak)

I am happy to live in a western society where they government doesn't have that sort of power.

<comment><USER5> Yeah, I love the fact that Karen can decide to kill my friends and family with negligence.

Yay freedom.

<comment><USER4> [https://news.ycombinator.com/newsguidelines.html](https://news.ycombinator.com/newsguidelines.html)

I'd ask for you to post a reply comment that isn't snarky, per the guidelines. I cannot have much of a productive conversation with your comment as it is.

<comment><USER5> If you didn't want to be made fun of, you should have made a better argument.

It's not a black and white freedom vs authoritarianism, it turns out that society works a lot better when people aren't needlessly contrary about things they don't understand.

Which is why the American morons can't imagine that Chinas numbers are real, because they can't imagine the Chinese people aren't festering shitbags shouting "FEREEEDOMZ" at every opportunity.

Chinas numbers, and numbers in many other places show the AWESOME POWER OF DOING WHAT NEEDS TO BE DONE AS A GROUP.

There is one freedom that is sorely lacking in America, it's the freedom to act as a whole for the good of your countrymen. You literally can't do it. It's illegal in half the country, and you risk being shot in an altercation with an armed moron if you're conspicuously not being a festering cunt.

Why don't you fight for that freedom?

<comment><USER4> ....what? I have read through your comment several times and it is non- sensical.</comment></comment></comment></comment></comment></comment></comment></comment>


Reddit Is Tearing Itself Apart - <AUTHOR> http://gizmodo.com/reddit-is-tearing-itself-apart-1789406294 <comment><USER2> As someone who reads reddit fairly frequently, this doesn't reflect my experience on the site. In reality there is no unified reddit. I've taken a gander at /r/The_Donald a couple of times (mostly out of morbid curiosity) but other than those few times I've experienced very little impact of whatever it is they are doing.

I read some sports subredits. I read some culture subredits. I read some of the bigger basic entertaining but silly subreddits like /r/AskReddit and /r/TodayILearned. And, to be honest, I really haven't noticed much impact by these nefarious elements (or whatever you want to call them).

I'm sure others have had different experiences from me, but from my point of view whatever "crazy shit" is going down is mostly confined to certain sub- sections of the site that are easily avoided.

<comment><USER3> Looks like it's a bigger problem for moderators than for users:

>"There have been unquestionably instances [where] moderators of other subreddits were targeted by users in The_Donald," Reddit told Gizmodo, and the leaked chatlogs reveal the extent.

>Some moderators had been flooded with constant harassing messages. "One threatened to kill my fucking dog," a moderator pleaded in the leaked Slack chat. A The_Donald user hacked r/politics and booted half of the moderation team, another told Gizmodo in an email.

>"We have had multiple moderators doxxed and sent death threats, we had one moderator who had his truck broken into and vandalized," an r/politics mod told Gizmodo over Reddit private message.

<comment><USER4> Yeah, this is what was REALLY shitty about /u/Spez's debacle.

Profanity, hate speech, bullying, harassment aren't protected by free speech. And you see PLENTY of it coming out of the_donald. You don't have to tolerate that shit, you have every right to shut it down. But no, lets degrade ourselves by trolling the trolls.

What a strategic waste.

non-edit: greglindahl below me makes an excellent point on my choice of vocabulary. I won't edit my post, I'll just concede that I chose poorly while trying to articulate my point.

<comment><USER5> You're being sloppy with terms. In the US, obscenity isn't protected by free speech, but non-obscene profanity is. Hate speech? Threats of violence aren't free speech, but a lot of odious hate speech is. Court cases about bullying frequently fail.

Of course Reddit, being private, has the right to do whatever it wants. But it's important to realize where the lines are drawn for public discourse.

<comment><USER3> I don't think harassment via private messages counts as public discourse

<comment><USER5> I agree. I wasn't talking about private messages in my comment. One nice thing about public discourse is that it's public, i.e., it's easy for everyone to debate how odious it is. Private messages are very different, and should be filtered quite differently.

From a sunlight point of view, being able to make private messages public is quite effective, albeit a feature which should be disclosed in advance.

</comment></comment></comment></comment></comment></comment><comment><USER6> This all amounts to a lack of imagination on the part of Reddit's management.

\-- If the issue is doxxing, which was occurring to some degree in sites with cross-membership with r/the_donald, then enhanced auto moderation is needed. The tools are out there.

\-- If the issue is so-called "hate speech" then give users the ability to filter content they find distasteful.

\-- If the issue is click-bait to offensive or illegal content, then again, there are ample techniques and 3rd party resources for warning about, reporting, filtering and discouraging user click-through.

What concerns me is that Gizmodo and Reddit can only think in terms of banning speech. Combined with the recent pile-on over "fake news", I worry that expression on the internet is vulnerable to shill pollution, coercion and overly zealous social equality advocacy.

The irony of not applying innovative technology to problems at Reddit is thick, almost suffocating.

<comment><USER7> Reddit isn't a technology company, they're a media company. They were owned by one of the largest media companies, Conde Nast, for a while. Their goal isn't to solve social network problems, their goal is to increase their reach as much as possible. Reddit is the center of attention right now, their reach is huge, why would they change anything and risk losing that?

</comment></comment><comment><USER8> I'm no Trump supporter but this piece is brutal in its implicit bias. Essentially, "free speech should not be enjoyed by those that hold the wrong opinion!"

<comment><USER9> Reddit, a private website, is under no obligation to provide a safe space for free speech.

<comment><USER10> the entire internet is composed of private entities. following that logic there is practically no free speech on the internet.

<comment><USER11> I can exercise my right of free speech on my website. What do you mean?

<comment><USER10> Hosters and DNS providers can kick you out. This doesn't happen often, but occasionally it does, without court order, when a customer becomes too inconvenient. Some don't even want to deal with DMCA notices, so even when they get fake ones they kick you out after a few.

<comment><USER11> That's a good point - so even my own website is not as free as standing on the street corner and shouting. But if my hosting company did kick me out it might be (haven't checked) a breach of contract; and in any case I could be on a new host in a couple of hours.

</comment></comment></comment></comment></comment></comment><comment><USER12> "Its members spread coded hate speech" yeah had to stop nice bias

<comment><USER13> you're right, its not even coded hate speech.

<comment><USER14> I took a look at their sub. I couldn't find any hate speech (though I ignored heavily downvoted comments). I'm also suspicious of "coded hate speech" since that concept grants license to attach racist connotations to just about any sentence.

Is there a post on r/The_Donald that stands out to you as being hate speech?

<comment><USER15> I was curious. So I looked. This was the top non-stickied post I saw:

[https://www.reddit.com/r/The_Donald/comments/5fltt9/amy_schu...](https://www.reddit.com/r/The_Donald/comments/5fltt9/amy_schumer_and_lena_dunham_are_finally_leaving/)

To save others the trouble, the title of the post is "Amy Schumer And Lena Dunham Are Finally Leaving The Country" and the image is of two orca whales being prepared for transport. The very non-coded message is that these two women are "as fat as whales" and furthermore that they deserve to be derided based on physical appearance because of their expressed political opinions.

I'm no lawyer, but I think that's treading awfully close to "hate speech".

<comment><USER16> Is it illegal to call people fat in this country now? Serious question. At first I was inclined to ridicule your position, but I have to wonder how far the 'hate crime' legislation has progressed.

<comment><USER17> You're right to ask. There's a trend.

In Ireland we have foolishly installed laws that made criticism of Mohammad or Jesus illegal.

[https://www.theguardian.com/media/greenslade/2016/apr/11/why...](https://www.theguardian.com/media/greenslade/2016/apr/11/why- ireland-must-get-rid-of-its-disgraceful-blasphemy-law)

I don't enjoy their humour but I think this would prevent something like Charlie Hebdo from operating in my country.

</comment></comment></comment></comment></comment></comment><comment><USER18> I got banned from /r/The_Donald today.

There was an article complaining about the main stream media for criticizing Trump's saying that flag burners should have their citizenship revoked and be jailed, when Hillary Clinton said exactly the same thing in 2005, and citing the Flag Protection Act of 2005, which Clinton co-sponsored.

I'd never heard of that, so took a look at it. It did indeed make flag burning illegal (possible fine and jail time, no stripping of citizenship)--in two specific circumstances.

1\. When the primary purpose and intent was to incite or produce imminent violence or a breach of the peace, or

2\. When the flag was stolen from the US or from US lands. E.g., if you stole the flag from a government building and burned it, that flag burning would be illegal. Bringing your own flag to burn, fine (unless the primary purpose and intent was to produce imminent violence).

I posted that information, and noted that this seemed to be written to try to stay within the bounds of allowed restriction on speech under Brandenburg v. Ohio, 395 U.S. 444 (1969). I noted that this was not anywhere near "exactly" the same as what Trump said, which appeared to be just blatantly unconstitutional. That earned the ban.

I asked the moderator that banned me what rule I had violated, since it was not at all apparent to me. Here are their rules:

• Do not violate Sitewide Content Policy

• No Trolling/Concern Trolling

• No Racism/Anti-Semitism

• No Releasing Personal Information or Doxxing

• No Vote Manipulation, Brigading, or Asking for Votes

• No Dissenters/SJWs, this is a pro-Trump subreddit

• No Posts About Being Banned From or Linking To Other Subreddits

• Ban appeals, suggestions, concerns (including sticky choices) go to modmail

• No Posts About Trump Assassination Threats (Send screenshots + Archive.is link to the FBI).

• Please do not behave in a way outside of the subreddit that would reflect poorly on it.

The moderator's answer: "The President Elect's.". I have no idea what that is supposed to mean, and cannot ask because he slapped a 72 hour ban on messaging the moderators on me.

I frankly don't know what to make of /r/The_Donald. I've occasionally seen substantive discussion of Trump's proposed policies on there, including criticism, that was up voted and the critics were not banned. But it also seems to be full of complete and utter idiocy. I can't tell if it was supposed to be a serious group that got taken over by the trolls and idiots, or if it was supposed to be a trolling joke group from the start, and the substantive discussion was just from people who had not figured that out yet.

</comment><comment><USER19> I love the freedom and exchange of ideas on the Internet. The centipedes are now turning it into their very own echo chamber.

<comment><USER6> And that is different from every special interest site on the internet how? Most subreddits are echo chambers.

</comment></comment><comment><USER20> This appears to have been flagbombed.

<comment><USER21> Because the article is, quite frankly, bullsh*t.

<comment><USER22> Posting a bowdlerized criticism (when swearing is perfectly OK on HN) is not very impressive compared to explaining what you think is wrong with it.

<comment><USER23> Isn't posting a bowdlerized word when you desire to also perfectly OK on HN?

</comment></comment></comment></comment><comment><USER24> Gizmodo? Isn't that the revenge porn outfit that was sued into bankruptcy a while back?

</comment><comment><USER22> It's an ill wind that blows no good...</comment>