skysight-inc/HackerNews huggingface dataset:
If any of my post sounded as if I was complaining about the lack of syntactic sugar, I apologize as that was not at all my intention. The best practices and syntactic ugliness didn't matter to us at all after the learning curve. We wrote some macros to solve the problem, and didn't have to think about it anymore. We used sablono as well, so the syntax was almost the same as that of Reagent.

The biggest problems that we faced with Om were how normal Clojure-y things just didn't work with it, and how the app state had to be kept in a tree instead of a DAG (mostly the latter), which created issues with consistency, performance, or both.

> trying to put mutating state into the application state object

How you're supposed to use Om is put all the mutable state into a global atom. I didn't mean putting reference types in the global atom or anything horrible like that, but the problems with cursors being pointers still exist.
This is a poor article about an important subject. A more useful way to look at it is to make lists of jobs humans can do, and those which machines can do better. Over time, the second column grows. The first column, not so much.

What's different this time is that computers are so general purpose, and so cheap. If a computer can do it at all, it can do it more cheaply than a human.
Harper's an accomplished person in CS and has done great work, but he's not putting a good argument forward here.

I've talked to Harper about this post and his opposition to Haskell before. I mentioned that it was leading people to believe they could ignore typed FP, not redirecting to an ML derivative. Harper expressed dismay at this.

There are more advanced languages than Haskell, they aren't ML, and PL researchers/experimenters are still working out how to make them work nicely for day to day stuff.

First: http://www.cs.ox.ac.uk/jeremy.gibbons/publications/fast+loos... (This isn't a throw-away reference, informal reasoning has worked extremely well in practice. Yes, I'm making that argument as a user of a pure, typed FP language.)

unsafePerformIO is primarily used to change thunk-memoization behavior [1]. Also, it says unsafe right on the tin. Nobody uses it in practice in ordinary code. It's not something you have to incorporate when reasoning about code.

Giving up reasoning about your Haskell code as if there were semantics-violating unsafePerformIOs lurking in the depths is similar to giving up reasoning about any code because a cosmic ray might flip a bit.

Lets consider the rather remarkable backflips Standard ML and OCaml had to perform in order to make FP work with strictness and impurity.

You can ignore unsafePerformIO because very very few people ever need it and you'll almost never have a reason to use it. Just don't use it.

Similarly, writing total functions is the cultural default in Haskell. The compiler warns on incomplete pattern matches which you can -Werror as well.

You can't define your own Typeable instances as of GHC 7.8 - only derive them, so that soundness issue is gone. Typeable itself is not popularly used, particularly as SYB has fallen out of favor. One critical aspect of why I like Haskell and the community around it is the willingness to fix mistakes. Meanwhile, ML implementations still use the value restriction.

>the example once again calls into question the dogma

Oh please. Haskell is an ensemble, multi-paradigm language with the right defaults (purity, types, immutability, expressions-only) and escape hatches for when you need them.

Haskellers appreciate the value of modules a la ML, but typeclasses and polymorphism by default have proven more compelling in the majority of use-cases. There are still some situations where modules (fibration) would be preferred without resorting to explicit records of functions. For those cases, Backpack [3] is in the works. It won't likely satisfy serious ML users, but should hopefully clean up gaps Haskell users have identified on their own.

Harper's case is over-stated, outdated, and not graced with an understanding of how Haskell code is written. Informal reasoning works if the foundations (purity, types, FP) are solid.

[1]: https://github.com/bitemyapp/blacktip/blob/master/src/Databa...

[2]: http://caml.inria.fr/pub/papers/garrigue-value_restriction-f...

[3]: http://plv.mpi-sws.org/backpack/
Make it illegal to create a new wallet without central authority approval and illegal to tumble coins. Closed those "loopholes" that "only criminals use" and the majority of people who know nothing about how bitcoin works would agree that it's not bad to do that.

Once nobody can tumble legitimately then quite literally only the criminals will tumble and there you go.
Humanity used to be optimistic about this moment, didn't it?

In 1900 people hoped their work would be replaced by robots. Today people fear their work will be replaced by robots.

Hmm.
It's amusing that commit 300,000 fixes a buffer overflow. It's a demonstration that large C programs do not converge to the state of having no buffer overflows.
sysjail is available for OpenBSD.

>It provides a similar function as FreeBSD's jail(8) utility while being significantly more flexible. The package provides jail(1), a drop-in replacement of FreeBSD's jail(8)

http://sysjail.bsd.lv/
I think the problem (from a BTC hoarder's perspective) with that is that BTC is neither required nor desirable from an operational perspective in such a system.
>There’s this myth that government regulation is well intentioned and benign, and implemented properly. That’s the myth. And then when people actually run into this in the real world, they’re, “Oh, fuck, I didn’t realize.”

To his point, you really do get the sense that, on balance, people are becoming more libertarian, and a lot of that has been catalyzed by technology disrupting entrenched business models that have benefitted from regulatory protectionism.
When I frist saw the title of Zach Laine's talk, I was confused too. Type erasure for me is what happens with generics in Java, i.e. type information is discarded after compilation.
In this case, the type is still present at runtime. I saw this technique described as "type safe void*", which is paradoxal to me.
However, I do get the idea behind this, but I think "type erasure" is a wrong name for it.
Anyone knows what are the options for booking those Google ITA Flights. Most of the time the travel agents can't get the exact codes/prices.
Like it says, the key is the "Sales city". You have to find an agent physically located in the city/country in question to be able to book with that fare.

Once you've found one, give them the fare construction from the bottom of a Matrix details page and you should be set:

http://travel.stackexchange.com/questions/21671/how-can-i-bo...
I wouldn't go so far as to say that Reagent's model is perfect. Definitely pretty good, but we've had some issues that were somewhat non-obvious.

If you're worried about it being maintained, there was actually a great discussion of this post on the clojure subreddit (https://www.reddit.com/r/Clojure/comments/2jq0cu/om_no_troub...) where others talk about Reagent having a community-maintained fork with new features.

Out of curiousity though, what kind of helper methods would you be looking for? I found it pretty comprehensive on its own (though I do have some utility methods for some niche uses involving hierarchical atoms).
Show HN: Markdown Page Editor
This misses a major benefit of our current system - reversibility.

Currently, if someone initiates a fraudulent billion dollar wire transfer from the fed, it would quickly be reversed.

Does anyone thing the Fed or our monetary policy should be entirely subject to the rule of algorithms and undoubtedly flawed security policies and people? Isn't it better that a government agency or a court can reverse the transaction when a Putin lackey transfers $100B?

I understand the benefits of irreversibility with bitcoin, however at a certain scale, this benefit becomes a handicap. Legal systems have humans who can correct things when they go terribly wrong. Cryptocurrencies as a whole are vulnerable to the next zero-day exploit, which in this case could destroy the government and all of our hard earned currency. That's not a risk I think any of us could consider rational.
Now, as this central authority, invent a way to distinguish between "tumbling" and normal transactional flow.

Really, you can dictate whatever you want as this central authority, but enforcing it is a whole different matter.
Sure you can! Remember Fedcoins have convertability to paper, and paper has convertability to Fedcoin. That means that Fedcoin can be created and destroyed at will by the Fed.

Since nobody knows the total amount of cash in circulation (maybe not even the Fed) it's basically impossible to prove that the Fed "printed" Fedcoins by making them up rather than "legitimately" converting cash into Fedcoins.

It's not as though the Fed is going to mark the provenance of the coins to facilitate people analyzing the system. All cash that gets converted to Fedcoin comes out of the Fed's wallet and all Fedcoin that gets converted to cash goes into the Fed's wallet.

The whole point of bitcoin is that you don't need a central authority to keep people from making up an infinite number of "chits". But if you're going to have a system where there are some folks in charge there's no need to have a blockchain; it's an artifact of the need to have a decentralized authority system. If they can create and destroy at will for convertability to work, they can create and destroy at will to print money.
In fairness, even prior to 1900, quite a lot of people were upset at these sorts of changes, at least when it was their particular livelihood on the line; consider the historical Luddites, for example. Or the subculture behind the tale of John Henry.
> it would only passively create new coin according to the demands of the public

A joke on the public, by the public.
Pixels for all – draw with everyone
People have been afraid of machines taking their jobs since well before 1900.
Dyson's new air humidifer has ultraviolet light that kills most bacteria
What's next? Drones. No matter how strong one's industrial base, warfare has always been limited by the number of boots on the ground. Eventually, one side sees enough body bags (or simply runs out of draft-eligible men) and disengages.

There will be no flag-draped coffins to discourage a nation with a fully automated army. War will become a purely financial drain. As technology advances and drives drone costs to the price of raw materials, the drain will lessen while destructive capabilities grow.

These factors could drastically increase the amount of warfare in the world. I'm not sure how probable this scenario is, but it worries me.
iOS Pre=Check=In Checklist
I use OVH, and have only great things to say.
Having read numerous rants by Harper against Haskell, it really just seems like he's upset Haskell turned out to be the "popular" language.

He is an accomplished computer scientist and a major contributor to Standard ML (i.e. understandably biased), but his Haskell rants read like (type-safe) schoolyard banter.
If you don't want to worry about database/server administration and scaling issues, I'd recommend looking at Cloudant. It's quite inexpensive, takes virtually no administration effort, scales automatically, and is fast and flexible.

You could continue to use Redis as a write cache, although a message queue or something like Kafka might be better for that purpose, and of course as a read cache, while using Cloudant or some other "real" database for permanent storage.

(On a side note, you described your application as "write-heavy" but you also said you get "about 3 Million individual customer orders on monthly basis" — which works out to just slightly more than one record to insert per second, on average, which doesn't seem "write-heavy" to me. I understand that you get orders submitted in batches, rather than evenly distributed, but it still doesn't seem especially write heavy. At any rate, a database like Cloudant can take as many writes as you want to throw at it.)

(Disclaimer: I don't work for Cloudant; I am a satisfied customer; I don't use Cloudant for everything.)
sysjail is not safe for jail-like use. Sysjail'ed processes can do Bad Things by exploiting concurrency races in the syscall interception layer.

Relevant paper: http://www.watson.org/~robert/2007woot/2007usenixwoot-exploi...
Kinda weird you've implemented SSL/TLS everywhere except the home page. Surely that's not a deliberate omission?

Also, as much as I hate to be a pedant, spelling mistakes/missing words on the homepage look sloppy:

"The people in your life will feel better knowing they can expect an email from your after you’re gone."

"you canlog back"
Overlapping code/data is a trick used in practice in highly size-constrained systems, like older game consoles (e.g. http://andrewkelley.me/post/jamulator.html#dirty-assembly-tr... , discussed here at https://news.ycombinator.com/item?id=8405214 ) and in the tiniest categories of the demoscene.
SmileBASIC for Nintendo 3DS
Personally I'm a believer in Om, but am skeptical of the "global state is only for undoable actions" model it espouses. Personally, I think the application state should hold ALL state of an application... I think "undo" should be implemented using a separate mechanism.

The primary selling point (for me at least) is that the cursor mechanics greatly simplify inter-component communication for react components. If you're not seeing those benefits, then the architecture of your app must differ greatly from my own- From this limited information, I can't really explain the difference in impressions in any more detail.
Ask HN: Roles of Intention and Chance in Startup Success
I'm interested in the extent to which successful founders attribute intentional choices versus chance circumstances to their success. It would be interesting to hear one intentional choice and one chance circumstance that contributed to your success.

Overall, do you think your success was more a result of intention or chance?
I'm not sure I understand how not giving access to your Dropbox account to Boxifier makes you that more comfortable -- Boxifier will be able to read/write your Dropbox files anyways, what's the big difference?
It's very common for companies selling divisions to sign pre-purchase agreements. This article's title and tone are at odds with how normal this particular deal is.
You may be right or you may be wrong, but that's not how you demonstrate convergence :)
Hmmm... having a library like Om where the cursors function on a DAG actually sounds pretty useful... I'd love to see an implementation of this :-)
Almost all does not mean all. You are going to work in only one job right? That job gives you more experience, more experience to apply for jobs that require 5-10 years of experience down the line.

If you believe you have more expertise than meets the eye, you could give freelancing a try.
At some point you get a small amount of very rich people with a large pile of very cheap stuff that they cannot sell as nobody else has any money and even if they did, the marginal cost of producing the stuff is less than the cost of running a market to sell it in.
I played countless hours of that with my little brother, who was about 9 at the time. Decades later he still claims that he figured out the system for fairly accurately predicting where rebels would be placed. He did seem to hit my hospitals with alarming accuracy, so I'm inclined to believe him, although I could never figure it out myself and he never would tell.
the title of his blog"Facebook's software architecture" is misleading.
actually these papers are talking about data storage and database. not "software architecture."
Though, his blog is informative and consistent. Love it!
BitTorrent Sync from Android to an Ubuntu server in LAN.
sitescout was mentioned
Wooo. Maybe this will help GF provide AMD with process tech that isnt super old.
Why? He failed to secure his server. Why is that the fault of the VPS Provider?
`quickie` and `loud Mouth`
That's interesting - I have an outdated notion that QWERTY was a hindrance to speed. This was based on stuff I read in the 80s-- this was way back when the Apple //c came out and offered an option to use either Sholes or Dvorak.

I find your choice of rubber dome very interesting. I learned how to type with an IBM typewriter, and moved on to the Apple Extended Keyboards in the early 90s. I recently thought I wanted a keyboard with Cherry MX Reds (I found the clickier MXes too jarring on my fingers), but after years of getting used to and liking the Apple chiclet keyboards, I found that I just couldn't get used to the feel of a mechanical keyboard again. I ended up getting a dome keyboard instead.
You Can Now Go to College for Free in Germany, No Matter Where You're From
From the perspective of the government, Bitcoin is only for Cowards, Crazies, and Criminals.

Cowards, who want to find technological solutions to social problems.

Crazies who are terrified that Satan will take over the Fed and decide to suddenly make dollars worthless, and in the process destroy the county.

And of course criminals who use it to buy drugs.

=====

Luckily we know better, that assuming you are one of the technical 1% who can keep your wallet from being hacked, you can (for a little extra money in conversion costs) use bitcoin to shop at overstock.com.
How have you found it? I tried it out and found it was something like 45 days to run a full backup on my 1TB machine, and discontinued it fairly immediately.

Let's just say that was more than 45 days ago....
Internships are a great way to get work experience.
IBM had a unique process call silicon-on-insulator that gives you something like an extra step in moore's law with regards to power and speed(but not cost). They also had their EDRAM technology , which is much more efficient memory type for cache.

This enabled them to build a huge(100MB) and fast(3TB/sec) L3 cache in their processors. This is something that could give a huge boost for many kinds of applications, for example databases d\and machine learning.

While intel has some edram capability, i haven't seem them release an integrated edram with the processor, not sure why.

And let's not forget, IBM now licenses the design for it's beast of a processor, the power8 ,in a modular format, enabling chip companies to easily add accelerators and innovate.

So it would be very interesting what intel's competitors will build with all those capabilities. I'm getting the popcorn.
SimCity 2000 for Win95 is my personal favorite SimCity game (sadly a 16 bit EXE). It's a sandbox style game, with no real end goal. SimCity 1 started as a map editor for a helicopter game, that was more fun than the actual game. It would be great to see a new triple A reboots of SimCity (and real time strategy) games, but without any casual or free2play or DLC flavours - just straight old school games game mechanics with modern 2D/3D graphics.
4K UHD Monitor with PiP – Key to Android TV Developemtn
For the record, the issue was this:

https://code.google.com/p/android/issues/detail?id=63099

and I was able to find a workaround and re-enable support for the affected devices
And of course, TextMate 2 just went from alpha to beta...
"There are more advanced languages than Haskell, they aren't ML, and PL researchers/experimenters are still working out how to make them work nicely for day to day stuff."

Examples, please. (I like bright, shiny things.)
The most direct way to explain why these types of posts are misguided are to understand the mechanics of "rent seeking behavior" which is an incentive that always exists for a third party involved in a financial transaction. http://en.wikipedia.org/wiki/Rent-seeking
Same here. Tried it a few times but was never able to get a significant price difference.
Trolling was a fun break between bouts of altruism. On levels like this [1], I'd click until the counter went down to 1 and step away. Right before the cursor I pissed off came to take over the shift, I'd start clicking again.

http://i.imgur.com/i3bOD81.png
I'm wondering the same thing. I dug through the entire repository, and I didn't see any references to "magical" properties.
can working on personal projects, on github, be called as work experiance
I was refuting that electric cars had nothing that could go wrong, not that the were less reliable than a hybrid car.
Is the link in the curl line binary, compiled, non-human-readable code? No? Then your argument has no merit. It's a plaintext python script. Download it, parse it, if it checks out, run it. If it doesn't check out or you don't understand it, don't. It doesn't matter if it's today, a month from now, or a year from now. If the code checks out, and you feel like it will help you, run it. Or don't, and no one will care.

Or are you seriously going to tell me that you feel you can't trust a 75 line script you just fully vetted, but you can trust, say, the Linux kernel, despite the fact that you didn't manually parse the millions of lines of code in it? If that really is your argument, then I can only imagine that you stop on green and go on red out in the real world, because that's pretty damn fucked up.
Yup! We were about to implement something like that, but we realized Reagent's model of having atoms store the state worked pretty well with javelin's FRP, and once you break down the state into atoms, the cursors aren't needed anymore.
19e édition du Festival Polar à Cognac: le genre policier à l’honneur
Is sending your search query to Google for Google instant an invasion of your privacy?
You'd want to be careful that you're viewing the same price package when doing this. For example, when displaying a ticket price in Australia, it must be an all-inclusive price - including all airport fees, surcharges, and everything else. Viewing the same ticket from, say, Japan, it might appear cheaper but it doesn't have those same inclusions, and when you add them all back in it comes out pretty similar.

That said, I always buy my air asia flights in malaysian ringgits - it's always cheaper than AUD.
I taught a raspberry pi intro to computing class last year and was hunting around for some jacquard loom demos for the students when I found something that blew my mind:

https://www.youtube.com/watch?v=78opvFR-VsU

These are antique looking jacquard looms in current use in Hanoi. I bet they are still there right now, operating. I know that some crafters use them and there are still specialty mills that make use of modern jacquards, but this is a factory and these look like they are straight out of the 1800s. Amazing.

I wonder still how old some of those looms are...
M-Blocks: A New Class of Robot Cubes That Self Assemble
NY’s Proposed BitRegs a Threat to Privacy and Innovation
I've heard prices are higher if you are logged in with your username on airline sites. Also I wonder if there is a cheap way to run a Vpn that lets you choose your "location" on the fly.
The C code is quite unoptimised as well...

Running the original on my machine (compiled with VS2013) takes 3.75 seconds. Changing the comparison to (x * x + y * y) <= 1.0 (no need for the sqrt since we are comparing with 1!) takes the runtime down to 2.87 seconds. Switching the accumulation from a branch to hits+=in_circle(r1, r2) further reduces it to 2.43 seconds.
Show HN: Plottio – World's stories. Written and read by you
Perhaps Coq, Agda, Idris, and other such dependently-typed languages are to be considered, at least in some dimensions, "more advanced" than Haskell.
Some variants of XorShift (including the one used by Rust, I believe) are not only faster and much smaller than MT19973 but also produce higher quality numbers. See http://xorshift.di.unimi.it/
This is around when they start giving it away, in the hope that the enhanced livelihoods they generate frees the next generation of entrepreneurs to create even better uses for their capital.

At some point we get The Culture. Or so the hopeful prognosis goes...
Why encryption matters