skysight-inc/HackerNews huggingface dataset:
I'm not saying his design sense is wrong.

I'm saying his characterization of promises as functional is so close to being right that it's the worst kind of wrongness.

It's worse to say, "The capital of Kenya is Nairobi Central" than to say "The capital of Kenya is London." It is worse because errors that are only slightly wrong and maybe even partially correct are more deceptive, durable, and confusing.

A promise is not a functional concept. Functions don't make promises. You CAN, as a thinking human, re-conceptualize the immutable return value of a function as being "pretty much the same" as a promise, but when you re-conceptualize functional programming you are just deconstructing what is already understood to be an arbitrary conceptual construct. Any conceptual construct--especially one based on simple metaphors--can be deconstructed into some other form. This doesn't invalidate the construct and it doesn't equate the construct as such with the deconstructed components.

You might as well say that an airplane is not really an airplane. It's just two wings, a cockpit, some jet engines and a fuselage assembled together in a certain way so that it can fly. It's not really an airplane; it's just those things in that way. And those things are really just all made out of aluminium so really it's not an airplane it's just aluminium. Anyone who says an airplane is more than just aluminium is making a tyrannical dichotomy.

So according to you promises are functional because under the hood promises have some conceptual similarity to the immutable return values provided in functional programming. But under the hood the Boeing 737 is just scrap metal. Yet it's NOT just scrap metal. The difference is that "the promise" is a precise concept based on some metaphors that is specifically used in declarative styles and not in functional styles. Functions return immutable values. Declarations make promises. Under the hood there may be similarities but no one made any claims to the contrary.

If people don't think these high level conceptual distinctions are important, why are they even reading this article that is entirely about splitting hairs between these conceptual distinctions? AND the article is even getting it wrong because the author is a self-admitted amateur. Why bother learning from the village loudmouth when there are geniuses who publish books and give lectures just down the hall?

The stuff that reaches the front page of HN makes no sense. Most of it is written by terribly ignorant people. Programmers have no respect for expertise.
This is actually a pretty traditional model. It even has a name: waterfall. :)

If you have a great team you can probably pull it off with a waterfall method. Team almost always beats the methodology used. A bad team will still fail following the latest leanest meanest methodology.
I put it on github:

https://github.com/DigitalMars/Empire-for-PDP-11

I still think that PDP-11 assembler code is a thing of beauty.

Here's the 1977 version of Empire written in PDP-10 FORTRAN, which I did manage to save:

https://github.com/DigitalMars/Empire-for-PDP-10
i know it was not your point, but pls use a blank line between title and body.
Generally this is of course good advice, but in Haskell it is common practice to use very short names (e.g. x, x', xs, ...) if the context is clear (which it usually is due to small scope, clear function names, type signature, etc.). This makes code much more concise and readable (it also makes it look very "mathematical").
Do you have any thoughts on expression indexes? Assumed I would have to pull out fields from the document to index reasonably on pgsql, but this presentation at least shows that simple expression indexes perform well. I wonder about compound, nested, etc.
The plugin currently shifts the main content pane to the right. It would be great if it could reduce its width instead, so the entire content can fit in the screen.
Crowdfunding My Next Book Through Indiegogo - The Experiment
I could swear learning somewhere that it's because forcing short/simple passwords makes it harder to recognize the password in keystroke logs, which is the attack vector banks face the most. Can't find any sources to back that up, though... has anyone else head this explanation?
Online Campaign Plan – How it should look like
I found one of the comments interesting: that the monkey/ladder experiment could be a myth.
Go, C/C++, but in the ideal world- Python (they would have to very seriously tweak the interpreter)- imagine how easy app creation would have become with Python? They would have a huge advantage over iOS by lowering the entry thresholds for developers.
Where is taligent when we need him? MongoDB is pretty impressive considering its age to the market, but I'd still go with the relational version of PostgreSQL anyday. Not because of the benchmarks, but in general, most use-cases are covered well enough by our relational db's like MySQL and PostgreSQL. The most expensive mistake one could make is using a NoSQL db where an SQL db fits perfectly. I admittedly made this mistake and learnt a LOT. Now, these benchmarks are just some extra spice for sticking with my lovely PostgresSQL :)
It's only one of several interesting comparisons in the slides, but I think we need more data points on the disk space to make use of the data. Does it grow linearly? probably, but is there a +x in there? Mongo has some big upfront disk allocations. Were those considered somehow?
This is not a multi-purpose EDITOR variable.

This is using a dispatch script as $EDITOR.
There's no way an API should be covered by copyright, for the judge's reasons. If you can get a patent on it, good luck to you; otherwise, it's not proper IP.

Patenting an API would be like patenting a UI -- reasonable under the law. http://www.dbms2.com/2010/03/23/software-innovation-patent/ Whether the law should be changed -- as I think it should be -- to make such patents unreasonable is a separate issue.
PostgreSQL hasn't spent 18 years pitching itself as a pure performance play, though. It started as a research project into the object-relational model and was adapted to be a safe and featuresome database first and performant second.

Mongo's performance will converge downwards as people demand more features and safety guarantees.

If however you want the original premise -- memory-only, schemaless, auto-sharded document database -- Mongo is still the easier pick.

It's a cliche, but it's easy to:

1. overestimate the size of your data, (especially since relational models by design squeeze out all duplicated statements of data)

2. overestimate how much traffic they need to serve

3. underestimate what can be achieved by stock RDBMSes with modern hardware

4. underestimate the deferred development costs of schemaless data and

5. underestimate the costs of avoiding durable storage.

It's a really hard field to make generalisations about right at the moment. The algo-economics of hardware (especially SSDs) and software have been changing so fast that any generalisation formed even 2 years ago is unreliable.

Speaking only for myself, I need a lot of talking down from my data-safety/data-integrity tree. I don't trust myself. That's why I use tools that slow me down.
This is going to sound cheesy, but, what do you normally do in a day? Where do you go or what do you do that may seem mundane to you, but something wildly different to others?
So if you don't want to have your rights violated you have to be nice to the authorities? That's absurd.
This explains what happened when I tried to read "28 balls later"
No; this is effectively the same as doing no hashing at all. If your database gets stolen, people can replay the "hashed" passwords from it to the server, without having to hash them themselves.
I think it's easy to forget that mongo did hit an under-served sweetspot when it turned up in 2008ish. But SSDs and the explosion in per-core RAM density have steadily rendered those advantages less compelling.

I imagine that as time goes on the PostgreSQL team will do their usual tortoise impression, steadily closing the distance on the NoSQL pioneers (and they deserve credit for reopening and re-exploring this chapter in database history).
Full Disclosure: I'm just some kid on the Internet, in case my handle didn't clue you in.

I think that even if you forgo a degree you should endeavor to learn about theoretical computer science and mathematics. A good education (in whatever form you manage to get it) should be intellectually enriching, even if you rarely use it. (Though if you really understand it, I doubt the sentence "you rarely use your knowledge relating to concepts like algorithmic complexity or formal verification." will remain true for long.)

https://en.wikipedia.org/wiki/Foundations_of_mathematics
Oh they probably are storing it in plaintext

I believe they have some legitimate reasons for doing that (like the example quotes)

Another reason for specifying a length/limits is that you may need to type it using another device (like an ATM) and keeping it apart from other passwords (if you allow everything, you'll just use your gmail password or something)

Now, to be honest, if you break into a bank db, why are you going to bother with passwords?
How do you close it?

Taking a look at the source, it should use CSS translateY instead of javascript animation, would perform much better specially on mobile devices.
The Bouquet 2013 watch full movie
The bouquet 2013 watch full movie
North Dakota, socialist haven?
This type of menu is supposed to be transient, closing after a click, but this doesn't seem to be working on desktop.
These six regular people just got invited to use Google glass
these six regular people just got invited to use google glass
US East Coast, and it wasn't a leftist initiative. It was in response to the fierce competition from the Soviets in the "space race". We decided we had to get serious about math, meaning the math program should be decided by mathematicians. They produced "new math", which was based on mathematical theory instead of practical use of math or the cognition of education. It didn't work out.

Then the left took over and created "new new math", also called "reform math", which is what we have now. It is ridiculously inefficient. I had no idea that you could do worse than new math, but that's what we have now.
I suppose the takeaway is meant to be: why bother having two separate data storage systems (relational + schemaless) if only one will do? I mean, if Mongo isn't offering much (if any) performance gain or schemaless flexibility... what's the advantage? With Postgres, you can have your cake and eat it: your transactional data gets the benefits of a strict schema and referential integrity, but you also get an "escape hatch" out of the relational model for when that is needed. (And 18 years of proven code, deployed at massive scale, that definitely isn't going to lose your data.)

Side note: what's with Mongo using so much storage? Perhaps an append-only log without garbage collection?
Nice idea! I'd love to see a follow-up post on how well it did and what you did to promote such a product.
Http://www.free-proxy.fr/
One approach to expression indexes on JSON would be a multicolumn index. Column A is the path, e.g. "foo.bar[2].baz" and column B is the value at that path... of course you'd need to use GIN -- which as mentioned already is slow to build -- since one row would map to multiple index entries. But this ought to be a fairly workable approach.
Promises/A+ surfaced less than 6 months ago, and is not implemented by most widely-used frameworks. Still a bit far from canonical.
Really great presentation/slidedeck.

For me I still feel MongoDB is a semi niche solution. I rather go with a standard SQL database unless there is a specific reason why you need NoSQL.
Here is a formatted version that I created from the Google cache source code: http://ompldr.org/vaHh3bA
I think that's totally fine, but unlike your father he doesn't want to explain at all or carry a doctor's note. You can't show up to the gate with a gallon of water and get through security just by saying "it's medical" with no further explanation.
> Why i am getting "Bandwidth Limit Exceeded"

This is normally a notice, not to you, but to the ISP's client, that they have used more than their allotted bandwidth quota -- too many visitors downloading too many resources. It's meant to encourage the client to upgrade their service.

But there are specific reasons for this outcome. If a website operator posts a submission to HN (for example), and if it becomes popular, this might produce a spike in activity that could easily exceed the daily/weekly/whatever bandwidth limit.

> Is this because SpamHaus/CloudFlare DDoS Incident??

Possibly, but in most cases unlikely. It's more likely the result of too many visitors / too much traffic for the subscriber's service class.
Cool product! I've actually been working on a similar project for my website http://www.Pitchenvy.com . It's a gallery of startup pitch decks (the best ones that are public).

It's really important to have a pitch deck that attracts the attention of your audience and concisely delivers all your points. I'm glad that more founders are focusing on this. However, the pitch deck should not be your main concern in regards to your pitch. Don't forget that 50% of the pitch is the presentation itself. You need to build rapport & engage the audience. The best pitches are the ones where the audience feels like they are a part of a genuinely interesting conversation...without needing to speak a word! I know that alot of founders are not great public speakers, but with the right amount of practice anyone can deliver the perfect pitch.
Not that it matters much, as the mail speaks for itself, but according to the website: CTO
Don't remember exactly when, probably is was in time when multicore hosting servers becomes relatively cheap. We made measurement MySQL vs PostgreSQL and surpisely found that PG is visible faster. Don't remember exactly numbers. So even if team never push server as supa-pupa-fast on the market they was neat choice for people who know.

But the same time, even if PG documentation can be used as textbook for RDB theory in high schools I always hear from other people that it is boring. And I agree with that. SQL in general and PG interfaces in particular is just "so old school". MongoDB looks more friendly.
Sure but the bulk of the code above Linux + userland is Java and all the APIs are Java. In hindsight it might have been a better choice to just buy Mono but that ship has long since sailed, for better or for worse.
I'm not too familiar with the current schema, but I do know we make extensive use of partial indexes (WHERE (vnnk IS NOT NULL), WHERE (fhs > 0) etc...) and compound indexes in btree. In GIN, for example, this isn't possible, but GIN itself works reasonably well for partial matches (since it's also btree) so it's not too much of a deal. We use a combination of hstore, GIN, conventional fields and multiple indexes with the schema abstracted out on our app to provide a document storage and search engine with a separate app for client login. I believe some metadata is stored in conventional fields (varchar integer etc...).

Performance compared to the conventional schema is of course noticably slower, but not unacceptably so for a few thousand docs and growing (this is compared to hundereds of millons of rows on the conventional schema).

But such is the sacrifice for reliability. When NASA hit a spat of failed missions to Mars (explosions, collisions, miscalculations etc...) people were joking about the creed at the time, "Faster, Better, Cheaper; Pick 2".

This kind of engineering is a turn off for a lot of folks, so I can certainly see the appeal of a document DB. I've also seen people fall into the trap of "I don't know what kind of data I'll be getting so I'll go with a doc store". Well, there has to be some hint of what kind of data could be arriving so engineering for that with some wiggle room early is a good idea.

You shouldn't take my word or the slides at face value, though. Really think through, experiment, throw stones at it etc... and see if it works for you.
Link only goes to an advertisement.
SPAM - DELETE this HN article, please.
And as pointed out in the last paragraph. The table excludes cost of education and malpractice insurance.
If you need to hire 2 people, and you have 200 resumes, the first thing you do is throw out all the ones with misspellings and without a degree.

Other than that, the degree isn't that important, compared to the skill-set and work history.

The pure ability can be gained just from Google, Wikipedia, and practice at home. So can all the theoretical knowledge.
I imagine a compressed suffix array or compressed suffix tree using libsdsl (https://github.com/simongog/sdsl) would probably be a lot smaller/space efficient and faster.
I agree! Mobile performance on my iPhone 5 is a bit jarring, definitely look into the use of CSS Transforms instead.
> The third option is managing activities. I think the set of users that make any use of this features tends to zero

Hell yeah! Does anyone know how to effectively use KDE's activities?

When I tried to use it, I was expecting something that would remember opened apps and the placement of their windows, which is what my intuition said "activities" should be like, a set of programs and an arrangement of their windows that represents a particular "activity", like having a PDF of SICP opened on half of my screen, a Racket repl on the other and a browser with some specific tabs on my other display, but if KDE's activities can give me this, I haven't figured out any way in hell to get it to do this. And if it's supposed to do something else entirely, then no documentation or tutorial ever managed to explain to me what it does in a way I could understand. Don't get me wrong, I love KDE and it's the single Linux DE I can stand besides xfce, but it has a bunch of "wtf" features that I just stay away from, and they made them attract the attention of new users in a way that makes them go through hours of WTFs before finally abandoning the feature and deciding never to touch that part of KDE again.
I'd always head the performace pitch for Mongo being "slightly slower on a single machine, but way easier to scale out horizontally"
Why is it laughable? Because it doesn't fit your line of thought? Choosing a substance that doesn't trigger a specific chemical detector, but becomes dangerous when interacting with something else in your carry-on is certainly more feasible than taking large amounts of liquid unnoticed through multiple scanners.

As for the "split into smaller bottles", I think that's a brainfart on the part of the agent, at least around here you're limited to a couple 100ml containers.
Remember that until the early-mid 90s, file names were limited to 8 characters. Lots and lots of enterprise financial software was written in those days, and a lot of it still runs. We're talking about tremendously complicated systems that support trillions of dollars in transactions a day. You don't change level of interleaving complication fast nor easily.

With that said, the rest is just my own guess. Banks are slow moving. They're built on these old systems that run well, but would be prohibitively expensive to rebuild from scratch with modern principals. We see the edges of these systems when it comes to things like passwords.
Interesting, I hadn't heard about this. Here is a link for the lazy: https://django.2scoops.org/
Python is neither fast enough or robust enough to use as the foundation for an OS. You need static typing and strong tooling both for performance and for correctness. Those that disagree with this need only point me to a successful counter-example.
...that kind of defeats the point of it, you know :)
I hate hate hate D&B. so scammy and spammy and worthless. I think their corporate structure reflects the scam... One company issues the DUNS # but another is the telemarketing spammy one that calls you for years afterward.
Let me advocate something even more interesting.

Take Haskell type, formally find its derivative, notice this new type is useful for traversing the original one and (optionally) explode your head.

(They call it zipper)
Without animal studies, you are exposing human subjects to potentialy toxic drugs.
If there is no market for it, it will die. There's a bit of arrogance in the idea that you know better and can do things from the "top-down". Getting user feedback doesn't mean replacing your ideas with whatever John Doe thinks he likes, but finding out how your ideas fit (or not) the users' needs.

Before someone starts misquoting, even Apple did user testing, although not in the traditional format; there is no point in building someone that suits nobody.
Loki from The Apricity
Right, so MongoDB goes back to my pet theory about how reward schedules shape technology selection.

It takes very little upfront to get data into or out of a MongoDB instance. Import the relevant module, name the server, persist. Blam, done, no need to worry about how to map an object model to a relational model or vice versa. Here kid, have a dopamine hit.

Meanwhile, a relational database imposes a schema on you upfront.

It seems harder because there's a minimal standard you must meet first.

It continues to seem harder because the database will insist on conformance to that schema rather than flexing to accomodate new cases.

And lastly, it seems harder because when you try to change the model, a relational database will insist that the new schema is consistent with data stored under the old schema (or that you provide a consistent way to update it).

Mongo and other document DBs don't do this. They just let you do what you want to do.

The problem is that eventually, stuff is done wrong. And you wind up with a document database full of corner cases. And you need to write complex query and load code to deal with all the quirks and historical mistakes and errors that crept in previously.

To summarise:

Loosey-goosey systems reward you now and punish you later.

Strict systems punish you now to prevent future punishment.

Humans are bad are trading off such different reward schedules. We hyperbolically discount future rewards and we are dreadful at accounting for avoided costs.

The only reason relational systems got a foothold in the first place was because the people who chose them knew from personal experience how much hierarchical-model and network-model databases could suck.
I had heard it was largely due to Disney. Not sure if that's true?
Great! Now, how do I get EDITOR (and PAGER, for that matter) on a remote system to refer to an editor on the system I'm sshing in from?
I'd expect that the attack vector banks face most is that oblivious users simply give away passwords through phishing schemes. And banks with reasonable security don't rely on passwords (alone), but on some kind of token generator, in which case such a phishing scheme which directly transfers money to the attacker is the only option (any keystrokes captured are useless after x minutes).
It looks really cool, but I cannot figure out how to use the program to open up crystal structures (PDB file format) on my desktop.
There's a place for every approach and the one you mention works well in many situations. Look at Apple!

However, Lean handles one of the great problems with this one (which is quite traditional as aytekin has already pointed out): it can take more resources than your typical startup might have. Sure, they can raise capital somehow, but that too could require more resources than are available.

Often, an entrepreneur will want to start from scratch, and may have no experience building a product or a business. That's where the Lean Startup approach does well.
mmm, Cider...
The client, or server, could just concatenate all the chars and then calculate whatever hash you desire of the result. Or?

Yes, if the machine is compromised the attacker could do it as well but the point was to prevent keyloggers specifically.