skysight-inc/HackerNews huggingface dataset:
Well, people do use these tools, but honestly, do you really want a language with multiple build tools / package managers? The java world is a mess here. Leiningen is pretty great, no need to fragment the community.

As far as editors go, I'm perplexed. You can use nearly any editor, why do you perceive the need to use one of these 2?
I wrote a blog post on this issue – about delivering bulk mail with Nodemailer here: http://www.andrisreinman.com/delivering-bulk-mail-with-nodem...
I prefer any language that requires nothing more than a text editor (any) and possibly a compiler. Where you can use any build system you want and be pretty much just as productive.

I agree that there are other languages that suffer the same problem, the .NET languages for example (except kinda F#), but there are plenty that do not (C, JavaScript, etc).
> For a long time, I've attributed this frustration to the complexity of today's software. The simple programs of a few hundred lines of C++ long ago disappeared from my experience. What was the experience of riding a bicycle has become the equivalent of traveling by jumbo jet; replete with the delays, inspections, limitations on personal choices, and sudden, unexplained cancellations — all at a significantly higher cost. Where is the joy in that?

I dunno...The significant overhead is mostly because we attempt to latch on and leverage existing platforms and useful technologies...and so to complain about it would be like Isaac Newton, instead of appreciating standing on the shoulders of giants, complained how in the good ol days, pi was just 22/7.

Awhile ago, I tried to make a simple Chrome plugin that would let me filter Reddit IAMA's by dynamically hiding all threads that didn't involve the IAMA-host...simple enough to conceive it as a jQuery snippet, but I had to spend an hour learning how Chrome plugins worked, all of its conventions...and then about three hours digging up why inline click handlers were unaffected by my jQuery code (Chrome recently considered manipulating existing onclick events to be a security risk).

A total pain in the ass, considering that the code to solve the problem was "easy"...but I understand the tradeoff here...I didn't have to code my own web browser, and when playing with other people's browser environment, security can't be ignored. If I wanted to avoid these hours of learning about the Chrome ecosystem, there's nothing stopping me coming up with my own bespoke way (such as querying the Reddit API programmatically and re-constructing the iAMA as I wish on my own webpage), but that has its own tradeoffs.

I do think, though, that for novice programmers...the overhead must seem immense. It drives me a little crazy to see bootcamps attempt to teach non-programmers Rails. Yes, Rails is in demand, but for a long time, these novice coders think that running "rails new" is a prerequisite for every web project.
Sure this is good for facebook cause pageviews but all the Takei shares that show up on my feed are almost invariably reddit frontpage reposts. I guess he adds volume to facebook, but it's not very quality volume imo, if anyone else shared the stuff he did, it wouldn't collect thousands of upvotes/likes/etc.

Plus if he really has a staff doing it, then the whole "wow what a zany old man who is "relevant" and reads reddit/9gag/wherever people think the content comes from" thing kinda falls apart.
Getting Started with Facebook’s ReactJS Library
The ArsTechnica review is far superior: http://arstechnica.com/gadgets/2014/07/review-amazons-fire-p....

The bottom line:

> But the bigger question for most people isn't going to be "does this phone do anything useful"; it's "should I buy this phone rather than some other competing phone?" For the time being, the answer is no.
Java has Maven, Scala has SBT, Clojure has Leiningen. That's not so bad. I use all three languages, and the appropriate tool for the language. I don't use hot-swapping for anything.

For IDEs, in Clojure, you have the choice of Vim, Emacs, Cursive (for IntelliJ), Light Table, and Counterclockwise (for Eclipse), and more. All of them are good, pick your favorite.
At this stage you don't want to threaten your client with a lawsuit until you know the status.
It's getting faster.
Getting us to call these usurious loans "subsidies" is probably the most ingenious bit of underhanded marketing the cell carriers ever concocted.

I think you should generally be suspicious when a vendor tries to get you, the customer, to use the vendor's own internal jargon. As a customer, I shouldn't need to know your jargon; I don't give a shit about your internal policies and terms. If you're encouraging me to speak your unnatural language, you're probably trying to give me a false sense of security and savvy that makes it easier to pick my pocket.

One sees similar moves in many complicated transactions like real estate, automobile leases and purchases, etc.
Thanks guys, appreciate !
It doesn't seem to be getting harder to pass the bar in the U.S. In 2000, 72,704 bar examinations were taken, with 47,160 passing, ~65%. In 2013, 83,986 exams were taken, with 57,026 passing, ~68%. Those are the yearly totals, I guess they include people taking the exam twice.

I got the numbers here:

http://www.ncbex.org/publications/statistics/

I picked those 2 years just because, I didn't look at any other years.
it saved me some work recently as I got to the 'ok, time to dress this up a bit' phase of a project. still recognizable as Bootstrap, but also an easy way to inject a bit of design and good taste in a prototype.
I have a feeling that international remittance is not as simple acquiring FOREX reserves. Often times you see international transfers from an Australian bank to a US bank taking 4 hops in between over peering banks. The process is complex.

Because unlike domestic transfer where the central bank helps keep a ledger between banks, there is no "global ledger" internationally. So banks have to resort to "correspondant banking" which is why you see so many hops in international transfers.

Bitcoin provides such global ledger. I don't think FOREX is the issue here.

Instead of going through correspondent banking (many hops), 2 banks can simply send bitcoin to each other and immediately net off.

Could you clarify if my understanding is incorrect?

EDIT:
Here is a document on how VISA handles international payments

http://www.bis.org/publ/cpss53p16.pdf

2.3.3 Clearing and settlement procedures
...
Settlement is not carried out through Base II; Visa merely provides the data to allow settlement to be
carried out. For settlement in US dollars, Chase Manhattan Bank, New York, acts as the settlement
bank. For multicurrency settlement, Chase Manhattan Bank, London, acts as the settlement bank. All
members may hold their own settlement account with any other financial institution, such that all
requests for funds or payments are ultimately settled through the correspondent services of domestic
clearing and settlement systems.
...
My theory is that the more you get hit in the face, the wider your face gets.
I recently migrated to clojure from the php world. I have to say that although I am still learning the language, its actually fun compared to php, which would sometimes feel like pulling teeth to get some basic functionality. Way less boilerplate, and as can be said of anything good, it just works.

Also, the idea of thinking in the problem domain versus the subset of problems that arise in languages like php is an acute difference. Just being able to focus on the product as your programming keeps you on task and thinking about new ways to implement features, etc. -- big difference.
As you mentioned, there are still a handful that currently have GCC issues, namely Haskell (GHC) and MongoDB.

https://github.com/Homebrew/homebrew/issues/29845
C brings in its own problems. Compiler (in)compatibilities, the need to install libraries on a machine to be able to compile and run programs. And besides, in C you still have a build system problem - Make is fine, but it is definitely opinionated about how things happen, and you potentially have to write a lot more boilerplate to get a complex project built with Make than you do for Leiningen, Maven, SBT, etc.
Regarding the study: I am not surprised. Once people believe a myth it is probably harder for them to stop believing it, unless:
(a) people actively challenge themselves to dismantle out-of-date beliefs; or
(b) people are confronted with something that forces cognitive dissonance.

So why do myths seem to persist despite their questionable veracity? I want to throw out a few thoughts about the lifecycle of myths:

1. Myths are interesting and tell a story that resonates with their audience. This helps get them in our brains in the first place.

2. Myths are credible, at least at first. Perhaps they are based on scientific argumentation or conventional wisdom or (somewhat limited) experience. This gives a myth a mental foothold.

3. Some myths are untestable, at least practically speaking from the perspective of people that believe them. So myth-based knowledge tends to linger.

4. Myths may be repeated (like memes) simply due to associative memory. People's brains work largely by association, so many myths spread because they give a person something interesting to say. This gives myths a way to spread.

5. To some degree, myths are busted for various reasons. But the overall dynamics of myths (call it myth epidemiology if you want) means that they may have already infected a significant portion of the population.
Well, sure you can use whatever tools you want for C, JS, etc., but then when you contribute to a project in which somebody else made the decisions (either on the job or an open source side project), then you have to learn a whole different set of workflow tools, including all of their quirks and bugs. To me, it's a breath of fresh air to be able to look at a Clojure project and immediately know where to go to find out what dependencies are pulled in, know how to run the project, etc., instead of having to dig through somebody's mad collection of Bash scripts that invoke some weird build tool that I haven't been exposed to.
> Lower frequency (50/60 Hz) AC is the only really useful choice for transmission on low cost long runs (think 100 km and more). To push high voltage DC on long runs generally means special cables and possibly super conductors. Pushing 60 Hz AC at 230 kV goes over simple cables.

Not correct. High-voltage DC runs just fine on regular copper. (In fact, in some cases you only need a single conductor because you can use the Earth as the return. This isn't typically in the design spec, but it's sometimes used as a backup plan.) Low-voltage DC requires superconductors, because pushing low-voltage anything any distance requires superconductors.

The only reason most transmission is over AC today is Tesla (the man, not the car) didn't have power electronics to step-up or step-down voltage. We now have the technology to change the grid to DC if we want.
Show HN: Cold Email Becomes Hot
System Sleuthing – Using ptrace to Print Backtraces
"Coding" as a primitive activity has become subservient to the goals of coding. What are the goals of coding?
- Make money
- Solve a problem

In any non trivial pursuit along those two vectors, complexity typically creeps in because more people are involved. Since more people are involved, this becomes a human organization. A human organization is not concerned with only the primitive activity to be done, but also what are the right approaches, methods, measurement, priorities, politics, scaling, learning, etc. Therefore, one cannot just be doing the primitive activity and ignore all of these higher level goals.

I am going to use an analogy: let's say coding is brick layering + painting + wall building + carpet + etc. and we are going to build a building. The worker says he just "wants to do work" but if we let her do that the building would be a disaster, unless you are just building a dog house. In which case the risks are low and a single person can do the work.

At the beginning (startup), one can just "do coding" because the problem is ill defined and an organization has not been established to manage the higher level work.

I wonder to what extent this mentality of "just want to code" is related to the (stereotypical) aversion of the developer as anti-social and introvert.
You could probably have written a userscript which is considerably easier, although not as easy to distribute.
Haskell Amuse-Bouche
It depends really on what the purpose of your app is.
I would normalise your data somehow against a population map, so distance in sparsely populated areas is weighted differently to dense urban areas.
Don't forget to change the toolchain every few years. "Sorry, we need someone with 3 years of Docker experience."
Really? Downvoted because you lack a sense of humor?
BDD (Behavior-Driven Development): Missing Piece in the CI Puzzle
I always thought this was Orchard: http://www.orchardproject.net/
Primarily because it is a plausible thing the UK would do these days.
So my pet theory is that most skills in life come from a bit of early talent + lots of opportunity to practice. From this perspective, a thin-faced fighter with some natural talent and great resources could break this mold and be extremely successful. This to me looks similar to when people started discovering that left-handed pitchers tend to confuse things in baseball.
This is exactly the reason why I avoid any "Java/Android/iPhone" job out there. I code software in Python on Ubuntu machines. Simple bike rides. The build tools are either non existent (Python) or are old friends (make/automake/cMake), the IDE is a bash and a vim, like a handle bar and pedals. Git, much like vim, is a mastery in itself but when the disciple reaches a certain level most of the annoying things make sense and work as desired because how they are. The Zen of Unix and the Tao of Testing are my companions. Nothing disturbs my chi.

What I am trying to say so eloquently (or not) is that maybe the problem is not the modern development world but the developer. The idea that you need just another tool to solve a problem, that is what is flawed. Skill and balance and a set of powerful, basic tools, that is what solves the problem.
Replacing recursion with a loop can easily use extra memory. The usual approach is to implement a stack using a local variable: each iteration pops the head and processes it; rather than recursing, we push a new item and let the next iteration process it for us.

If the algorithm is tail-recursive, this will use constant stack space and memory, just like tail-call optimisation. If the algorithm's not tail-recursive, it will use constant stack space but large (potentially exponential) amounts of memory.

There's no way around this. The only solution is to come up with a different algorithm (eg. using an accumulator).
Question for you all. If we frame the myth problem from a Shannon information point of view where a myth is a form of entropy (e.g. let's say a falsehood is disorder), how much energy would be required to reduce the entropy of the system?

Myths may simply be the knowledge "noise floor" of a world given the rate of new information generation and humanity's limited abilities to make sense of it.
Python in 4 hours
I've been putting off testing the dev beta. Does anyone do Python development on their Mac? Did you have any issues with Python or PIP?
The Effects of Exercise on the Brain
Correct about the apps. But they were not geographically or operator limited. From the beginning, they were used around the world on any service.
I think it's very funny... unfortunately I agree, it assumes some knowledge of the subject before visiting, which isn't a great starting point for a protest.
Ugly as hell. Go back to the drawing board.
In web programming it's especially complex imo. Take a new programmer that can program basic stuff. He wants to learn server side programming and suddenly needs to setup a bunch of servers(vm, vagrant or docker) , needs to learn git, needs to learn how a framework works because you don't want to teach spaghetti code. Then there's html5, Css and probably some template language and a lot of js in modern apps. Add less, sass, coffeescript testing, rest, a js framework and websockets and you have a totally overwhelming setup which is the standard for most apps today.
You can have strongly-ordered logs too. The fact that nobody actually builds robust logging into their application doesn't mean it has to be that way :)

As for the order, it's really a matter of how you are getting the data [right now] and what tools you have to work with. If you're just receiving an unending network stream, you have no choice but FIFO. If you have log files you can start from the bottom and work up, but it's usually not as efficient as top-down. If you have clustered infrastructure you can process the same log(s) faster using parallel jobs. If you build log processing tools into each system from the start you can distribute the simple parts of data processing to each node. You have a lot of freedom in finding new ways to make logging more efficient.

LIFO is nice for old data you want to see now, but isn't as useful for new data being processed constantly.
Looks good! Two points from a Windows user.

1) I'm put off by the lack of Windows screenshots. I want to see what the interface is like before I commit to buying.

2) I'm sure I'm in the minority here but I'd like to see this as a Modern app. I like the distraction-free framing of the Modern interface on my notebook - I think it's especially constructive to writing. Modern apps also install and sync transparently across all my Windows devices. And honestly, the Windows store is lacking a decent editor like this.

Another question: can you provide more details on the HTML export? Does it just generate a static page? Does it create some kind of site?
>No you can't.

>you can't have the "same" OS with different interfaces

Also, if I'm running Ubuntu and I apt-get install xfce, I still have the same OS, but the UI is completely different. All the same applications still work, and they adapt to the new UI.

So yeah, you're bitching just to bitch. Did you complain 20 years ago when Linux decided to have one OS regardless of what UI package you decided to use? Hell, I just switched my Windows 7 UI to classic mode. Does that mean I'm running a different OS now? Man, I hope my applications still work.

OH NO! The time on my clock changed, now I'm running a different OS... very simple logic 101.
I am very interested in the spotlight improvements. As of now, 10.9.x, my external HDDs are not indexed and unsearchable. :(
I really like Python, and use it on a daily basis but I found that after enough experience in Clojure, I prefer it when I have the choice and there isn't a compelling reason to use Python instead.

This isn't a criticism by the way, I do understand that people have different preferences of language idioms, and I do occasionally find myself scratching my head about the idiomatic Clojure way to solve a problem that wouldn't have been so hard for me in Python.
ElasticSearch 1.3.0 released
Ah no, it's just from an indie-dev :) But I was inspired by how Yo took communication to a whole nother level and thought about ways of how to push further what they started.
Apple's rebuttal: http://support.apple.com/kb/HT6331

TL;DR - user must explicitly approve such contacts, which are intended for remote support & diagnostics.
I wonder what these kinds of huge gains in laser technology might mean for fusion and beamed energy rocket propulsion?
Tips for delivering bulk mail with Nodemailer
Israel Palestine War 2014 : Israeli Missile Collapsed | RAW VIDEO
Does anyone knows the source from this? I read the MacWorld text and could not find it. Thanks!
Got an email today 'registration declined'. :(
Talk on cracking Internet anonymity service Tor canceled
Is: A better way to write JavaScript conditional statements
The similarity is only superficial. SASS variables are lexically scoped. CSS properties are cascading.
Thankfully, the writers of Enterprise never panicked and pushed the Q button the way Voyager's did. The Borg make a questionable and continuity-challenging [1] appearance on Enterprise, but Q never does.

I watched all of Enterprise. It...gets better in Seasons 3 and 4. That's about all I can say. The first season is pretty bad. Season 2 has a few good episodes. In Season 3, things start to pick up a bit, and Season 4 is legitimately interesting. The show never quite reaches the heights of TNG, DS9, or TOS. But it gets pretty good. I'd only recommend watching it all the way through if you're ready to wade past the early crap, though.

[1] This is kind of a mixed bag. The explanation for their appearance stems from the events of Star Trek: First Contact, in which a small detachment of Borg drones are left behind on Earth in the 20th Century. So the timeline has been altered a bit, and hence, those remnant Borg show up in Enterprise. On the flip side, you'd think that an early encounter with the Borg would have stuck in everyone's memory a little bit, and that Picard wouldn't have been shocked upon first encountering them. The episode acknowledges the issue, at least, and attempts to arrive at a workaround. The fix is clever, if not entirely satisfactory.
You don't have to use Make, there are a half a dozen other popular build systems.
Jekyll tutorial by example
Are you sure? I thought that the first iPhone was only sold by AT&T in the US at least initially?

I'm pretty sure that they weren't sold outside the US at least to start with.

Wikipedia says this[0]:

Jobs unveiled the iPhone to the public on January 9, 2007, at the Macworld 2007 convention at the Moscone Center in San Francisco.[34] The two initial models, a 4 GB model priced at US$ 499 and an 8 GB model at US$ 599, went on sale in the United States on June 29, 2007, at 6:00 pm local time, while hundreds of customers lined up outside the stores nationwide.[35] The passionate reaction to the launch of the iPhone resulted in sections of the media dubbing it the 'Jesus phone'.[36][37] Following this successful release in the US, the first generation iPhone was made available in the UK, France, and Germany in November 2007, and Ireland and Austria in the spring of 2008.

On July 11, 2008, Apple released the iPhone 3G in twenty-two countries, including the original six.[38] Apple released the iPhone 3G in upwards of eighty countries and territories.[39] Apple announced the iPhone 3GS on June 8, 2009, along with plans to release it later in June, July, and August, starting with the US, Canada and major European countries on June 19.

[0] http://en.wikipedia.org/wiki/Iphone#History_and_availability
http://compasslearning.loginq.com
Compass Learning Login - Secure Sign In | Secure Login | Access the Compass Learning login here. Secure user login to Compass Learning. To access the secure area for Compass Learning you must proceed to the login page.
Honestly, I've never seen anyone use anything other than XCode for iOS. Android, it's true there is Eclipse and Android Studio, but Eclipse support for modern build system features like binary packaged Android libraries is lacking, so people are being forced off it. So there isn't much choice for either any more. Android does have a lot of devices and versions to test on, but iOS tends to have almost everyone on the latest version and just few screen sizes, so it isn't an issue. So I can see avoiding Android, but not iOS for this reason.
Maybe. It's still sad.
Let's Buy CNN
Open Name System: Extending DNS with the Blockchain
Slides source and sample code: https://github.com/brianjimenez/python-course
Another question for the distributed systems engineers here: what kind of computation would be required for a system of people to rigorously identify and disprove their myths?

In order for Person A to efficiently disprove Myth X in Person B, Person A needs (1) to know that Person B believes Myth X; (2) to know and employ some action (such as a conversation) that will be effective; and (3) not have something better to do (opportunity cost).