Go 1.7 is released - <AUTHOR> https://blog.golang.org/go1.7 <comment><USER2> Great work, Go team!

Standout points in my opinion:

Overall performance improvements:

>> "We observed a 5–35% speedup across our benchmarks."

Decreased compile times and binary size:

>> "While these changes across the compiler toolchain are mostly invisible, users have observed a significant speedup in compile time and a reduction in binary size by as much as 20–30%."

Vendoring dependencies by default:

>> "...and in Go 1.7... the "vendor" behavior is always enabled"

Context package added to std lib:

>> "To make use of contexts within the standard library and to encourage more extensive use, the package has been moved from the x/net repository to the standard library as the context package."

<comment><USER3> The faster compilation time & speed up is quite real in our real life prod application.

From Go 1.6 to 1.7: Test suite (CI), from 3:34 to 1:48 Docker image building, from 3:05 to 1:50

[https://twitter.com/mattetti/status/763913903600349184](https://twitter.com/mattetti/status/763913903600349184)

<comment><USER4> Following the twitter link and got this: "Something is technically wrong. Thanks for noticing—we're going to fix it up and have things back to normal soon."

<comment><USER5> I've noticed this too on random pages. Seems Twitter is having issues today.

</comment></comment></comment></comment><comment><USER6> I just learned Go 2 days ago and today I am already running my own web app!

I love Go because it is kind of like C, but better (more modern).Generally, I always program my stuff in Java, but whenever I have an idea of creating something I could only choose between: C, Java, bash. Obviously I am not going to use C and bash for most of my ideas. Thinking about solving my issues in Java is meh so often I decided it is not worth it to invest time. I feel like using Java for my ideas is like using a semi truck for roadtrips. It can be done, but it's just not very efficient having to launch the JVM everytime I want to do something small.

Yes, I was open to new languages, but I did not really care about: C++, Python, Perl, Ruby and so on because I never cared about web dev. Now I was bored and finally decided to learn Go.

<comment><USER7> I suggest giving Ruby a try too. I find it great for both web dev and local automation scripts. You can do pretty much anything you can do in bash but with clearer and shorter code. I've been writing all my non-trivial automation code in Ruby for years.

Rails is just a popular web framework for Ruby, there's a lot more the language can do.

<comment><USER8> It's annoying to have to install the ruby interpreter onto everything. Go feels a lot like a scripting language, but produces binaries.

<comment><USER9> Then Python is a good alternative, it's basically already installed everywhere.

<comment><USER10> 'Everywhere' being most Linux distributions, an outdated version (2.7) on OS X, no version at all on Windows.

</comment></comment></comment></comment></comment><comment><USER11> Seems like a great release. Faster compilation and faster at runtime. Normally these 2 are considered opposite of each other.

<comment><USER12> And smaller binary size too. For a statically linked blob, that's a big plus.

<comment><USER13> BTW, what does one have to do to get fully statically linked executables? The binaries I've created with go get SOMETHING are linking against libc, but I remember that go doesn't rely on the system libc. Has that changed? For instance I just installed git-appraise, and it's a dynamically linked executable. What am I doing wrong?

<comment><USER14> Go generally links to libc to use the system's getaddrinfo-- some OSes override it to do special things with dynamically discovered hosts on local networks, interfacing with LDAP/AD, etc.

If you use `CGO_ENABLED=0 go build`, it should make a statically linked executable.

<comment><USER15> I don't believe that has been true for a few releases now. I believe go defaults to a pure Go resolver implementation now. You have to force enable the cgo resolver.

[https://golang.org/pkg/net/](https://golang.org/pkg/net/)

<comment><USER16> from the same page:

"When cgo is available, the cgo-based resolver is used instead under a variety of conditions: on systems that do not let programs make direct DNS requests (OS X), when the LOCALDOMAIN environment variable is present (even if empty), when the RES_OPTIONS or HOSTALIASES environment variable is non-empty, when the ASR_CONFIG environment variable is non-empty (OpenBSD only), when /etc/resolv.conf or /etc/nsswitch.conf specify the use of features that the Go resolver does not implement, and when the name being looked up ends in .local or is an mDNS name."

</comment></comment></comment></comment></comment></comment><comment><USER17> Yay, s390x support is finally in mainline! Finally we (SUSE) no longer needs to use gcc-go to build Go binaries on some platforms (we've had nothing but issues from gcc-go, half of the patches we apply to Docker are to make it behave when built with SLE's gcc version).

</comment><comment><USER18> Ok, off topic question. Not an expert in grammar, but something about "Go 1.7 is released" seems wrong to me. Anyone could tell me if this is an correct usage of grammar?

Edit: Dont know why so many downvote, but it is a honest question.

<comment><USER19> It seems right to me (American speaker). "Released" functions as an adjective, with similar meaning to "available." "Go 1.7 is available" would be grammatically correct.

"Go 1.7 has been released" would also be correct, but uses the present perfect tense.

So the question is, can "released" be used as an adjective? "The released version has a bug" seems correct to me, and "released" clearly functions as an adjective there.

All that said, the present perfect version seems clearly correct, while I can't make a great argument for the adjectival version.

<comment><USER20> It's just present tense, usually known as "historical present" tense when used in a headline like this. "Released" here might be intended as an adjective or verb; it's ambiguous, but both are valid in the sentence structure.

</comment></comment></comment><comment><USER21> >A new compiler back end, based on static single-assignment form (SSA), has been under development for the past year

Huh, I was under the impression that either SSA or CPS was pretty standard for any serious compiler. Does anyone know why they didn't design it for this from the beginning? It's like one of the earlier things you learn when making actual compilers.

<comment><USER22> It was more expedient to start with the Plan 9 tool chain that we had at the time. Ken was already familiar with the code base, which was small and compiled quickly (a few seconds). Because of this we got a lot done quickly, knowing that we would eventually modernize the compiler.

<comment><USER23> How much is Ken involved in the language today?

<comment><USER24> Ken is not really involved in the project these days. His last commit was in 2011, before Go 1 was even released.

</comment></comment></comment></comment><comment><USER25> [https://github.com/golang/go/commit/a62ae9f62fcfca02075b70e6...](https://github.com/golang/go/commit/a62ae9f62fcfca02075b70e6e0aa757f4fd8f5ec)

> SystemCertPool returns an error on Windows. Maybe it's fixable later

This doesn't inspire confidence in Go as a cross platform language which is at version 1.7. If this is implemented in say 1.8, am I supposed to check for Go versions in order to know if the SystemCertPool func works or not? I mean why not just release it when it works on all tier-1 supported platforms?

<comment><USER26> Go is _far_ better than most languages at supporting random system APIs. I mean, you can cross-compile code on Windows that uses Linux syscalls. Try doing that in Python. Actually I just Googled and I'm not sure Python even lets you use syscalls. I also couldn't even find any third party library to give you the system CA pool, let alone a first party one.

Tell me a language that has a first-party cross-platform library that allows you to get the system CA pool on all platforms.

<comment><USER27> My third-party Python library that gives access to the system CA trust store: [https://github.com/wbond/oscrypto](https://github.com/wbond/oscrypto)

</comment></comment></comment><comment><USER28> Be sure to check out the release notes, especially if you run FreeBSD (see known issues section).

[https://golang.org/doc/go1.7](https://golang.org/doc/go1.7)

<comment><USER24> FWIW, this isn't a new regression on FreeBSD. We also saw these problems on Go 1.6 once we looked at our old build logs. It's just now documented.

</comment></comment><comment><USER29> vendor directories are no longer optional, which is nice.

Go get now update submodules... I'm honestly not sure what the current hack is for package management, but I assume people are still doing wrappers around go get to pin to commits/versions, (or else building your own repos for funsies), and I'm wondering if that breaks anything.

<comment><USER30> To be clear, vendor directories are still optional to use, you just don't have to enable them by default.

We use a unirepo for all of our Go work, and being forced to use the vendor directory would be a massive headache.

<comment><USER29> My understanding is that there is no longer an option to disable them as a feature as there was in 1.6, though of course you don't have to use them.

<comment><USER31> Yup, and you can always rename vendor/ to _vendor/ if you want to ignore them temporarily.

</comment></comment></comment></comment><comment><USER32> Cool. What's the plan for Go 8? What exciting features are up ahead?

<comment><USER24> SSA for all architectures, then delete the old compiler backend and optimize the frontend which can then assume an SSA backend and do less work. (Currently the frontend assumes a less-capable backend so has to do more work, which actually makes SSA slower)

</comment></comment><comment><USER33> I have some years of experience with python and picking up golang was extremely straightforward.

Sometimes it annoys me a little bit because it's standard lib is much smaller than python's however having it being compiled is more than worth it.

Thanks go team !

<comment><USER34> That's been my feeling for a long time now. After getting spoiled by Pythons enormous standard library, other languages feel incredibly bare-bones and getting things done takes a lot more work. I wish other languages focused more on including lots of library functions.

<comment><USER35> Size alone is only half (at best) of the equation. What makes Python's standard library stand out is the way it is structured and documented.

Consider Java's standard library, which is _huge_. That last few times I did anything in Java, I spent more time browsing the library documentation than coding. Admittedly, I did not know the library very well, if one uses Java all the time, that ratio probably changes. In Python I don't _need_ to know the standard library well, because the way the documentation is written makes it very easy to find what I am looking for.

</comment></comment></comment><comment><USER17> The one thing that really pisses me off about the way Go handled vendoring is that they did it in a way that makes it incompatible with GOPATH. Previously in runC and Docker, we had build hacks that would symlink (or full copy) the current directory into vendor/src/<package> and then set the GOPATH to vendor/. This was compatible with every go version. In addition, many other projects did the exact same thing.

But the way that vendoring works in Go 1.5 and up is that you make vendor not a valid GOPATH and you have to now either create a fake GOPATH and move your current directory into it, or you have to do some symlink stuff within vendor/ that doesn't really work. Why was such a small cosmetic change seen as a good idea? It's needlessly incompatible with previous ways of making vendoring work seamlessly with Go.

I'm hoping that the packaging discussions that are going to be happening over the next few months don't result in a similar decision that "we know best".

<comment><USER20> If anything, the Go people have repeatedly claimed they _don 't_ know best -- because Google famously uses a huge monorepo with all deps vendored, and don't do "package management" as such -- and have preferred to let the community find a solution organically.

Which is also why we ended up in this frustrating profusion of competing tools (Godeps, Glide and many others, plus the messy business that is git submodules) rather than a concerted effort towards a unified solution.

I don't at all believe the argument that they can't design something because they don't need it at Google. They're engineers, after all. You don't need to use a bridge in order to build one. There are plenty of existing tools (Bundler, Cargo, NPM, Cabal) that can also be used as case studies in how to do things right (Bundler, Cargo) or don't do them wrong (NPM).

In my company we use Glide, which is the best solution I've encountered so far, but it's beyond buggy, and struggles with some Google repos that need to be flattened in order to avoid duplicate, conflicting dependencies (glog and pflags, sigh).

<comment><USER17> > If anything, the Go people have repeatedly claimed they don't know best

So why is the defacto vendoring system for the Go tooling incompatible with old Go versions (the "organic" solutions _were_ compatible with Go versions without vendoring support because they were implemented before vendoring support was a thing!)?

The vendor/src hack meant that you could compile with _ANY_ version of Go -- that's important for distributions (and other people who want to build runC and Docker -- put plainly we pin Go versions because of compiler bugs). But no, now we have to use vendor/ which means that now we have to do even more messing around with the GOPATH (which makes rpmbuild even more ugly than it needs to be). _sigh_

<comment><USER20> I can't explain that since I'm not on the Go team. However, it's possible that they also didn't realize this hack was being relied on by people. The fact that you describe it as a hack implies it was never _intentionally_ supported behaviour. Did you bring it up during the development of 1.5?

<comment><USER17> > The fact that you describe it as a hack implies it was never intentionally > supported behaviour.

It's used by the largest Go projects that exist. So if the Go developers didn't look at what the largest Go projects do and take inspiration from that, I'm really not sure what else to say.

A hack that is used by everyone is relied upon behaviour. I wouldn't even call it a hack, it's trying to make Go's obsession with your filesystem actually usable -- why on earth does my compiler toolchain care about how my home directory is structured?

The old method still works, you just have to call the directory something other than vendor/. Which just defeats the whole point.

> Did you bring it up during the development of 1.5?

My experience with Go 1.5 was a lot of other (more serious) bugs, so I didn't have a chance to comment on that particular issue. I'm surprised nobody from Docker said anything though.

</comment></comment></comment></comment></comment><comment><USER36> Elevator description:

      - Open source, 6 years old, backing from Google

      - Nice for concurrency and service implementations

      - Not nice for generic types

      - C like, modern, minimalist, garbage collected

      - Becoming more popular

</comment><comment><USER37> I wish the Clojure compiler was half as fast as Go's :(

I'm not much of a fan of using Go for anything 'big', but I have taken to using it in places where I would have previously used Python (tiny/simple services, housekeeping/utility scripts fired by cron, etc.)

I'd love to use Go at work (amongst many other things), but my employer already gives me a hard time for writing small utilities in Python rather than Java (I refuse to wait for a JVM to spin up just to convert a single file from csv to xml. I simply will not do it, and apparently my employer doesn't consider it worth firing me over).

<comment><USER38> What makes you choose Go over Python for simple services and utility scripts? (I'm just learning Go but would heavily lean towards Python for those things)

<comment><USER37> Off the top of my head:

\- Ease of deployment. It's a standalone binary - I don't have to ensure python and all needed libraries are installed/configured.

\- I like Go's standard library - it usually has everything I need to whip up a basic network service easily.

\- Better/easier concurrency support.

\- It's faster than Python (though that's usually not incredibly important most of the time).

</comment></comment></comment><comment><USER39> Great work,

I am looking forward to recompiling my code to see how things are. I have had my side project running on a set of Go micro services compiled against 1.4 since last year.

What can we expect from Go 1.8?

<comment><USER31> You can read through this thread to see what people want to work on for Go 1.8.

[https://groups.google.com/forum/#!topic/golang- dev/098vr4999...](https://groups.google.com/forum/#!topic/golang- dev/098vr4999Tk)

</comment></comment><comment><USER40> Awesome! Time to recompile RaspChat :D

</comment><comment><USER41> Is Go based on llvm? It doesn't seem like it, but would be curious to know why not?

Isn't this the point of llvm, to separate the "language component" from the "cpu component"?

<comment><USER42> There are llvm (and gcc) implementations of go but main/reference implementation was written from scratch in C and later moved to pure go. IIRC the authors wanted to achieve really fast compilation and a few other things that required them to start from scratch.

<comment><USER31> There was also the matter of figuring out llvm in order to use it. The initial Go compiler was based on the Plan 9 C compiler toolchain, which the designers of Go know well.

One of the other reasons relates to how stacks are handled for goroutines.

</comment></comment></comment><comment><USER43> Nice work

</comment><comment><USER44> The semantics of Go is too ugly. It has no taste.

<comment><USER45> It's also a necessary "evil" to demonstrate that languages should have the right amount of features, no more and tools are part of a language, along with ease of deployment. It's is questionable whether Go strikes the right balance when it comes to features vs "simplicity" though, but it might inspire better solutions in the future. I think MSFT is trying to follow the same path with .net core and its tool chain, I hope they succeed as C# and F# are vastly superior to Go.

<comment><USER46> >I hope they succeed as C# and F# are vastly superior to Go.

In number of features, yes. Everything else and you come off as opinionated. I cannot comfortably write C# from my Linux workstation since all the tools are Windows-first.

C# is a language where everything must be done in classes and inherits a C++/Java school of OOP which I find abhorrent as it tends to favor monstrosities of abstraction upon abstraction. I can almost always read a Go codebase and get a good general sense of what it's doing in a few minutes, I can't say the same about C# codebases, and I have worked with C# for around the same time I've worked with Go.

These things aren't clear cut for everyone the same way.

<comment><USER20> C# in VSCode is really good, and works on Linux. Have you tried it?</comment></comment></comment></comment>


Show HN: Flowlingo – practice a foreign language with tech news - <AUTHOR> https://www.getflowlingo.com/ <comment><USER3> Phone only and also requires sign up before I can even see a list of languages that are available? I'd like to use it but I'm not gonna do it on my phone, and I'm not gonna sign up before if I know my target languages are available.

Also its not clear if this is just some in-line translation of articles and subtitles using google translate? Something else?

<comment><USER4> We list the languages on the website and the app description (also rakoo pasted them in his comment).

Check out @levpopov's other comments about phone #s ([https://news.ycombinator.com/item?id=20097197](https://news.ycombinator.com/item?id=20097197)) and how we handle translation ([https://news.ycombinator.com/item?id=20097026](https://news.ycombinator.com/item?id=20097026)).

<comment><USER3> I see the language description on the site now but it was hard to spot until I looked really carefully. That said, I don't see a way to use this as a web app, only to download it for a mobile device. I know the phone number is for getting a download link but the thing is I do not want to download it.

<comment><USER5> Then don't.

</comment></comment></comment></comment><comment><USER6> <rant> The thing that annoys me about all of these attempts is failing to recognize the impact of irregular forms of the verbs. So - for French - <USER2> the different forms of the verb aller (go) are treated individually. I paid for ReadLang for a while, but this lack of a feature has proven too frustrating.

I would have loved to have an app that runs the text through something like Google Natural Language API ([https://cloud.google.com/natural- language/](https://cloud.google.com/natural-language/)) and then use the results of _that_ for flashcards, noun-phrase translation, etc. Google Translate alone is just not sufficient. </rant>

Of course, I have 10 pages worth of ideas about language learning and none of that implemented. So, kudos for trying to make at least something happen. Let the thousand flowers bloom and all that.

<comment><USER4> Flowlingo dev here. Thanks for the feedback! It's been a while since I've taken French, but one thing we plan on adding is translations of individual words in-context. For example, in Spanish, if you tapped an individual verb, the translation would be properly conjugated in relation to the sentence. We'd love to hear your other feedback, feel free to chat with us in the app (tap "Help" and scroll to the bottom), or email us at firstname.lastname@example.com.

<comment><USER6> I think you would find it difficult to conjugate _the translation_ as the conjugation tables/rules differ between the languages and the mapping is not one of one. For example, English only has 'you' but French has both singular and plural forms. Russian has the declension as well (Именительный, Родительный...)

I think it would make more sense to normalize at the _source_ language as I wrote originally. See also the other comments in the same sub-thread.

As to the other ideas, like I said "10 pages". And a lot of them about the system that really accumulates the knowledge about you to give you the best training. See, for example, [https://solaresearch.org/](https://solaresearch.org/) for academic foundation of that and [https://french.kwiziq.com/](https://french.kwiziq.com/).

But here is a couple of other thoughts. Feel free to contact me if they spark anything:

* Synchronized text and audio (e.g. Amazon Whispersync). Has been done by many people but was usually done by hand (was too expensive) or by text-to-speech on the fly (which was awful at the time); yet it was always welcomed. TTS is now much better, but also maybe some work can be pre-calculated (rather than immediate).

* Use the Google API mentioned before (syntax tree) to extract sub-sequences (named entities, stable expressions, etc) and present those instead of individual words; this helps to see them over and over within different sentences. Even showing a verb and its dependencies is useful. This also allows to include grammar references for tenses/irregular verbs/expressions, etc.

* Dictionary entries by the normalized form (lemma) of the verb, noun. Flashcards that first show the multiple contexts line of the same verb in the same form, then same verb in other forms and only then translation.

* Color code the text being read by word type. So all verbs as red, all nouns as blue, all adjectives as green, etc. Also see [https://langliter.com/](https://langliter.com/), they do (and lemmas) that as "highlights".

* Color code the text by words known. Green as those learned already in that exact form. Yellow as those learned in different form (different tense, different conjugation, etc). Red as those unknown.

* Pre-flash. Analyze text (small chunk), compare again flashcards and compile the list of words/expressions and let person practice them first. Then read the actual text with the hope to increase the speed of comprehension.

* Slightly further along are things like "Words of the day" emails that analyze your flashcards to give you more words in the same category (arm+leg=>offer head). Or touch typing game using your own flashcard words. Or conjugation table training using collected context.

<comment><USER7> Pedant: English has y'all and 'all yall', both plural forms of 'you'.

<comment><USER6> Well, the pedantry can goo all the way down too!

These two forms are a dialect (variation?) of English, mostly used in Southern USA.

Also, if I remember my John McWhorter correctly: 1) "y'all" refers to a group majority (e.g. a group of 10 people within the global collective of 20) 2) "all y'all" refers to the complete set (all 20)

Both of these are contextually narrow than "you" which can refer to a single person or to an undefined sized group.

A possibly better example would have actually been "thou", an archaic singular 2nd person pronoun.

However, all of this is just further proof that the equivalence in conjugation is a harder problem that could be imagined. So, thank you for contributing a good example.

</comment></comment></comment></comment></comment><comment><USER8> I'm a little confused about how this works, and the site doesn't answer my question readily.

What is the source? The "Browse any website" claim implies that you're translating on the fly and then I learn by translating back to English. Is this the case?

<comment><AUTHOR> Hey, thanks for the feedback on the site being confusing. Will update to make it more clear!

All content is native content in the foreign language you are learning. Suppose you are learning Spanish - we'll show you a feed of popular news articles originally written in Spanish so you can practice by reading those. There is machine translation built in for words or sentences that you might need help with. We'll even automatically create flashcards for you for words you look up, to help you review with spaced repetition later.

When we say "browse any website" we mean that Flowlingo can be used as a general purpose browser - you can navigate to _any_ website in Spanish and use the same learning tools to practice!

<comment><USER8> Got it! Thank you for clarifying.

</comment></comment></comment><comment><USER9> Productive x2! Love it. For second generation immigrants and I'm sure many others, learning a new language often comes while watching foreign language films, sometimes with subtitles. This seems like a more productive way to not only learn the content but also the language.

<comment><USER4> I'm glad you like it! Feel free to send us feedback any time (email@example.com or tap "Help" in the app and scroll to the bottom for chat).

</comment></comment><comment><USER10> Been looking for exactly this. Was actually going to write a script that grabbed paragraphs of random Spanish news and emailed them to me with the English translations beneath them every morning so I could get some practice every morning in my inbox.

Nice!

</comment><comment> enahs-sf This is a fantastic idea. I learned Swedish as a child in a very similar fashion through watching tons of movies in english with Swedish subtitles and reading. Having this for digital media seems invaluable.

<comment><USER11> For anyone learning Swedish as an adult, consider joining the Kodapor groups on Facebook.

</comment></comment><comment><USER12> I like it. I like how I can click words or phrases in the article and it translates them directly. The video section es muy bueno también. Gracias por tu ayuda!

<comment><AUTHOR> Gracias! Feel free to send us feedback in the app, any time (just tap "Help" and scroll to the bottom)

</comment></comment><comment><USER13> Just tried it out. Seems like a nice idea and can see how it might be useful.

However, for the Android version in Chinese, it's very difficult to get the translations of the words - it defaults to translating entire lines. Also, when you try and adjust the amount that is being selected, if it hasn't finished reading out the whole line, you get two chunks being read simultaneously.

<comment><AUTHOR> Hey, thanks for the feedback. We definitely need to improve the app for Chinese - word tokenization is much harder here so we don't handle word selection well right now. Our app is most polished for languages like Spanish, French, German, Italian, and Russian.

Stay tuned though! We definitely want to make it work just as well for Chinese in the future!

<comment><USER13> I thought that would be the case. I tried it in French and I understood the app much better.

Though one other thing, it didn't seem that clear how to add words to flashcards. I later figured out that it automatically adds them when you click translate, but might be better to have an option to add them or not? Or at least a little notification saying "flashcard added".

<comment><AUTHOR> Great feedback. We plan on adding both - a notification, as well as a button to add and remove flashcards after tapping.

</comment></comment></comment></comment><comment><USER14> Cool idea, I like the thought behind this app. Having tried a lot of other language apps, and not getting much use out of them but learning how to play a game (even after finishing), seems definitely more immersive imo. Just downloaded the Android version, will give it a whirl. If you have a support forum, would definitely give feedback and potential bugs.

<comment><USER4> Thanks! Feel free to email us feedback at email@example.com or contact us in-app by tapping "Help" and scrolling to the bottom.

</comment></comment><comment><USER15> The app doesn't work very well on iPhone X devices (due to the notch)... Once that's fixed I'll give it a try properly!

<comment><USER4> Thanks for letting us know. Can you email us firstname.lastname@example.com so we can investigate?

</comment></comment><comment><USER16> I like this conceptually, as I think media immersion is a good way for an intermediate/advanced language learner to continue with their progress; however, I can't find a way to use this on my laptop. Your tagline says:

"Infinite content on mobile, tablet, desktop."

However, I only see mobile versions available as downloads. How do I use it on the desktop?

<comment><AUTHOR> You can use Flowlingo on desktop/laptop at [https://reader.getflowlingo.com](https://reader.getflowlingo.com) \- the mobile apps are definitely the most polished at this point which is why we'd prefer people start there first (we send a follow up email after registration with desktop info). Feel free to message us feedback/bugs at any time (tap "Help" and scroll to the bottom). Thanks!

<comment><USER17> Hi. I just tried doing that with English -> Japanese. It gave me a prompt that said that that language is only available on mobile. I wanted to go back but it would not let me -- and it takes me back there still if I refresh the page (to the original link). Oh no! :D

</comment></comment></comment><comment><USER18> Reading the reviews on Google Play, it seems there is some in-app purchase, but on the website, I see no indication paying is needed at some point ( sounds like all is free actually when reading the website) so I am confused...

<comment><AUTHOR> Almost everything in the app is free - including the tech news. There is a premium subscription to help our tiny team of two fund the development. Subscribers can practice with books (Flowlingo works with any .ePub file), and get more videos (in languages where we have a video library).

</comment></comment><comment><USER19> Nice!

I had a similar idea, learning a language with Twitter.

You'd select a profile and it would crawl all Tweets and create a learning plan from it.

The idea was to learn how people actually talk and not some random DuoLingo stuff.

</comment><comment><USER20> On an Android. I like the idea, and am currently studying Korean. The app is unusably slow, and hangs often. If you want my phone environment, feel free to pm.

<comment><USER4> Thanks for letting us know. I'm not sure how to PM someone. Email us at email@example.com - we'll investigate and make sure it's fixed.

</comment></comment><comment><USER21> No ToS, no privacy policy, no physical address, no authors' names... and it wants to roam with me inside my pocket?!?

<comment><USER22> Privacy Policy: [https://reader.getflowlingo.com/privacy.html](https://reader.getflowlingo.com/privacy.html)

Physical Address: 2443 Fillmore St #380-8214 San Francisco, CA 94115

Authors' names: Matt Kelly, Lev Popov

<comment><USER21> Great, thanks!

With growing concerns related to both privacy and malicious mobile apps, maybe it would be a good idea to make at least an "about" page telling who you are and what info is collected.

<comment><AUTHOR> Flowlingo dev here: Thanks for the suggestion - all this info is linked from app store pages (I'm guessing this is where the person above found it). Having a separate about page on the website is a great idea as well, we'll add that.

</comment></comment></comment></comment><comment><USER23> Only accepting US phone numbers for a non-region-specific app in [current year]?

<comment><AUTHOR> Hey - the phone number is just a convenience if you want to text the app store link to you phone (from the desktop landing page). You don't need a phone number to use Flowlingo, and we don't ask for anything other than email when you register.</comment></comment>


Meetings – A culture of excess that hurts our productivity and morale - <AUTHOR> https://hackernoon.com/meetings-a-culture-of-excess-that-hurts-our-productivity-and-morale-464a5797c799 <comment><USER2> Calling a meeting is almost always the worst way to accomplish something.

IMO it should only be done when you need to make an announcement or poll feedback from a group of people you don't usually interact with or who are busy.

If you have a question for a specific person, don't call a meeting; just use the easiest channel to contact that person and publish the answer.

If you need help with something business critical, don't call a meeting; do enough research to formulate an intelligent question and ask that question.

If you need to learn about something but it's not urgent, or even if it is urgent but not for anyone else, find the best person to learn from and ask them for a 1 on 1 at their most convenient time.

<comment><USER3> What about as a way to make sure the different teams know what everyone else is doing?

<comment><USER4> Your post just made me shudder. There's nothing I can say or do to stop my PM from calling those exact meetings. I've gone so far as to say, "I'm already working with [dept rep 1] and [dept rep 2], they're both being extremely responsive and actively working on solving this problem with me. There's no need to take action." The immediate response is to call a meeting, bring in extra business people, and call it a "working session" that ultimately slows progress and increases confusion because now the tech people have to continually translate what we're doing into non-tech speech.

<comment><USER3> I don't usually have to go to these meetings, but I find it very convenient to have at least one person on the team who can let people know when they are reinventing a wheel that was already implemented by another team.

</comment></comment></comment></comment><comment><USER5> What's that saying? You almost always have to get approval from your manager to spend $500 on a tool, but call a meeting with 20 people and no one bats an eye.

<comment><USER6> I think partially this has to do with the lack of overtime pay in a lot of companies. There is no direct cost in wasting people's times. When I started my career in Germany we had a strict 35 hour week. There were almost no large meetings and we spent most of the work week actually working. Despite this the company was very successful and efficient.

<comment><USER7> I'm now a contractor charging by the hour in a company I used to be an employee in (no OT). It's amazing how few meetings I get invited to now compared to my previous employment. I just get left to get my stuff done and I'm kept up to date through my own efficient means of finding stuff out (i.e asking the correct people). I would say I'm at least 3x more productive now and no worse off.

</comment></comment></comment><comment><USER8> Some elements that can help are:

\- an agenda

\- sending an e-mail with the meeting goals or slides in advance

\- a moderator that keeps the meeting on topic

\- marking non-essential people as optional

\- minutes, or recording the meeting

<comment><USER9> I avoid meetings if I can but if there is no agenda I flat out refuse or volunteer to prepare the agenda myself. I will not step foot in the room without one.</comment></comment>


2019 Annual Decentralized Apps Market Report - <AUTHOR> https://www.dapp.com/article/dapp-com-2019-annual-dapp-market-report <comment><AUTHOR> Some highlights:

1\. 9 leading blockchains contributed 3.26B transactions with a total transaction volume of $10B — increased by 58.5% compared to 2018. 2\. 3.11M total active dapp users (only 1.48M in 2018) and 2.77M new users started using dapps this year. 3\. 1,445 new dapps entered the market, 690 from Ethereum and 411 from TRON. 4\. DeFi has the most impressive user growth. The number of DeFi dapp users increased by 610% and the transaction volume has increased by 251%.

</comment><comment><USER2> Thanks for sharing!

<comment><AUTHOR> You're very welcome!</comment></comment>


"unhackable" T-mobile Austria stores database credentials to in their GitHub - <AUTHOR> https://translate.google.com/translate?sl=de&tl=en&js=y&prev=_t&hl=en&ie=UTF-8&u=https%3A%2F%2Fwww.golem.de%2Fnews%2Ft-mobile-oesterreich-klartextpasswoerter-und-amazing-security-bei-t-mobile-at-1804-133713.html&edit-text= <comment><AUTHOR> original article is in German: [https://www.golem.de/news/t-mobile- oesterreich-klartextpassw...](https://www.golem.de/news/t-mobile-oesterreich- klartextpasswoerter-und-amazing-security-bei-t-mobile-at-1804-133713.html)

The original thread has interesting lessons in how not to engage with angry customers on social media. I've seen such attitude more often in Austrian/German companies since if you do this in the US it often costs you the job. In Germany they often joke about "Servicewüste Deutschland" which translates to service-desert Germany (e.g. German-speaking countries consumers know their service is usually terrible compared to other places).

The statement from Käthe is even more surreal considering the latest news linked above.

Funny that if you're at the heart of a security PR disaster you almost certainly find yourself at the receiving end of a free penetration test conducted by the public. (... so maybe it was all planned and they just didn't want to spend any money on security, LOL.)

T-mobile is not an isolated cases in the mobile operator space! Sadly customers don't know until it accidentally ends up being in the news ... What makes it especially outrageous (e.g. that mobile operators neglecting security is a bigger deal than e.g. Aldi website), because the operator who provides the "the last mile" to the consumer for going online. So they enjoy more trust than other sites.

elecom operators have in general by far worse security (and engineering) knowhow than xyz random website. Hell, most crappy wordpress blogs have better security than what VF/T-Mobile & Co serves their customers (and being better is not even hard). Consumers think the Telecom operatos have very good knowledge/experience to secure customer data. But they don't. They are just integrating 3rd party products and so assume they don't need much specialist know-how. Looks like they're only just waking up to reality.

The case w/ @TMobile shows nicely how firms often think they're "the best" \- which is very easy when one doesn't have the ability to judge their own competence/weakness. Classic #ImposterSyndrome.

I don't think blame should go to the social media team (although they are in need of urgent training) but blame should go to the company's mismanagement of their technology and fraudulent claims they make to their customers. Heads should roll IMHO, but certainly not in the lower ranks.</comment>


Ask HN: Psychology research on value perception of different pricing models? - <AUTHOR> I asked this over at ask.metafilter, but I thought it'd be at least as valuable to ask here too:
I'm developing a service that I'm going to sell as a subscription with additional top-up payments as required. The idea of a subscription is really nice, as it provides a guaranteed base income per customer. However, the total value of a customer is dependent on the length of time they remain a customer (I know, obvious).
For this product, the subscription payment is a credit towards the use of the service. Commonly (such as in the cellphone subscription model), these credits are "use it or lose it" on a periodic basis. From a business perspective, I understand how the subscription designer would like to be able to "capture" the revenue as quickly as possible and have a handle on the profit level per customer. Also, the customer often has to "hit a hole in one" to maximize their value from the subscription pricing.
However, another model is possible - where the customer's unused credit accrues over each subscription period (this is the "rollover minutes" thing on steroids). This will result with the customer seeing that they have, say, $150 in "potential value" associated with the subscription - an amount many times more than the subscription amount, and something they will lose if they decide to cancel the service.
I'm interested in research into how people react to these kinds of situations, and whether there is a "breaking point" at which the customer decides that the potential value has become a liability rather than a positive thing.
NB: I don't see the pricing model as being a substitute for a great product, but everything matters. <comment><USER2> I seriously suggest reading "Predictably Irrational," which goes into the psychology of pricing and the behavior of buyers in very surprising ways.

<comment><USER3> Seconded. No book has made me more conscious of my spending habits!

</comment></comment><comment><USER4> I've never priced a product or service myself, but thinking about the roll over credit model from the consumer perspective I see a potential problem. If a subscriber's usage never exceeds the monthly minimum, then that subscriber is going to roll over credits every month and accumulate credits they will never use. The value of those rolled over credits that will never be used will highlight to the subscriber how much money they have paid for credits they didn't use. No one likes to know they are wasting money by paying for more than they need.

I don't know what your service is, so I can't reason about how subscribers would use it from month to month, but I would think you could control the amount of roll over credits accumulated by setting the monthly minimum low enough that most subscribers go over it and use accumulated credits.

<comment><USER5> This is a great point. Without some sort of expiration system, keeping credits will probably convince the person to ultimately drop the service.

</comment></comment><comment><USER6> Predictably Irrational is the fun intro, but a better overview of the subject is Poundstone's _Priceless - The Myth of Fair Value (and How to Take Advantage of It)_. It's a newer book and doesn't focus so much on Ariely. I just took a behavioral economics class last semester and kind of feel like Priceless is giving me a better feel for the field than my actual class did.

I'm actually very interested in this problem space and will be thinking about it in my spare time, so email me if you want to discuss it.

</comment><comment><USER7> Be sure to consider the accounting & customer service costs of whatever model you choose. A one-time fee is is easy to administer, while a recurring cost is an order of magnitude more complex, and recurring costs with roll-over and top-up ability yet another order of magnitude more complex-- And not just from your side, but the mental burden it inflicts on the user. Recurring costs, no matter how small, always present a greater mental barrier to purchase than a one-time fee.

<comment><AUTHOR> This is a great point. I'll need to talk to some accountant-types before going forward with this so I can understand what I can and can't book as revenue in this model.

It seems clear that spent credits are revenue, but unused credits live in a kind of gray area, waiting for something to happen.

There may have to be an expiry, but I'll make it distant enough that it's unlikely to be hit (i.e. a year). If people look like they're going to hit that expiry period, I'd rather tell them "you're giving us money for something you don't seem to use, maybe it's time to cancel".

</comment></comment><comment><USER8> I can't point to any research, but it seems the bias lately is "keep it simple", which would point to your second option.

You can add a simple "expiring credit" function like Skype has (if your account is untouched for a year, they tell you to begin using it, however little, or lose it) to keep your books sane, and a service to transfer money out for e.g. a $10 fee.

<comment><AUTHOR> This is a good point.

There are a few examples like this where people buy credits and they expire at some point in the future. The same can be done with a subscription credits service by tracking aging Accounts Payable.

</comment></comment><comment><USER9> You're looking for a field called Behavioral Economics. There's a lot of research that's being done in this area right now. Dan Ariely's book, "Predictably Irrational" is a great introduction, and he was a good bibliography for further reading as well.</comment>


New D language pumps up programmer productivity - <AUTHOR> http://www.linux.com/feature/124320 <comment><USER2> D is a great "systems language", but Walter is marketing it wrong: he should have catered to influential and growing community of C/Linux devs, as opposed to dying breed of corporate drones who do C++/Windows. I have been one of those drones myself, and they aren't interested: they're moving to C#/.NET. DigitalMars does not even have a typical Linux-friendly download, instead there is a zip with mixed bag of Win/Linux binaries, WTF?

The name sucks too: it's not search engine friendly, try googling for "exceptions in D" for instance.

Sorry for the rant. I just want D to succeed.

</comment><comment><USER3> It's certainly a step up from C++ or Java. Notably, it has anonymous functions and lexical closures. I'm not a big fan of static typing though, especially with explicit type declarations, but I'd certainly like to see D replace C++.

If speed is a concern, everybody's favorite language benchmark[0] shows D being about 20% slower than GCC. Within 100% of GCC are implementations of ML, Ocaml, Haskell, Common Lisp and Scala.

So what should you use if you want speed with your power? My first recommendation would be a good profiler.

[0] [http://shootout.alioth.debian.org/gp4/benchmark.php?test=all...](http://shootout.alioth.debian.org/gp4/benchmark.php?test=all&lang=all)

<comment><USER4> That's the Digital Mars D compiler being benchmarked. I bet the GDC compiler is really, really close to GCC's performance since it uses the same optimizers and backend.

<comment><AUTHOR> I think it's within 20%.

</comment></comment></comment><comment><USER5> If Paul and Walter could merge their two efforts, we would have a programming language called "DArc".

I'm planning to use C++ and Python for my startup this year. It's a little interesting to think about using D and Arc instead.

</comment><comment><AUTHOR> There's a D book out (finally): <http://news.ycombinator.com/item?id=100391>

</comment><comment><USER6> Is anyone here actually using it for anything?

<comment><AUTHOR> I'm picking it up now for one my company's products. We're doing some encoding that integrates extant C headers; I figured this would be a great time to pick up D.

<comment><USER7> What does it give you that Ruby doesn't?

<comment><AUTHOR> That remains to be seen. I'm doing some pretty hardcore video encoding and processing that will use and extend some existing C libraries. I was tempted to just use the FFI to call them from Ruby (which I still may end up doing), but I figured that this is a great chance to test-drive D.

<comment><USER7> Sounds like your working along the lines that I am, except I am using (gasp) c++. Are you doing H.264/263 or some custom stuff?

<comment><AUTHOR> Interesting. My stuff is pretty niche and custom. No H.264 for me. :)</comment></comment></comment></comment></comment></comment>


Ask HN: How should I develop my CMS / Back end? - <AUTHOR> I've been working on a backend in PHP for the past year, expanding and changing it every time a customer needed new things that were not previously covered by it. I was using Laravel because not only I felt comfortable with pbp but also I really liked how easy it was to implement new functionality.
Now the time has come where I have to step up a notch, change the backend design and extend it a lot further to support an incoming wave of new clients that expect something more than what I'm currently offering.
I've been digging HN a lot and reading about everything that could help me here and I opted for using GO for the backend. The idea would be to write all the functionality on GO, users, db and such and write the frontend with AngularJS connecting it through a rest-like API. I don't have right now the time to learn GO and rewrite everything I made on PHP, but I plan on doing it in the next 6 months.
Right now I'll be writing the backend again in Laravel I think, but only the functionality. My idea is to make an API and have the frontend with AngularJS connect to it using post/get to do everything. This way I can isolate the backend from the frontend and eventually rewrite the backend in go without needing to touch the frontend in Angular.
Does this make any sense? Is this, a good way to approach this although its maybe not the best one? What are your thoughts? Thank you! <comment><USER2> What motivates you to rewrite it in Go? / What benefit do you expect from it?

Moving things towards a clear API is a good step towards replacing a back-end. I won't comment on the choice of Angular because I don't know enough about front-end development and it really depends on the type of product what fits well.

<comment><AUTHOR> Well, after some research it seems Go is pretty fast for starters. The backend I'm building is expected to be accessed by more than 10k people on a daily basis so it has to be robust. One of the other features I'm really looking forward is the built-in web server it offers. Basically I heard it's strong, scalable and neat for a service that needs a lot of requests per day, so it seems like a good idea to give it a try.

<comment><USER3> Those are all great reasons to try it on a different project, and terrible reasons to rewrite your functioning, complete software.</comment></comment></comment>


'Faster-Than-Light' Neutrino Team Leaders Resign - <AUTHOR> http://news.discovery.com/space/opera-leaders-resign-after-no-confidence-vote-120404.html <comment><USER2> I work in this field (physics journals) as a developer. When this paper came out the authors stressed deeply that the result could be invalid. They said that it needs further exploration. The press blew it out of proportion, and the scientific community was understandably skeptical. It was further explored and found to be an erroneous result, but I am deeply saddened that these scientists have received such a backlash that they were forced to resign.

What would have happened if the perihelion precession of Mercury's orbit was ignored as an erroneous result? We would have lost key evidence for general relativity. What if Becquerel put his photographic plate and uranium rock in a drawer, saw anomalous results, and did not report on them on fear that perhaps somehow the plates were exposed in some other manner?

The point is that barring gross negligence or fraud, scientists should be encouraged to share results that perhaps are inexplicable or against current thinking. These are they types of results that have opened new fields of science in the past.

<comment><USER3> "... scientists should be encouraged to share results that perhaps are inexplicable or against current thinking"

Exactly. I very much appreciated the openness here, and was frankly more interested in how the issue was going to be resolved than in the FTL anomaly itself.

I fear that the OPERA fallout will constrain researchers to only spoonfeed us closely vetted, PR-sanitized, approved-by-committee results, with little visibility into the processes that produced them.

</comment></comment><comment><USER4> Along with everyone else, I agree that scientists shouldn't be punished for being wrong.

HOWEVER, it appears that the mistake brought to light existing frictions within the group, which is the driving force behind these resignations. From the article: 'Autiero ... told Nature that he did not resign because he made mistakes in the measurement. Rather, he and Ereditato ... "felt that tensions that had always existed within OPERA were becoming impossible to bridge."'

<comment><USER5> Thank you for noticing this. I'm beginning to think nobody else actually read the article.

</comment></comment><comment><USER6> I hope that the lesson learned here isn't to never make mistakes, or worse still, that if you do make a mistake you need to cover it up.

There is also a third, even more frightening potential lesson here - if you arrive at a surprising result, assume you are incorrect and sweep it under the rug.

Hopefully that's not what people will take from this. Hopefully all they will take from it is to always report new science with a great deal of qualification and skepticism. It won't make headlines as well, but I think we've seen time and time again that the short and hyperactive media news cycle can't handle modern science.

<comment><USER7> I was listening to an interview on fresh air with baseball catcher Brad Ausmus today. He said something I thought was pretty insightful, and relevant to the science and people's reactions towards failure:

DAVIES: And when somebody could take a little berating what would you berate them about?

Mr. AUSMUS: Usually when I was berating someone it was because they were pitching what I would call scared. They were trying to avoid contact or they were afraid that the hitter was going to hit the ball. In sports in general you can't be afraid of failure, but in baseball there's so much failure you really can't be afraid of it. So the only time I would berate a pitcher or get on a pitcher would be when I felt like they were pitching scared on the mound and that they were trying to avoid contact because they were afraid of what was going to happen. So unless you were doing that like I said I general rule was to walk away with them feeling they could get out of that situation.

I hope popular and public reaction to scientific failure doesn't give way to "researching scared".

</comment></comment><comment><USER8> Difficult to say exactly what is going on here without more information, but it seems that the issue here is less about the mistake made, but more along the lines of how the mistake was made. In other words, the mistake happened in such a way to call into question these scientist's competence in the eyes of their colleagues. There is a subtle difference. It's one thing to get something wrong, it's another thing to get something wrong by what appears to be "a rookie mistake".

We cannot forget that science is still a human process, one that relies so much on trust.

</comment><comment><USER9> My first reaction to this is that it is bad. Unlike other fields, you shouldn't be punished for making a mistake in Science. Science is driven off of mistakes and being wrong, and it's the opposite of everything else. I know the article says that there were other issues that led to this resignation, but just the fact that they've resigned has changed this scenario from being an exemplar of science to something muddy and mundane.

<comment><USER10> True, science is driven off of mistakes. However, it's driven off of _novel_ mistakes.

In my own research, I've had experimental results that violated the second law of thermodynamics, showed nuclear fusion at room temperature, and indicated that the strength of the strong force was could be controlled by shaking it. If I published a paper every time I had results that disagreed with known science, I'd have more papers than Feynman.

Of course, the first one turned out to be a bad power supply and the second one a busted motor. There's no science being done there since these are exactly the results one would expect from experiments with those pieces of equipment. As for the third one, I don't know yet, but I already have a couple of good leads on where the problem might be. If I can't find anything, I'll publish the results, but there's a lot of things I need to test before that happens.

As a matter of personal opinion, the vote of no-confidence was probably overkill and the resignation not necessary. Science does need to publish the mistakes so that other scientists can learn from it. Heck, I learned some bits from LIGO's problems with RF a few years back. I think most of the frustration is just coming from the fact that no one's learned anything new from this mistake.

</comment></comment><comment><USER11> No one is being punished for being wrong.

From the article, the problem with the leaders was in how they handled the management of the team and the publicity of the announcement. You know there are problems when many of the collaborators asked to be left off of the paper; insufficient experimental checks were done (according to some team members); some of the team members heard about the results from the press release rather than from their colleagues; and so on.

The team also did not ask them to step down. The internal vote of 16-13 was insufficient to have them removed (2/3 majority required). So they really did step down on their own.

And in the end, "science" worked.

</comment><comment><USER12> I understand the embarrassment, but this isn't how science is supposed to work.

If we can't have glorious failures, we can't have glorious successes.

<comment><USER8> Well, that's kind of the point. It seems that enough of their coworkers believe that this wasn't even a glorious failure. It was a dumb failure (in their eyes).

</comment></comment><comment><USER13> Next time someone tells me "scientists are always eager to disprove existing theories", I'm going to call BS. That may be what _science_ is about, but its practitioners are only human.

</comment><comment><USER14> Weird time to just leave maybe he found something out that no one else knows. If he didn't and didn't share it in order to sell the idea or finding it would be a great excuse. If not walking away from the biggest scientific discussion in year is just crazy.</comment>


Tesla Autopilot steered into a stationary object again – the driver is suing - <AUTHOR> https://arstechnica.com/cars/2018/10/man-sues-tesla-says-autopilot-steered-him-into-a-stalled-car-at-80-mph/ <comment><USER2> "the car was incapable of transmitting log data to our servers, which has prevented us from reviewing the vehicle's data from the accident"

They usually defend themselves with the logs. How mysterious they weren't available here.

</comment><comment><USER3> Does this happen to other cars with auto pilot? I am just curious what the fixation with Tesla is. I see a seemingly unending stream of articles on everything Tesla does, but I have not seen a single article about the other car manufacturers having similar issues. Do other car manufacturers not have similar auto pilot features? And if they do, do they just not have accidents?

<comment><USER4> _I am just curious what the fixation with Tesla is._

I'd wager that the issue is that Tesla brands a glorified adaptive cruise control system as _Autopilot_.

</comment></comment><comment><USER5> People just don't seem to understand the distance between the human mind and AI... they are still miles apart.

<comment><USER6> How much AI do you need to avoid solid objects in your path? With the proper sensors, that shouldn't be a difficult problem? Without the proper sensors, or just with cameras...

<comment><USER7> We don't have proper sensors and you still need a classificator to distinguish wether the obstacle straight ahead is on the lane or not since the road isn't necessarily straight

</comment></comment></comment><comment><USER8> Why does Tesla allow Autopilot to be engaged at speeds above the limit? (I'm assuming that 80MPH is not legal there.)

<comment><USER2> "I'm assuming that 80MPH is not legal there"

Not in Florida, but it appears it is legal in parts of the US. Also from what I've seen it's pretty typical in Florida.

[https://billingsgazette.com/news/government-and- politics/new...](https://billingsgazette.com/news/government-and-politics/new- law-will-increase-some-highway-speed-limits-to- mph/article_b6a9e81b-b352-5860-be18-31d094d4910b.html)</comment></comment>


MPAA Exec: Only We Can Make Content That People Want - <AUTHOR> http://www.techdirt.com/articles/20120314/14022218109/mpaa-exec-only-we-can-make-content-that-people-want.shtml

<comment><USER2> What the MPAA fails to understand is that the harder they try to control content, the faster it's going to slip through their fingers. Instead, they need to embrace digital and find new revenue models beyond the theater and the DVD. They screamed and cried about VHS and DVDs and made money when they finally embraced the newer technologies. It's time to move on from punishing your customers and making it easier to use their content in online channels more easily. The idea is to get people talking about your content and sharing your content, and then they buy your content. The MPAA and RIAA are right that people do want what they make, but they have to make it easier to buy the content than to steal it, and so far by fighting as hard as they can against the Internet, they have made stealing the easier path for many people. More fool them.

</comment><comment><USER3> Yup, nobody buys b-movies, documentaries or anything like that. People simply only wait for "MPAA-Approved" content to come out because it will be the only thing ever to be worth purchasing. Things like 21 jump street are so good in fact that my unworthy eyes won't even go see it.

</comment><comment><USER4> Awfully rich coming from an entity which makes absolutely no content whatsoever.</comment>


Firefox 3 Beta 4 is 5x faster than IE7, 3x faster than FF2 - <AUTHOR> http://blogs.zdnet.com/Burnette/?p=548 <comment><AUTHOR> I'm as impressed by this update as I was by the recent Safari release. FF3 is looking really good.

</comment><comment><USER2> But how many ways does have of hanging or crashing?</comment>


Framer Web - <AUTHOR> https://www.framer.com/ <comment><USER2> For people who still remember the frameset web, "framer web" sounds like a weird wording.

</comment><comment><USER3> Does this also use WebAssembly + WebGL like Figma?

<comment><USER4> Framer is "just" HTML/CSS/JavaScript. This means you can also do things like embed (moving) GIFs, videos and use (almost) all browser APIs in Code Components.

<comment><USER5> That'd heavily limit the perfomance optimizations that can be done, which is pretty crucial for a product like this.</comment></comment></comment>


The complex linguistic universe of "Game of Thrones" - <AUTHOR> https://www.economist.com/news/books-and-arts/21725752-dothraki-and-valyrian-are-most-convincing-fictional-tongues-elvish <comment><USER2> This article oddly gives no credit to the actual author of the books, which the show tracked faithfully for several seasons.</comment>


A paper's central finding was based on polling that probably never happened - <AUTHOR> http://fivethirtyeight.com/datalab/as-a-major-retraction-shows-were-all-vulnerable-to-faked-data/ <comment><USER2> The incentive system in science is immensely screwed up. Researchers are rewarded not for high quality work flows, reproducible results, and solid methodology but for neat, linear stories with a simple high impact result.

Imagine that a scientist designs a very intelligent experiment to test a plausible hypothesis - she has an excellent plan to analyze the results (pre- registered, to avoid p-value hacking) - and after doing the experiment, she finds no evidence of the effect that she was looking for. Why should the result (which is the only thing the scientist is not in control of) determine the reward given to the scientist? Funding should be given to investigate a particular phenomena, _not_ to find high impact results.

<comment><USER3> The reason funding goes to those that find 'good' results is the same reason why funding goes to those that start successful start-ups. Even though both parties probably have less control over the outcome than they think the _perception_ is that they do and that betting on them again is a better bet than betting on someone that did not succeed to score.

That's how we're wired, we simply like success stories much more than that we like stories of failure.

<comment><USER4> Just world?

<comment><USER5> False inherencies are the staple of those that wish to understand the world such that they might exploit it. If they weren't prepared to demonstrate that the pursuit of a solution was necessarily a fool's game then they'd have to give an actual shit.

</comment></comment></comment></comment><comment><USER6> It's a little hard to tease out from this particular article, but the amazing thing is that the canvassing actually happened: dozens of volunteers talked with hundreds of people at 22 minutes for each conversation. Easily thousands of man-hours of work. But the grad student running the study didn't do the easy part, hiring a survey company to poll and measure the before-and-after attitudes of the people being studied.

It's one thing to get data and then fraudulently change it to fit a story; at least then other people can go back and un-do the damage. It's a different thing to not do anything at all, completely make up data, and waste all that hard work.

</comment><comment><USER7> Here's the scary part:

      As Peter Winker, an economist at the University of Giessen
      in Germany who co-edited a book about poll fraud, put it in
      an email: "If the faker would have been a bit cleverer in this
      procedure, I doubt that the fraud would have been found this way."

</comment><comment><USER8> Even when data isn't outright fabricated, it often seems that studies like this are looking for a predetermined outcome that will reinforce the preconceived ideas of the authors. I feel so skeptical anytime a study is published that purports to show the truth of some idea that people would really _want_ to believe ("if only they just _met_ a gay person it would change their mind.")

<comment><USER9> _> it often seems that studies like this are looking for a predetermined outcome that will reinforce the preconceived ideas of the authors._

Isn't this the definition of how science _should_ work. 1) Formulate an hypothesis, 2) design an experiment to prove it 3) and then run it rigorously and accept whatever is the result.

This case (and many others) failed 3) but everything else seems more than natural. Physicists smashing particles at the LHC were also trying to "reinforce their preconceived ideas" of how particles work. They have the standard model and they want to validate it where possible.

<comment><USER8> I think the problem is that it takes diligence to design an experiment that is not biased towards the desired result.

I also think it's a systemic problem of positive results being far more rewarded (in terms of funding, prestige, etc) than negative results, which gives even more incentive to bias the result (intentionally or unintentionally) towards the positive, satisfying outcome.

Imagine you have two social scientists, A and B. Scientist A publishes a positive result that resonates with people; it fits the social and political climate of the day. They give TED talks about it, and the result is reported in newspapers. Later experiments are unable to replicate the result, maybe because the original experiment was a little biased somehow, but nobody can say for sure and there is no scandal because there was no fraud. Scientist B is more rigorous in their experimentation and their work fails to demonstrate a hypothesis. They either publish the negative result, or don't publish at all.

Which scientist will have advanced their career more? I think that is the problem.

<comment><USER9> Yeah, but then the problem is that the experiments are crappy not that the hypothesis generation is at fault. You used social scientists and I used physicists and that is telling. The social "sciences" are often far from scientific. If a physicist suddenly goes bonkers and claims that space is filled with ether he can't go very far because he can't generate a spurious positive result in favor of his crazy hypothesis.

<comment><USER8> I used social scientists because that is what this article was about and what my comment was about. I agree that in physics (the hardest of hard sciences) it is harder to fall prey to this kind of false positive result.

</comment></comment></comment></comment></comment><comment><USER10> There should be a Github for Academia where scientists open source their data & formulas the use to draw conclusions - people could comment and annotate on specific parts, fork & create pull requests, and file any issues they might have.

<comment><USER11> There is widespread provision of data and software on computing science papers in academia. It's currently a piecemeal approach, which is a problem, but here's an example of how things are changing:

[http://conf.researchr.org/track/pldi2015/PLDI+2015+Artifact+...](http://conf.researchr.org/track/pldi2015/PLDI+2015+Artifact+Evaluation)

Universities all over the world are working on repositories to store electronic resources such as data and code for the long-term. This is non- trivial, as data may need to be available for decades or even hundreds of years. Github, by contrast, has been around for 7 years.

Regarding the idea of organising research in a more change-control fashion, that's a more radical change. Academia will move slowly, and rightly so, as research practices evolve and persists for hundreds of years; to adopt an idea based on a (relatively, very) new method of software development is hugely risky.

</comment></comment><comment><USER12> > LaCour said he couldn't find files containing the survey data and indicated > that he would write a retraction; when he didn't, Green sent off his. > Science hasn't yet ruled on whether it will retract the original paper.

Sure, the paper's author may want you to know that it was all faked... but _Science_ stands by what they printed, _no matter what_.

<comment><USER13> You're misunderstanding. There are two papers here: LaCour's, which is the original paper, and Green's, which is based on LaCour's.

Green has retracted his paper by way of essentially accusing LaCour of falsifying data. His paper is retracted, fin.

Science has not yet decided whether it will on its own recognizance retract LaCour's paper.

<comment><USER12> I really wish I could downvote a direct reply. There is one paper. Green, the primary author, retracted it when LaCour, the grad student, failed to do so. But just because the author says "this paper is full of lies" doesn't mean Science will admit it.

</comment></comment></comment><comment><USER14> The actual report showing the debunking is quite good! [http://web.stanford.edu/~dbroock/broockman_kalla_aronow_lg_i...](http://web.stanford.edu/~dbroock/broockman_kalla_aronow_lg_irregularities.pdf)

This was a relatively high profile paper. I wonder how much slips through in lower impact journals...</comment>


Motion Sensing with Intel Edison - <AUTHOR> https://software.intel.com/en-us/blogs/2015/07/13/motion-sensing-with-intel-edison?cid=em-elq-5111&utm_source=elq&utm_medium=email&utm_campaign=5111&elq_cid=1208315 <comment><USER2> While this claims it is new (perhaps to the Intel site) I know we've talked about it before.

It is silly you need a $2,500 computer between the Edison and the Leap Motion controller for this to work, but for it to be otherwise you would need documentation on the Leap Motion controller's USB protocol (see discussion here: [https://community.leapmotion.com/t/protocole-usb-for- robotic...](https://community.leapmotion.com/t/protocole-usb-for-robotics- apps/731))</comment>


Sweden has lots of wealth inequality - <AUTHOR> https://marginalrevolution.com/marginalrevolution/2014/05/wealth-inequality-in-sweden.html <comment> a0-prw "Thus while the Swedish middle class is large and has a compressed earning distribution, at the very top you have a small number of aristocratic families controlling much of the wealth. Mobility into this group is rare, probably rares than it is in the United States. One reason are stronger informal class- barriers, merely earning wealth is not enough to be accepted a member of the aristocratic upper-class. Another more interesting reason may be the unintended effect of welfare-state economic policies."

Patent bullshit. Wether or not you move into the "aristocratic" group is irrelevant if you control the wealth. Is the article about wealth inequality or snobbery ?</comment>


The Number Of Mobile Devices Will Exceed World's Population By 2012 - <AUTHOR> http://techcrunch.com/2012/02/14/the-number-of-mobile-devices-will-exceed-worlds-population-by-2012-other-shocking-figures/

<comment><USER2> Also, don't miss the Cisco report this was based on (linked in the article): [http://www.cisco.com/en/US/solutions/collateral/ns341/ns525/...](http://www.cisco.com/en/US/solutions/collateral/ns341/ns525/ns537/ns705/ns827/white_paper_c11-520862.html)

<comment><AUTHOR> Yeah, good call. I had this article stored in Evernote [http://www.engadget.com/2012/02/14/cisco-mobile-data- forecas...](http://www.engadget.com/2012/02/14/cisco-mobile-data- forecast-2012/)</comment></comment>


For newbs, what's the best way to find interesting projects and get noticed? - <AUTHOR>

So I just started a Master's program for Software Engineering, and so far I'm loving it. The baseline knowledge is good, but I really want to contribute to actual projects in a tangible way, and hopefully learn something new. Given my lack of experience at this point I don't expect that I could find a job, so I'm willing to work for free in exchange for learning something and building a portfolio.<p>But I really don't know where to begin. Any suggestions? <comment><USER2> The easiest and most obvious answer is to scratch your own itches, as it were. Find a bug in a piece of software you're using? Report it, or better yet, fix it. Poor documentation? Improve upon it. Missing feature? Try to implement it.

If the software you use has no immediate flaws, you could ask your friends about their itches and try to scratch them.

If that's not an option either, then there's always the internet. Look around on sites like freshmeat or hacker news for new and potentially interesting projects. Offer a hand where possible.

<comment><AUTHOR> Thanks for the suggestions! Are there any places I could look for open source projects that might need a hand? I'm a regular lurker on HN and I thought about volunteering my (limited) services for a startup I found interesting, but I know startups need real, dedicated employees, not erstwhile volunteers.

I've also got a few ideas for some basic software to scratch the itch, as it were, but I'd really like to be able to interact with people that are smarter than I am.</comment></comment>


Coming Soon to a Police Station Near You: The DNA 'Magic Box' - <AUTHOR> https://www.nytimes.com/2019/01/21/science/dna-crime-gene-technology.html <comment><USER2> This is really worrying.

> _To illustrate the point, he selected a sample from a 52-year-old Bensalem > resident who had been pulled over the previous day for running a red light._

They're doing DNA matching against people pulled over for misdemeanors (speeding and an outstanding warrant for "retail theft"). And this is apparently now being connected to a national database.

> _To collect DNA, police in Pennsylvania must obtain consent from people > under arrest. Ninety percent of those asked say yes […] Asked why so many > people would consent to give DNA, he said: "I have no idea. But criminals do > stupid things."_

I know why. It's because you've got someone in a position of power asking those they have power over for something they don't really understand. People will say yes because they hope that agreeing to the demands of their captors means they'll be treated better.

<comment><USER2> Further in the article

> _"We'll say, 'Listen, we've had stuff in the area. Would you mind giving us > consent to take your DNA, so we can rule you out for committing any > crimes?'"_

The way they're phrasing this makes it even worse. They're clearly not explaining what this actually means, they're pretending like this is to help the suspect, and the suspect probably has no idea that this is being compared to a large database of crime samples.

<comment><USER2> > _Mr. Harran called this criticism "total nonsense." His officers do not > target particular groups for DNA collection, he said: "You have nothing to > fear if you're not going to be a criminal."_

This is the exact same argument made against the right to privacy.

<comment><USER3> Yeah, totally ignorant. If there is a database with DNA from everyone, you can trivially frame anybody.

It is usually easy to obtain DNA from a specific person and put it at the crime scene.

I'm sure Mr Harran's DNA won't be found in any database.

<comment><USER4> My understanding that these databases effectively contain a checksum which has a very low chance of collision. I don't know if you could actually make DNA material from that checksum.

<comment><USER5> The comment you replied to did not mention making DNA material. DNA can be obtained directly from the target.

CCC members has obtained fingerprints from politicians, for example. DNA is no harder.

Or don't target a specific person, but place random hair found in a public toilet.

<comment><USER6> Not only is obtaining DNA contaminated samples not harder than fingerprints, it is orders of magnitude easier.

</comment></comment></comment></comment></comment></comment></comment><comment><USER7> This doesn't just effect people who willingly give up their privacy. Once a majority of our citizens are sampled, it'll be easy to paint the lack of a DNA sample for someone as a suspicious outlier. At that time, the public won't see the harm in mandating collection for everyone.

Also, consider how DNA evidence is used. If you've got a 1-in-a-million chance of being matched, the hash might find you as a suspect for a crime. Then, during the trial, the prosecutor will tell the jury there's a 1-in-a-million chance they got the wrong person since the DNA matched. Never mind that the DNA is no longer statistically independent evidence (they used it to find you, of course it matches). If this approach is successfully challenged because it's not independent evidence, then, the standard practice will bring in "parallel construction" techniques. Once you're identified, prosecutors will use other evidence that doesn't have to meet "beyond a reasonable doubt" as the official reason they found you. Then, they'll use DNA in the trial as if it were independent evidence.

<comment><USER8>
      Once a majority of our citizens are sampled,
      [...] the public won't see the harm in
      mandating collection for everyone.

The government doesn't _need_ a DNA sample for Bob if they've got samples for Bob's family.

According to [1] the Golden State Killer was found by matching a relative in a public DNA database. Although obviously if the DNA match says 'sibling' or 'parent' there are fewer suspects to comb through than if the match says 'third cousin'.

[1] [https://www.vox.com/science-and- health/2018/10/12/17957268/s...](https://www.vox.com/science-and- health/2018/10/12/17957268/science-ancestry-dna-privacy)

</comment></comment><comment><USER9> The rare instances where police plant drugs on suspects likely happens more often than it's caught, and planting DNA at a crime scene or asserting they got their sample from the scene is only marginally more trivial.

How is an investigator asserting that they found the trace DNA from hair or saliva they are presenting as evidence at the crime scene any different from any other assertion?

While these are exceptions, horrible abuses have already been committed by lying forensic specialists. In Canada, we had a forensic lab fabricate drug use evidence against mothers, who ended up losing their children. [http://projects.thestar.com/motherisk/](http://projects.thestar.com/motherisk/) , similarly, a pathologist was charged for fabricating evidence as well, [https://en.wikipedia.org/wiki/Charles_Smith_(pathologist)](https://en.wikipedia.org/wiki/Charles_Smith_\(pathologist\)) .

These are low likelihood scenarios, but with an extreme impact that has consequences for the integrity of the system. These are in recent memory, and only examples who were caught.

<comment><USER10> This is the vector that will be abused the most. There is no way to verify, other than the officer's word, where the DNA sample came from. Plus the fact that we shed DNA constantly, littering our own DNA any place we visit makes random DNA found in a location really just random DNA in the majority of cases.

</comment></comment><comment><USER11> Might as well call it the data leak jackpot. You can change your password, but you can't change your DNA.

> Unlike DNA labs, Rapid DNA machines do not have rigorous protocols governing > the handling of samples.

> "There really are no actual rules written anywhere," Detective Vandegrift > said.

> With a few clicks, Detective Vandegrift uploaded it to the county database.

> In contrast, county DNA databases are unregulated. In Bucks County, the DNA > database has begun to include genetic material from people whom police > consider "even just a suspicious subject," Detective Vandegrift said. Mr. > Harran called such cases "one of the greatest uses of this instrument."

Instead of a movie about changing your grades, now it will be changing a DNA file and getting them convicted of a crime.

<comment><USER12> It gets even worse. The way "DNA matches" occur in the judicial system is by looking at a set of SNPs, not whole genome comparisons (obviously). So all you need to do it is take the SNP set, the leaked SNP set, synthesize oligos matching the person you want to frame, then sprinkle the oligo collection at the crime scene...Guess what shows up in the PCR? You do.

<comment><USER13> I thought STRs were used for DNA fingerprinting? Has that changed with the advent of cheap SNP chips?

<comment><USER14> Looking at the 'rapid DNA machines' on the market, looks like it is still STR.

Someone should sell them on the idea that they can use SNP to generate an approximate photofit

</comment></comment></comment></comment><comment><USER15> I find this story disturbing & the implications are frightening (many are addressed in the article).

But one thing strikes me as REALLY worrying: they call it the "MAGIC" box.

IMO, if there is ONE thing that you DO NOT WANT in serious such matters, it is the propagation of the -common- belief that science/technology == MAGIC.

This is already a problem with computers, as people accept plenty of nonsense "because the computer said so", and to be fair technologies like computers have become so complex, it's difficult to NOT have a "magic" feeling to some extent (let's not get into sciences which are IMO even worse).

Relying blindly on something that you don't really understand (its limits, its strengths & weaknesses, the context in which it should be used), is a RECIPE FOR DISASTER.

<comment><USER16> I have a tongue-in-cheek joke about this: " _Data doesn 't lie._"

The problem with most people is that they agree with that notion and never second-guess it. ...but anyone who's ever modified anything in code or a database or the like will know that to not be the case.

Considering it "magic" also proves the following posit: The result of the use of that technology is potentially as faulty as the operator whom doesn't understand it.

Case in point: " _Tides go in, tides go out. You can 't explain that._"

</comment></comment><comment><USER17> Perhaps now the widespread rape kit backlog can be analyzed?

<comment><USER18> I've often wondered how much of the backlog was self-imposed. As in, the patsy might actually go free if the tests were completed.

<comment><USER19> I don't know how much it's self-imposed, but I imagine if 100% of the samples were tested and the evidence reanalysed then we'd be seeing a mass exodus from the prisons.

</comment></comment></comment><comment><USER20> Local police departments already suffer from a lack of transparency and oversight, especially regarding evidence collection. This just seems like a nightmare waiting to happen in too many ways.

</comment><comment><USER21> Meanwhile - Unsolved Shootings Are Rising:

[https://marginalrevolution.com/marginalrevolution/2019/01/un...](https://marginalrevolution.com/marginalrevolution/2019/01/unsolved- shootings-rising.html)

</comment><comment><USER22> Yuck.

I have no issue with collecting DNA from those convicted and sentence of a major crime. I do have serious issues with collecting from people for traffic stops or similar. If anything I think it should be unlawful to ask for such consent without a representation present and it should in no means be considered probably cause to arrest or detain if consent is not given. Simply put the general public is not versed enough in the law to give a good response.

I could see a system whereby you give a one time use consent to clear you of suspicion, requiring the authorities to destroy the sample and record after it fails to match. Even then I would suggest a court order being required to force anyone to provide a sample and not providing a sample does not give them probable cause or the like.

The sad part is far too many are willing to hand over much of their life and responsibilities to government in return for free stuff and are willing to see you are forced to give up the same. be wary of any politician who tries to frame this as moral duty or requirement because some will

<comment><USER16> >I have no issue with collecting DNA from those convicted and sentence of a major crime.

While the justice sysem still has gross lapses, I do mind - for the most part. A guy who gets released after 20 years, because he was proven innocent, is still going to be in the database.

There are no protections for the accused in that scenario. So, let's assume that the manufacturing of a specific genome sequence becomes much easier and much cheaper. What's to prevent a police office, with a justice boner and who infallibly believes that the guy is guilty - despite evidence to the contrary, from abusing the information and "discovering" this individual's DNA at another crime scene?

While it might seem like a far-fetched idea, there's been a history (though it may be seldom) of people abusing the "solid science" position to frame people.

There's another comment[0] in this thread that demonstrates that this is not only plausible but it _has_ happened.

[0] - [https://news.ycombinator.com/item?id=18997702](https://news.ycombinator.com/item?id=18997702)

</comment></comment><comment><USER16> >" _You have nothing to fear if you're not going to be a criminal._ "

...and there it is: The rationale that anything is worthwhile, as long as they're catching the bad guys.

Nevermind that "being suspicious" is warrant enough to get you dropped into a database, for life - which is something they don't explain, when they're using the "we just want to rule you out" narrative.

</comment><comment><USER23> I've read the comments here and I have nothing to add other than it's sickening that the police see nothing wrong with this.

I guess when you're on the side of the blue line that is protected from the excesses of law enforcement you forget about what the threat it poses to the rest of us.

</comment><comment><USER24> It will be during our time that we apologize to the younger generation for the world we created

</comment><comment><USER25> Dr. Lamar: Congratulations.

Vincent: Well, what about the interview?

Dr. Lamar: That was it.

<comment><USER26> Why interview when you know everything you want to know about someone?

They only needed authentication. Or can be the same today except no DNA check, just papers...

</comment></comment><comment><AUTHOR> I recall a story of a suspect's dna that contaminated a crime scene by a paramedic. The paramedic had assisted the drunken suspect earlier in the day and transported him to a hospital. His hospital stay was his alibi.

</comment><comment><USER26> There should be a way to expire the records from the database with exception perhaps for convicted felons.

Preferably not collect the data and not store it at all unless aforementioned.

</comment><comment><USER27> I did a stint in federal prison. When I went to the halfway house, I had to wear an ankle monitor that reported my whereabouts 24/7\. At first, I was a bit irked about it but in a few days there, I could see that it would be a benefit to me.

There were other guys at the halfway house who didn't have to wear one, and they were continually tempted to be places they shouldn't have. Too boot, they couldn't easily prove their innocence when they were falsely accused of being somewhere they weren't. I never once had that problem or temptation and cakewalked my stay there.

As long as the nation doesn't turn into a democratic socialist PRC, this technology will benefit people who are law abiding, even if a person doesn't have a record in some DNA database.

Unique identity markers aren't the property of an individual.

</comment><comment><USER28> Can DNA be forged?

<comment><USER12> YES!!! A million times yes!

The way "DNA matches" occur in the judicial system is by looking at a set of SNPs, not whole genome comparisons (obviously).

This is how you frame someone.

1) Take the SNP set the cops use, which is published. 2) Make synthetic oligos that match the SNP set with SNPs from the person you want to frame. 3) Sprinkle the oligo collection at the crime scene 4) Guess what shows up in the PCR

<comment><USER29> s/SNP/STR/, and you're right. They're easy to manufacture.

<comment><USER12> Looks like they only look at 20 STRs typically. Also mtDNA and Y-chrom STRs. Maybe a little more challenging to where you would need to grow up some plasmids to toss around a crime scene, but nothing a first year grad student couldn't do in their garage for a few thousand bucks. Wouldn't even need to clean up the minipreps since it's PCR and you'll find exactly what you're looking for and nothing else :)

</comment></comment></comment></comment><comment><USER30> Scott Greenfield, a practicing defense attorney, wrote about this and previous attempts at using "science" to create/identify "indisputable" evidence: [https://blog.simplejustice.us/2019/01/22/junk-science-is- dea...](https://blog.simplejustice.us/2019/01/22/junk-science-is-dead-long- live-junk-science/)</comment>


The Mizar proof system (2017) - <AUTHOR> http://www.cs.kun.nl/~freek/mizar/ <comment><USER2> I spent two weeks in Bialystok in the 1990's learning Mizar from Andrzej. He was a fascinating person (unfortunately he passed away two years ago). He was trained as a topologist (under K. Borsuk, a well-known Polish mathematician) and got interested in linguistics. He told me that he started working on Mizar as an automated translation system 'from mathematics into English' and someone suggested that he added a proof checker. I think the result is very elegant. I always liked the way Mizar proofs look. Also, working on some relatively simple proofs, I got to appreciate how much is left unsaid in most mathematical papers. Some details I would consider trivial were anything but. I wish only that Mizar was GPL'd but according to Andrzej himself he wanted more control over his creation. I am not sure I would agree but I certainly respect his choice.

<comment><USER3> It is a pity though, that the source code is not publicly available, even if the license is not GPL'd it could still be made available to non-members.

</comment></comment><comment><USER4> This actually look more approachable than other proof systems I've looked at. The included proof seems understandable though I'm not sure how all steps are deterministic, how they're sufficient to fully make the proof.

That said, there's a note at the bottom of the page saying: "(last modification 2002-01-29)" so perhaps "2002" would be a more appropriate date here? The Mizar system itself seems like it's being maintained presently, according to its website. [http://www.mizar.org/](http://www.mizar.org/)

</comment><comment><USER5> The theorem language I have heard most about lately is called Lean. Working number theorists are very active in developing it, driving to make it actually useful to write their theorems in it.</comment>


Show HN: Butler, tmux for your Chrome tabs - <AUTHOR> https://github.com/yemutex/butler <comment><USER2> Ha - great idea. Does it help with memory in any way?

<comment><AUTHOR> When you detach a session, all the associated tabs are put away, so I guess it helps with memory by having fewer tabs.</comment></comment>


NGraph: A New Open Source Compiler for Deep Learning Systems - <AUTHOR> https://ai.intel.com/ngraph-a-new-open-source-compiler-for-deep-learning-systems/ <comment><USER2> Why is computing so specialized towards Deep Learning these days, when it absolutely doesn't need to be? Optimized "kernels" are useful for other kinds of applications as well, such as scientific computing (linear algebra), and image and signal processing.

I can see it coming already: a fast matrix multiplication library, running on a deep learning solution, running on a graphics card. It's kind of ridiculous, isn't it?

<comment><USER3> It is already here, actually.

I do a lot of numerics related to simulating quantum computing hardware (which is just linear algebra of fairly large matrices). I have used Theano to write some of the simulations, and there are plenty of projects on github that use TensorFlow as a backend for quantum-mechanical simulations.

Either way, I do not care much whether they call it a "deep learning" framework. It is still directly usable in all other types of linear algebra applications.

<comment><USER2> That's nice, until someone decides to prune certain functionality from future versions of the library because they are not needed for Deep Learning. Or until someone decides: hey, we can replace this floating point computation by a fixed point computation, because it doesn't matter for any kind of Deep Learning anyway.

<comment><USER4> The maintainers of major DL frameworks like TF and PyTorch intentionally target an ever-wider set of use-cases beyond deep learning, and would not chop out non-DL functionality.

There's many cool non-DL projects using these libraries for fast computation like Pyro (PyTorch) & Greta (TensorFlow), and the community is starting to shift away from DL-specific vocabulary towards terms like "differentiable programming". Deep learning is just one use of this broader paradigm.

</comment></comment></comment></comment><comment><USER5> Note no support for ATI gfx cards.

<comment><USER6> It doesn't even support Intel's own GPUs (although I don't know how useful that would be).

<comment><AUTHOR> Not yet, but our goal is to enable that in the future.

</comment></comment></comment><comment><USER7> CUDA only on the GPU? That doesn't sound good.

<comment><USER8> For now we are targeting CUDA and CUDNN primarily on the GPU backend but we'd love contributions for other GPU transformers! We are highly interested in enabling optimized support for the hardware used in the AI space and are optimistic about support for present and future hardware targets. Please feel free to let us know in our GitHub issues if there is specific GPU or other hardware support you hope to see.

</comment></comment><comment><USER9> Any plans on message passing / clustering with this, so that multiple hardware nodes could be connected to the same computational graph over the network?

Assuming also that this has support for AVX-512 acceleration?

<comment><USER10> We have an allreduce op in nGraph to support data parallel using OpenMPI, and are investigating the best approaches to integrate with frameworks. We also plan to add more collective communication ops to support model parallel in future.

</comment></comment><comment><USER11> I see Baidu's PaddlePaddle in the logos but no mention of it in the article.

<comment><AUTHOR> Good catch! The PaddlePaddle logo is faded which means we don't yet have support for it but would love to add it in the near future.

</comment></comment><comment><USER12> Interesting, that's good to have more options.

Performance charts in the article are for training of CNNs on CPU. Are there non-educational use cases for that? How does CPU CNN inference speed compare?

<comment><USER13> We do have to optimize inference code paths for fast training. We are currently adding optimizations that target inference-only use cases (some PRs are already up). Will post data as soon as that is done. Stay tuned!

</comment></comment><comment><USER9> Also, does this have support for generating monolithic (preferably statically compiled) binaries for the compiled model?</comment>