skysight-inc/HackerNews huggingface dataset:
The conversation around programmatic semantics and languages and the like always come and go over time, and feelings about them ebb and flow. Over umpteen years as a developer, I can say that I've found there's something about every language that will cause one to say "why do I have to think about this like that?" Nothing is perfect, but certainly a lot of languages do a few things quite well.

As such, I would be grateful to hear an argument of why object-oriented programming structures are incorrect. I disagree with the reasons provided by the OP because of the slant toward personal preference. The arguments posted here are specious; I can find holes in each of the points made.

1. Data structure and functions should not be bound together - very true, they should be independent. However, this statement: "Objects bind functions and data structures together in indivisible units." This implies how something is implemented (or rather ALWAYS implemented), and while a tight binding is possible in most OO-supporting languages, it's not requisite. Just because the ability to violate this exists doesn't make it awful; it just makes it complicit on the programmer to use the right approach in a given situation.

2. Everything has to be an object - in some languages, this is true. However, this causes what problems? For the OP, this is nothing more than semantical ickiness. I won't defend any implementation of things like time and date and other primitives, but the chief complaint here seems to be how that information is accessed and the form of which it takes. I simply find the "this-is-an-object-so-it-feels-wrong" argument quite lacking.

3. In an OOPL data type definitions are spread out all over the place - this is organizational, but I'm not sure what "find" means in context. I guess it depends on the language being used, but I question why this is an issue for the OP. "In Erlang or C I can define all my data types in a single include file or data dictionary." I can do the same thing in Java or C# or other languages, if I want. For most developers, "finding" data type definitions has more to do with documentation than the actual language.

4. Objects have private state - of course they do, it's the nature of OOP. This statement: "State is the root of all evil. In particular functions with side effects should be avoided." This is unfounded (not the side effects part, which has nothing to do with state.) State, as the OP points out, exists in reality but should be eliminated from programming. Just as the bank example points out, one will want state to be accounted for in cases of deposits and withdrawals from an account. Thinking that state can only be handled in a certain way (which is what this argument suggests) is limiting in evaluation and unimaginative in assessment.

Most of the arguments show personal preference to application development, and with that I totally understand. But these arguments are intended to show why the languages which support OO are conceptually wrong, as if the concepts of the alternative are an accepted truism.
I lived in a smaller apartment than the one described.

Pets were strictly banned, and rightfully so (it would be torture for them).

People do live in those apartments for long periods (in my case, I had some neighbors that were pensioners on small funds that couldn't afford something better, they've been living on those apartments for 15+ years)
I guess I'm now intrigued as to where your "sort of obvious" threshold lies.

Which aspects of your undergraduate real analysis course did you not find obvious (if any)?
This is largely a response to the very disappointing attitudes found in a recent thread [1]. I doubt this writing will be very convincing or change anyone's mind. Particularly here, as there are a lot of people who really believe in the market. But I feel it is a topic worth airing and something that we as individuals could be instrumental in achieving.

[1] http://news.ycombinator.com/item?id=4159316
Bare in mind that this guy is the famous oracle consultant.
It did start one here in Uruguay, they're popping up like mushrooms, since as long as you can get a renter they pay for themselves in less than 10 years.
> If you want to combat a study you need to do so with another one, not by just saying throwing out untested assumptions.

You can just show that the methodology is flawed, no need to repeat the experiments in all cases
I wonder why browsers with a modern automatic-update process don't set their user-agent to something that discards all this madness ("Chrome/23.4.5678 (Windows)", or similar) for the cutting-edge/nightly builds only (or even betas, if they wanted to discourage casual users from switching to them, but I don't think that's the case at this point). Surely their users have signed up for a little breakage in exchange for the latest features? And if they actually get website operators to stop or at least fix their sniffing, the whole prisoners-dilemma situation would disappear.

(I guess this assumes that the huge user-agent that my Chrome is currently sending is necessarily bad, and in the real world maybe no one really cares...)
lol why are you retarded? What does monitoring have to do with adding extra load onto your servers? If there's a failure there's a failure. What does adding or removing load have to do with detecting it?

So you have a system, and you have monitoring in place. Let's say the monitors were set up for 1 minute polls, because somebody thought that was a good idea. Suddenly you find out one of your servers is down. Oh noes! There's 45 seconds until the monitor finds this out, which would be horrible.

Since we have doubled the reads on the existing servers, we now no longer have capacity and connections are stacking up. Shit :'( But not to worry! Let's just quickly kill the extra reads - now we have more capacity! Hooray!

Except, if the extra reads weren't happening, they would have already had extra fucking capacity and not had to flip a switch in the first place.

Now you see why i'm mad, bro?
Cmd-P is useful for opening existing files, but what's the preferred way for creating them?

I eventually had to get an extension and modify it to replicate emacs' c-x c-f to create files.
This is the same as usenet. Back in the 80's and 90's the expectation of posting to say alt.tasteless.jokes was that it would happily scroll off into infinity. Then a million years later google has the whole damn lot indexed.

The all-caps thing was just the times, terminals were in transition and people were learning how to use the types of services that today have a highly developed etiquette expectation.
Perhaps. Perhaps not. Counter factuals are mere speculations. But if I had to make a choice between Einstein being special or the time being special I'd pick the time any day. People are replaceable - situations aren't - no exceptions.
That's stress and load testing. You don't do that on every single flight. That's the stupid part.
He's also paid by Microsoft.
I'm curious about why you need a specific bouncer for this. I can't see any doc about what it does that usual bouncers don't do (except for "[existing bouncers] have many limitations such as not being able to sync private conversations across all of your devices", which I don't get: the bip bouncer which I use syncs private conversations in a very reasonable way).
Apple ran out of space on their Microsoft server...
Three Months with Sublime Text 2
Sublime Text 2 is a text editor with great responsiveness, flexibility and accuracy for coding. After three months of using it, I discover many amazing features and ways to make it even better.
> the absolute minimum is a volume of 20 cubic meters

Well, this is fiction, but I'm imagining just how much worse it could get:

In "Futurama" set in the year 3000, Fry and Bender are living together in Bender's closet-sized apartment, and Fry complains that it's too small.

Bender: "Not enough room? My place is 2 cubic meters and we only take up 1.5 cubic meters. We've got room for a whole nother 2/3rds of a person."
Also, a bunch of these people were programming in 6502 assembly language, every day. It marks you, it does. :-)
One of my favorite features is the flexibility of the Goto Anything dialog (CMD+T or CMD+P) e.g.:

- Goto file: "con pos" -> app/controllers/posts_controller.rb

- Goto line in file: "con pos:100" -> app/controllers/posts_controller.rb line 100

- Goto function in file: "con pos@foo" function foo in app/controllers/posts_controller.rb

Also one that came up recently is CMD+ALT+Q to auto-wrap long comments to your ruler (e.g. 80 columns).
Why Facebook keep my "auto signin" checked?
As title says why did fb keep my account auto-signin checked, even if I really never checked on it(and I unchecked it if this happens)? Is it as sign that my account is being hacked? Should be no because nothing has changed in my account. Can anyone explain this? Thanks HN.
Heh. The "-deftype second() = 1..60." is a problem, since some minutes have 61 seconds in them.
This exploit can't be disproved by saying "read the code". The point is that a CPU bug causes the code to run off the rails and do something that it isn't even written to do. Examining the source code shows an infinite loop running along. Dumb and harmless, right? Not if a CPU bug corrupts the L1 cache memory in which the loop is running. Now that loop could jump anywhere and do anything. You can never prove behavior at that level from abstracted high-level source code alone.

As for the Hacker News reaction, whether the exploit actually works is somewhat immaterial. Even if it doesn't, the story opens up new and interesting lines of thinking around CPU architecture and security. It's interesting hacker material even if there's no bug here.
> The only cancer research that goes on is the kind designed > to stop cancer.

That's ludicrous. If solutions were obvious then we would only need engineering. The problem is most of the time "you can't get there from here" - there are still huge swaths of poorly understood territory in fundamental cancer biology. For example how are the natural cell death mechanisms circumvented; how do some cancers hijack the transcription mechanism to promote certain cell growth; how do cancers promote growth of new blood vessels to support their expansion. Of course the goal of the research is to stop cancer, and some of these paths will help, but only some research is directly drug- or treatment-related because there are still too many things we don't know to be able to design effective, targeted treatment
I'd have thought ensuring a session ID was only valid for a single account would have been the first thing to test when developing an authentication system. Perhaps not in Sweden.
ctrl+k+d was added recently and was quite a big improvement
but it's still hard to use because if you do one wrong cmd+d you'll have to either start again or use the mouse.
the way cloud9 ace[1] handles this is better, since it keeps last added selection as active one and from there you can add selections with ctrl+alt arrows or remove with ctrl+alt+shift arrows

[1]http://ajaxorg.github.com/ace/build/kitchen-sink.html
The future of software dev is not OO or FP. It's: Model Driven Engineering
I used this for a while approximately 15 years ago. It was excellent and while I was composing an email it would find things in my history that were useful to the conversation. Alas, I can no longer do all email and web browsing in Emacs. I really wish such a thing existed for Mail.app in OS X.
Free stuff anyone?
Show HN: Astray, A WebGL maze game built with Three.js and Box2dWeb.
> It's unlikely the case here

Especially given the fact that Notch and Mojang have played Quake with Team Avo members.
First of all, it's pointless to monitor how much of your system is in use by 'number of users'. That's not a metric. You look at your iops metrics to figure out how loaded it is. Once you've gathered trending data you can then come up with an average iop load for a given number of users.

Secondly, you should know what your capacity is. Stress testing exists for a reason.
Interesting. This might change the nightlife culture of SF to be more similar to bigger cities. I did a lot of hanging out in friend's houses, cooking, playing games, or having house parties in SF. In NYC, where the apartments are much much smaller, there's a lot less of that—people go out on the town all night and buy $15 drinks instead, and that supports the bars and restaurants than stay open late.

I'm also curious what safety measure they have on those vertical storage units. In an earthquake, all your stuff falling down in front of the door could trap you in your apartment.
I don't think you and Kennedy necessarily conflict. It's very possible for 60% of college students to want to get out of dorms and into a real (large) apartment, while the other 40% still making the post-college demographics unusually high in its preference for micro apartments.
How did this wind up here?

For the original, go to http://plover.com:8080/~alias/list.cgi?2:mss:234:200507:hokn... and see the discussion we had about it then.

It is also worth noting that MJD has the distinction of being the highest rated speaker at Oscon ever. If there is any possibility of interest, he is worth watching because he is incredibly informative.

See http://perl.plover.com/ for some of his older Perl writings.
Fair enough, but is the advantage here that you have worked on OSS projects, or that you have worked on big name projects that a recruiter might have heard of?
The idea of sharing a kitchen counter and computer desk just makes me think crumbs in the keyboard. However, minimizing the kitchen and having really high end shared kitchen facilities would be great. Between the ages of 24 and 28 I didn't eat at home even once.

One of the underlying sources for 'smaller is better' is Christopher Alexander's "A Pattern Language". It also is the source that inspired the pattern movement in software. A pattern language is second in the series, and is a 1000+ page book with strong opinions on everything from City planning down to interior decorating. It is very much worth the read.
The problem isn't that SF is running out of square footage for luxuriously spacious apartments. The problem is that SF doesn't allow the construction of high-density housing, or much new housing of any kind. They gained all of 50-something market-rate housing units in 2011.

http://www.forbes.com/sites/timothylee/2011/09/19/zoning-law...
http://www.socketsite.com/archives/2012/05/san_franciscos_to...
It's sort of silly that a minimum apartment size is even legislated in the first place. Somebody who chooses to live in a small apartment does so because it's their best available option.
They fixed it. You should have pointed to the screensnap instead:

https://twitter.com/e2b/status/224293729354268672/photo/1/la...
1. I think the most interesting thing about that blog post is that it illustrates how the incentives in standards building get warped. I like to describe this sort of thing as "the effect of economics on programming" - not because there is money involved, but because of the nature of the incentives.

2. Graceful degradation. We've sniffed UA's from the minute they were invented. Any change whatsoever would create untold problems for untold millions of people. The UA is just an arbitrary string so… who cares? Very few people (you and I are amongst these "very few") have to be concerned with this compared to the people such a change would affect.

It's because of 1 and 2 (my second point is really an instance of the first) that we're stuck with Javascript. No one in their right mind thinks it's a good language, but getting all the different browser vendors to adopt a good bytecode would be nightmarish (and not necessarily in the interest of every browser vendor).
PHP is much better than you think
Imagine the problems that would cause! You have Chrome 58 Beta, and stuff works one way. Then they say it's good and release Chrome 58 final, and all of a sudden, stuff changes all over the web.

UA string is just one example of unfortunate hacks that evolved in the web protocols. Compared to probably everything else in HTML it's probably just not even worth it to consider fixing it. We'll always need the old string for compatibility, so it's really only to save a few lines of parsing. Compared to the nightmare of parsing rules for HTTP and HTML, it's not even relevant.
*I've only tested on Chrome.
Sure. And why do we have codes that demand working heating? People should be able to choose to buy lots of blankets instead.
I guess I should have said, "a good programmer might choose to use C++...". My point was, just because C++ is low-level doesn't mean everyone who uses it knows what they're doing down there, or could have chosen a different language if it wash good idea.

Edit:rephrased last clause.
Great that women are improving on the IQ tests, but are IQ tests not a bit flawed?

I do not think multitasking is the reason.
I think it is because they were so adapted to the old men's world where they were not allowed to show their smarts that now that they can they are doing a sprint.

Like how someone that has always gotten something expects to get it in the future and does not hoard it, but if you didn't always get it, and then you can grab all you want. You will grab as much as you can.
Twilio Evangelist Builds Phone-Powered Rolling Robot, Hints Flying Bot Is Next
According to his twitter feed, Elon himself will explain further in about 4 weeks. No patents, just open source.
https://twitter.com/elonmusk
I've been using {g}vi{m} for 20 years now, but just bought ST2. I like how this whole discussion revolves around finding keystrokes in ST2 that yield the convenience of doing things I took for granted in vim. Maybe I should just yield to the wisdom of the crowd, go back to VIM, forget about having a file explorer on the left side (NERDtree's wonkiness drove me to ST2), and learn to use Ctrl-P. It's what people keep suggesting to use in ST2.
This was a bit meandering, but I feel his pain.

I was very skeptical at first, but I've become a big fan of story points: they decouple estimation from scheduling, and that's a good thing.

Note that they are not "... a new, fuzzy unit of measure..." likewise they are also not a "...metrics sleight-of-hand..."

This a very simple, yet powerful exercise. Relatively size the things you have to do. Now, without caring about what the points are, select what you can do in the next time-frame. Measure your ability to deliver against this.

Over time, your relative estimates get better and your ability to commit gets better. The kicker is that none of this has a damn thing to do with scheduling. Once you can tell reliably tell me you're going to deliver 10% of the remaining total work in the next two weeks, I know for a fact you have 18 more weeks left in the project. Then I can then release plan and work dependencies based on real-world data and without breathing down a developer's neck. Meeting schedules doesn't have to be (and shouldn't be) the higher-stress thing many of us make it out to be.

The author seems to not be able to get scheduling out of his head. If you're constantly wondering how many days a story point is, don't use story points. You don't understand them.

Note that for such a simple idea, there are several gotchas here. Most teams screw up story points and velocity. Anybody have the PM that divides the points by the sprints remaining and then announces what the velocity will be? Or how about the ScrumMaster that empirically determines current velocity and then tells the team how many stories they can do for the upcoming sprint? Ouch. Lots of bad practices out there. That doesn't make story points bad, though. Just makes most people suck at them. (Shameless plug: I have a book on being a ScrumMaster and an upcoming one on backlogs. http://tiny-giant-books.com/scrummaster.htm )
Crazier: when you find a place you like, apply, then they say you can't have it because your salary is too high.

Each apartment complex (by law) has a percentage of units leased only to people making less than a certain amount.
Is this a "thing" I'm not getting?

Do HN readers really need basic Facebook usage help?
You dont even need the spaces.

"conpos:100"

works fine.
Any comment on the actual article? The entire gist of it seems quite reasonable. And you know, forget the $1M claim, and even look at the $2000 number, or just think a bit and come up with your own numbers. The point still holds.
oh the irony...
You can always connect it to your bouncer
Nvidia  Forums & Dev Zone Breached; Up To 400K Password Hashes Taken
Obat Kelenjar Getah Bening
Saya menderita kelenjar getah bening dan memaksa saya harus berhenti kuliah guna menjalani perawatan medis. Setelah konsultasi dengan dokter saran dokter saya harus dioperasi, tapi bapak saya tidak mau, sampai akhirnya saya minum XAMthonePlus sebanyak 4 botol benjolannya agak mengecil, setelah 9 botol benjolannya pecah. Saya minum 3 sendok makan 2 kali sehari selama 2 bulan kurang. Obat herbal kanker kelenjar getah bening XAMthonePlus memang luar biasa.
You guys know that you can go to the Default Keymaps file and get all of these tips in one list right? You can even change them...

EDIT: Just for fun, here is that file on OS X: https://gist.github.com/3117613 Notice the "context" definitions. Also check out how the auto-pairing functionality is defined in terms of the key binding DSL. And how you can define nonstandard layouts for the panes. And so on.

Sublime is great. It reminds me of a less insane version of Foobar2000.
If you press ctrl+d one time too many, you can use Soft Undo (ctrl+u / command+u) to step backwards. Soft Undo undoes selection commands as well as modifying commands, as opposed to regular undo, which undoes modifying commands only.
I never new about gradual engagement until using the stripe website. In this case it worked for them and I continually added information into my "guest" account until it was my full fledged account.

This might not work for all web services, but I think it works well for stripe. I honestly doubt I would be using stripe today if they didn't have gradual engagement. When I was in the market I found stripe during my "research" mode. I stumbled into their site and as I "learned" about their product I was also "building" my account. In the end I felt little friction and I integrated stripe payments into LinkPeek.

tl;dr Gradual engagement success appears to depend on the type of person or market a service targets. Pulling from BCC we could deduce that gradual engagement may not work well for teachers, or that your implementation did not work well. I know from experience that this technique converted me from a spectator to a consumer. My personality might not be typical but I generally don't like pressure and often have a bad case of buyers remorse after making purchases. I didn't feel this when "researching" on stripe and I ended up a customer.