skysight-inc/HackerNews huggingface dataset:
I am pretty sure it is not about where you host, but where your company sits. And courts won't only look at where you are incorporated, but will look where they think the executive descisions are done.
See the amount of people complaining about the missing spec for Ruby in this thread, which is his doing. At some point ~50% of the comments here were downvoted.

I should clarify that I meant Ruby the implementation, not Ruby the language.

Edit: I changed the word to "some", maybe that was a bit of a hyperbole. I see quite some unreflected bashing though.
Not a physicist either, but here is my $0.02.

LHC is a collider, while this is a particle accelerator. LHC accelerates and collides two beams of particles, while this only creates one particle beam of electrons (EDIT: LHC accelerates protons [0]).

In theory if you take two of these and point them at each other you can perform a collision, but without some particle beam redirection this might not be a good idea because you would be essentially pointing two powerful lasers at each other.

This is different from LHC in the fact that electrons are accelerated over distance of only 9cm, while at LHC beams take multiple revolutions around 17 mile ring, with each revolution adding some more energy to the beams, before they are collided. Due to such rapid acceleration this potentially opens new way to experiment with high energy physics.

LHC also works with much higher energies overall, colliding particle beams with energies of 3500 GeV [0] compared to 4.25 GeV here.

[0] http://www.hephy.at/en/physics/techniques/particle-accelerat...
Powering On-Demand Logistics for Your App
Engineer from Prismatic here. The Android app was written with Java. While we would have loved to build it with Clojure, but support/perf on Android isn't quite there yet (at least for us).
Sure, it's concise, but I'd hardly describe ncatlab as introduction. It's more of a reference. I'd dare say the Wikipedia entry on category theory (and related links) makes a better introduction for the uninitiated.

To actually learn it, Mac Lane & Saunders "Categories for the Working Mathematician." seems to enjoy continued popularity.
> I think "possible solution" is too strong. According to the CDC, as of 2012 "more than one third of children and adolescents were overweight or obese" so it logically follows that simply restoring the metabolic rate of adults to their teenage rates probably won't help a sizable portion of the population.

I think the message here is slightly different; it's not talking about 'setting it back to what your metabolism was like as a teenager', but rather 'setting a healthy person's metabolism back to what a healthy teenager's would be'.

It's entirely possible that the reason for the childhood obesity epidemic is an underdeveloped biology pumped full of these metabolism-destroying foods (accelerating the production of serotonin, etc.), resulting in a ruined metabolism far earlier than would be normal.

In other words, the diet that would cause obesity after 20 years starting at age 15 might cause obesity after 10 years starting at 5.
"But I was pondering about the link between SSRIs and weight gain."

Indeed, there may be some connection there. But frustratingly, we don't really know what the connection is, or if it has multiple factors--and if so, how those factors relate to one another. To date (to the best of my knowledge), reports of weight gain from people taking SSRIs have been anecdotal. There is a large enough sample size to draw a clear connection; the weight gain isn't imaginary. (It occurs in about 25% of SSRI users, and the risk for weight gain increases over the duration of SSRI usage.) But there haven't been controlled, clinical studies of of the effect. Do SSRIs affect metabolism in some way? Possibly. Do they affect appetite instead, or in addition to, metabolism? Possibly. Do they affect gut microflora? Possibly. Could be any of these things; could be all of these things; could be something we haven't even hypothesized yet. There is a relationship; we don't yet know the directionality of cause and effect, or the factors involved, or their individual significance in the causal web.

These new results are fascinating, and they give further impetus for further study.
Google News Spain is shutting down
F# doesn't flip arguments either. It's an operator:

let (|>) x f = f x

Is basically saying:

x |> f is equal to f x

So in F# it's the same as Elixir, but the value x is applied to the function f (passed as the last argument). i.e.

list |> List.filter (fun x -> x > 0)
|> List.map (fun x -> x * x)
|> List.reduce (fun s x -> s + x)
Here is the paper in question (PDF): http://f.cl.ly/items/460P2Z471N1m241q3439/nm.3761.pdf
"When we founded our company, our intent and mission was to always stay indie."

You sold out, dude.
I find it a bit... sad? disturbing? that the only reason women were so involved in computing and programming in the early years was because programming and software were seen as less important jobs than the "software planner" jobs, where the "coder" was just a flunkie, something of a software custodian. They were considered clerical jobs, like data entry or a secretary.

This old article (2009) has a lot more details on this old sociological phenemonon:

http://homes.soic.indiana.edu/nensmeng/files/ensmenger-gende...

The author has a whole blog about this topic:

http://thecomputerboys.com/?p=239
It's not like the eternal life police will one day show up at your door and condemn you to immortality.

You can always die whenever you want to. That's not the hard problem to solve.
I'm sure they meant "ushering in a new era of streamlined CG"
I prefer

{|el| el + 5}

more than

{ _ + 5 }

the latter is too implicit for my taste, also I imagine it could become more confusing in a more complex context.
" new stream processing language"... which are the olds?

I'm playing with the idea of build a language, where the functions are unix-like, with STDIN, OUT & ERR. So, instead of raise a exception, it put data in ERR... and make it easy to compose them.
> Perhaps there could be a way where transactions a manually managed.

If you take a look at the code, db.Begin is available and gives you access to the underlying transaction. You can use it as you want, however you'll need to be aware of catching any error, rollbacking, committing etc... all that is taken care of for you in db.Update (or db.View for read-only stuff)

This style is also consistent with the rest of the standard library, such as filepath.Walk or sort.Search.
Bolt was built at Shopify as a back-end to our Merchant Analytics reporting stack.

If you're interested in working on projects like this, we are hiring - contact me tom at shopify.com.
I know that the US is much larger than Switzerland, but we have four carriers with good coverage. The problem is, there's only one carrier that is both willing and able to be competitive (T-Mobile). There's another one that is willing to be competitive, but due to some technical limitations, unable to (Sprint). AT&T and Verizon are both big enough to not need to compete with anyone (including themselves).

And then you remember that AT&T and Verizon used to be the same company...
> I'd like to think that I would be willing to give up everything for what I believe is right. But everyone likes to think that.

This is so very true and why I can't stand it when people say things like "I may disagree but I'll defend to the death your right to say it." That person will do no such thing. She will not go risk her life for the right of Westboro Baptist Church, the Klan or Bill Cosby to have their say. If a law was passed muzzling Dick Cheney, she would not be in the streets rioting. It's melodramatic, preening, self-serving nonsense.
I've also toyed with L-systems.

I made a little gallery with some of the more interesting ones I came across: https://ehq.com/lcurves/
Nested closures is a different problem than "callback hell". Callback hell is constantly dropping context on the floor with the stack frames, making every event handler like the "goto" that Dijkstra considered harmful. Nested closures, by comparison, are merely messy, but do not cause context loss. They can be refactored, it's just one more level of abstraction to it than you may be used to, and is often probably not worth it. (For example, do you really need a function that you can pass a closure into and get another one back? Maybe, but that's a level of abstraction than can be very cognitively costly; you better be getting some serious benefit for that cost.)

I have observed before that this sort of DSL-like usage can sometimes make people forget that they are dealing with plain old-fashioned language constructs that can be manipulated with other constructs. Languages like Ruby that allow this fact to disappear out of the source code completely seem to make this more likely. Go won't let you forget you're just creating a bunch of closures, but if you've been trained in an enviroment where a "block" is something special or in such a Ruby "DSL" you may have a way of thinking about these issues that inhibits proper refactoring. This is the general case of what okatsu observes before me, that nothing stops you from making real functions or methods to use as the methods.

Also, Go's relatively recent "bound methods" are really useful for this sort of thing.
Great idea, but I'm a bit disappointed in the syntax. Composed chains in Ruby are much nicer to look at.
Running a Startup Is Like Playing RISK the Board Game
Well, curving the rod is a pretty simple way of eliminating one source of errors - why not do it when it's so easy. Of course you still have to do polar alignment and so on.
MS will buy Xamarin next. VS is free now, you will deploy your app to tester with Hockey, test it, monitor it and then offer you Azure Mobile Services
I don't use Outlook, but all the other Office 2013 apps run fine on my Windows tablet, with a dual core Atom and 1GB of RAM. I've had a 20-slide Powerpoint open and being edited at the same time as a several hundred row Excel document. It wasn't fast, but it wasn't painful.
This is why Plan 9 regards "root" as a design error.

A centralised Authentication Service, preferably behind a securely locked door with armed guards, protects the Authentication Service. Everyone else needs to provide credentials to verify their identity in order to read and write files on other machines, which could be serving files from disk or synthetically.
I, for one, remember the full name but not "Matz"
I'd love to have something like that built around some serialisation protocol like protobufs. Something that would feel like GAE's Datastore API.
The identity shifts of people living in two cultures
I was thinking a complete replacement of the entire platform, but thinking about it more made me realize that's not practical for anybody. For better or worse, a lot of applications are already written for this platform.

A drop in "replacement" that creates a web-based UI for easy creation and retrieval of Meditech data would be very useful. It could communicate with the system and translate javascript into MMagic. Bonus points if it could translate already existing applications automatically. Time to see if Meditech has an API I can access from javascript.

OT: I took a look at your projects page and I have to say I like the cut of your jib, sir.
Every time I see a post like this I always learn a few new snippets for best practices. There almost seems like a need for a primer site for all sorts of languages and ecosystems.

I'm sure something like this exists right?
DeepDive – System that enables developers to analyze data on a deeper level
Plastic SCM has gone this route. http://plasticscm.com/gitsync/info.html

They also offer a powerful diff/merge tool with language-specific support. http://www.semanticmerge.com/
A whole new way to share your story. During the holidays, or any day
Libraries like RxJava definitely made it easier https://github.com/ReactiveX/RxAndroid https://github.com/nstevens/androidguide/wiki/Libraries
Yeah, JBOD is preferable to RAID if your workload supports it. Less overhead and less things to break.
Show HN: Explore fractals, have what you find printed on posters, mugs and more
No thank you! With wide screen monitors, I can have multiple windows adjacent to each other.
I'm trying to understand the use case for a persistent embedded DB for Go. SQLite is embedded all over the place, often in clients.

But presuming Go is a server language, and you are running stateless web nodes, why do you need persistence?
> No, it's not perfect but I don't think you need to worry.

You don't need to worry if, and only if, you assume that the standards are designed correctly and all vendors code to all the standards correctly.

As Quviq found, you should not assume either of those things.

http://vimeo.com/42751120
Sorry, but if you know nothing about Ruby this is pure hype.
So how are the portable ectoplasmic containment units coming along?
We used Ada in my software engineering class in 1992 to try to build a system to do route finding on a map and then generate directions. Each build took 40 to 50 minutes on a pretty nice PC at the time. I don't miss those days.
You could name your functions, but you won't really be able to parse in any data. Unless you wrap then Update and View functions as well.

As others points out there's nothing wrong the Bolt code, it's fine and pretty common, I just don't like it.
Halting has nothing to do with being bug-free -- lots of buggy programs halt, and some obviously bug-free programs may not halt (e.g. a brute force search to determine Goldbach's conjecture)
Nice hedge against ultimately losing the copyright suit Oracle brought against you, Google.
Just like how Firefox doesn't support XP and XPSP1. At some point, old OSes won't be supported, that's just how software works, it takes extra time to support older OSes. Microsoft only supporting one or two previous OSes doesn't suddenly tie the OS version to the browser version. If Microsoft only supported ONE OS per browser, then sure, but if you can update (even if it's limited to a few versions), then the two are not directly tied.
Personally I like it and find it clear.

Compare:

ary.map(_ * 2)

ary.map(x => x * 2)

"_" is perhaps an ugly choice of character (frankly I'm not sure why Scala is so obsessed with it, since it's used for so many featurse), but I think the semantics are sensible.

Of course, in a more functional language you could perhaps just write

ary.map(* 2)
Mcmaster computer engineering student here.
Even if it was 99.99999% I would bet that there's still a huge percentage that has no idea what their phone can do, let alone Bluetooth pairing it. I'd even guess that many people think Bluetooth is the name just for those douchey headsets.
Wanna buy a dot-word? If you want a .pizza the action, now's a chance
Would be cool if it would incorporate some thinking and concepts from Flow-based programming [1], as that is AFAIK the most comprehensive architecture covering all the aspects of asyncronous concurrent processing that one might run into (multiple in/out-ports, channels with bounded buffers, sub-stream support, etc etc).

[1] http://www.jpaulmorrison.com/fbp/

[2] http://en.wikipedia.org/wiki/Flow-based_programming
Music in your mouth, smelling the time
Hi HN,

As a warning mobile support is 0. Don't really have anything in yet to catch mobile users and redirect. Sorry!

Little project I've been working on to learn web development. It is very much a version one at the moment but I would love to hear general thoughts on what people think!

Thanks for checking it out.
The Hidden Costs That Engineers Ignore
Cloud-Based Anti-Spam Plugin for WordPress, More Effective Than Akismet?
How our side project generated $51,365 in 60 days
Stateless nodes is just one possible type of architecture - nothing in the language itself forces you to adopt it.
SR Software Engineer - Mount Pleasant, SC

What is 2Book?
2Book is a rapidly growing, web-based software company that offers massage therapists and bodyworkers much-needed tools that help them succeed. Our product (MassageBook) is created specifically for the massage and bodywork professional. We have a single purpose in mind - helping professional massage and bodywork providers, and the profession as a whole, grow and succeed. We offer powerful yet simple tools to increase new customer traffic and for them to manage their practices with a single, easy to use software platform.
What you’ll do:
As a Senior Software Engineer, you’ll work closely with product development to design and implement new features of MassageBook. You’ll collaborate with our customer support team and quality assurance team to resolve defects in the MassageBook application.
Responsibilities include:
Architecting and implementing new features
Regression testing during each release cycle
Identifying and researching new ways to improve performance, stability, and quality

You already have:
A proven track record of designing and coding software in one or more languages (PHP is a bonus)
Experience with Linux
Experience with MySQL or similar RDBMS
Strong knowledge of OOP principles
Experience as a member of a Scrum team
Strong written and verbal communication skills
Respect for and positive attitude towards customers and team members
Self discipline, personal responsibility for and dedication to time management, ensuring effective completion of tasks in order to meet deadlines
The ability and willingness to communicate, share knowledge and collaborate across departments
Resourcefulness to find and use information to solve problems
The ability to problem solve in an independent and creative manner
Excitement and drive to continuously improve professionally and personally

What 2Book offers you:
Challenging work environment that allows for growth and the ability to lead change.
Company culture focusing on passion, collaboration and getting stuff done!
Agile product management methodologies with minimal process overhead.
In-house gym and fitness classes.
Casual dress code and a relaxed work atmosphere in the newest tech workspace, Innolabs - in Mt. Pleasant.

Email careers@2book.com to apply.
-> in clojure or hy deals with that nicely:

(-> (read) (eval) (print) (loop))

using python-sh in hy this is possible:

(-> (cat "/usr/share/dict/words") (grep "-E" "^hy") (wc "-l"))
Show HN: User Engagement Calculator
It is pretty reliable, but we also have alerts to let us know if there are problems and support staff work out times to be available.
Cool stuff but why didn't you just use an existing LMDB wrapper or write a new one? What's this offer that an LMDB wrapper doesn't?
That's where I am, I didn't realize it until I got down to the copyright.
Also, you can append a last modified query parameter to automagically clear the cache for static assets.
> Having a non-cheating bot beat a human is a major achievement.

(for some categories of games!)

I'm almost nitpicking here, but it's important to understand the distinction where when trying to build "human-like" AI that players feel are like the real thing, you also want to emulate human shortcomings. Sometimes it might not be cheating per the rules, but still be obviously outside the realm of current human capabilities.

e.g.: An AI opponent with perfect arithmetical abilities in a game like Scorched Earth:
http://en.wikipedia.org/wiki/Scorched_Earth_(video_game)
Whenever I talk about Haskell I always try to make my comparisons to Java, C, or Python for maximum relatability.

I think saying "unbounded int" is enough, but then people might say "what exactly do you mean by unbounded?" so I say it's about the same as a python int. Haskell itself predates python.

And IBM vacuum tube machines had arbitrary precision integers in the mid 50s, and transistor based ones in the 60s ;)
We very much don't want to take over the orchestration plane. We'd much rather interoperate nicely with existing orchestration systems. We just want to add the ability to store and access large datasets within these existing systems.

Your ideal of being able to use and arbitrary unprivileged container and preferred orchestration software is how I feel it should work eventually as well. Unfortunately right now we have to target very specific environments though so we can focus our development efforts so eventually may take a little while.

It's great to hear about these concerns early on so thanks for taking the time to comment. I'll definitely make sure that we hold on to this as a core tenet.
> I'm very worried that MS, as an organization, has fallen from grace on a level never before seen

That's what happens when a company refuses to pay market rate to its top people. Other Seattle-area tech companies have been poaching from Microsoft for years, and Microsoft hasn't bothered to even try to stop it.
it's also non-idomatic in that is uses string-multiplication and ==0 where an "if not" ternary expression would be much cleaner.
Bolt author here. The DB.View() and DB.Update() functions are simply wrappers around DB.Begin(). The View/Update functions were not part of the original API but they're incredibly useful in practice and make the application code more idiomatic.

There are several benefits to using the wrapper functions:

1. It lets you return an error to rollback a read-write transaction. This is typically what you want. That error will get passed through as a return from DB.Update().

2. Because of #1, you can have one error check for application errors and system errors (e.g. disk full) after a transaction commits instead of an error check for DB.Begin() and DB.Commit().

3. If you forget to close a read transaction then it will keep old pages around to maintain consistency but this will cause your database to grow without bound. If you use the helper functions then you're protected from this even in the event of a panic().

The API is modeled around database/sql where applicable. Let me know if you find anything confusing and I can update the documentation to make it more clear.

http://godoc.org/github.com/boltdb/bolt#DB.Begin
Of course. But I'm asking b/c I can't think of a situation where I would want to have stateful web nodes.
Show HN: A simpler, more convenient travel experience
I am coding since the web was born and was ridding the .COM and web 2.0 waves in web development. I am quite comfortable in web development, it doesn't mean I like it.

As I said everything goes. A native desktop .NET project today, a C++ embedded project in a few months and then a Web one.

So I never was, nor will be, a language X developer.
>The Supreme Court of Canada says law enforcement officials can go through the cellphone of someone under arrest as long as the search relates directly to the arrest and police keep detailed notes.

Fair enough. Now how do they plan on enforcing these rules?
Scientists map the human loop-ome
> I disagree that it maps most directly to the problem statement. You're performing a common factor computation in your mind, which may be more difficult given numbers other than 3 and 5.

Well, sure, explicitly calling out i % 15 rather than (i % 3) && (i % 5) or the equivalent has that problem.

> In my opinion, pattern matching offers the most direct solution and comes with an abundance of compiler optimizations.

Pattern matching is not available in many languages, but, sure, where its available, its a great choice. Note that this still has a distinct case for the case where both % 3 and % 5 are true, rather than just testing those cases independently and sequentially and concatenating, so I think it falls into the general class of solutions I was describing.
Sanctuary: A Decentralized, Borderless Utopia