skysight-inc/HackerNews huggingface dataset:
I really hate to be that person because the author took time to help other people and it's a great thing to do, really, but this is excruciating to read due to very strange page layout.

That being said, thanks to Rafael for a simple and layman-accessible explanation of the issue.
It's so sad you guys aren't doing h1b. Is there a state/federal regulation that makes you require permanent residency or company's policy?
Eugene, OR & Irvine, CA | Relocation/ Local | Internship - Full time

Stack: Python, Git, SQLite

Resume: Contact for resume

Contact: ben @ benpoliquin . com

I'm looking for 2014 Summer Internship. I am currently a sophomore in my Universities Computer Science program, also getting my minor in Business Administration. Preferably looking for a solid working and learning environment to build upon the knowledge and skills I have attained thus far.
>Obviously, people using asm.js will benefit from JavaScriptCore being faster than V8 on asm.js

Also obviously I covered that, when I wrote "99.9999% of web code is NOT asm.js". So who are these "people"? All 10 of them?

>Whether it matters is an interesting question, but V8 developers seem to disagree with you, because they included asm.js benchmark in Octane benchmark suite, which V8 developers use to tune V8.

If anything, it shows that they agree with me. See how I compared asm.js to a "synthetic benchmark" in my comment?
The whole 2^11 movement is fascinating.

There is a chance for world peace. ;)
Hey HN,

Just saw this was picking up steam so if you have any questions, happy to answer them! Some might remember me from my posts a few years ago when I quit my job to learn how to code. Happy to answer any of those questions as well...

Emile

Founder of Tindie
> If some principle results in a handful of single-method classes that don't really do anything on their own, the principle is not a good basis for design.

I call those "half responsibility classes", where classes don't actually have any responsibility other that carrying the little extra information the parent needs to perform the actual job.

That's bad, because classes are a way to encapsulate data and logic; and those... _things_ don't have any logic.

That's terrible OOP right there. I don't think the SRP encourages such thinking.
> Think of it as a David-and-Goliath battle waged entirely in paperwork, between a billionaire and the chronically-unfunded agency in charge of issuing these permits, the California Coastal Commission.

Ah yes, that plucky underdog, the State of California.
> limited negative impact for property owners

I guess then you don't have a huge problem with vandalism and litter. It is hard to find a public space here where some dickwad hasn't left a beer can, used condom or cigarette butt. We also like to sue the crap out of each other. So anytime someone is on your land, you are subject to getting sued when they get hurt. So I don't blame people for trying to keep other people off their land. It would be nice if we had what you describe. But I think that ship has sailed here.
Fuck SRP, just read the resulting code.

Whichever code is more concise & readable is generally the winner.

(Note: a lack of understanding of algebra / calculus does not make the code 'unreadable', it just means the developer is innumerate)
"Is TDD dead?" – Debate with Martin Fowler, Kent Beck and DHH
Thanks for your support!

"I never got around to turning attachments on because I was afraid of the hosting costs; how do you plan on dealing with those?"

As long as users don't delete their posts, we keep them (including attachments) there. If we are running out of storage space, we can add more machines :)
To read an article on Quora without logging in, you can append "?share=1" to the URL:

http://www.quora.com/Computer-Programmers/What-are-some-thin...

Also, this article is from 2012.
damn. I was uber hoping for a mobile app/ I was banking on you guys building one. argh.

Congrats either eway.
http://m.mainstreethub.com/crowbar
AWS also lets you put in billing alerts, letting you know when you hit the threshold.
I rarely ever use classes anymore. My life is complicated enough, I like my code to be simpler. I used to be proud of my complex classes hierarchy and clever designs.. now simple objects and mostly functions. I don't and won't argue with anyone who prefer to use class hierarchies, but it really annoys me when I need to spend 5mins wrapping my mind around all those class relationships where a simple imperative (or functional) code would have done the job perfectly.

Most of the big design philosophies are around "building for the future", but the truth is that we're almost always wrong about it. And thus, most of time, the code needs to be rewritten. And a simpler, straightforward code is much more easier to rewrite or refactor.
If it is about Coca Cola, I have an idea of what kind of abuse or corporate behavior it has, and I don't think 'sugared water' is much needed in our world (I don't deny the value, I just think it's not a need). But even for such a company, there are some positive fallouts.

In the ranking of evil companies, I'm not sure they even come close to the French water groups or big medical corporations, but I might just lack information.

Edit: for Amazon and Microsoft, of course I get how bad they can behave. Amazon more so when it comes to distribution level workers and general social behavior. Microsoft I don't kniw if there are people ignorant of what they did the last decades.
I've been a member of the maker community for several years now - buying purple PCBs, selling kits, going to Maker Faire's, etc.

I have a lot of friends, myself included, who started selling their items on Ebay, PayPal's button, or some variant of Magento. Nearly all of them have moved their shops to Tindie. When I was at PyCon, I happened to run into people I knew (independently!) at their booth.

I'm still not sure exactly how they'll reach profitability (they only take 5%) and I'd love to see better tools for sellers (a la shipping.) But I really like what these folks are doing!
I nabbed a short domain for myself a while back and use it for my homepage (http://zk.gd -- my name is Zack Gold).

They're pretty groovy and I get some nice remarks[1].

[1] https://twitter.com/adamcaudill/status/445676390625861634
thanks @memset!
Make sure to compare the price. EngineYard can be quite expensive.
Google Apps for Education is a pretty big area of growth for Google. It's hardly a side project.
If you're ever in Mountain View and walk by the Google campus around 4-4:30p, you can witness the vast network of Google buses picking up their colonist cargo ready for dispersal throughout the Bay Area. It's not just one or two buses, the road is literally backed up with them, each with a little LCD display to let you know what town or neighborhood they're going to. It really is a sight to behold. I can understand why locals view them as an invading army.
I agree with the support issue,a lot of google products even paid ones barely have any support(unless you're a big corp customer). If i cant get in touch with the team and ask questions,i'm not going to buy the saas.
Law enforcement can also force a 5x failure of the pattern, and then the phone/Google asks you if you want to reset the login through Gmail. Then law enforcement gets access to your Gmail account, and gets the necessary unlock code to unlock the device. I think Chris Soghoian from ACLU was the one mentioning in one of his talks.
I like many of the author's points. Pragmatism, thinking instead of blindly following principles, pushing back against size as a metric for measuring responsibility. I think Robert Martin's work absolutely deserves examination and critique. However, I don't share the author's definitions of simple and complex.

Stating that "binding business rules to persistence is asking for trouble" is flatly wrong. Au contraire, It's the simplest thing to do, and in most cases any other solution is just adding complexity without justification.

I don't feel that increasing the class count necessarily increases complexity, nor do I feel that putting several things into one class reduces it. A dozen components with simple interactions is a simpler system than a single component with which clients have a complex relationship. My views align more closely with those expressed [1] by Rich Hickey in Simple Made Easy.

Classes as namespaces for pure functions can be structured in any way; they don't have any tangible affect on complexity. "Coupling" is irrelevant if the classes are all just namespaces for pure functions. I also find that most data can be plain old data objects with no hidden state and no attached behavior. If most of your code base is pure functions and plain data, the amount of complexity will be fairly small. As for the rest, I think that the author's example of maximizing cohesion and the SRP are functionally identical. They both recommend splitting up classes based on responsibility, spatial, temporal coupling, or whatever other metric you want to use. Personally I prefer reducing the mingling of state, but I think they're many roads to the same place. Gary Bernhardt's talk Boundaries[2] covers this pretty well.

[1]: http://www.infoq.com/presentations/Simple-Made-Easy

[2]: https://www.destroyallsoftware.com/talks/boundaries
As I see the graph in the post it looks like the customers have full pressure only between 3 and 4AM. In the rest part of the day they are struggling to get their shower.
The basic thought experiment is this: "If the robot car that hit me on my bike did so with provably the best intentions, should I still be angry?"

At least with a person driving, I can criticize their thought patterns, their reactions, their choices--I can laud them for dodging the stroller, or curse them for drinking and swerving into me (provided I can still talk).

With a machine, though, we lose any chance at morality. They act exactly as programmed, and we all know how reliable programs are.

If, following such an accident, I were to be in a wheelchair for the rest of my life, I would want the entire stack trace that led up to my collision. I would want the unabridged source code and issue trackers. I would want the core dump. I would want every scrap of information that went into the vehicle's decision to zig instead of zagging.

I'm not sure that we want to hand over so much blanket responsibility to black-boxes designed by committee and implemented by antisocial 20-something engineers working weird hours.

EDIT:

Reflecting on this a little has suggested, perhaps, that we should have one standard algorithm and package for doing this sort of thing, open-source and in the public domain.

There shouldn't even be a question about allowing closed-source autonomous vehicles on the road.
Do you have https everywhere? I kept getting this error with HTTPS Everywhere. You need to turn off the rule for AWS.
Time for this question to come back live.

http://security.stackexchange.com/questions/56911/does-anyon...

Anyone has any idea about this website I am trying to find?
One reason is that you can do push notifications when food becomes available near you vs. having to constantly check the status. I guess that could be solved via push to SMS or emails.
> Everyone agrees that property rights are important.

I think you will find not everyone agrees with that. Since well before Proudhon's "property is theft" (from "What is property?", 1840), there have been ideological arguments against property rights on the basis that the limit the liberty of the population as a whole. And while wholesale rejection of property rights is not common, it most certainly exist, and has a history pre-dating our written legal systems.

Careful about generalisations.
Absolutely fantastic. Thank you!

"Documentation for .... bare-metal provisioning are forthcoming."

That's kind of a downer, hoping for a sooner release.
Great idea, but seriously, getting access to all of my email history is too much, and I stopped there. I have flights I wish to put in, and want to use the services, but you lost a customer because of overreaching and trying to solve a problem that the end user probably doesnt perceive as a problem.
Economically, I don't think anyone would argue with its strength.

The issue is how strong their support services are.
My dad and I have ordered all sorts of cool stuff off of Tindie, from Launchpad Boosterpacks to RGB LED matrices. I just wanted to say thanks for this cool service you've provided to sellers and buyers alike!
That seems backward to me. I used to live in the suburbs; I likely wouldn't use Uber often or at all in that case, since you "have" to drive to get anywhere, and parking at your destination is usually free and plentiful. My Uber bill would likely be pretty high since things are more spread out.

I live in a city now, and use Uber frequently (despite still owning a car). It's faster than public transportation, walking, or cycling, and avoids the hassle and cost of parking.
Unless it fails to meet the requirements or is written in such a way that will require more maintenance...
Watch a bank-raiding ZeuS bot command post get owned in 60 seconds
This is a good list to know! Thank you
Sure thing! Glad we could help!
Still New Zealand, which was running at 2.12 in 2009, with a long term (30 year) average of 2.01.

http://www.socialreport.msd.govt.nz/people/fertility.html

The USA is running at 2.09 in 2009.
no just a self centered rich kid.
You are conflating the reputation of github the company that provides services to hackers and github as a place to work. Entirely different reputations.

I buy Orson Scott Card books, for example.
Been using this for over a year, since the last time I saw it on HN...
Slashing CPAs on Facebook
As someone who vacations frequently in Norway and Switzerland I quite love that. I always found it super ironic that to have the freedom to roam I have to leave the USA :)
What a shocking, egregious display of carpooling.
I deleted my comment after realizing I missed that sentence.
Per Raz, Berlin, &c., these problems of conflicting goods arise precisely because values do not form a simple taxonomy with one supreme overriding ancestor. It's hard, and messy, because we have to balance several legitimate claims.

Many technical people -- certainly including myself -- can tend towards thinking that all problems have a single solution, that those solutions are tractable, and that disagreement is a function of lack of information. That is not always the case.
I think the problem with this is that even if compiler can somehow semi-magically deduce that, it can be still be not what the author really intended. So making memory ownership semantic explicit improves clarity and avoids any kind of ambiguity and unintended logic. Also, it helps communicating the intention to others who might read or maintain the code later. Obscuring this is not helpful at all.
> I don't think the SRP encourages such thinking.

I think the SRP is a subtle and often poorly explained thing that is very easy to misunderstand in a way which encourages such thinking, even though understood properly, it does not. The basic problem is getting the right "level" for the responsibility in context, and that's not an easy thing to explain how to do.
You would want all that information for the purpose of proving the program was at fault, right? What if the company behind the software was automatically liable for all accidents? Wouldn't that answer that?
I've got: http://d.atal.us

Pretty hipster, had it since '06.
So that’s a HyperSwitch issue that doesn’t have anything to do the operating system itself. Properly written apps (and that probably means not using undocumented APIs or doing otherwise unsupported things) don’t care about being in ~/Applications.
The challenge facing Bitcoin startups
What are the restrictions on attachment sizes?
This is awesome – jealous I didn't think of it first. Well done.

Edit: Spoke to soon. Not a fan of sending every page I visit to you guys [1].

[1] https://www.kifi.com/privacy
Haha yeah, I think you have a point there. Perhaps programming is so challenging it awes otherwise intelligent people and makes them reach out for simple rules to simplify their lives.
None of these have the borrow check. From what I've heard the borrow check is impossible to encode generically in ATS (though maybe that has changed).
... and almost all the time.
It could be for a position where confidence and excess positivity is good, like sales.
Interesting! Is this limited to only naturally occurring bodies of water or does it include artificial?

I'm guessing artificial lakes are not included, as there are plenty of examples where gated communities restrict access, such as Lake Sherwood in the Los Angeles suburb of Westlake Village.
Can you give an example of automatic resource management without GC?
I'd guess very few, especially for the technical guys.

Any "real" statistics on this? Anyone ??
That's an amazing reference. 10 points
That's nowhere near what the borrow check does. The borrow check is based on reasoning about ownership and inherited mutability, neither of which apply to Objective-C.
> Unless you were describing a person who has a hipster-like behavior in regards to shoes

Wouldn't that be a "shoe hipster"?
I think the "don't mix persistence with biz logic" idea came largely from the Rails world, where the ease of doing so led to a great deal of bloated code. Well, it's only slightly harder in Ruby to separate them, and it gives so many ancillary benefits to cutting ActiveRecord::Base out of your biz logic that you probably should. Other languages/platforms, they don't always make this kind of separation easy or idiomatic.
> Stackless Python has very clean and efficient concurency primitives, ....

Sounds like a good topic for a post (or at least a link - hint, hint).
When I was younger, if you wanted to play a board game and actually have fun across multiple ages and skill levels, you had to read the GAMES Magazine's "GAMES 100" issue, pick out a few candidates, go to one of these places called "shopping malls" that were popular in the 80s, enter the specialty game store, and shell out a decent amount of cash for your choice. The resident geekployee was probably busy setting up a table for the Warhammer 4k miniatures game that they hosted in the store on alternate Nerdsdays, so if you asked him about the game you were buying, you might get a lukewarm positive response. He was really more into "Axis and Allies"-scale games, anyway.

Nowadays, you can find a game you might like on boardgamegeek any day of the year, order it off the Internet, and play it a few days later. You can pile up a bunch on your public wishlists, and lo, they are priced just right for birthdays and holiday giving.

Best of all, the intense competition tends to weed out or downvote games that are not at least good in their niche. So the games you buy are by gamers for gamers and the people gamers want to socialize with, not by Hasbro marketing executives for bored kids, or by detail-obsessed simulation engineers for detail-obsessed consumers.

I think the "Eurogame" phenomenon was more about Internet commerce and niche social networks than the games themselves. You could still find non-mainstream games before then, but it was harder to get them into widespread distribution. You couldn't ever get them into a department store, and only the geeks and nerds even went into the specialty games shops. But when Amazon shows up, these games are on the virtual shelves right alongside the horrid and overrated Monopoly.

As Kickstarter et al lower the startup cost barriers, you will see all kinds of new entrants ramping up the competition. And while more bad games will fail, I think the market will probably expand to accommodate more good ones rather than squeeze out the ones at the margin.
I come from a family of table tennis players (mother was national champ, cousin national champ, I only got to be regional champ). I can honestly say, table tennis is a sport where almost everyone overestimates their experience.

A professional game is completely different than an hobby one, and 99% of the people only saw hobby players playing or those crazy fun plays in youtube where someone is volleying like crazy for some spectator fun.
I'm sure everyone here would love to have a public road going through their back yard.
Have you looked at some of the existing literature in this area? Lisp based processors were developed and researched in the 70s and 80s, mainly at the MIT AI lab.

Some reading:

The Lambda papers: http://library.readscheme.org/page1.html

A lisp processor for C.ai: http://repository.cmu.edu/cgi/viewcontent.cgi?article=2977&c...

CONS: http://bitsavers.trailing-edge.com/pdf/mit/cons/CONS_Nov1974...

CADR: http://dspace.mit.edu/handle/1721.1/5718

SCHEME-79: http://dspace.mit.edu/handle/1721.1/6334

Implementation of a list processing machine: http://not.meko.dk/MIT-LISP-MACHINE-tk-sm-79.pdf

The CURRY chip: http://carlo-hamalainen.net/stuff/p122-ramsdell_The-CURRY-Ch...

Just found a bunch more reading resources indexed here: http://www.ugcs.caltech.edu/~weel/lispm.php

There's much more to read if you search around - and some more modern stuff, as it is still a topic of interest among some hackers. It'd probably help to look around and collaborate with other people working on similar ideas.

I'm interested, but I don't know nearly enough about hardware yet to actively participate. I've been trying to find the time for it - just finished reading a book on VHDL and practising the basics, but I've got too many other projects on to give it my full attention.
First let me say, I completely agree that the definition of the SRP as it shows up in the Uncle Bob book is a little hard to understand. The wording is off.

That said this entire article is essentially arguing FOR the SRP. The whole point of the SRP (in conjunction with the rest of the SOLID principles) is to decrease coupling and increase cohesion. In his refactor of class C we have an example in the first case of a class that violates the SRP and an example in the second of 2 classes that follow it. Excellent, the author and Uncle Bob are both happy.

But what really bothers me about this article is the following: "Furthermore, there is no reason to separate "business" logic from "persistence" logic, in the general case. The large majority of Employee classes that people need to write are likely to only contain fields and maybe some validation -- in addition to persistence."

A) Please don't tell me what the large majority of things people need to write are. You cannot possibly actually prove that assertion. In my experience having a 1 to 1 relationship with a class and a database table is a sign of either a very simple problem space, or a very poor design.

B) If you do happen to work in a problem space and are finding yourself writing something that is a collection of fields, some validation and some persistence, that is not an example of a violation of the SRP, it is an example of you needing an EmployeeRecord and not an Employee. The difference is simple, an Employee has complicated business logic in it and a record does not.

This seems to be the central debate currently around Uncle Bob's tactics. Lots of people seem to be writing PVC (Persistence-View-Controller) applications and thinking they are writing MVC (Model-View-Controller) applications. It then seems to be overkill to split out the persistence layer from the "model" layer because there isn't much difference. If there isn't much difference you didn't violate the SRP! Your Single Responsibility is persisting some data! Your design is fine. Move on with your life. But on the other hand, if you find your self writing complicated business rules that are hard to test because of the wiring required for your persistence, maybe you've violated SRP and should split them up a bit.
Satisfaction; working on something that you built from scratch and is changing the world.
I am certainly excited. I think this will be a fantastic event.