skysight-inc/HackerNews huggingface dataset:
Ask HN: Spying in a time of spies
As we all have seen in the last few months, the NSA leverages a great deal of technology and sneaky tricks for the purposes of gathering intelligence in the name of defending the United States of America.

There are moral and ethical arguments to be discussed with every facet of these discoveries, from the mass collection of metadata to spying on this country's closest allies to intercepting and modifying hardware for the purposes of espionage, but going beyond the tactics that implicate the average American citizen, I wonder about the competitive advantage we're putting in to jeopardy regarding the NSA's ability to carry out their mission.

Yes we've observed shocking and negligent behavior in many of these leaks, but I'm not interested in rehashing those emotional arguments. I'm interested in relating what the NSA has been doing (what they probably will have to stop doing, at least publicly) to the spying and espionage apparatuses of countries like China, Russia, India, Saudi Arabia, Iran and others and how those operations will continue undeterred while the NSA stays mired in controversy.

In terms of business, doesn't this put the NSA, and their parent company The United States of America, at a competitive disadvantage in a world where all major industrialized nations use dirty tricks to get an edge on the competition or to harvest something valuable? I completely acknowledge the outrage over domestic and international programs, but don't think for a minute the NSA is a unique case of abuse of power.

Do you predict the intelligence gathering capabilities of the NSA will now fall behind America's international competition or will these leaks and the president's announcement tomorrow do little to seriously deter the organization's mission?
An algebraic solution might have a unique answer, but Math is more than pure Algebra. For instance, Machine Learning problems rarely have a single solution and I would argue that Machine Learning is tightly related to Math.
I would argue that using a "clever library" to get the job done still requires an understanding of the derivation for the solution. Otherwise the person wielding the sword would probably have never found the sword to begin with.
They probably just observered listening habits. I'd fire up Spotify, listen to it for a day or two, then hit the limit (that I always seem to forget exists). And just switch it off for another month or so. Limits or adverts would suit me. I hate, hate, hate the ads, and soon tire of the free service. My laptop's sound is pretty horrid that it's not worth me buying the subscription, but Spotify is still useful as a sampler.
Thanks for the explanation.

I personally use the same system as another HNer mentioned; kids have to do a basic set of chores regardless of money because they are part of the family and they have to contribute to it and then they get some money for extra work.
Building a Productivity App? Learn These 5 Productivity Methods
Deutsche Telekom IPv6 Traffic Passes 15%, Verizon's IPv6 Traffic Passes 40%
Link to the verilog source: https://code.google.com/p/cray-1x/
> i18n just happens

No it doesn't... unless machine translation is "there" and built into Tcl.

> Every string is internally encoded in utf-8, all the string operations are Unicode-safe, including the regular expression engine. Basically, in Tcl programs, encodings are not a problem - they just work

Really? Perl's Unicode support is pretty much second-to-none, IME, but you still need to know the encoding of your file handles and so on. Once it knows this, Perl will Just Work(TM). How is this handled in Tcl?
Not if the user set them to private.
I agree with the sentiment, but who is actually claiming that TCL is a toy language? Random uninformed people on Reddit opine about all sorts of stuff.

It is an old language with lots of cruft, but it's been used in all sorts of places for something like 25 years. Perhaps people's experiences with the language are colored by using it as a means to customize behavior in some big hairy enterprise app.
“He has more information than he did then. And he trusts himself to use these powers more than he did the Bush administration,” said the former Obama aide

Okay, so given the trend of these powers is to increase, and he's not going to be in power after 2016, does he trust the next guy with even more powers, or the guy after that with even more than that?

When civil liberties advocates visited to press him to do more to reverse Mr. Bush’s policies, Mr. Obama pushed back. “He reminded me that he had a different role to play, that he was commander in chief and that he needed to protect the American people,”

The role of President isn't to follow through on the platform you were elected on?
The site was built using backbone.js and the game is mainly javascript with Createjs for sound and the odd sprite. We targeted both mobile devices and desktop with this release. Works really well on modern browsers on all devices.

Let me know if you have any questions or feedback!
If the comments are any indication I must be better at Math than I thought...
Best Companies to Work For 2014
> Maybe severe violent revolt but I literally don't ever see that happening.

Nor I, and God be thanked for it! The trouble with "severe violent revolt" is that it includes no guarantee that the people on the wrong end of the "severe violence" are the same ones whom you think should be. Indeed, there's not even a guarantee that the people on the wrong end of the "severe violence" won't include you. Escalation of commitment can be ugly enough as it applies to individuals and small groups; do you really want to see its effect on the national scale?

That said, you're not quite right to say "it doesn't do anything". Political activism, as it is currently conceived and undertaken in the United States, serves a useful social purpose as an in-group/out-group marker, and I gather that, given sufficient youth and sex appeal, it can be an excellent means of finding pleasant and willing bedmates. Either by itself would suffice as a reason for the young and energetic to involve themselves in what goes by the name of activism; both together make such involvement nigh irresistible.
I simply pay my kids for the work they do, they store it in a bank, and then I let them spend it. When they get older they will need to put aside some money for saving, some for spending, and some for giving away (their choice on the breakdown but it needs to be something in each).
Tcl is the scripting language i hate the least. The string / macro / lispy syntax paradigm works great for driving sql and simple guis. You trade macro hassles like quoting for anti-macro hassles like inheritance or complex parameter specs, but engineering = tradeoffs...

And if you need something compex, do it C for chrissakes.

EDIT: And event loops are beautiful!
What's interesting is that the article suggests that Obama himself did not know extent of the NSA's activities. ("At the same time, aides said Mr. Obama was surprised to learn after leaks by Edward J. Snowden... just how far the surveillance had gone.")

If that's true, it seems to indicate that Obama is not an overseer at all.

Have our worst fears been confirmed? Is the NSA an unstoppable organization that reports to nobody except itself?
I disagree: logic is a tool used in math, in the same way that math is a tool used in physics. You might even say that math is "applied logic", just as physics can be considered "applied math".
Does such Webscraping is allowed legally. Since it is not done directly from our servers and if any legal action will be taken by the scraped website , will it be on kimonolabs..or the user..
could possibly work if wrapped around zfs send, something plug-n-play would be nice though
Its actually opposite. The higher you are, the more you have focus algorithms rather than just moving data around.
Thanks for the info. I thought changing Scale would keep original server and just add new ones. But I guess it is a bit more intrusive.
Contrast your viewpoint with those of a very politically powerful group: the baby boomers. The U.S. is more or less exactly what you would expect taking a composite of that group's viewpoints: liberal with Social Security benefits, tough on crime, projecting a tough foreign policy abroad, etc. It always amazes me that there is so little light that can be seen between my mom's political viewpoints and the status quo. And why is that the case? Because she votes.

And if you're the younger, more liberal type that commonly frequents HN, then frankly you're an ideological minority and it's pointless for you to vote. And really, it is by design that we don't let ideological minorities have their way.
Nope, no offense taken at all. I just disagree with the verbosity approach to writing software. You referred a couple of times to the name as a "description", but there's a big difference between names and descriptions. They serve different roles. IO is a good concise name, and if someone wants to know more about it, they can go read its description in the Haddocks or other supplementary texts.

People don't say "getChar is an IO", but they (when typing) would probably say that "getChar is an IO ()", or when speaking "getChar is of type IO unit". Reading it as "IO action" is useful pedagogically, to answer questions like "what is an IO?", but typing out IOAction every time is annoying and unnecessary. Especially because then MonadIO would have to become MonadIOAction, which is just silly.

One of the worst trends in contemporary software engineering is to conflate names and descriptions, so you end up with absurdities like SimpleBeanFactoryAwareAspectInstanceFactory or InternalFrameInternalFrameTitlePaneInternalFrameTitlePaneMaximizeButtonPainter* . Yes, I'm picking on Java and these are extreme examples, but it's just the exact same principle applied to a much greater extent.

*Found in Spring and JDK, respectively.
Half-Life Inbox: A Realistic Way to Tackle E-mail
It is fascinating how people lay blame.

The most common thing I see is my fellow Americans blaming politicians, bankers, school teachers, lobbyists, cops, unions, almost anyone... except themselves. The truth is, the American people are the problem, and they've spent the last few decades doing everything possible to avoid personal responsibility for the shape of the country.
Math isn't necessary for software development, but it sure is useful
But robots.txt provides minimums: don't scrape this page, don't refresh more than once every x, these crawlers are allowed this access, etc.
What my technical interviews have looked like
http://www.openbsdfoundation.org/donations.html
and
http://openbsd.org/want.html
The difficulty will increase, but the price may increase.

I remember a year or two ago I was calculating all my BTC mining efforts on its value being under $30. Some efforts were break-even at sub-$30 exchange rates, but now in retrospect were well worth it.

But the big term is may, as it also may decrease.
> a massive global communication channel that is not under the control of the people in power.

They're working their hardest to correct that horrible mistake.
Or, more likely, "here's how I think I can work better; you give it a try too".
Wow thanks for sharing. My experience was somewhat similar. While my parents earned plenty of money they preferred to save it for things like college. They were very frugal and stressed out about money and I adopted an attitude of not asking for things. I also remember being actively discouraged by my mom when I spent my own money on ice cream at the pool because she thought it was frivolous.
"The majority of code for something like Facebook or Twitter probably involves very little math."

So it is clear from word choice that the author is just guessing. But Facebook does image recognition, it does ad placement, it does graph networks, it has EdgeRank - Facebook is only possible via math. Sure, perhaps there is more code written to push bits around on the front end and such, but it lives and dies by math. But even screen layout requires math - dealing with resizing screens, different ad and post sizes and so on - there's a lot of admittedly basic algebra there.

With that said, I agree with much of the content of the post. I run into far too many engineers with no real skill at writing or communication, and that is also a large hindrance in the field. Naturally, every job will require a different balance of skills, and no absolute statement is possible.

However, I would say now more than ever math is required to really excel. Write the front end to some CRUD app? Sure, you can do that (where "you" is somebody with no experience). Write a side scroller? Maybe, just maybe you can pull that off. But that awesome new job writing a game that involves game physics. No, you can't do that. Hey, we need some image processing on this app. No, you can't do that. Let's track some objects. No, you can't do that. How about schedule some jobs in the factory? No, you can't do that. Hey, we have this product idea where we will use an arduino to... no, you wouldn't understand PID controls, you can't do that. Sigh. Want to write your 1023rd CRUD app? Slap some javascript together? Sure, you can do that.

This is why when the topic of university (should I go) comes up I am always a proponent. I was taught to write, I was taught to balance books and run a business, I learned calculus, linear algebra, AI, numerical methods, EE, mechanical engineering, thermodynamics, physics, statistics, chemistry. I've used all of that in my career (this week at work I am implementing some Kalman filters, for example), and my only regret is that I didn't take more math courses. The valley is on fire now with jobs requiring math - machine learning, hardware interfaces, augmented reality, and so on.

If I had a friend with no real math and an interest in programming I would not dissuade them, but math is very important in an important subset of programming.

Finally, I have to say I've watched a lot of people struggle to put a program together which has nested if statements or multiple and/or conditions. Generally speaking, the people that struggle to do it don't have any math skills. So even if you are programming something that doesn't require math knowledge, it certainly requires math aptitude.
All that makes sense over the medium term.

I still don't see a clear short term advantage in chasing funding right now rather than converting a handful of potential customers into actual customers. That's not to say that there isn't one.

A potential customer who says "I would buy this if you added mobile" is a poor prospect at this point. They are a poor fit for your product [and in many cultures "maybe" is a less confrontational way of saying "no."].

Focusing on your strengths - design and delivery lead to validating or failing to validate your ideas more quickly and should your ideas validate, then attracting funding will be easier and it is more likely that you will do so on favorable terms.

If your ideas validate, then it will probably only be partially, and having that information before spending capital will allow you to spend capital more efficiently.
For some people raising capital in your circumstances makes sense - particularly if they are good at it. By your admission, you are not.

Bootstrapping into perpetuity is one extreme. Slowing down right now to raise capital is the other. It is not an either or. There is a middle way, wherein you do not have to jump an additional hurdle before validating. All I've got to go on, is what you have said. It seems pretty well thought out, and my $0.02 investment in your business is based on your description and my gut feeling about human nature.

Good luck.
Totally agree on the ads piece. I've subscribed pretty much since it was possible to do so in the US and think it's worth it for the no ads thing alone.
ihsw meant the other elected officials.
World War I and II were settled over some whiskey and a game of poker right?

It's difficult to objectively say whether violent revolt works, because every single revolt has been in a very different context then the next.

The amount of people, artillery, the strength of the opposition, the cause, the location, the current government, the time.

You can't say whether a violent revolt is the way to go or whether it's not the way to go. It's not a black and white issue at all.

If my brothers and sisters see that giving up their lives for our country is a necessity, then I will dedicate my life and fight along side them.

It hasn't gotten bad yet, the moment it starts to really affect your day to day life, people will do something. Right now, to most people, if their instragrams and facebooks work they don't care.
I see that the blogger whose post is kindly submitted here led off by noting the importance of clear written communication, and I fully agree. The thrust of the post here, that much of what is taught in the standard school curriculum in mathematics is neither strictly necessary nor especially helpful for becoming a developer, is also a good point. That agrees with Andrew Lih's response to the annual Edge.org question this year,[1] in which Lih suggests retiring calculus as a barrier to entry (a "hazing ritual") to careers in programming and coding.

Overall, the blog author is correct that development of good written communication skills is central issue for most software development today: "A very smart person doesn't need to write any comments, the code is obvious to them!" On the other hand, as another several comments here have pointed out, learning more mathematics often allows insight into programming problems that completely escapes people who haven't learned the same mathematics. So it's not a bad idea to practice written communication on the job in part by commenting code so that colleagues see what mathematical approaches were built into the code.

[1] http://www.edge.org/response-detail/25521
Been doing this a long time and I've never had to "manipulate matrices for 3D geometry" and I don't plan on doing that.
Streaming PC Games to Raspberry Pi with Limelight-Pi
Seriously. Bigger problem is password reuse. If someone gets access to a user's password they then most likely have access to their email account, etc.
I'm curious? Why force them to give their money away?

It sounds counter-intuitive to me. Teach them the value of money, but then completely negate any value by forcing them to give it away?
Should be back up now. Mostly... If you get page not found, new DNS record didn't propogate yet. You can still use dotnetfiddle-prod.cloudapp.net or 191.234.40.

Sorry for interruption. Lesson learned.
I am one of the contractors writing a custom accounting system that does the heavy lifting. I have a whole support department helping people like you and your clients. Mainly because of lack of logically thinking skills that math classes would fill.

It's not that people don't like math. People are inherently lazy and acquiring logical skills requires work.
If you're using OS X go look for the Cathode app. Set it to your favorite paleolithic-era CRT type,set it to full screen, and voila! :)
Any time you're dealing with linear transformations of vectors (ie functions f such that f(u + v) = f(u) + f(v) and f(a * u) = a * f(u) for any vectors u,v and scalar a), then you're implicitly dealing with matrices.
I would like to see an interactive loop to fsi. Seems like you could use websockets for this.
I wonder if the real answer is to simply reject that workflow. I can't imagine functioning in an environment where I'm being daily bombarded with information about dozens or hundreds of potential "threats" which never become anything.

What if the president simply told his advisors that he would take a weekly instead of daily briefing on these issues?
If John Madden and ur history teacher had a baby - Fantasy Geopolitics
Parents who raise their children to have character are having a much a bigger positive impact on society than any start up founder or developer.

On the flipside, parents who fail at parenting are also dragging society down quicker than any technology or idea could hope to.
“When you get the package every morning, it puts steel in your spine,” said David Plouffe, the president’s longtime adviser. “There are people out there every day who are plotting. The notion that we would put down a tool that would protect people here in America is hard to fathom.”

That's the whole problem. The NSA spying is being sold as if it stops terrorist attacks. It does not. They have not cited a single incidence.
I'm lead to believe that my viewpoint is not uncommon among those growing up without much money. It's not a fun feeling. My response still, when money is tight, is to shut down and do nothing.

Your writeup echoes my childhood really well and largely my approach to budgeting.

I will say though that I just remember it being a part of life and not something that was odd, or not nice. Even though we were poor my parents scraped and went into debt to send me to a private middle school filled with rich kids. So that was even more odd being the "poor kid" in the class and wanting to spend all my time at my friends' homes all the way across town.

I never had an allowance, but when I wanted to sell candy to my classmates my mom fronted me the 10 dollars for the initial outlay of candy. So in that regard my entrepreneurship started early as a result of just wanting to have some spending money as a kid.
It's simple: Obama's publicly-stated goals are much more optimistic than other politicians'. People identify with the optimism and the goals.
Why You Should Always Be Looking For A Cofounder
You're working in a database... Hence you're working with set theory. Set theory is a discrete math.
I couldn't make it through 50 pages of Black Swan. I haven't read his newest book.

Fooled by Randomness[1] was very good. It's more of a set of cautionary tales, mostly pulled from Wall Street, about how to think about chance and making sure you're judging all events against what is expected by chance.

The thing about Taleb is that all of his success hinges on a single, long-ago tail event that few people even remember. It defines his entire outlook and he often assumes that people who interview him or read his articles know this. The article in question not withstanding, if you mentally insert "when discussing tail events" before his claims, many of them make much more sense :)

[1] http://www.amazon.com/Fooled-Randomness-Hidden-Chance-Market...
For Monad, try "Flattenable". A monad is any type which:

1. Supports map.
2. Can be instantiated given a single value.
3. Can be "flattened" when nested two layers deep.

For example, an ordered list is a monad, because:

1. You can map a function over a list.
2. Given a value x, you can construct the list [x].
3. Given a list like [[1,3], [2], [], [4,5]], you can flatten it to be [1,3,2,4,5].

There are a couple of other technical constraints, mostly related to what happens when you (for example) take a list, stick into another list using rule (2), and flatten it using rule (3), in which case you're supposed to get back the original list. That sort of thing.

Monads are useful, and they appear everywhere—quite a lot of generic types support "map" and "flatten". Haskell obscures this simple structure in two unfortunate ways: (a) the first monad that everybody sees is IO, which is a freakish outlier, and (b) Haskell uses an equivalent formation of monads based on a function "bind", which is essentially a map (to a doubly nested type) followed by a flatten.

Another way to look at monads is as "generalized list comprehensions" where "list" can be replaced with hundreds of different clever things. It's a clever little pattern that turns up everywhere, and when it does turn up, it tends to be a sweet spot in the design space. A good recent example would be the Promises/A+ spec for JavaScript, which is basically Haskell's Error monad.
To understand it better, make sure you head to the About section or read the blog post linked at the top of the page.