skysight-inc/HackerNews huggingface dataset:
Ask HN: How would an open-source Salesforce clone work?
Every time I develop on Salesforce I'm impressed how fluid the schema is, yet how it works at scale and has relations.

I'm interested how I would implement something link this myself. Googling around for "salesforce clones" I find nothing. I get that MongoDB et al have relations and fluid schemas, but not the SQL-like query language or (IMO) the ability to support hundreds of users all customising the base schema with extra fields, as Salesforce does.

How would you go about implementing this (albeit at a smaller scale)

A few choice quotes from https://developer.salesforce.com/page/From_SQL_to_SOQL

"In Force.com, every database table corresponds to an object that inherits from the SObject object type. Database fields automatically map to their corresponding language types. There are no tools, configuration or XML files required to create the object-relational mapping – it just happens. If you add a field to a database object, that field can be immediately referenced from workflows and code. What’s more, once you have referenced a database field, Force.com prevents you from deleting that field or changing it to an incompatible data type."
...
"The relationship between objects and tables is so tight that in Force.com we don’t refer to tables at all – we only refer to them as objects"
How does Akka (Scala/Java framework) compare to Erlang? It seems to deliver on the same promises that Erlang does.
A dramatic shift of goalposts would be equating not having your head chopped off with utopia.

His argument was not that prohibition wouldn't end immediately, it's that "The Mexican cartels don't only engage in drug related crime".

This is a correct statement. Cartels also profit from sex prohibition, but I'm not sure why this justifies anything. Hence my request for a principled argument. Maybe you can help out.
On the other hand, the CIA got into a bit of trouble when it ran a vaccination program in Pakistan.[1]

The problem in this case is that the specific activity puts reporters in danger, since the nature of their job puts them in contact with criminals.

[1] http://en.wikipedia.org/wiki/Central_Intelligence_Agency#Use...
Some people just need to find things to be offended by.
It doesn't look like the LOCK prefix applies to MOV (from a quick google)? So how does it address write buffering or OOE for stores in a TSO memory model?

[edit] "never require the hammer of mfence for correct synchronization", maybe you're confining this to correct synch. and not recovering sequential consistency (or some other semantic property).
Thanks! I will definitely take a look at those.
More Than Funding: What International Startups Can Gain from Y Combinator
Silicon Valley: The Ironically Centralized Tech Hub
How private is Amazon Echo?
> It's almost anti-academic in the approach

I'd say academic approach to programming languages is anti-scientific and therefore anti-academic on itself. They just don't realize it yet.

> Perl 6 is supposed to take these ideas and
> expand on them

The problem is we already have lots of features in Perl 5 that nobody really needs, they just complicate things, raise entry cost, split community, make it impossible to address performance and deployment issues. So, approach on expanding feature set is flawed and frankly always was.

Instead, Perl 7 maybe should get rid of all the unneeded features, restrict feature set, restrict coding conventions, make it easier for newcomers, make it easier for everyone to understand each other's code, make it faster, easy to compile and deploy without having to install interpreter and so on. These issues are much more important, than language features. And yet no one seems to understand that.
I'm about to learn Lisp and/or Clojure(Script). How does this book differ from for e.g Land of Lisp? I was planning to get my fingers dirty with some more light material before digging in the recommendations (PAIP, PCL, SICP).
In principle, ArangoDB behaves similarly to MongoDB here. Both are essentially "mostly-in-memory" databases in the sense that they hold the data in memory and persist it at the same time to disk via memory mapped files. This approach is good for performance and if you run out
of RAM you ought to shard your data.

However, MongoDB often uses a lot of memory for the actual data, since its BSON binary format stores the names of the attributes with every single document. ArangoDB detects similar shapes of documents (see https://www.arangodb.com/faq#how-do-shapes-work-in-arangodb) and thus
avoids this particular problem.
I'd suggest reading up on Erlang and OTP ("Erlang and OTP In Action" is a good book) and then looking at Elixir. I think that it makes a little more sense to look at Erlang in its native habitat and then you'll get a better appreciation for the syntax sugar Elixir brings.
Married, no debt, happy kids. I guess you could do it your way, but we didn't.
Child Processes, Streams, and Administering Minecraft Servers in Node.js
I don't want to be too mean, but it looks like very little has changed since the six months or so when this last popped up on HN. The book still has none of the exercises that the exposition places so much weight on. Meanwhile, the introduction still mostly tells rather than shows—for all the discussion about how LISP is an elite hacker language, there are no actual examples backing up that statement (IS it in fact widely used by hackers?). Telling me how great LISP is and rambling on about Heinlenian mysticism is not going to work if theres no real substantive material.
Phtevenize Me
Couldn't they just be monitoring these sites for uptime?

When datacenters have a network event and the sites go offline it would seem like a fairly easy correlation.
I think the way people focus on 'self control' is interesting - it's always presented as a choice, or a flaw in a person if they don't have it. But is this really the case? I'm not convinced my conscious desires are necessarily powerful enough to overwhelm procedures in my brain that have developed by other means.

Of course there are probably plenty of people for whom being told this kind of thing is itself a stimulus that can help to modify their behaviour, but I worry there's another class of people (or even just people in specific contexts) to whom being told to exercise self control is not much different to telling someone with depression to cheer up. Potentially well meaning, but fundamentally the wrong way to approach things.

(To relate to this specific article, I don't see why it shouldn't be a very reasonable point that popular window managers etc may really not be optimised for productivity - not necessarily for you, but for some significant number of people. It's easy to say 'oh they can just change it then', but maybe most of them will never think about it or even realise it's possible unless the issue becomes publicised more widely.)
10 days to go! Over half way there. Let's do this!
Winning When You Least Expect It
Easy tool for Bypass iCloud Activation Lock iOS 8.1 just released (iOS 8+iOS 7)
Wouldn't you be paying for health insurance with after-tax dollars that way? Would the employees be taxed on the re-imbursements also?
Yeah because leaving is so simple and guilt-free? Because you know all about why she felt attached to him, but needed SOME outlet that he could no longer provide? Because of course marriage is all about sex and nothing else, not shared business, nor family, nor support. Just leave as soon as you're bored!

Maybe she was providing him money and support. Maybe she started out confiding in the other guy, and moved gradually from friend to more. Maybe divorce means a whole lot more to her than to you.
Convincing enough, e.g.:

> Hi! I'm Bob with KBBL Eyewitness News. Do you mind if I ask you a few questions?
APL was the first language I learned - we used an IBM Selectric type terminal with an APL type ball on a time sharing system. I still fondly remember writing Least Squares analyses in 1 line of "code". I couldn't believe how clunky Fortran and Basic were in comparison.
No parent would tell their kid "Deception is ok". "Thou shalt not lie" concepts are in most religions[1].

And yet it's ok for those whom are supposed to be examples of the morally upright to do so?

Hypocrites.

[1] - http://www.unification.net/ws/theme062.htm
FTA:

Of course, it’s important for us to keep in mind
that these are all correlations with marriage
stability, and they could be telling us any
number of things. For example, the “having kids
with your spouse” correlation could go either
way: Either people in stabler marriages are more
likely to have kids in wedlock, or people in
less stable (unhappy) marriages tend not to have
kids. All of the explanations I wrote above are
my own interpretations of the correlations, but
keep an open mind when thinking about what could
really be driving these correlations with
marriage stability.
Haha, that's a nice idea. But still needs some polishing!
Divorce rates at 50% (contrary to the statement in the article) are not my way really. This is the way of the society today.
"the global database can store all functions ever created, without worrying about anyone stepping on anyone else's toes"

I've had similar thoughts in the past, though my thought was as a function loader for javascript. Why not just experiment with this as library for javascript functions? Downloading the code from the "global database" would be provided by a function:

getDataByHash(hash) : Blob

To load the code into the return use eval (blech), or back up a step and use script tag + an advanced version of magnet links I'd call snow links:

<script src="snow:?xt=urn:sha2:beaaca..."></script>

There will have to be a dom-scanning/watching js library that the pages load from a normal url which scans the page for snow links, downloads them by calling getDataByHash(), and then swaps in new URLs using URL.createObjectURL(Blob).

This leads me in a somewhat orthogonal direction to your post...

Obviously any element in the page that loads resources would benefit from this (link rel=stylesheet, img, iframe, etc) so the document-scanner should work it's magic on them as well.

To me the tricky part becomes "the global database." There are several ways to implement it. My thought would be to build it as a DHT on top of Web-RTC. I'd look into webtorrent, it has to scale from very small to very large files. Maybe have multiple different DHTs that the scanner will try.

Storing stuff in the DHT ought to be as simple as declaring to the network that data (or solution) of a given hash is known. Clients p2p connect over to the knower (or daisy chain style as a sort of ad-hoc STUN/TURN setup?), and virally spread the data by declaring they too now have the solution for the hash they just downloaded. A CDN can still store a file and can be listed as a fallback provider in the snow url.

As an example application:

Once this DHT exists and p2p is built on top of it should not be hard to ask peers to run the content of a given SHA and return the result (or they will return it's SHA if it's large, effectively memo-izing the function). Something like:

run(hash) : RunOffer

Any peer (AWS or Google etc could implement a peer as well) could respond to that with a offer to run the computation for an amount of p2p currency that scales to billions or trillions of tiny transactions per second.

...

Anyhow this comment is way too long already, but the ideas keep flowing from here. There are a lot of technical challenges for vital features (like how to register (im)mutable alias for hashes and distribute them to the network without using DNS for authoritative top-level namespacing? how get reliable redundancy guarantees for stored data without resorting to a CDN? What to do about realtime steaming of data where data is produced by an ongoing process? grouping multiple devices for the same user?)

All-in-all it seems like being able to get data by the hash of its content from inside of a program (including library code) as easily as loading it from a URL or off the filesystem is pretty useful. It also seems like we can engineer the technology to make this happen, so I think it's inevitable and will happen pretty soon.
No paying customers, no cash reserves, no investors/buyers lined up: you're done!

Your mission now, (based on your skills & expertise)-- identify someone who you can help and will pay you for your services. You can make this "pivot" either individually or as a group. Put your heads together as the sales & biz dev team. Get out there, start asking people what projects they might need help on. Do it now!
MBA in IT vs. MA in CS
Lesser of two evils is still an evil.
Assault rifles are rare and expensive, but legal in most states. They are tightly controlled at the federal level, and no new ones have been allowed since 1986.

Armor piercing rounds are legal to sell, purchase, own and shoot. Steel-core rounds are illegal to manufacture or import.

Teflon-coated rounds are a fantasy. They exist, but do absolutely nothing to make them more effective - instead, they are intended to extend the life of a gun's barrel by limiting wear.

Tanks are not illegal. Armed tanks are also not illegal, provided the main weapon is registered as a destructive device, along with any active explosive or incendiary rounds for it. Training rounds are (e.g. chalk) are unregulated.

I oppose all firearms regulation, period - but let's get our facts straight. :)
Young tech workers want to live – and work – in cities
Vyacheslav Egorov: Invokedynamic.js – JSConf EU 2014
Ha! Divorce rates are because of serial-marriers. The great majority of marriages last a long time; the stat comes from the tail of careless, impulsive people who don't respect the institution. 'Society' doesn't get married; individuals do. You can do it your way, you don't have to care one whit what 'society' does.
Visualising Death in Syria (Since the 2011 Revolution)
Why should this be on HN? I can hardly see how some guy boasting about killing someone - "bad" as they may be - is in any way related to hacking.
Even a simple seq(alike) lock needs a load-load fence.
Without a load-load fence the verification of the condition doesn't offer any guarantees for the "previously" read data, i.e. the actual data load might be reordered past the load of seq.
A single data point is never "statistically significant" on its own. What you probably mean to ask is whether its standard score is likely assuming a standard normal distribution of values [0]. Without running the numbers, I would guess not.

[0] https://en.wikipedia.org/wiki/Standard_score
Show HN: Turn Your New Tabs into Emma Watson with Image Tab
It's all about environment. I don't know about you, but in college I quickly noticed that if I hung out with the hard workers I would get great grades and do all my work on time, and if I hung out with slackers I would just play video games all day.

Put the unfittest, unhealthiest person you know in a house with crazy healthy and fit people for a few months, and you'll notice drastic changes in their habits and behaviors. The opposite is true - put a healthy person in a house where their roommates eat pizzas and watch TV all the time, and they'll quickly get to their level.

On one hand it's depressing (if all your friends and family follow the same patterns you'll have a hard time breaking out of it), but on the other hand it's empowering: you can modify your environment to encourage healthier habits (if all you have in your fridge is healthy food, you won't be snacking on Cheesy Poofs when you're hungry at 4pm).
I have backed the kickstarter. Chocolatey makes MS Windows much better.
Great post. Wish more people would be honest that we aren't invincible. Use things, love people; not the other way around. Our society needs more influence on family. Good work.
This is INSANELY COOL.

If it's smart enough to learn how to build a JPEG in a day, use it with netcat and it could probably send quite a lot of things down in flames.

Who needs static analysis :) ?
Agreed, and with some simple "helper" text at the bottom, with a split-screen, editor on one side, and live-preview on the other it gets pretty good.

I use MarkdownPad when I'm doing larger readme or documentation files for github.. I can imagine it would be easy enough for others to pick up.
It would be interesting to see whether the AP could sue the FBI under the 'takings' clause of the constitution, because the FBI has taken some of their reputation, and harmed the AP's ability to conduct its business.
Zed didn't write this... it's some knockoff "hacker" using the same title and format.
I understand what you're saying and there is merit to your point of view. But, I want the people who pulled the pins on the fake grenades in jail for life. They attempted mass murder. I don't want them on the street when the only thing preventing them from murdering people is a temporary lack of convenience.
'Technocreep' author explains how technology is invading our privacy
Yes, this is an important point. Exactly what will remain free. I trust it will be the good parts of what we have now.
> Lisp—the friendly nickname for Common Lisp

Sorry, but this is an awful way to start... just get the Wikipedia definition?
I had a brief 'It's alive :O' moment when reading this, imagine seeing face looking at you in one of those pics :)

Nice article, concept of fuzzers was new to me.
I don't know if that's even accurate. If so, it's pretty revolting.
To add to the example of 'DSingularity: remember that the memory ordering guarantees specify the behavior of individual processors in a multi-processor system. You have to extrapolate the system behavior from there. The guarantee on reordering of loads with respect to each other is only unnecessary if you assume that no other processor modifies those locations between loads.
Ask HN: Joyent open sourced their stack:What's effect on openstack and docker?
Now given that Joyent made their container open source what it means to docker and openstack?
Agreed. I bookmarked LLTHW a few months ago when I decided I "need" to learn a Lisp (if, indeed, one can ever be said to truly know a Lisp), but found the extreme WIP-nature off-putting. I think it will be a good resource in a few more years, though.

In the meantime, I've had GigaMonkeys.com open in a separate tab ever since and plan on purchasing the silly "Learn Lisp Through Games!" book.

Edit: But I did find the author's nouveau mysticism/occultism quite interesting. I tend to forget that those belief systems are still around.
ohh so this is what I've seen on my coworker computer :)
FBI Seize Silk Road 2.0 Servers; Admin Arrested – Gliglnet
Someone correct me if I'm wrong, but it seems to me the main advantage of Erlang over something like Go, is that the logic for your entire cluster is contained in Erlang itself, as opposed to in some external scripts or configuration. What I mean specifically is that it seems like you don't need anything like Mesos or Kubernetes to monitor and relaunch processes across the cluster. OTP within Erlang does that for you.

Now whether this is worth the tradeoff of switching to a new language and framework (OTP is a framework even if it is lightweight to use) depends on the team I suppose.

This is just based on my reading of the docs. I hope someone more experienced will correct me if my take is wrong here.
> Most of the pro-vaccine organizations claim that the main/only reason people avoid vaccinations is because they (falsely) believe that vaccines are the cause of the autism epidemic

Neat, a recursive strawman. Is there a word for that?

Anyway, I don't know if you count the CDC as a 'pro-vaccine organization' but they are aware of and have responses to multiple misconceptions about vaccines.

http://www.cdc.gov/vaccines/vac-gen/6mishome.htm
It would be nice if the hash was local (so functions that have similar structure have similar hashes).

IDE could do "It looks like you're trying to write qsort - we already have it written 10000 times in these functions: ...".
How to Take Your Personal Brand to the Next Level
[...] but they are useless for individuals looking for
a stable marriage, or couples attempting to foster
one.

I agree, as does the author if you read the bottom of his post.

That being said, I don't see these sorts of facts come up around here in discussions about sociology, childhood development, poverty rates, etc.

These facts may not be useful to people in the middle of parenthood or marriage, but they are useful to:

* young people that need some raw data to help them figure out what lifestyles might work best
* people studying larger trends about society and how people are doing overall

It's true that the data doesn't point to a recipe for success, but it's still important to be aware of the data because it's true. Figuring out how it's useful is the next step.
This is great, it has saved me a great deal of time at work.
Persistent data structures utilize structural sharing, meaning that the current version of the structures shares as much from its tree as possible with old versions. This effectively allows any thread to make a new version of the data structure efficiently and without having to use locks for reading. They are very useful in the face of concurrency and multiple reader/writer threads.

One thing to remember is that getting a new version of the data structure does not change old ones at all. In order to change state, in Clojure for example, you use constructs such as atoms to "advance" a persistent data structure forward. Think about it like advancing through your git commit history - efficiently and by only applying the delta for the next "change".
10-20x slower means it makes sense to use a persistent map when the size of your Dictionary is > 20 records.

Then,

// yourDictionary is NSMutableDictionary, [yourDictionary count] > 20
NSMutableDictionary *mutable = [yourDictionary mutableCopy];
mutable[@"old_key"] = @"new_value";
NSDictionary *changedDict = [NSDictionary dictionaryWithDictionary:mutable];

will be slower than

// yourDictionary is AAPersistentHashMap, [yourDictionary count] > 20
AAPersistentHashMap *changedDict = [yourDictionary setObject:@"new_value" forKey:@"old_key"];

Remember, you need to get another immutable map, which is a modified version of the original, preferably memory-efficient, which means we want to reuse the unchanged keys/values of the original map.
The Million Masked Madness
Yup, I had a lot of fun with it in 2013.

Also, at MIT's annual January puzzling match, I had fun solving this most-common-thousand-words thing (it has a list of cool stuff that you can study at MIT if you want to know how to build flying things... but all in most-common-thousand-words-only fashion).

http://www.mit.edu/~puzzle/2013/enigmavalley.com/you_will_no...

Its solution is at

http://www.mit.edu/~puzzle/2013/enigmavalley.com/you_will_no...

I thought it was a Hunt classic and did honor to xkcd too.
This looks great, I'd not have known about it were it not for this post on HN! Grabbed the $50 level as I'm an SD native so a launch party sounds like a lot of fun.
Mojulo: Interactive pixel art math renders in your browser
Recently installed Hyper-V Tech Preview, since this a core server product with no gui and I needed to install some tools, i.e. cpu-z, I decided to use Chocolatey to manage/install software.

Step 1. I cut and pasted the install command line for chocolatey and installed it.
Step 2. I choco install cpu-z
Step 3... there is no step three!

This is a great project and would benefit from all the support we can give it.
I have been bitten by this using MongoDB as well. The shape recognition of ArangoDB sounds very useful. If this works well, it would alleviate a problem that NoSQL solutions so far have in comparison to classical relational databases.