skysight-inc/HackerNews huggingface dataset:
I just watched this [1] video from Dirk Hohndel describing the migration motives and process from Gtk+ to Qt for subsurface (started by Linus).

TLDR:

* Qt has a community of people developing applications, has good documentation (precise, good coverage) and people who care

* Gtk+ has a bunch of Gnome developers, if you want to develop an application, you're out of luck

[1]: https://www.youtube.com/watch?v=ON0A1dsQOV0
I don't see the similarity. The Ceylon feature I find awkard is that class definitions have two parts (initializer/declaration) with different semantics, without explicit demarcation.

In the example above, this code:

class Point() {
Float x => y;
Float y => x;
}

is fine, because both declarations are parsed as being in the declaration section. However, when you add another line after that:

class Point() {
Float x => y; //compiler error: y is not referenceable
Float y => x;
Float->Float xy = x->y;
}

The original two declarations are now part of the initializer section, because the third line is a statement that is not allowed in the declaration section. This changes the semantics of the first two lines.
No multi-master replication. You can have many read-only slaves replicating a single master, but all your writes have to go to the master, and if the master goes down, you can't write at all until one of the slaves is promoted to become a new master.

There are third-party tools which add multi-master replication, but all seem to suffer from some combination of complexity, flakiness, project deadness, or project immaturity. Postgres-XC seemed the best last time i looked, but it does seem quite complex.

Work is currently underway to bring multi-master replication into core PostgreSQL, under the name "bi-directional replication":

https://wiki.postgresql.org/wiki/BDR_Project

I have no idea if or how this interacts with Postgres-XC. I would imagine the end-game will be that by ~2016, there will be both tightly-coupled (synchronous, immediately consistent, like Postgres-XC) and loosely-coupled (asynchronous, eventually consistent, like BDR) multi-master replication in core PostgreSQL.

That's a long time to wait given that there are noSQL and newSQL databases which have that right now, but when it arrives, it will bring PostgreSQL's huge baggage train of other good stuff with it.
Yay! 4th of July Fireworks: 2014
If a mathematician would throw away his mathematical understandings in order to prove more results, I worry for his soul. A theorem in ZFC-but-not-ZF is much less interesting than a theorem in ZF, except as a topic in model theory.
Escape them inputs, dawg!

www.listnerd.com/lists?letter=</script><script>alert(document.cookie);</script>
It’s weird how the subtitles leave out about 1/3 of what he says.
Good point. http://life.khanacademy.org/post/87602482963/a-mobile-dev-se...
So clearly, it's the Axiom of Infinity where things really go wrong.
This is the first one of these in a while that felt qualitatively novel to me. Nice work!

I'd add at least one more level, since it should clearly be possible to reach higher tiles than 243.
Can you explain testing actually solves this problem? The problem is multifaceted: it involves the behavior changes of a Gnome, which testing will find, and the unwillingness of some distros (I would imagine Debian is in there) to release new software for reasons other than security fixes, which testing doesn't and cannot address.

The author makes it clear updating his code to fix the problems is not the problem.
Neither computability nor sense data have any relevance. The prisoners are a literary device. As far as formalizing the lack of information, the elements of each equivalence class chosen need not depend on the particular arrangement of the prisoners--that is more than enough.

Again, you're thinking of this far too literally.
This doesn't seem very realistic. Looking at the tires of they're robot, it would be almost impossible to manoeuvre on that kind of surface.

If you look at Lego vehicles for example, they all have to have disproportionately wide wheels to be able to navigate the studs on the bricks without getting caught.

In addition, there are the problems of forming non-rectangular and non 90 degree walls anywhere in the house, the problem of recognising and targeting the bricks correctly with the robot, the 'spray on' cement that seems a fantasy.
Drew Houston on the Hacker News response to Dropbox demo
I do know how to code, but I don't do it as much as I'd like and I have zero experience coding for websites. I think this article could add #7, which is 'there are so many tools and frameworks that you are paralyzed by choice.' I'm comfortable doing things in C and even Assembler as well as a few other languages, but with webdev I find it hard to see the forest for the trees.
Learning by doing doesn't always work so great
It's unfortunate that Linux and/or Linux distributions have not yet solved the problem of supporting parallel versions of dependencies. Even Node's package manager supports that. The end result is that rolling release distros break stuff often, as applications can't be tested and executed in isolation of each other. The "solution" to this is releasing everything every 6 months, when you can actually test everything together, then stop providing new versions for months.

If Linux/Linux distributions did support it, rolling release would be a lot more common. One limitation that would remain is that if you have an application that requires a single instance (e.g. a Network Manager), you couldn't have multiple instances of it running at the same time.
> In a sick twist of irony Operation Mockingbird funded and arranged for the Hollywood production of the book "Animal Farm".

How is this ironic? Orwell wrote Animal Farm as a critique of Stalinism.
I watched it, it reminded me a lot of opa [1].

The problem with opa was it generated a gigantic load of code and when I tried running a basic app I made (to learn the language), it set off alarms on dotCloud's system (as if I were bitcoin mining or something) even though I was the only person using it for 5 minutes.

I foresee similar problems with any other system that attempts to make the client and server a system on continuations.

Secondly.. yeah, creating disjoint systems can be frustrating to maintain together, but thinking a web browser is the only platform that will be supported can be really limiting in future developments.

[1]: http://opalang.org
Validation Attributes in ASP.Net MVC
If you want to be pedantic, sure, there is some small amount of correlation there. But in the real world, I've seen people pass coding interviews who were incapable of writing software and I've seen people fail coding interviews who I knew could code circles around the interviewers. But, as usual on a site like this, being a pedant is an absolute must.
Well, first of all, nothing rules out the first prisoner getting free--look more carefully at how the sequences work.

But your other objection is confused too. It's a theorem that the sum of any finite number of numbers is a finite number. But of course that sum might be bigger than a googleplex or any particular busy beaver number.

Thinking more: it seems like you've confused the claims: "there is a finite number n such that any sequence of prisoners can guarantee that they will only have n prisoners remaining" (false) with "for each sequence of prisoners, there is a finite number n such that they will only have n prisoners remaining" ( true).
Who is it supposed to bait? It makes me less likely to click the link. Here the words "Lego" and "Full-sized buildings" overruled it though :)
I learned about this algorithm recently, because of an exercise in the Rosalind bioinformatics problems list: http://rosalind.info/problems/kmp/

There are tons of other interesting algorithms put in practice in different bioinformatics problems.
It's a pet peeve of mine in general when mathematicians use imperative proofs with impossible steps, for similar reasons.

The world is indeed an "interesting" place when computation takes zero time, memory and storage are infinite, and you're allowed to give the reader step-by-step instructions that cannot be completed in any known universe.

But yeah, if you're willing to accept all that, CHECK OUT WHAT I'VE PROVED!!1!!! (And hand me that Nobel—I've earned it.)
How would people feel about a cleanup-focused API-compatible fork of Qt, in the style of LibReSSL?
This looks super interesting, thanks for including so many demos and docs. I'm pretty new to PL theory, but was recently reading about OMeta - another "language for pattern matching". For example, here's a png parser in OMeta.[1]

Maybe you could help me understand how Egison compares to OMeta? thanks.

1. http://www.joshondesign.com/2013/03/18/ConciseComputing
This period was a text-book case of the use of fear as a tool to unwind the spirit of American freedoms.

Literally, from peoples' mouths, "Better to lose some freedoms than to be scared."
Or hell, even correct! The result is basically a toy, metaphysically null. :)
pyqt is the answer
The Therac-25's software program, relatively crude by today's standards, probably contained 101000 lines of code. At one error for every 500 lines, that works out to the possibility of twenty errors.

I'd say 200, not twenty.
How does PageRank use Markov Chains? That's an interesting idea.
Speaking Math with a Female Accent
I don't think people on HN feel like they need permission to ask for harsh feedback.
PlanMyEvent
Here are the myths from the post, which the author explains. If you believe any of them, you'll probably benefit from reading the explanations, which I found helpful and brief.

Myth #1: A brilliant idea will make you rich.

Myth #2: If you build it they will come.

Myth #3: Someone will steal your idea if you don't protect it.

Myth #4: What you think matters.

Myth #5: Financial models are bogus.

Myth #6: What you know matters more than who you know.

Myth #7: A Ph.D. means something.

Myth #8: I need $5 million to start my business

Myth #9: The idea is the most important part of my business plan.

Myth #10: Having no competition is a good thing.

Special bonus myth (free with your paid subscription): After the IPO I'll be happy.
Shallow but interesting: U.S. commanders ordered safety measures. They barred Patriot crews from placing their missile launchers on fully automatic modes. They told pilots to use the more-reliable non-encrypted IFF. The Army promised it would fix the Patriots.
Wasn't aware. Good to know, thanks.
You make some good points.Things you learn through hard life experience always have value. At least, I value them, because even if they don't have a lesson I can use, they are among the most interesting and true stories a person can tell you. Normally, life makes lousy stories, not least because we aren't able to tell the stories properly, because we're not fully paying attention. When you are living out your worst nightmare in reality, you are suddenly about twice as awake and twice as alive as you ordinarily are, and your awareness narrows and focuses on the here and now, and everything that happens is endowed with much greater importance than usual. Everything becomes serious, and you're probably going to have insights and make observations that beyond your usual capacity for such things, because all the BS is gone and you don't have to stop goofing around and get serious before you can clear your head, because you are serious.

These moments of clarity probably won't end up being worth enough to justify the misery of the ordeal that prompted them, and I'm not sure living through something terrible makes you stronger. It's probably more likely to do psychological damage that makes you weaker. But the experience itself is not something you can buy, and while the stories you gain are usually no compensation to you, they are the kinds of stories that can be of great value to other people.
Does Egison implement the Pattern Calculus?

http://en.wikipedia.org/wiki/Pattern_calculus
It may work, it may not. I have my doubts but I'm very happy this exists. We need more radical thinkers like this.
I think that the reason for reimplementing stl functionality is that they want complex types such as QString as a part of their external interface and they want different minor versions to be binary compatible which can't be guaranteed for types like std::string unless everything is compiled with the same compiler and runtime. See https://qt-project.org/wiki/Dpointer

As for the raw pointer use you should always use QPointer smart pointers for objects whose lifetime you don't control. However they don't recommend passing QPointers as function parameters since they are easily/cheaply constructed and the reference count is embedded in the QObject instance itself in any case.
I doubt the SEC would buy that argument. Due diligence is orthogonal to equity structure. That is, you could have ventures built around traditional equity structures but with crowd-sourced due diligence, and you could have ventures built around crypto-equity but without any due diligence requirement at all.

Put another way, the fact that a publicly traded company permits any shareholder to inspect its books at any time does not eliminate the company's obligation to make regular filings with the SEC.
Would setting up my own mail server be a viable option for freelance clients who need email? When doing freelance web development I always offer to host my clients sites and they almost always ask about email addresses. No that google and microsoft don't offer free custom domain email addresses anymore I've had to tell them it will cost or I can set them up with zoho.

I've been wanting to set up my own email server and wouldn't mind offering the service to clients for free (obviously that would be after I get very used to administrating an email server). Would that be a horrible idea? Are there any specific laws or regulations in the US I would need to know about before providing email to clients?
I really like the Qt syntax. It's well though out, readable, I can overlook it without years of study and it has a good documentation. I think it helps to not think about it as C++ at all, because it isn't really. It's a syntax subset of C++ with a few extensions and it's own standard library that happens to use a C++ compiler somewhere down the toolchain.

I don't see the issue with the object hierarchies either. You have your QObject and QWidget classes that are important and then all the stuff that builds on that. Not that complicated really once you get into it.

The UTF-16 thing is ugly, yea, but I did never see a practical issue with it.
Dalvik does indeed use a different VM/bytecode. Your Java Android app is compiled JVM bytecode which is translated into Dalvik. The point is/was that the program you write in Java may run faster or slower depending on your target platform and that if your target platform is Android you are taking an additional penalty vs. e.g. using the NDK...

(EDIT: Yeah, you're right, the name JVM should only be used to refer to the specific type of VM that runs specific bytecode and not to other VMs. As Android shows Java does not have to run on the JVM. Thanks for the correction.)

"In 2012, academic benchmarks confirmed the factor of 3 between HotSpot and Dalvik on the same Android board, also noting that Dalvik code was not smaller than Hotspot" (from Wikipedia)
I really think this is exaggerated a lot. Maybe we don't use a lot of complex features, but at sugarlabs we have written a whole desktop environment and app ecosystem based of gtk3. We use the python gtk3 wrapper and I think there was only 1 instance this year where gtk3 broke our ui (icon_size got removed or something like that). We also use a lot of other gnome things (eg: gsettings) and those don't seem to be an issue.
I don't agree with that statement. Standards are there to make development easier via an agreed upon "standard" way of doing things. Code rot has nothing to do with that. Things change all the time. No amount of standards stops change. Your code is rotting the second you're "done" with it, simply because everything else around it is still moving. Just accept that and learn to write code that is easily testable so that you can make your changes as necessary and have some confidence that you haven't broken anything in the process. Trying to write rot-free code is pointless. Trying to write code that is easy to update and repair is a worthwhile goal.
So you're saying it's not constructive to talk about theorems that require the axiom of choice for proof? (ducks)

All joking aside, I liked your definition. Thanks!
ABI compatibility should not be a huge problem for distributions. They can just recompile all the packages linking against GTK+ when they update it.

The crazy stuff is having your window decorations disappear when running a GTK application under openbox because somebody thought it would be funny to screw with gtk+-3.12 [1].

[1]: http://redmine.audacious-media-player.org/boards/1/topics/11...
That depends what you consider the problem in the scale of things. Needing to fight library versions is a pain but if you know about it (which I'm saying you can) you can do things to ensure your software —your responsibility- keeps working.

Testing helps you find issues before your users start knocking on your door and whining about broken software. They expect you to test. Is that fair? Not even the smallest bit... But it's the way things work.

If you don't give a crap about your users, and you only do this as a programming exercise, let your users be your first line of testing.

Again, I'm not saying that the problems described aren't real (or even that they're not frequent) but if you want to live in an ecosystem, you have to become a part of that. Get stuck in and fix these problems as best you can.

---

And maintaining security-only release structures is designed to make this very problem predictable and maintainable. You know what's going to be in the release a month, two months before it's out. Testing and fixing then means your app works for the life of that release.
Some things I noticed...

The homepage fails HTML validation. 32 Errors, 7 warnings

http://validator.w3.org/check?uri=http%3A%2F%2Fwww.listnerd....

Homepage isn't being cached (intended?, in fact you have quite a few elements that have no caching set. Run PageSpeed Insights perhaps?

Login Overlay - can't escape to close.

Seems I can create a list without signing up? At least, that's what the button click seems to indicate (I didn't go through the entire process).

None of the "Create a List, Share It, See It" images actually do anything.

Doing a Search on "Select *" resulted in your following page taking 12.06 seconds to process before returning No results found. Searching for "Random" took 10.24 seconds. You have a major bottleneck in your search system.

The blog takes you to a totally different layout. This is jarring.

Homepage returns quickly, but the "Best Tracks in Mario Kart 8" took twice as long to return. If I had to guess, you are fully rebuilding the page each load? If that's true, did you scale that out against the database?

The trending lists block on the bottom of each list page is much larger then the content beside it, consider including fewer items in the list.
Is it advisable to just use plain old CSS these days?
Not being a designer, I usually just like the way something looks or how bad it looks, but somehow this article feels like when you are analyzing a piece of code or when doing a teardown on a piece of hardware to know how it works.

The effort to make something looks great , not for everyone for obvious and subjectives reasons, is beyond the wow and meh attitude, so many pieces must found their way to look good or plain bad.

The whole idea of making a seamless transition from your phone to your tablet and to your computer and back again is amazing.
What's the breakdown for $200k on a site like that? Can you tell us what's the tech stack?
Interesting. Fourteen years after the original Joel Test[1], is this a more current version of it?

Related, I write about what's necessary to onboard any sort of new person to a project (specifically open source, but it would apply to an in-house team onboarding a new employee as well) here: http://opensourcedesign.is/blogging_about/import-designers/

[1]: http://www.joelonsoftware.com/articles/fog0000000043.html
I personally loved Khosla's company building Talk here:
https://www.youtube.com/watch?v=bRCoBgC_n1Q
I don't know if this makes you feel any better, but if the device manufacturer are indeed playing by FDA rules, the e-mails that you have sent should have triggered serious investigations into these bugs. That doesn't mean that they would be fixed, but they would be triaged to assess how and when they happen, and what risk they pose to patients.

This is known as the Corrective Action, Preventative Action (CAPA) process [0]. Note that the investigation into your complaint is an absolute requirement. Not just e-mails, but even phone conversations, or comments made in passing verbally - if any of them constitute a comment (positive or negative) on the device, this needs to be logged and, if the comment warrants it, an investigation must take place.

So either your comments have been or are in the process of being investigated, or the device manufacturer is not following the FDA rules.

[0] http://en.wikipedia.org/wiki/Corrective_and_preventive_actio...
I've worked on several FDA-regulated products and have never had the FDA review my code. I would guess this only happens in extenuating circumstances. The FDA does not have the resources to do this for most products out there.

We are required, however, to review our own code and maintain records of those reviews.
Kudos to the CIA
> On the other hand, as a C++ library it really couldn't be worse, with its flagrant reinvention of the standard library, pervasive UTF16, complex object hierarchies, raw pointers, extensive use of macros, etc., etc.

Have you given Qt a serious try? Most of the above arguments don't hold good at all.
* c++ std lib is total crap. Anyone arguing for it has no idea what a good API is. Have you used Qt container? It's as intuitive as it gets. The C++ std lib is performance optimized and most desktop apps don't need it. It comes at a cost of developers having to learn complex APIs.

* Complex object hierarchies - huh? Qt's value based types need no memory management. The pointer types has a simple parent-child relationship. Delete the parent and all children are deleted as well. How hard is this?

* Raw pointers - Commented truly like someone who hasn't understood Qt.

* Why do you care about UTF16? It's an internal representation. BTW, Do you write any web apps? Do you know or care what internal representation is used by strings? If you some ultra-special case of a performance critical app, no string library out there will be good for you. You will have to roll out your own.

Let me guess. It really looks like you are one on the few guys who likes writing libraries (as opposed to apps). People who write apps love Qt. People who like writing libraries don't like any other library other than their own because their way is the true way.

There are many valid criticism of Qt but these are none of them.
It's interesting how not even the founders of Google can come to a consensus on what technology is doing to jobs

Larry Page thinks most people will be part-time employed or not employed at all since human needs are fixed.

Sergey thinks human needs are endless, and jobs creation will always happen.

Perhaps no one really knows the answer.
PyPy already has custom python code for different bits, like the crypto library - because this code was written in c for cpython (and the c code gets around the GIL, funnily enough). So PyPy may be required to make more custom code for it all to work, though if it tries to emulate the GIL as specified below, probably not.
No. I don't refer to the Pattern Calculus when I've implemented Egison.
I've implemented Egison to realize non-linear pattern matching against unfree data types such as sets and multisets.
The Pattern Calculus seems not for that.