skysight-inc/HackerNews huggingface dataset:
Thank you. I think the coffee analogy is a good one and I believe that it is important that we, as technologists, express our personal values through our work. Also, I don't get this "open source is socialism thing". Although some (e.g. Stallman) may wish to see a socialist coders' paradise, 1) he's certainly entitled to that objective, and 2) the open source movement is much larger than that. These days, picking a license is often just part of selecting a business model. Companies life or die based on the ecosystem they create around their software.
It's ludicrous, but technically possible, and amusing to think about. Thank you for suggesting that.
Not many, but that is vastly different from saying that there is no way of doing it.
The difference between H.264 and "any video codec ever" that may have an infringement charge brought is that H.264 has a large, well-organized overlord in the form of MPEG-LA. They are actively looking for violations, and threats of suits from them are credible and realistic. "Any non-trivial program" may have an incidental patent infringement claim filed against its authors, but with MPEG-LA and especially a violator as big as Mozilla, you can expect a claim if you don't purchase a license ahead of time.
"But perhaps my thinking about it is too coarse, since iPad apps can be hybrids of both."

Right. How would your screen time limitation work if the screen was being used to read a book? And the book may be even more interactive than a traditional book. Then there's a line that can get crossed where the book has now become a game. But even then, if it's educational and informative as a book is, why limit that just because it's on a screen?
> So the only people who will ever discover this are the hardest of hard-core OCD types.

Or people who go read a little tiny bit about the game online, like me.
Stock Illustrations
I think it's more helpful to think of it as a a gamma correction with γ > 1, rather than saying higher or lower. Or as I said in another comment lower temperature, in that it concentrates probability around its peaks.
Many things are a good thing when you have competition. One company who acts as the sole gatekeeper is a bad idea, and this is just another example of why.
I think I agree with you, as I said, writing free software is more like going into competition with “The Company” than it is like organizing a union. Why not expand your ideas into a blog post? Could be excellent material...
> This document is a personal one

Then they're implicitly not ‘best practices’.

> We’re not Facebook, but we are big.

Then it's possibly appropriate. I remain unconvinced even in large projects but I do think CSS is lacking some important features that would make this kind of practice redundant; the kind of things that LESS and SASS provide, like variables and mixins.

> Heavily location selectors hinder flexibility; components should not rely too heavily on where they live, they should be movable as easily as possible.

This again makes presumptions about what kind of site you're building. If you're aiming for heavily modular, reusable components where you'll be repeating markup patterns throughout, it may be more appropriate. Nonetheless, the example you cited looked like a small, common pattern that is easily self-contained enough to be reused in this way.

> IDs will only ever hinder a CSS developer; they offer zero benefit (where CSS is concerned) over a class, thus why would you ever bother using them?

Specificity is an important part of the cascade, and a tool in your box. Being able to target an element with a higher priority than another without needlessly complicating the selector is a feature I wouldn't voluntarily give up just because of some nebulous claim of harm they might cause. Another reason is the same one I don't agree with stripping off element names; they are self-documenting and give developers clear, unavoidable signposts about the nature of the elements they're targeting.

> I’ve just finished the rebuild a massive front-end, the project as a whole took over a year. Number of IE stylesheets: 0. It can be done.

Every project is different. Some will accept layout degradation in older browsers. Some won't. Some will demand extravagant layout effects that require extra time and effort to get working well in IE6-8. To suggest that IE-specific stylesheets are something you should be striving to omit is to needlessly burden developers with (potentially) unreachable goals.

That's the crux of my problem with these ‘best practices’ — developers who've yet to spend a lot of time thinking about how to structure their CSS well could come across these and head off in all manner of wrongheaded directions. Maybe that's why there aren't any universally agreed-upon CSS best practices beyond more simple techniques; the general rule I take with me is ‘YMMV’.
I've only had one job search so far, but I got much more "where do you see yourself in X years" and "tell me about a time..." nonsense at larger companies. Startups were much more interested in what I had done, and they actually looked at my Github account.
There isn't one. It's an engineering solution that just happens to work pretty often in ASR.

Complex P(W)'s are almost certainly fit by MLE. The models used are super complex, so MLE is often the only practical estimate. There are MaxEnt and Bayes methods, but I think generally people trade computational tractability of enormous models which wouldn't gain much from prior information because there's just so much data available.

The best data is more data.
In app purchasing is used by many developers as a kind of shareware. What's so insidious about try before you buy?
I've never been able to find the time or motivation to do side projects, probably because I'm more of an all-in kinda guy. But I agree that side projects could be a good way to scratch the startup itch and have a great time, too.
Your time-traveling Mac user would probably be pretty surprised that it took until 2001 to get real multi-tasking and memory protection, and that the only way to do that was to switch to the Dread UNIX :)
because android isn't going anywhere with it's ridiculous fragmentation. and Microsoft wont be going either if they want their app store to be a success.
I see your point. This started off as a personal/close-knit reference for me and my teams’ best practices. Then I thought I might as well share it, even if only one other person finds it useful then that’s better than keeping it to myself. I packaged it with caveats and disclaimers and you can take the advice or leave it.

A document was created for a small audience, sharing it was secondary, and an afterthought. It is not up to me to decide who follows them and who doesn’t; I merely made them public and people have the ability to pick, choose or even ignore at will.
Tell me if should I create a new project to improve it in github.
g.
I'm going to over-simplify a bit (and try to remember; it's been years since I've actually paid attention to flash). Flash works effectively by erasing to all-1s, and NAND'ing data with an existing block of bits. If you have a freshly erased block, it's already all 1s, and you don't have to clear it off before you can use it. This is fast.

If there are no free blocks, or for whatever reason, the flash device elects to use a block you've already written to, you need to erase the entire block, even if you're only writing one bit. This is relatively slow.

Most high end flash devices, as I understand it, try to keep a pool of pre-erased blocks so that they can stay on the fast path, on average.

As far as I can tell, what they're saying in this article is that sometimes you can hit the slow path, and that causes high latency. On average, it's not a big deal, but for some random small number of writes, it can be an issue.
I feel that with the TV watching, that cable TV with commercials is worse than something like Netflix with no-commercials.
No offense, phillmv, but you strike me as a serious person with an open mind.

If this is true, for only 62 cents you can get a copy of this book (http://www.amazon.com/Classic-Slum-Salford-Quarter-Century/d...), which describes a (low-crime) Edwardian slum from the perspective of someone who grew up there and later became a sociologist (author: http://en.wikipedia.org/wiki/Robert_Roberts_(author)). You'll have to shell out $5 for prison psychologist Theodore Dalrymple's view (http://www.amazon.com/Life-Bottom-Worldview-Makes-Underclass...) of their great-grandchildren.

If you think the difference between these societies can be reduced to the availability and/or legality of intoxicants, you have a very one-track mind. Take another hit on the bong and perhaps your perspective will expand. Oh, and the subjects of both studies are predominantly white. So in case you're a racist, that's not an option.
Might as well add a "formatting" section and include some tips on ways to format css. Also tools like procssor.com or cleancss.com
What the hell is a Hypermedia API and why should I care?
> don't any other people here think 2-year-old kids shouldn't be playing iPad games at all?
> My own kid won't be here for a few more months, so I'm not preaching; just honestly asking.
> Shouldn't kids of that age, instead of learning in-game physics, be learning real physics? Like with balls, marbles, and blocks, running and falling down, and not with animated honeypots and flying unicorns?

You are in fact preaching, just not from direct experience raising children.

Please do not give your future 2-year-old marbles to learn physics with. Choking hazard. Harder to swallow an iPad.
Takeoutweight - compiling Clojure to Scheme to C
Or Io:

unless := method(call evalArgAt(0) ifFalse(call evalArgAt(1)))

Usage example...

unless(1 == 2, writeln("Tis false"))
I think you're correct that with multiple computing options, some cloud-based, you'll see tailoring to specific jobs. Accountants, lawyers, salespeople, programmers, all do slightly different things, and will need different UIs. Also, as contexts switch, so will devices. Lawyer in litigation making a presentation will need a different device than when sitting alone in an office.

Specific to accounting, my anecdotical experience has been that many accountants don't like change unless it makes them more productive. If it's confusing or has a large learning curve, expect lots of complaints and resistance. I upgraded a few with new computers, from Win98 to Vista, and from Office 2000 to Office 2007. The "ribbon" UI was so terrifying to them that they literally unplugged the new computers, plugged the old ones back in, and used them for 9 more months before they finally crapped out.

Any type of manual data entry needs to be done really fast and accurate. Keyboards are better at this than touchscreens in most cases. Touchscreens will have to become more keyboard-like to compete (this is going to begin happening soon, but we're a few years away before it becomes good enough: http://cnettv.cnet.com/senseg-demos-prototype-touch-feedback...).
>And there's an established body of evidence to support that

I don't think there is any evidence to support that at all. Do you have a source?
I hope they publish the list of these users, along with any other information they can use (were they sharing porn?) etc.

Bascially, I consider the entire MegaUpload / Bodog / Domain Siezures activity we've been having lately to be completely criminal on the part of the government. (I think the warrants are fraudulent, and the actions are not legal under the constitution.)

While having the goods on politicians won't stop the overall trend, it might end the careers of a few of the more evil ones.
Regrettably one of the biggest offenders in terms of usability for kids apps is Apple itself. The introduction of multi-touch gestures made a complete mess out of kids apps. For example, if you've ever watched a young one interact with an iPad you would have seen them plant their paws on the screen and do things with 3+ fingers very frequently.

Imagine what happens then: The whole app moves up, down or worst, sideways and switches to another app altogether. This interrupts the experience and is very confusing. I've seen this first hand. It is truly perplexing for children in the 2 to 7 year old range.

Another side-effect is that this makes it nearly impossible to write apps that actually encourage the little ones to fully engage and plant their paws on the device. Without turning off multi-touch gestures the app won't be good for more than three seconds of use. What's worst is that you also stand a good chance to get negative reviews on the app store from frustrated parents who don't understand that this is not the developer's fault.

Imagine the thrill of driving around town while your kids is playing with the iPad in the back seat and complaining/whining/crying every thirty seconds because he/she accidentally switched from the nice educational app you had them play with to your Facebook page due to accidentally using the app switching gesture. Brilliant.

While multi-touch gestures might be a good idea (I as an adult never use them) they provide no way for developers to disable them within their app, thus causing usability problems for kids (and probably some use cases with people with motor impediments).

Yes, the user can disable multi-touch altogether from settings. As an app developer you have to decide whether or not you want to put up a notice, warning or info page on your app warning parents about this problem and recommending that they disable multi-touch. Might you incur Apple's wrath for doing so? Don't know.
Is inline assembly language slower than native C++ code?
Note: This is my own opinion, and not that of my employer (Google) or based on trade secrets or other IP from my employer.

I don't know if this is actually true in SSDs that are actually used, but there is a real cost/write-performance tradeoff. You can make writes faster by using SLC rather than MLC and by having a higher proportion of physical capacity to reported capacity in order to reduce write amplification. Looking into the future, there could be a journal in an even faster kind of memory like PCM or memristors. Still, the controller can only do so much to hide the properties of the chip, and if your drive is only flash, then the trend in the recent past for the chips is that reads are getting faster and writes are getting slower (based on the move towards smaller process sizes and more levels).
They spoke to this quite a bit during the BUILD conference. In short, Microsoft is expecting that the days of computers - all computers - having a screen you can't touch are going to come to an end.

We're going to look at non touch-sensitive screens like relics of an old era.

If you buy that future, you may also come to the conclusion that your flagship OS and cash machine had better be ready for it. And, clearly the last few shots at making a windowed UI touch-enabled didn't go so well.
> Milking parents by making their kids beg and nag them is an unethical way to earn money.

I believe that the primary way the market for children's toys and goods works, if you watch The Corporation they interview a psychologist that explicitly helps exploit this behaviour. So, you might find it unethical, but its the norm and avoiding it is like shopping for clothes that used no-sweatshop labour.
The mp4 has video http://msrvideo.vo.msecnd.net/rmcvideos/160725/dl/160725.mp4
Thanks! I've been a bit frustrated at the difficulty in finding good engaging games for young kids. My son is older and there's quite a bit he enjoys -- puzzles, world-building, etc. For my daughter, who's younger, there seems precious little.
I know that the comment is not liked by everyone, but I still think it is somewhat true: "It doesn't matter whether the program is installed into /usr/bin/, /usr/share/bin/, /bin/ or anything else", at least not for the "average user".

Linux puts all of those into a PATH-variable (if you'd like to see what it holds, type "echo $PATH" without the quotes into a terminal). Because of that, you really never have to give an absolute path to an executable (unless you installed it by hand after compiling, something that the fabled "average user" hardly does). Furthermore, since you usually install Programs via the Package Manager (Software Center in Ubuntu?), it gets deleted properly if you uninstall it. Instead, if you type for example "firefox" into a terminal, it looks through all the paths listed in the PATH-variable until it finds the executable called "firefox", then executes it.

Configuration files for individual programs usually reside in your /home folder, much like Windows' "Documents & Settings", only ideally on a different partition separate from the OS.

The only thing you really need as an everyday user is your own /home folder, and as far as I know, that is basically chosen by default for pretty much everything.

This is not so much Ubuntu specific, rather just trying to explain a bit to the parent about the "Program Files" analogue.

[edited for clarity regarding the function of $PATH]
This App Lets You Use Siri To Pay Your Rent Instantly
So you're saying the site was commonly used by government workers for legit purposes? There wasn't some internal, more secure tool for this?
Let's take the coffee analogy a little further. Not only is some hippie giving away coffee with a "do no evil" license, but just down the road there is a large market, where many people have come together to give away their own special variants of coffee.

Over time, the many and diverse people in the market (which some might call a hippie commune, but the MBAs in the crowd would probably disagee) have agreed on some common best practices for licensing their coffee, which allow it to be mixed to form special blends etc. Some of the best practices are outright subversive, and have led, through network effects, to some of the coffee from this market appearing in many Starbucks coffees -- which are marketed as "fair trade". Although many of the people who buy them aren't aware of the details of how this obscure market has made the world a better place.

Now back to our hippie and his coffee, which doesn't meet the norms of the market, so cannot be included in its blends, and cannot contribute to the ongoing network effect. Is the hippie actually going to leave the world better than it was before?
I've been thinking about this problem with law a bit lately. It seems like our laywers & politicians want every legal question to be completely decidable, and this attitude leaks into popular culture too (or is it the other way around?), hence this article's preoccupation with the fact that good or evil intent cannot (as far as we know) be identified by any mechanical process.

This type of thing is of course a problem in computer science, but the law is not a computer, and I wish we could stop treating it like one. With humans involved, it's quite feasible to make decisions about undecidable things. This process is called exercising judgement, and we hire judges to do it. Frankly, I don't see what the problem is with a "don't be evil" clause. Pretty much everyone understands what it means in most any given circumstance, even if we can't write down a decision procedure for it.

I understand that part of the motivation here is the urge to CYA and offload all accountability for bad decisions from people to "the law". Not sure what to do about that.

Further reading: http://www.newyorker.com/arts/critics/atlarge/2012/01/30/120... ; appeared on HN yesterday; from paragraph 7, argues that these attitudes are partly responsible for the current incarceration problem in America.

(I wonder, can we make a proof of the undecidability of the good-vs-evil problem? I don't think it'll be as easy as for the halting problem; we know how to make a program halt or not halt, but it's unclear how to make a program "do something evil" or "do something good".)
> What people are complaining about isn't the new interaction paradigm, it is how hard it is to figure out that paradigm.

People always complain about change. Always. That's not to say that there couldn't be improvements to the W8 interactions, but it's good to remember that a lot of complaints are really about the fact that something has changed, and not how that thing has changed. Look at the hate Facebook gets every time they change, and then notice that despite all the complaints, everyone is still using Facebook, and that the next time Facebook makes a change, those people loudly demand that Facebook revert to the version they complained so much about last time.

I am certain that the Windows team is listening to the feedback they are getting. The removal of the Start button was due to that feedback. People complained that it was confusing and misleading that the old start button did something so different. Whether that was the appropriate reaction is obviously something that not everyone agrees with.

> especially now that Apple put the same functionality in the settings app, probably because it wasn't discoverable

Out of curiosity, where? I looked and couldn't find it there.

> Given you have to know a gesture just to get logged in, you can't even start using it without knowing the magic incantations.

I feel like this is kind of a ridiculous claim. The login screen "swipe" is extremely discoverable. It's so understandable that Apple stole it (bounce and all) to use for exposing the camera functionality from the lock screen in iOS.

On top of that, any key will invoke the "reveal", as will the scroll wheel.

> But you have to be very careful when you change 15 year old metaphors, and I don't think MS has been careful enough.

I agree. I think the Windows team realizes that they have to change, though, or they will get passed by.
Note: This is my own opinion, and not that of my employer (Google) or based on trade secrets or other IP from my employer.

Keeping pre-erased blocks is useful, but it can only reduce the write latency to what the chip gives you. And the chip gives you a longer write latency than read latency, especially for MLC with smaller process sizes.
Not in San Francisco, but there are plenty of white "worthless thugs." See under: http://en.wikipedia.org/wiki/Chav. The American equivalent starts around 80 miles east of here and doesn't let up until Westchester County - I exaggerate, slightly. See under: "Winter's Bone."
Hi Ray. You make good points, more than I can justly respond to right now.

Briefly, I did not know GWT was initially not used widely within Google--I had assumed it was from near-day-1.

The re-open sourcing sounds cool, although it would be interesting to see how it could play nicely with the internal build-from-head system you guys have. E.g. to avoid effectively forked projects.

Speaking of building from head, I'm sure it's a net win, but, as an outsider, the handcuffs of backwards compatibility seem overly tight. More frequent major-point releases that could clean up cruft might be nice. Not sure how you guys handle major-point releases internally? If at all?

And, yeah, elitist was too strong, especially to apply to individual developers. However, not just recently, but over the lifespan of GWT, it hasn't spawned an external dev community (AFAIK), so it seems like something is off.
DIY solutions aside, it seems like a thin, adhesive strip of hard plastic over the home button could provide just the right resistance to keep a child from idly or accidentally hitting Home, while still allowing an adult (or a kid who really, really wants to) to operate it normally.

Has anyone experimented with something like that?

Edit: Just tried it out a bit-- a strip of milk jug almost does the trick, deflecting softer presses while still allowing use. A little on the soft side, probably. Not sure what DIY adhesive you could count on being removable, though...
Do you think you'd have the time and motivation to do a side project if you worked at a big company?

I'm also curious to see how stressed you were working at a start-up. If you're getting as much stress as the founders without the potential upside, it seems like in many cases it may not be worth it.