skysight-inc/HackerNews huggingface dataset:
Ask HN: NDAs?
As a developer, I never sign NDAs when someone approaches me with an idea.

I'm trying to approach a potential advisor/investor with a business plan who happens to have founded a company that is pretty much a competitor. But our business plan is a much better solution. Should I ask him to sign an NDA? He has the required infrastructure, which could take us at least 6 months to build, so approaching him without an NDA is a little risky.

Any advice on what to do?
Interesting architecture. I like how well-documented everything is. Usually, either the low-level ISA for accelerator chips is not documented at all (like with GPUs), or detailed documentation is only available under NDA, and only proprietary development tools are available (like with FPGAs).

The topology reminds me of this paper "The Landscape of Parallel Computing Research: A
View from Berkeley" http://www.eecs.berkeley.edu/Pubs/TechRpts/2006/EECS-2006-18...
Sale from Baltic servers. VPS for 2 EUR
The Beauty of Galaxy Formation (Simulation Videos)
The WordPress Brute Force Attack Timeline
It may well be that your product just wasn't needed or that your focus was wrong, for instance customers might have wanted feature y before feature x: It is not uncommon to find it difficult to work out what customers want in isolation.

(Shameless plug alert!)We encountered this several times in our own failed startups where we have built the best software the world has never seen and decided to create WillThisFly? to address these issues: It allows you to develop your product with feedback from day one, validate ideas and features, iterate and develop before committing time and resources to it or indeed, find out that it's a non-starter.

Our MVP is online now at http://willthisfly.net/projects/1/
I've also been thinking about processor architecture recently. My conclusion was that it is ludicrous to have processors' main input language be Turing-complete. Processors need to perform optimizations, to do that they need to make assumptions. In this sense, a Turing-complete input language is the worst possible choice.
I agree with your criticisms. I wrote this last night and submitted this morning, but after reflection, I even made some edits. For example, I started by saying that the first graph was "wrong". Upon reflection, it's not. I think more accurately, it just doesn't represent what people think it does.

If you Google search for "apache bench gnuplot", you'll find a very similar gnuplot template that has been circulated for a very long time, but everyone seems to think that the resulting plot is response time over time.

I'm definitely going to follow up on the issue. I'm a mediocre programmer, so gnuplot is pretty hard for me, but I keep having these "ah ha" moments. My next post will look at each graph in more detail and try to explain just what is being shown in each.
Khan academy is nice for the material it covers, but anybody going beyond high school will find it rapidly becomes obsolete (according to the content ca. the last time I checked). The treatments are simply too elementary and the topics too low level.

I would think a site where people can ask anything, ala stackoverflow, would yield more useful results for many physics/math/cs students.
It's very interesting that these guys are automating the marketing processes that patio11 talks about: automated lifetime email marketing. Patrick has shared how much value this can add.
When I read "A Russian, vegetarian lawyer" I think of some strange Russian practitioner of vegetarian law, or a defendant of vegetarians. On the other hand, the first statement implies the correct idea that he's a lawyer who is Russian and a vegetarian.

Context is important. You're talking about a lawyer. Why does the fact that he's a vegetarian need description at all?

When I read a statement like that, I guess I compose it right to left. Big red bike would be (Big (Red Bike)) the lawyer would be (Vegetarian (Russian Lawyer)) Where Big modifies the Red Bike, and Vegetarian modifies the Russian Lawyer.

The statement in the article with Tolkien and "Great Green Dragon" vs. "Green Great Dragon" would be the same sort of scenario. Are you clarifying the color of the Great Dragon, or are you modifying the size of the Green Dragon. Does "Great Dragon" have some significance past just it's size? You would say "Smiling great white shark", you would never say "Great smiling white shark".

Aural perception and reading perception are going to be different too. You can especially add pauses to emphasize relationships. "A Russian ... vegetarian(emphasis) ... lawyer" might clarify that you're speaking about a Russian man who is a vegetarian and a lawyer, and that you're maybe drawing attention to some contrast or contradiction because he is vegetarian.
What kind of input language would be both useful for general computation and not Turing-complete?
Startup Visa in Comprehensive Immigration Bill
It is implied that it was taken.

The IRC log said that they had taken it and since Linode is talking about the passphrase in their blog post, the implication there is that it was taken too.

If the bad guys didn't have the private key then the passphrase is literally irrelevant to the discussion. Since they would have to break the primary cryptographic key rather than just the passphrase.

A passphrase protects a private key file NOT the data. So why would Linode even bring it up?
That's not quite the same thing. A better comparison would be calling FGM 'retarded'. A more apt comparison would be, say, that sex slavery is so 'gringo' (although gringo doesn't really have a negative definition so it's not the best analogy).

Anyhow, I don't truly care one way or another. I'm just saying I see where Amnesty is coming from. Generally I don't modify my language until there's a group specifically offended. That might not even be the case here and I might not mind offending FGM practitioners. But Amnesty is not trying to dehumanize people, because doing so in general leads to worse treatment of people.
Marathon Passengers Ground Flight Because of Arabic Speaking Men
Synonym for "golden child" or managerial favorite, and yes, I know that it originally meant a male prostitute dressed to look feminine. I'm not the first to use it in that way.

"Golden child" doesn't have enough bite and Ancient Greek references get old.
Good reminder!

Do you see applications in an embedded sense, or are you looking at it to augment a regular computer's capability?
Are we willing to bet that the rise in CO₂ will continue to not trigger a runaway process?

The problem with that argument is you can make it for anything that's not well understood.
What I've learned from my failed startup during 2000/2001 [1]: With enterprise software the MVP is a power point deck with mockup screen shots. You first need to validate the idea, words, concepts before you start developing. This also helps with the deep decision pipelines that enterprises usually have to buy your enterprise software.

Next time I'd start immediately going around with a powerpoint deck of mockup screenshots instead of developing software first (which we did and failed).

[1] http://codemonkeyism.com/6-reasons-why-my-vc-funded-startup-...
And there are some adjectives which change meaning depending on whether they are after or before the noun. However, I have noticed that when these adjectives change meaning, often it the meaning that it has when before the noun has some degree of emotion or personality to it.

For example, ma propre chemise vs ma chemise propre (my own shirt vs my clean shirt). Or mon cher ami vs ma chère chemise (my dear friend vs my expensive shirt).
> I wonder why Mike considers the usual blend of concepts provided by FP languages to not be worthwhile.

As the FP community has consolidated around Haskell, this usually refers to the Haskell feature set: Graph reduction, lazy semantics. Graph reduction is extremely imperative (see: spineless stackless g-machine), which makes it map well on a Von Neumann processor, but limits the amount of exploitable parallelism. Relying on lazy semantics also wrecks parallelism, because some evaluation branches cannot be visited ahead of time, without changing the program's semantics.

A functional language using eager semantics and string-reduction execution would map much better on, say, a parallel dataflow processor. Research in this direction got buried as parallel research money evaporated in the early 90's
Ask HN: How much, on average, do freelancers make?
I'm thinking about getting into the freelance gig. I have 2 years Python/Django experience and am pretty good with front-end stuff.

I'm just wondering what it's like for the average freelancer. Do you take up more than one project at a go? How much do you usually get paid for one project? What about overall?

I also asked a question earlier on about doing contract/remote work as an American, overseas. If anyone has any experience with this, please let me know

Thank you!
I wonder how long the list of exceptions to the rules we've managed to come up with are.
How to Buy a Company
It might make sense if you're a pure middleman. If all gains and losses are your customers' problems and you're just using their bank accounts, you only need money to cover your own overhead and maybe cover fees before you can charge your customers (imagine you charge your customers monthly but the stock exchange charges you daily, you'll need 30 days' of fees on hand to pay the exchange before you then get reimbursed at the end of the month).

Along comes this trader buying on behalf of the company and not a customer, and now they're stuck with a $5m hole and that was all of payroll for the year etc.
> But when we consider the consuming power of ASIC platform, I think this board has strength.

No, it can't possibly have.

SHA is half bitshifts-by-constants. On an ASIC platfrom, those essentially refactor to no-ops. There is no way, no how general-purpose hardware could ever possibly get anywhere near even a piss-poor special purpose ASIC for this task. If you think otherwise you simply don't understand the domain. Those 600-watt ASIC systems contain multiple chips and run at tens of GHashes/s. That 5-watt chip, if it's very, very good, might maybe break 40MHash/s.
The specs on the display are pretty bad. In the API examples, the one with the most text is the shopping list with 5 lines of short text. I want to look at longer text on a HUD device. Is this a limitation in the ability to create HUD hardware with higher resolution. Also, can someone with experience in this area explain the pros / cons in the "how it appears" spec? I'm talking about the spec where they say "looks like a X size display X distance away" Here's 2 HUD specs:

Glass: 640X360 25" HD display from 8 ft
Vuzix M100: 400X240 4" mobile screen at 14"

If I place a ~4" mobile device 14" from the top right of my field of vision, I think I could live with that amount of obscured vision, but is it feasible to create that with 720p resolution? Why would you want a 25" display 8ft away? That seems like it would just be good for placing display ads and not really for most useful things aside from quick notifications.
I think that is a good idea, or something along those lines. I too clicked the link to the site, but when I noticed I had to register first, I came back here to check the comments rather than continuing. Showing more content before forcing a signup should gather a lot more interest. Looks nice though, and you seem very receptive to feedback, so I guess I will go sign up anyway! Good luck!
To provide some anecdotal defense of Google here, my Nexus 4 was damaged and required replacement. I called a phone number that was easy to find on the Play Store website and spoke to a human without being placed on hold for longer than a few seconds. The human listened attentively to my problem, and promptly issued instructions for their RMA process. I had my replacement phone two days later.

As a consumer of Google's software - as both a developer and end-user - I have experienced Google's legendarily bad customer support first hand. Having said that, I think it is an injustice to suggest that it applies to all things Google now and in the future, and I have a first hand experience that suggests that they are trying to improve this experience for consumers of at least some of their products.
I think people are starting to suffer from signup fatigue (even with just 3 boxes). Wherever possible, services should get right into the kernel of the experience and ask for registration later.
Depends a lot on the type of problem, and I think that's going to be what makes or breaks them. They have some good examples, but you're right, it's a hard problem and one of the reasons it's so important for them to get these dev boards out.
The problem is when you don't know things that could hurt you. "Your credit card was stolen" is something that you need to know. "Your password was compromised" is something that you need to know. "Let's not tell anyone about it, and hope that this information isn't abused" is not a valid course of action for a company that cares about their customers.
Our Need for Immediate Info
Looking for a summer startup internship? ff Venture Capital wants you
This is amazing. I'm actually surprised NPM is one of the few that gets this right. I guess we are still in the early days of Software engineering.
Shame, cos I could have sworn he was talking of my direct experiences
Are You An Open Source Pragmatist, Really? - Tom McFarlin
Most likely thing is probably crapware that came with the phone. Are you sure they weren't installed when you first got it?
Suspicious Package Found at LaGuardia Airport
Wadjet's latest, Primordia [1], is really good, especially if you are into postapocalyptic scifi. (Windows, but runs perfectly on Macs via Wineskin.) Retro graphics, looks like it was made cirka 1990. There is also their earlier cyberpunk game, Gemini Rue [2], also great.

There is also Machinarium [3] by Amanita (of Samorost fame). No dialogue, so less like MI, but still one of the finest games ever made.

[1] http://www.wadjeteyegames.com/primordia.html

[2] http://www.wadjeteyegames.com/gemini-rue.html

[3] http://machinarium.net/
This is a great series of posts! a must read for every developer.

If anyone is wondering about the practical aspect of it, here is my interpretation: never use MD5, SHA-1 etc to hash passwords, they are too fast, anyone with a good GPU / dedicated hashing hardware can brute force short common passwords quickly (Carla), use bcrypt/scrypt or at least SHA-256 with many iterations, and increase it every couple of years as hardware get's faster...

I would also add: salt your passwords with a secure random, and force strong long passwords, don't have "security questions" (they can be Googled / facebook graph searched easily), respond the same time for correct or incorrect credentials to avoid timing attacks, and note that whatever you do, if someone got their email account compromised, none of this will matter.

Thanks again for a very well explained set of posts, hope it will make our web a bit more secure...
Gardening for geeks
Renaming CSS files with numbers or whatever is one legitimate way to handle cache invalidation (not evidence of not using version control)
> Can it mine BitCoin competitively?

Prior to the popularity of mining using GPUs, it would have been the shizzle.

Today's ASIC-based systems will hash circles around it.
Do you know of a wicket-like approach to "templating" in python (or indeed anything other than java)? I'm currently in the process of building my own clone in python, and I feel really bad about doing so, but it's so much better than all the approaches to html generation in python that I could find that I'd rather do this than struggle with vanilla django templates, or even genshi.
I definitely agree that it is the same data, and I plan to do some follow-up to this piece because of shortcomings in my evolving view on what I just learned. By "doing it wrong", I mean that many people believe that this data is response time on the y-axis, and chronological time on the x-axis.

I hate to single out anyone, but Philip is obviously a smart guy, and I think he's competent enough to not be hurt by a simple oversight like this. If you look at his write up here, he uses the oft circulated gnuplot template (check the comments):

http://rubysnippets.com/2013/04/10/rails-4-live-streaming-ve...

> On first sight, we immediately see from the graph that the response time using Puma at the end of the 10000 requests is pretty bad with 100 concurrent requests, with the longest request taking around 60 seconds. I’m not entirely sure why this happens or what happens near the end, but here’s one plausible explanation:
> When the benchmark starts, 100 concurrent requests are sent to the web server. A maximum number of 16 threads, and thus 16 requests, are allocated by Puma at once. The 17th request will block until one of the 16 threads currently in use is finished. However, since we’re executing 100 concurrent requests, there will be 84 requests waiting (100-16). Looking at the requests in the generated puma.dat file (generated with ab -r -n 10000 -c 100 -T 'application/x-www-form-urlencoded' -g puma.dat -p ../live_streaming/post http://127.0.0.1:3000/messages), we see that exactly 84 requests have been waiting for execution. These are the requests that were issued first, but have never been allocated to a thread by Puma. As a result, they have been waiting for the entire benchmark. I’m not sure why Puma would behave like this.

That protracted explanation is predicated on the inference that the data is ordered chronologically. Many, many people make this mistake (google "apache bench gnuplot"). I always thought it was as well. I don't know why I never looked at the starttime or seconds columns of the data.
Story of a File via Dropbox Revisions
It's interesting that you say that you are doing the compiler's work when you program functionally.

Imperative compilers have three steps: they compile from an imperative language to SSA (which is almost functional), they then optimizes the SSA and then convert back to an imperative language.

The reason that they convert the program into SSA is because it is much easier to reason about the program in that form. My take is that imperative compilers are an admission that functional programs are easier to reason about.
Patenting by itself is no harm. Many open-source licenses grant an explicit or implicit patent license to the source code. So, open-source + patented is certainly possible.

A recent example is the case where Google bought patent license from MPEG-LA for VP8 codec. And then Google sublicensed it, giving a royalty-free patent license for every user of VP8 codec, along with the source code.
How timely that The Adapteva Parallela computer board was just made available as well. Perhaps something interesting can happen at the confluence of that hardware and these compiler thoughts.
To be fair, from what I recall while I was there, the blog was also instead of paying for a PR firm and having Sam going on morning talk shows that didn't really hit our demographic or help our growth much. So once we got bought the need for it did decrease a lot.

I heard there is a book containing a lot of similar information coming out though.
Six weeks of working on an Android tablet
Cracking even a 1024 bit RSA key would cost at least millions of dollars. Credit card numbers are not worth that much.
Windows Azure Announces GA And Promises To Match Any AWS Price Drop
I think this may just be a novel way to sell a dev board for their custom silicon and get some of that heavy kickstarter press coverage.

If you figure that what they're really trying to do is get people familiar with it and see how well it might augment one of their existing ARM products it starts to make a lot of sense.

For instance I have a low end 4 bay arm based nas. It's insanely modest specs (1.6ghz single core + 512MB ram) actually are quite sufficient for most nas tasks. But it's really more like a home server platform as they have all sorts of addons that include things like CCTV archiving, DVR, ip pbx - you get the picture. But if you really start treating it like a general purpose server you quickly realize that some common workloads perform horribly on that arm core and it's frustrating.

It can easily push 800mbps or so with nfs smb or cifs, but if you want to rsync+ssh you're looking at less than a 10th of that because of the various fp needs of that chain. Native rsync with no ssh/no compression does somewhat better but still poorly due to its heavy use of cryptographic hash functions for delta transfers.

There are plenty of other examples - file system compression, repairing multipart files with par2 (kind of like raid for file sets). Face detection, file integrity hashing) And if it could do on the fly video transcoding (don't even think about it) it could happily replace another full system i have running plex server.

There's probably a lot of devices that the designers default to arm but have to skip features that are heavy fp. If somebody in the firm has played around with a chip you can just drop in and not change your soc or toolchain that starts sounding pretty good i'd guess - and likely still far cheaper than an atom soc.
This was an Indian university. Different companies had different strategies - some would "filter" the students based on grades alone, and then pick the best from interviews. Some had their own tests, and ignored the grades totally (even in this, some had programming problems only, while others had some weird puzzles etc). It was a while ago, I am not sure what the situation is these days. I do remember that it was a good mix of all kinds of strategies.
Content Worthy of Your Time
I would like to introduce Waurb. We want to help the blogging community by getting their articles seen by more people. Too long has Facebook penalised the little guy with Page Rank.
A supercomputer is a machine that's I/O bound instead of CPU bound, at least as a first approximation.

You'll get lots of specs thrown at you like in mid 2013 a supercomputer means using X, Y, and Z technologies. But that is just a longer format version of the above.

A pessimist usually warps the definition to a machine that's primarily programmer limited rather than CPU or I/O limited, LOL.

Over the decades as parallelism has been popular its drifted more toward being financially limited more so than anything else, in the long run this is probably going to be the new definition, a overall system who's performance is solely limited economically. You might think thats all computers, not so, there's plenty which are inherently limited by architecture to low performance, or limited by programming to single core / single thread tasks.

The biggest bummer of supercomputers in the parallel era is no one is doing anything about latency. That's nice that your 2000 processor design with 20 deep pipelines eventually after enormous latency can really churn stuff out, but the olden days pursuit of low latency resulting in speed was pretty interesting technologically. Hilariously you'll even get noobs who don't even understand the difference between latency and speed or claim there isn't one.
Just a question... but why would you want a competitor to be your advisor? NDA for sure in this case.

Bringing him on board on as an investor, albeit that he is also as a competitor, creates a different relationship. If it is an investment arrangement then there is much to consider.

Best solution would probably be to discuss your business plan (and share any corresponding documents) which does not include overly-in-depth specs, proprietary code/algos, or aspects that differentiates your startup (that he could recreate with his current company, team, technology, etc.).

Inevitably, as the relationship progresses and becomes better defined, I would highly recommend some form of NDA/Noncompete (i.e., whether he takes on the role as either and adviser or investor).