skysight-inc/HackerNews huggingface dataset:
First of all, thank you very much for the reply: you really didn't need to bother, as despite being a Clojure user who stores a lot of data, I'm probably simply not in your target market segment ;P.

For the record, I do not believe that you have explicitly stated this is revolutionary, although I believe various other people on HN in various threads on Datomic have. However, my specific reactions in the comment you are responding to are due to DanWaterworth's insistence that I believe that it is trivial: my original comment does not touch on this angle, and is entirely about "real databases aren't implemented like this".

That said, I do believe that if after 30 minutes of listening to a talk that doesn't mention "this is largely how existing systems are implemented, but we provide the ability to see all the rows at once", there is an implication "this isn't at all like anything you've ever seen or implemented before", which is why after DanWaterworth's comment, I started exploring that angle.

Yes: in the case of PostgreSQL's MVCC, the old e-mail is gone from the perspective of the model for other people not inside of a transaction viewing the contents, however the kinds of problems you were describing at the beginning of the talk did not need to avoid transactions.

However, the implementation is so close that if I were explaining this concept to someone else, I'd probably use it as a model, especially given that it even already reifies the special columns required to let you do the historical lookups (xmin and xmax).

As I mentioned in another comment on this thread (albeit in an edit a few minutes later), you can get historical lookup in PostgreSQL by just adding a transaction variable that turns off the mechanism that filters obsolete tuples: you can then use the already-existing transaction identifier mechanism and the already-existing xmin and xmax columns as the ordering.

The result is then that I'm watching the talk wondering where the motivation is: many of the listed motivations weren't really true faults of the existing systems, and the ones that remain seem like implementation details of the database technology.

In the latter situation, when I say it "could be" I really do mean "it is": PostgreSQL can take advantage of the fact that it is built out of MVCC when it builds other parts of itself, such as its streaming master/slave replication (which is another feature of many existing systems that you seemed to discount in your motivation section).

I am thereby simply not certain what the problem is that Datomic is trying to solve for me, whether it be revolutionary or evolutionary (again: I don't really care; I'm just commenting on the motivation section), as the listed motivations seem to be fighting against a strawman design for a database solution that doesn't have transactions to get you 90% there and isn't itself implemented and taking advantage of append-only storage.
How can anybody use the word "syngergistic" with a straight face, much less in a press release?
Also, "visual languages" even when restricted to very specific domains (think of DSP blocks, a tried&tested domain where visual languages are abundantly abused) tend to get very messy already when only very simple logic is involved. I wouldn't classify simple IFS systems in recursive painting programs to be "programming" at all. Where's branching, for instance?
Claim 1 is for a system with tv tuner, internal hardrive and a removable media. So it is slightly different then a Tivo.

Although I don't think taking a Tivo and slapping a CD writer on it should be eligible for a patent. Especially if TV tuners where available at retail at the time (pretty sure they were, but I have no evidence of that.) Basically anybody that put a TV tuner into a computer with a CD writer is prior art for claim 1.
Yeah we'll release a PAM module soon so you can do this. If you don't want to wait, you could write one. Just look at this module, it's fairly simple. The API is really straight forward.
Optimizing The Design Workflow With Extensions
sigh And I tought we were through with collections of trivial shell commands.
Rob Pike again. Over the years he's done pretty much _everything_.

https://en.wikipedia.org/wiki/Rob_Pike
You mean, prostitution is a crime? Didn't they decriminalize the trade in a variety of jurisdictions (e.g. Germany)?

Anyway, that's off-topic.
Beyond Wireframing: The Real-Life UX Design Process
Mailchimp has some decent ones for free http://mailchimp.com/resources/html-email-templates/ (it should be easy to adapt them for other email providers)
Controversial programming opinions
Did Optimizely make that graphic? The support comparison is deceptive. You are comparing the basic plan of VWO to the platinum plan of Optimizely. And comparing lines of code is meaningless. In fact for the reasons outlined above by paras, a 21 line implementation which does not block the site load is more beneficial to most users.

@paras: Your response times do not look good. Why are you using a homegrown pseudo CDN instead of a real one like akamai or limelight ? Also why not make your API docs public ?
it's all fun and games until someone uses this for CSRF, don't visit any of those sites!
A couple questions about your example:

I noticed that the xmin changed from Connection 1 from 189018 -> 189028. Is that just a typo?

Is the concept of transaction in this regard a 'state of the entire db'? If a transaction included multiple modifications would they all get the same xmax? If so, I see this as a difference between the presentation and your example. The transaction is a modification to the entirety of the db and is a state of the db. In Hickey's presentation, he very clearly says that the expectation is that the transaction component of the datom is specific to an individual datom.

Since its been a while since I've worked on DBs, and even then I didn't know much, your demo has helped put it in perspective.
Actually, there is a lot of difference but not just because of the global lock to database lock transition. There is also a lot of work done on yield-before-lock: http://blog.serverdensity.com/goodbye-global-lock-mongodb-2-... And don't forget that replication also happens in a different database...
You don't like consensual group sex, either? (Not that you or I or anyone is under any obligation to engage in it. But there's nothing wrong with people who do so.) Or sex for one (instead of two)..

Actually, dogs have a very different sexuality. They don't have sex all year round. Humans are special.
I am not certain whether your response comes from a reading of my comment before or after the paragraph I added that started with "for a more complete implementation", but if it was from before I encourage you to read that section: the ability to do the query is pretty much already there due to the xmin/xmax fields that PostgreSQL is already reifying.
Was on the radio news today. It seems a huge crowd was using this 'chance' to have a party with cocktails and beers, making this some kind of .. event.
Note that the website has a nice explanation: http://htmlemailboilerplate.com/
How did Facebook make their new iOS app so much faster?
Apple Jury Foreman: Here's How We Reached a Verdict
Why is Clean Code suggesting avoiding protected variables?
This is a great idea, although for productive use I'd prefer that as a browser extension or bookmarklet, rather than having to visit a foreign website (haxx.ly). On the other hand, that separate website is a comfortable way to show my results to others.
Churches give a staggering amount of aid to the poor, with fewer strings attached than the aid given to them by the State.

If Mitt Romney lawfully lowered his taxes, more power to him. I use TurboTax to lawfully lower mine. The problem is with the laws.
Nah, if someone sends me HTML it gets parsed into plaintext and if it doesn't work I don't care what's in it. You want to send me a pretty document - feel free to send me an attachment or a link. HTML emails are always ridden with superfluous disclaimers and signatures not using the -- convention, they're a waste of time.
Is there anything to prevent malicious scripts being run?
There are some nice tips in the original article that's been cited on quora: https://www.facebook.com/notes/facebook-engineering/under-th...

I'm hoping for some more insights in the quora thread.
Do you know if it's feasible to take long term short positions on Apple? Say, like 5 years?
It's inaccurate that there's no difference between the global lock and database level locking. Whilst it's true that locking is now down at the database level and you get benefits from splitting into multiple databases, the real benefit is from the new PageFaultException architecture. Even using a single database you will see significant performance improvements.

I benchmarked this at http://blog.serverdensity.com/goodbye-global-lock-mongodb-2-... and there is a video explaining how this works at http://www.10gen.com/presentations/concurrency-internals-mon...
When I read things like this, I can't help but conclude that ultimately we will become one with our machines: "as far as the cells are concerned, they’re just normal cells that behave normally — but the electronic side actually acts as a sensor network, allowing a computer to interface directly with the cells."
Well I can usually hold 300-400 tabs with 2GB of memory, so I'm not complaining. Chrome will naturally use more memory because of multiple processes, however.
It's the pink color that used to be used for selection.
Given that I need to share that common basis among the different parts of my system that need the consistent view, I am already taking the hit on that coupling: I am going to need to make certain that all of those parts all have access to the shared basis, whether it be a timestamp, a transaction identifier, or an active connection.

If the concern is coupling across space, you can store the transaction on the server in most existing databases. Past that, I would be highly interested in knowing the motivating use case that is causing the need for this much global and distributed snapshot isolation, but otherwise agree: I'd love to see more databases actually expose the ability to more easily "query the past" as well as request guarantees on vacuum avoidance.
Re: read/decide/write - Datomic supports transaction functions (written in Java or Clojure) which run within the transaction, on the transactor, and are true functions of the prior state of the database (with full access to the query API). They can be used to do all of the transformative work (traditional read/modify/write), or merely to confirm that preconditions of work done prior to transaction submission still hold true (optimistic CAS). The model is simple - there are no complexities of isolation levels etc. All transactions are serialized, period. Completely ACID.

The critical thing is that queries and reads not part of a transformation never create a transaction, and don't interact with the transactor at all.
The Aggregation Framework is a great feature, already in production...
I got absolutely no problem with that, I just don't think you're going to win many converts.
That's good to know. It still feels like an half-assed solution to a very serious problem, however.

I definitely won't be looking at MongoDB again until this is fixed for good, and until I know replication is more reliable. Had terrible problems that that too unfortunately.
I agree with most of what you say, but I don't think that MVCC is really what this is about. The qualities you describe are a feature of ACID. MVCC is just a way of implementating ACID so that it requires less locking.

More importantly, I think, there are issues with some data structures that are not well supported by postgres or any other DBMS (relational or otherwise). I do a lot of text analytics work and there are things I need to store about spans of text that I could model in a relational fashion but I don't because it would lead to 99% of my data being foreign keys and row metadata.

There will always be domains where you need highly specialized combinations of data structures and algorithms that are not efficient to model relationally and even less in terms of some of the other datamodels that you find in the NoSQL space.

That said, I found that even in natural language processing, RDBMS do a lot of things surprisingly more efficiently than conventional wisdom would have it. Storing lots of small files for instance, something that file systems are suprisingly bad at.

Sometimes I'm surprised how many people like to complain about premature optimization using languages that are hundereds of times slower than others but then go ahead and use horribly inflexible crap like the BigTable data model just in case they need to scale like Google.

Of course that's off topic because it's not remotely what Hickey proposes.
My guess is that as those people come of age we'll gradually see a sort of silent consensus to ignore that stuff within certain parameters -- if they were a certain age or younger, say, or as long as no serious laws were broken.

It's happened before. Look at how society has evolved on questions of politicians' drug use, for instance. In 1970 admitting to have ever used marijuana would have been an instant career killer for a politician. By 1992 Bill Clinton could admit having used it, as long as he hedged the admission with a bunch of caveats -- he didn't inhale, etc. And by 2008 Barack Obama could openly admit having smoked pot regularly without any negative repercussions, as long as it was only in his wayward youth.
MongoDB v2.2 Released - Announcement from the MongoDB Blog
It should be as good as jsfiddle.

The haxxlys run in an iframe on a separate domain to haxx.ly (similar to jsfiddle) to prevent you from hacking haxxly with haxxly.

You could use it to phish with but there is a giant banner saying this website is from haxxly and is altered. Also you can view the code yourself and flag it if it's bad.
This is under category 'satire' so probably not true.

Apple is the new definition of evil. They themselves stole from Xerox, once upon a time. And suffered at the hand of Microsoft (because of bad practices). Now when they get a second chance, they themselves chose to be evil. "Thermonuclear war" on you Apple!
There’s a great Chrome extension that lets you choose which permission to give to the app when authorizing it: https://github.com/chadselph/fprivacy
Hello, and I am Ruby!

http://www.youtube.com/watch?v=PQbuyKUaKFo
Two things:

1) As stated in the first sentence and the title, he's been arrested in the US which is where he'll face charges and up to 15 years in prison, not the UK. Just because it's reported on a UK website that doesn't mean it happened in the UK. Unlike some US news outlets, the BBC sometimes has a look at what's going on in the rest of the world.

2) What you're doing here is comparing the maximum possible sentence (15 years) with I have no idea what but I suspect specific sentences (possibly time served?) that may have been handed out for the crimes in question without listing any detail that might put that into context.

If the 15 years were a UK sentence the comparison would be that the maximum sentence for rape in the UK is life and the maximum sentence for murder in the UK is life (in both cases meaning 15 - 40 years (Scotland) or 15 - 35 years (the rest of the UK)).

While in reality this may not the the actual sentence or the time served, until we have a conviction and an actual sentence, these are the only valid comparisons we can make.

So, great country? Maybe not, but you make no good argument as to why not.
DB Level Locking (https://jira.mongodb.org/browse/SERVER-4328) is a dependency of Collection Level Locking (https://jira.mongodb.org/browse/SERVER-1240). For a critical, tricky core piece of functionality like this it makes sense to tackle one major concurrency issue at a time, do a release, stabilise the code and verify there are no issues introduced by the new locking code and only then release the next step in locking enhancements. Doesn't seem like they're "pretending" about anything as far as I can tell.
Here in Canada the channel called Showcase airs their popular new sci-fi time travel cop show called Continuum soon after it airs.

It takes a while though because Canada is so big, six time zones, only after it airs on the west coast plus a delay while they upload it which pretty much means the next day.

Even with that and the delay to put up it's on thepiratebay.org about half an hour after it airs, a good 12 hours before it's officially put on Showcase's website. But Showcase does IP restrict viewers to Canada only, I don't agree with such regional restrictions.
I think you're missing my key point: you have to compare two different risks, based on observation. The first risk is the risk of continuing to use a compromised password. The second risk is the risk of users introducing weaker passwords because they continually change them. We can use our reasoning to come up with a decent probability for the first risk. We cannot do so for the second risk, since it depends on how people behave. We must study people to assign a number to the second risk.
Yes, they do. (Well, of course that something has to happen, but it doesn't have to be human-related interaction.)

http://www.viennatimes.at/news/General_News/2012-08-26/28744...
I keep getting an infinite redirect.
You would be surprised to know, that a majority of the starving people in India are farmers or daily wage laborers doing construction work. The problem is not that people aren't working. It's that their profession doesn't pay enough be able to buy food at the market rates. It's a problem of economic disparity. Food prices fluctuate with the stock market and oil prices, while the poor who have nothing to do with that suddenly have so much lesser purchasing power. While a software developer on the other hand can easily absorb the impact and live without any change in his consumption.
I could work on this system. Give me a couple of terminals with vim, and a webbrowser in a different layer (of course that system precedes the web) and I could do 90% of what I'm doing today to get work done.
Hmm.

The subsidy/pds is supposed to shift the price of goods down, so corruption does affect the intended price of goods by making them unavailable at the subsidized rate.

That's why I chose the supply curve. Correct me if I got it wrong.
> They don't have sex all year round

Tell that to my dog's poor teddy!
Hmmm, is this HN worthy? These commands are so basic that I don't expect any HN-reader using Unix systems not to know those.

What about some slightly less basic ones that I'd think would be useful for many people.

# less with syntax highlighting
alias less="/usr/share/vim/vimcurrent/macros/less.sh"

tailf # tail -f, but better & shorter

mtr # check your connection (ie., traceroute with more info)

htop # nice a colorful process listing (better than top)

locate # search files by name -- that late-night disk thrashing is useful after all!
That's some painfully unfunny satire.
I'm in the UK, it's a crime here.
Why VMware Paid $1.26B for 70 Software Engineers
You sound like my Republican parents.

They turned down food stamps when I was an infant, purely due to pride. That, and my dad wasn't even getting paid regularly by his employer. They were living on $10000/yr back in '82.

But "It made them better people".

addendum: I should also add that when I was born in '81, I required craniofacial surgery to the cost of $18000. They were required to make payments on this, to avoid garnishment.
Thank you so much for noticing that error. What happened is that I started doing it, and then made a mistake; I then redid the entire flow, but forgot I needed to re-copy/paste the first half as the transaction identifier would have changed. I have updated my comment to fix this.

Yes: the transaction is the state of the entire database. However, you can make your transactions as fine-grained as you wish: the reason to not do so, however, is that you are likely to end up with scenarios where you want to atomically roll-back many changes that other people using the database should not see in the case of a failure. You certainly then will at least want the ability to make multiple changes at once.

The tradeoff in doing so, however, is that you will need to make a new transaction, which will have a different basis. I agree: if you then have a need to be able to make tiny changes to individual items one at a time that need to be from a shared consistency basis and yet have no need to be atomic with respect to each other (which is the part I am going to be quite surprised by), then yes: you need the history query function to implement this.

I would be fascinated by a better understanding of that use case. Does he go into an explicit example of why that would be required later in the talk? (If so, I could try to translate that use case as best I can into a "traditional database" to see whether you really need that feature; if you do, it might be valuable to try to get something related to this design into PostgreSQL: I am starting to get a better understanding of the corner cases as I think more about it, and think I can come up with a proposal that wouldn't make this sound insane to the developers.)
I would characterize the level of coupling involved in sharing "the basis is 12345" as categorically different from having to nest database access within the same transaction. Consider, e.g. the ease of moving the former to different processes.
+1

although any non programmer human being is smart enough to just modificate 'scope' param in URL :)
awk '/Kindle/ && /Hardcover/'

awk doesn't have to be complicated ;)
You can change an application's permissions on Facebook's authorization page, but this will only work if the application does not check a user's allowed permissions when the loop goes back to the application. If the developer checks the permissions granted based on the retrieved access token (via https://graph.facebook.com/me/permissions?access_token=USER_...), he/she can see which permissions have been allowed by the user. The developer can then just disallow your use of the app until you allow all permissions.

Reference:
https://developers.facebook.com/docs/authentication/
Hoax from 9gag, apparently

http://daily.bhaskar.com/article/SCT-NEWS-rumors-saying-sams...

The logistics of paying in nickels are challenging...Would have to ask a bank or the Fed for them, send trucks to load them up...not happening.

Samsung probably not writing a check yet, will appeal and no doubt the amount will be reduced, or they'll agree to long-term licensing.
When I was a college student, I had my bikes stolen so often that I did two things: First, I started buying hot bikes cheap because, hey, legal bikes were expensive.

Second, I wrapped the frame of one bike in masking tape and smeared grease and paint on it. I kept that one for years; not even the local junkies wanted it. I guess they didn't notice my servicable Campy brakes and shifters, or didn't see the value in them.

I'm not sure the rational-actor theory applies to bike theft.

UNLESS it's the bike dealers behind the theft rings doing it to create demand, and they're just crushing the old stuff. Bwahahahahahaha. There's a batman movie in that villain theory.
Try any P-complete problem or arbitrary integer multiplication.
You are doing an inspiring project there. It's especially nice you have a free version.
Check out http://rs100aday.com.

2 guys tried to actually live on those amounts and logged everything.

It's really a fascinating experiment and some of the hacks they had to come up with to manage calorific intake were quite stark.

On top of that they describe how they were managing hygiene, transportation and the other necessities of life.

And then they tried to live on rs 32 a day.
Blog post with the details is up http://blog.mongodb.org/post/30451575525/mongodb-2-2-release...