skysight-inc/HackerNews huggingface dataset:
Apple has lot of products and subsequent strategies, hence controversy. :)

I didn't mean it in a very wide sense. I'm not sure how the walled gardens fit into my story/observation. I don't like walled gardens, but I think it is tangental. I mean it in the context of a person buying a gadget (ipods and/or ipads make a good example)

The other hardware companies will tweak a product to be have the biggest screen, RAM or HDD (whatever feature retailers are highlighting ) at some price-point and they'll do it at the expense of the battery or some feature shoppers are not looking at as closely right now. They'll create a product just tailored to buying managers' checklists. Apple don't do this. They won't compete on price or checklist features.

I don't want to idealize them too much, but I think Apple do a lot less of the above than most. They generally win by making some something people will want enough to pay for with their own money at a price that gives Apple their fat profit margin. Sometimes it's by "inventing" a category like the last big string of big wins. But, for a long time people have been buying Apple laptops at a premium price. No major category invention just consistently good quality of software and hardware.

I hope I'm not drinking kool-aid. I'm not even mush of an Apple consumer (more of a windows avoider) but I think they do keep and artistic integrity like a Jazz band that chooses not to make a trendy pop record. Mot people prefer (by definition) poppier music. But, from a certain perspective there is a greeter victory in making a popular Jazz song than a popular pop song, if you're a jazz band.

I'm not sure if that's the optimal strategy for being successful (though it obviously serves Apple) but I think that's the kind of competition that improves a market.

Back to FF. I really appreciate them. They won by being awesome and making using the web better. Faster, prettier. They had tabs. They had awesome plugins like firebug that helped developers and helped a lot of non developers understand how the web worked. They had lots of plugins that showed people they could customize their web experience. They proved that OSS could be awesome for users.

My perspective is that of a fan. From that perspective, I'd like to see FF succeed or fail by trying to be the best browser. If that conflicts with being a more popular browser or more profitable one, I'd like them to choose "best browser." If they are handicapped because Chrome has better access to users, I still want them to compete on being the best. I would rather see them die trying then surviving because they figured out a way to get more ad revenue at the expense of user experience. That's obviously different to the investor/owner/employee perspective.

As for support, I don't think they can raise the kind of money from donations they can make in advertising. I like the PrivatefFox crowdsourcing idea.
Proguard does a lot of optimisations ahead of time and is part of the standard workflow for Android development. It would have been a more fair comparison if Proguard optimisations were enabled (or mentioned if already enabled).
The 'world's smallest' laptop adapter debuts on Kickstarter for $79
> Perhaps this is why some Irish people prefer to spell their name using the letter Ó. After years of having their name mangled by naive software developers, they made a new letter.

Stopped reading here as I assumed the rest of the article was satirical
I've been wondering where this word comes from. The only other occurrence I know of is the ImageMagick command of the same name. It doesn't seem to be a real English word. What does it evoke to a native English speaker? (ESL here)
Django's ORM is great for simple SQL. Anything moderately complex is going to require you to understand SQL, plus other features of the ORM (extra / raw queries).
Put yourself in the shoes of an inexperienced mathematician solving its first theorem. You've been advised to take care of infinity as described with two parallels crossing at infinity.

Problem, your theorem is dealing with discrete numerable infinity...

On the side note, English meaning of Sanitize is "Make clean and hygienic", nothing more. It says nothing about "removing". Other definitions are extensions based on CONTEXT, once again.
I've always seen "sanitization" as more of an output-encoding problem.

People love to consider sanitizing the inputs, but how you do so doesn't depend on the inputs but on the specific usage of it - more-or-less the output of your program.

Rather than trying to think of all the ways the inputs to your program could be abused to cause abuse, I find that it is safer to start at where the output occurs - database calls, system calls, etc. The most commonly used of these (database calls, shell commands, etc) tend to have a variety of encoding capabilities to ensure that when you want to stick a string in a particular place it does exactly that regardless of whether the string came from user input or elsewhere. For example, bind parameters for databases, or proper escaping functions.

If you think about it as sanitizing input it means you tend to misplace your attention to detail and only consider the entry to your application. A single input is often used to do multiple things through a program so you cannot properly handle sanitization at input.

The real push should be for proper output encoding, not input sanitization.
It's important to note that what is being talked about in this post is not, "why we wrote the Unreal engine in C++", because it already was in C++. Many games, older Unreals included, had a separation between "code" and "scripting", where stuff like animations, weapon firing, etc. was written in scripts, in the belief that this would be easier to update as required vs. C or C++ code.

Doom 3 and previous Unreal engines had scripting languages; even the first moddable FPS engine, Quake, had a 'scripting language' of sorts -- Quake C, a sort of subset of C. id software turned back to pure code with the Quake 4 engine, however, recognizing the mistake that introducing the overhead of script-vs-code, and the limitations of scripts, outweighs any gains from being "easier to edit".
Show HN:SQL + JSON + Search + ACID in one database system. Free express edition
Comprehensive analytics for Facebook pages
They're practicing it to a (very) limited degree. People are still allowed to do pretty much anything they want.

Also, USSR was not socialist, it was technically a state capitalism system: http://en.wikipedia.org/wiki/State_capitalism
How would they know this? Presumably they would have to log the entirety of IP communications with their services.
> I like this, but rather than "hardcore", targeted at pre-CS, and possibly 1st year CS students.

Apologies, I should have explained myself better.

Being aimed at people with only their own wits to guide them, their knowledge is likely to be patchy. So filling in knowledge, even basic things such as mentioned by yourself would be included.

Trying to read up on a subject you often don't know which terms to look up, so some supermarket of info where you just wonder around (like a zombie) until you work what you need to get would be useful.
The non-nullable types are trivially implemented in Haskell. From what I can tell the flow control analysis you're talking about is just type inference (another thing well tackled in ML-like languages).

Indeed, everything you've written can be fairly trivially implemented in Haskell, though inference and annotation would feel different. The real challenge comes in when you've got an arbitrary "test" expression which must be satisfied by the statics of your language.

For instance, your original example had ensure blocks

ensure { x.left > 10 && x.right < 30 }

the problem is that it's very difficult for the compiler to take constraints like these and propagate them through increasingly complex transformations without just representing the entire language at the type level.

Which is exactly the path taken by "DT" languages like Agda, Coq, Idris, ATS. The upshot is that you get arbitrarily powerful static queries. The downside is that your type system is exactly as complex as your language itself and you have to shuffle around proofs of various invariants being held because it's an NP-complete search problem for the compiler to find them for itself.

I highly recommend trying out Coq if this kind of stuff interests you. I recommend Coq over Agda/Idris because you're going to be learning new syntax anyway and Coq has better literature out there:

http://www.cis.upenn.edu/~bcpierce/sf/
http://adam.chlipala.net/cpdt/
Feedback through survey
Hello guys,

We are a group of students who have recently founded a startup. A first prototype of the product is up and running, but right now we are greatly interested in your valuable feedback while we build Personas of potential users.

Please help us by filling this (really) short survey. Thanks in advance!

https://docs.google.com/forms/d/19_-vwiuK-6QLNuMNeTpPgipMVnfN064wbSLVkael7rE/viewform
There is no other word that isn't confusing. If you refuse to actually do some cursory research into something before implementing it, you're going to get the stupid delete-is-sanitization stuff the author describes.

"Doctor, it hurts when I do this." Don't do that!
As described by Carl Hewitt, the inventor of the Actor model:

- CSP uses named channels (coincidentally called channels in Go) with anonymous processes (goroutines in Go)

- Actors are anonymous channels (mailbox addresses) with named processes (actors).

Carl Hewitt states that CSP was created to create a concurrency model around algebra and having named channels was the only way to accomplish that due to the constraints of algebra.

The Actor model's foundation is in physics. Here's an excellent video of Carl Hewitt giving an off the cuff explanation of the Actor Model[0], and some notes I took while watching it[1] (please add more notes if you can, I get confused about this topic constantly).

Another important note is that there are many different implementations of CSP but only one implementation of the Actor model.

0 - http://channel9.msdn.com/Shows/Going+Deep/Hewitt-Meijer-and-...

1 - https://gist.github.com/rbishop/9082539
Castlight Health Casts Bright Light on Market Bubble
The overall point is very true indeed, though I think it's not made particularly clear what the actual problem with sanitizing input is.

The problem is that you are silently changing information, and that's an absolute no-go for reliable data processing, and the cause is that people think of, say, html, as "some kind of text/strings".

HTML is a serialization of a tree, similarly, SQL is a serialization of a syntax tree ... - and if you want to add plain-text user input to such a serialized tree, you have to _convert_ it from, say, "plain text" to "HTML character data". You have to think of them as two different data types, and so when you want to use a value presented as one of the types as the other type, you don't have to "sanitize" it, even calling it "escaping" is confusing - you have to _convert_ it. And if it happens that some input can not be represented in the target type, then you have to _validate_ the input and _reject_ broken input.
This exactly. I think part of the problem is that each of these projects has a corporate backer, Monetas, sponsoring Open Transaction is building a business around the platform. There is some incentive to keep the best doco closed source. There is a slim to none chance that the only documentation Monetas is using is available publicly. I spent some time setting up an opentransactions server, but could never spend enough time/research to get a production server up.
The reasons of professional video game developers do not apply to you
I found Kilim to be an overkill for the most of my use cases. Instead I recommend checking out jetlang, https://code.google.com/p/jetlang/.)
(
This implements message based concurrency, similar to Scala. I am using this in production code without any issues.I found this easier to implement than Kilim and delivers equivalent functionality
Thanks for the enlightenment. Did you not consider going for adoption by regular Mozilla users, and only then try expanding to the wide open internet? I have the feeling that by trying to tackle everyone at once you ran into brand recognition problems.

For reference, I pulled this login screen from an image search on google: http://raygun.io/blog/2013/08/mozilla-persona-support/

The question must be asked: Does Persona have any chance of being used, in that context?

This branding issue can be compensated by having the browser pull out a dedicated login interface, or by really leveraging the known Mozilla brand (accepting the negative aspect you presented, which is inescapable). Without compensation, it is indeed a lost cause.
Will this be provided As-A-Service, or will it be a downloadable product that can be deployed in-house? This is exactly what I have been looking for for a while, but there's absolutely zero chance we're going to send any of our business information to a remote service.
I think that "some" points is mostly negligible.
I could see you getting free charge or subsidised in order to ramp up interest.

Could be a good incentive if you got free parking, or prime locations because you had an EV.
Awesome User Support is the New Marketing
Look up Schuyler Towne & any of his animations. Also, I believe http://www.theamazingking.com/ has a lockpicking game on his site, but it is a little dated
Being around other high quality founders. Having done YC I would say that that is by far the best takeaway from it and I think every other alum would say the same.

Good quality founders give you access to experience and perspective that you simply cannot find elsewhere and a value that no amount of blog reading can substitute.

An incubator is definitively only as good as the founders in it (which presents an obvious catch 22) and EF has managed to attract some incredibly high quality applicants.

The EF program is too young for a large number of those applicants to yet have become experienced founders per-se but in terms of quality of people and focus on engineering, EF is streets ahead of anything else I've seen in London.

FWIW it's also far, far harder to build a quality business solo than it is if you surround yourself with other people who are also doing well and pushing you to do better. You are as they say the average of your five closest friends.
Laboratory-grown vaginas implanted in patients
This is also very true of old school tools like Microsoft Project. The overhead for entire teams to learn to use the charting and other features is too much.

My experience has been that a spreadsheet containing all the tasks, issues and risks, with owners and dependencies identified is usually enough. Then it's all about the actual discipline of discussing them, saying "No" to lots of things, telling people when you're waiting on things for them, and focusing on the tasks at hand.

Execs frequently get too hung up on the tools themselves. I cringe every time I see MS Project as a requirement for a Project Manager. It tell me that either someone from HR wrote the requisition, or that the project is in trouble.
I would like to thank everybody who contributed to this thread. I have come across a lot of brilliant suggestions and I am thankful for that.
If I am an inexperienced programmer building their first website and I refuse to even google what sanitizing inputs is, the last thing I need is some headline telling me "NEVER sanitize [my] inputs." Presumably, I won't read that either.
I'm a big fan of the sublime-grunt packages ... http://crosstek.net/2014/03/03/building-projects-with-grunt-...
English is not my primary language and i don't know the exact etymology of the word 'sanitize' but it sounds more to me like you have to make the input 'sane' or acceptable. It doesn't imply to remove anything, rather to escape problematic characters, in this case the quotes.
I'm disappointed that even modern applications have poor PNG compression.

With pngquant (--quality=95) and ImageOptim I'm able to make Sketch's "Exported for web" files literally 3 times smaller.
I may be misinterpreting your statement, but passing around assertion objects is a common feature of many DT languages (Coq, Agda, Idris, Epigram, ATS, etc)
http://another.cat/155

I'm no cat expert, but I don't think that's a cat...
Less dense increased the chances of off street parking doesn't it?

Also I don't see how the size of a parking lot changes things, if anything it means you could incentivise by having the EV slots closer to the attraction, plus have solar roofs to harness some cheap power.
They should name something in their toolchain 'Mortensen'.
Author of the project here.

I want to clarify why this project exists (as many seem to point out that other projects or methods exist for doing this).

TL;DR; If you think of localtunnel as just a shitty ngrok (or name your project here), you are missing the point and probably don't have the same use cases I do.

1. It was made overnight at some hackathon because I was not satisfied with the other tunneling options I found. They required either an account or some stupid ssh setup. I got to thinking of ways to create a tunnel that simply had an CLI tool and instantly get a tunnel no setup. It worked, I kept it.

2. It is written as a library first, CLI tool second. This means it can be used to create tunnels in a test suite if you want to use services like saucelabs to run browser tests (see https://github.com/defunctzombie/zuul). This is leveraged by projects like socket.io and engine.io (among others). This is perhaps the main reason I keep it around despite there being alternative CLI tools.

3. Both the client and server code are availably and easy to install and use. Companies do this when they want to run their own tunnels for privacy (or whatever their reasons... I don't care).

4. Yes, I know the name is identical to the old ruby?python? one. Whatever. That one seems defunct now anyway.
Alternately, it may be that they c) do not know how to evaluate team members.
Feature of Google Glass
What until recently was the scene of the sci-fi movies has become a reality. The augmented reality glasses technology devices are currently most commented and has aroused curiosity in most users and lovers of this universe.
If you have modulus n and prime p, you can get the other prime q by dividing n by p. This gives you both primes, which is the input to RSA key generation (along with the public exponent which is usually 65537, but can be extracted from the X.509 certificate along with the modulus).
Author of this book has committed treason and famous for his pseudo-historical books, that usually paint USSR in blackest colors possible. No serious historian in Russia takes his works seriously.
So I'd question anything that written in the book.
The Call of Python 2.8
... which is exactly what you should not do. Here, let me post this:

"If you want to create a horizontal line in HTML, you write <hr>"

See that? There is nothing "unclean" about it, hence you should not "clean" it. You just have to encode it if you output it embedded in HTML. That's why calling it "sanitizing" is misleading.
There are other companies doing workflow automation, but their products seem clunky and not aimed at web-services, which companies are increasingly relying on. I want to be the IFTTT of back room office tasks. I want anyone in an organization to be able to create a workflow to automate some mundane process they have at their job. I would love any feedback you have of Taskflow.io so I can get my product to that level. Here is a link for any feedback you might have http://eddie.taskflow.io/start_process/201?return_url=http%3...
YC isn't just about getting the best talent. Some YC founders are clearly very good, others are unimpressive. I've seen the whole spectrum.

YC could pick its crowd at random (not to imply that it does; it doesn't) and it would still work. A few bozos would get in and be likely to fail, but it wouldn't be remarkable considering the statistical noise already in the startup game.

Venture capital is a feudalistic reputation economy, and YC is a case of Paul Graham monetizing his reputation. Just being YC establishes that a startup has real potential and puts it ahead of the teeming masses. Paul Graham wouldn't have to do anything to make YC a winning trade for him and the startups.

Before anyone says I'm being unduly cynical, let me fill out a few of my points. First, Paul Graham earned much of that reputation. He's a good writer, he understands Lisp at a deep level, and his technical chops are strong even by engineer standards and put him ahead of 99% of financiers. Second, I'm sure that YC's picks are better than its rejects. Third, I'm sure he worked really hard on the YC program. My point is only that he doesn't have to. He could pick startups at random, do absolutely nothing, and it'd still work, financially speaking.

Can anyone replicate this? Probably not. Paul Graham deserves credit for carrying the banner. In 2002-4, the mainstream business world had written startups off and people believed there'd never be another 1990s-style tech boom (which was mostly froth, but had a lot of genuine substance). Paul Graham pointed people back to the truths that the dot-bomb-shocked business mainstream was prepared to discard, like (a) that technology really matters, (b) small businesses can be extremely efficient, and (c) smart people require a different management style that most corporations don't get. He deserves a lot of credit for keeping the banner in the air in the gloomy early and mid-2000s. That right move, on his part, is a major reason why he has a monetizeable reputation. Is that feat replicable? Probably not.
> it's kind of like when people are surprised that a standard way of saying "hi" in North America is "how are you?" even though the person doesn't actually wanna hear it and will be weirded out if you reply honestly.

A thousand times this! I've had a lot of personal trouble with the long and drawn out experience of learning that the right answer to "How are you?" is to _lie_ and just say "Good, and you?", regardless of how I really feel.
No. What you are describing is a way of doing things that inherently leads to security vulnerabilities, because it depends on someone else remembering to include something in their code, and people will always forget to do the right thing at least some of the time.
Developers should never allow input into the system that doesn't match their expectations about what is valid for that value/field/etc. If you have a user text input that only requires alphanumeric characters, space, period, and comma, then strip out any character which is not one of those things. That field is now no longer a possible source of XSS.
I disagree on all counts. You're making generalities that can be falsified. And no one has done the homework to figure out what's really going on.

It is possible for an older entrepreneur to not have the kind of funding you're suggesting. I'm one.

It is possible that an older entrepreneur had the kind of career that didn't encourage the development of a network of connections useful for building a business. This is (mostly) also true for me.

I count myself lucky - I'm part of an incredible program that provides me with a basic living expense (my wife makes up the rest), and access to advisors, lawyers, bookkeepers, marketers, sales people and negotiators to teach me the knowledge and skills that I lack. I could not have gotten this far on my own.

But the point I was making is that there seems to be such a focus on getting young people (what's next? high school grads?) that there's a much richer, more experienced field of opportunity being ignored.

Or at least underreported on HN :-)
agree on spreadsheets but i think the promise of sql was not fulfilled

what about visual xml mappers? for business analysts - non-coder domain experts. they are selling, but i don't know how well this aspect has worked out... as a coder, i wouldn't hear about it even if it was a success...