skysight-inc/HackerNews huggingface dataset:
Who's going to Burning Man?
I'm leaving on Thr (can't get the time off) I don't have a theme camp this year so no address. Maybe we could post something at Center Camp to meetup.
Ask HN: What terminal emulator do you use ?
I use putty and have played with secureCRT. What are the other terminals people in HN use on a daily basis.
It's about programming, bad title.
Thanks!

I started looking beginning of this month. After a week or two of sending resume into what felt like a black hole, I thought to use Facebook to find employees who listed they worked there; companies Fan page is best place to look. From there I looked for mutual friends we may have in common. This so far has landed me two interviews, but as of today I can no longer send messages to non Facebook friends. I guess someone did not approve of this method and reported me as abuse?

Strange, as all messages (5) sent were to people where there was a mutual connection.
If you amend that statement to "..., and most certainly applied, by everyone where it makes sense." I would be 100% on board. Engineering a solution is all about tradeoffs and sometimes the tradeoff needs to break a long standing convention to be fast enough / have a cohesive UI / whatever. I love the UNIX way but it is not the solution for Life, the Universe, and Everything either. That is 42.
Is there a "learn you a vim" or "poignant guide to vim" out there? Because the handful of times I tried vi/vim I got some stuff done, but didn't really grok it.

This goes for Emacs, too. I get the feeling I've never really used these tools the way they're meant to be used.
Whoah, that's definitely not the price everywhere in the world. I guess they really are expensive in your country. (I wouldn't quite generalize to Africa – I live in Africa, too, and I don't think Macs are that expensive here.)
A "generator" is a subtype of coroutine. Python calls them "generators" because 1) that's what Icon called them, and 2) Python's implementation of coroutines is* restricted by being unable to yield from within called functions, among other things, so they're not as generally useful.

* Was? Maybe Python 3 fixed this. I use Lua instead now -- it's cleaner, consistently gets these things (TCO, lambdas, coroutines, the GIL, etc.) right, and I'm not going to wait forever for Guido to change his mind.
I used jEdit for a long time. It's an excellent editor, but I left it behind for Vim. I had to spend a lot of time on remote machines and I needed something with a console mode.

It's my impression that it was orphaned. Is it still under active development? I'd like it to keep going.
Are you stupid? Making money was not important in Web1.0 economics. That's why they called it the "new economy". Why I am even writing this?
I personally find the #returning method very ugly. It's an abstraction that seems completely unnecessary to me. Instead of assigning a variable and then returning the value, two very fundamental mechanisms in the language that are easily understood by any programmer (whether they know Ruby or not), you're bypassing them and introducing this method whose purpose I don't feel is immediately obvious.

It would be one thing if the pattern saved a lot of unnecessary code, but it doesn't. The assignment of the local variable just becomes the block variable, and you have an 'end' where the method-final return would be. Instead of a simple assignment, you now have the method invocation and the arguably more complicated block syntax.

I'll address the two particular motivations raised by the author specifically because I don't agree with either of them. First, I don't think forgetting to return the variable is a common bug. Anecdotally, I can't ever remember making this mistake myself. Even if I were to, it would be immediately obvious what the problem is. I'm open to the fact that other people perhaps make this mistake, but I'd be surprised if they routinely do. Second, I don't feel like it's obvious at all what the return value of the method is up-front, because the method invocation is confusing if you don't know what it does. Even if you do, it doesn't gain you anything you don't get by simply initializing a local at the start of the method, especially if you call the local return_value or something self-descriptive like that.

This kind of refactoring is the kind that I don't like — refactoring for the sake of refactoring, and making the code less accessible (that is, more complicated and harder to understand) for no discernible benefit.
Impotence - The Simple Ten Minute Guideline
In my experience, the head of the family feeds the kids first, eats a salad and a breadstick, then eats a full meal off of what's left on the kids' plates.
MSDN is a mess, so much so that at a previous employer we setup our own MSDN server and hacked it up with a wiki, we mirrored entire sites, including Sysinternals and Windows Developer Journal and the DDK sites; MS specially fucked this company up so bad, in other respects as well, that the teams were warned against adopting any new Microsoft technologies; we stuck to raw ODBC and NT driver model, even for Vista.
A geek was a carnival performer whose act includes biting the head off a chicken
Sampa? They really had to dig that deep to find a "free" startup that folded?
I'm not sure if you are arguing with me or with Rails. Rails includes the #returning method. If you don't like using it you are entitled to your opinion. I won't argue with you, because that is not what this post is really about.

I encountered bugs like forgetting to return the intialized object from a method as well as assigning to the parameter of a return invocation a number of times when working with a large Rails code base. But if you have never encountered it, you need never use #returning in any of its forms.

So really, I'm not arguing with you. Different people, different experiences, different approaches to code. I like #returning, I like #let, I like a lot of things that impose block structure on code. Others do things differently with my blessing.
South Africa, though to be honest, that is for the 17" version.
Not unlikely..
You have no idea how big Enron was; there was a time in Doha Qatar we couldn't even book a hotel room in any decent joint without having to be Enron employees or affiliates. Imagine booking the hotel rooms of an entire country. Fucking oath, it doesn't get any more gangsta than that :-P
I've used both on Windows before and also use Cygwin.
Yeah, I know I don't have to use it. I just think the style it introduces is more abstruse overall than the problem it's solving. To answer your question, I'm mostly arguing with Rails, not you. Obviously, if it's useful to people they'll use it and who am I to declare by fiat that something's not useful to somebody else? But just because some level of personal preference is involved doesn't mean we can't try to talk about something on the basis of its objective merits.

But I'm often (usually?) wrong — I was just putting in my two cents for the sake of discussion =)
It is very difficult to read this method.

The more standard way goes from top to bottom. The lambda method requires the reader to go to the bottom of the statement, then to the top and downward. It requires the writer to remember the idiom and it's a barrier to newer developers.

I also don't see the win in doing this either. Sure, somebody can forget to set the return value, but you can also screw up with the other idiom. That part seems like a wash to me.

* edit - Grammatical corrections and reformatting.
My toolbar is full of links to bugs and other tasks I need to get done. This way I am constantly reminded that there are things I need to work on and when I finish something I can simply click the bookmark and fill in all the missing details or close a task without having to go to the bugtracker or the calendar first. It works pretty well for me.
VC focuses on the long term? Really? Where did you get that idea? What VCs do you know that aren't looking for 3-5 year complete "time horizons" for "liquidity events?"
Axcid.org / Tunebin
Exhibited by Tunebin.info, Axcid.org is a music/mp3 search engine with a growing database of songs and increasing search power.
I should explain a little more. You never actually see the lambda method, the RewriteRails plugin works a little like Lisp's macros. You write:

returning [1] do |numbers|
numbers << 2
numbers += [3]
end

And that's all you see in your source code. RewriteRails rewrites that into:

lambda do |numbers|
numbers << 2
numbers += [3]
numbers
end.call([1])

And that's what the ruby interpreter sees. But you need never look at the "ugly" rewritten version, just what you wrote.
When you cross the line into experimenting with medical treatments, you're not gambling with other people's money, you're gambling with lives. You can't just equate it to any other kind of start up, it has to be held to a higher standard.
Well then, if you want to talk, I'd say this... (elided).

No, scratch that, instead I'll say this: I don't buy the argument that #returning, or SymbolToProc, or any of the other myriad (and often irritating) little idiomatic extensions to Ruby make code less complicated and more difficult to read.

It's an old, old argument and tiresome to rehash, but ultimately it's a mistake to make things easier to read for someone who doesn't know the idioms at the expense of making things easier to read for somone who does know the idioms.

If you feel the idiom doesn't add value, that's one thing. But I have trouble with the idea that #returning is harder to read. I personally find it easier to read because it is so obvious what is going on.
Single molecule pictured for first time
Agree. Ultra-wide-band mesh wireless networking perhaps? I've heard UWB can exist over licensed spectrum without even affecting existing narrow-band reception.
The title (of the submission) is wrong. The logo hasn't changed.

They just changed the font used in catalogues, switching from a customized version of Futura (used for 40 years) to Verdana.
For a good while, I stubbornly stuck to Emacs for Java coding over Eclipse. I managed to hack together some Emacs-lisp to make it work OK. Occasionally I had to use Eclipse for one reason or another, but only grudgingly.

What won me over is the excellent refactoring support. That is definitely something that I was not going to be able to hack together with some Emacs-lisp. It just makes sense that rename, extract variable, extract method, etc. are atomic operations.
It's great, though, if you are used to Mac applications and learning Emacs for the first time. Kind of like training wheels for Emacs.
Did you read the article?

You got it backwards. They made the change to cut costs.

The fuss is because Verdana is intended to be used on screen, and it's ugly when printed.
Please ignore the ignorance of American security, intelligence and law enforcement agencies. I was arrested and held captive for several days, on several occasions, for no reason at all, other than carrying tens of Arabic books, on various subjects, in my car. I couldn't convince the post-911 officer that Arabic was a legitimate language, beautiful on its own, with some passionate scholars. I was translating a mathematics text at the time and had no working scientific vocabulary of the field, so I had to buy every text on physics, engineering, chemistry, econometrics and civil engineering I could find. It takes one months to acquire the technical language for a discipline, the Right Thing for a scientific translator is to immerse himself in the field and find all the idioms, metaphors and the cultural signals of the language community. It was impossible for me to convince him that I really was using the texts on Stereochemistry for their topological vocabulary, and not for the chemistry; I told him the real danger was from someone with materials, not theories, and he jumped on me for knowing who the risk was!

What icing on the cake was when he found out I was doing this for free, HAHAHA.
Perhaps we can consolidate this discussion with the earlier one:
http://news.ycombinator.com/item?id=786242
... Or bing. Maybe it's a deep rooted conspiracy to get you on bing. Or not...
Is it really a tough market? I worked for a marketing & web-design firm in Baltimore, and they were readily hiring and growing when I left.

You can try this "hack" that my friend tried to land a job a few years ago. He scraped craigslist job listings in his area, plugged them into a script that took the job requirements and inserted them into his cover letter & resume mad libs style.

He just waited for the responses to come in and picked the best opportunity.
Isn't it implied and understood that I can only speak for myself and from my own perspective? I think my post was littered liberally enough with words like 'personally' and 'I feel' that it's understood I'm not trying to speak in absolutes. So, would you rather I didn't raise any questions about the relative merits of the code simply because there may be people who find it useful? I'm certainly not arguing that no one will find it useful, I'm simply saying that I don't like it and giving the reasons why I think so. If you didn't want people to discuss the relative merits of the code, why did you post it?

EDIT: Ah, you elided what the above is a rebuttal of, which is good because that brings the discussion back to the actual code in question.

There are a ton of little idiomatic extensions to Ruby that are immensely useful, SymbolToProc being a very good example. The presence of so many of them is one of the great things about Rails. So, I'm not arguing against such things as a whole, as you imply I am. I'm simply saying that #returning in particular is one that I have problems with.

Nor am I saying that making things less readable for the uninitiated is a sufficient motivation to bar use of such things. However, this particular idiom gives you so little that I feel what you gain from it does not outweigh the cost of introducing it. So, I do feel that the idiom doesn't add any value, and for that reason there is a cost associated with its use.

It doesn't save you any code, and it's more complicated than the code it replaces, which is why I am puzzled that you find it easier to understand. It makes things wordier with a block invocation when a simple assignment will suffice. Ostensibly, assignment is a much 'lower level' mechanism than invoking a method with a block.

I readily admit, though, that if you find it easier to read then there's no argument I can make, because it works for you. Similarly, though, I can state that it is not easier to read for me. So, I guess we just have to agree to disagree on the basis that our brains work differently =)
Are you afraid that we'll look bad if someone sees us?

Personally, I like seeing marijuana dosage turning into a matter of engineering.
Could someone explain the interest/value of this post to me? I'm not familiar with anything that would significantly distinguish them.
Putty, with a cygwin patch. Works fine, only gripe with it is I can't press Windows+Left and have it take up the left half of the screen. It just refuses to resize.

The windows terminal is just horrible.

I tried Console2 but it was buggy as hell, froze all the time, and the transparency made it lag.
It's not unusual for a specialist to churn out volumes of code from a single project: if you look at his projects you might see an emerging pattern .. _why was a specialist in fun.

cheers to the persona, and I raise the man a pint of his adult beverage of choice!
I don't know which URLs are broken, but I don't have a hard time finding docs from Apple. I rarely view docs based on a URL another dev passes along. We usually trade advice like "check out the UIViewController doc" or "read the Threading Programming Guide" instead. In an ideal world the URLs would be consistent and concrete, but they're really secondary in this particular culture. I think you're making a mountain out of a mole hill to be paranoid about it.
Twestival posted a response: http://sanfrancisco.twestival.com/2009/08/29/our-side-smiles...
Haha, I feel you :)
The results raise questions of where and when a company could choose to exert this influence, but Glattfelder and Battiston are reluctant to speculate.

"In this kind of science, complex systems, you're not aiming at making predictions [like] ... where the tennis ball will be at given place in given time," Battiston said.

It's nice to see that physicists are able to recognise the limits of knowledge when it comes to complex systems. You probably wouldn't hear a macroeconomist / econometrician say that, they would typically weigh in with some kind of prediction based on a dubious, self-referential model.
He was "pushed" ( http://www.washingtonpost.com/wp-dyn/content/article/2009/04... ) by the US government, the same one that upholds the law that he has now violated. Damned if he did (prosecuted for violating the law), damned if he didn't (forcibly removed from his company by the US Government).
With ViEmu it's my favourite environment in which to write and, more importantly, debug code.
MyiPhone: 9 Deadly Simple Step How to Unlock Your iPhone
They are known for being inflammatory and wildly inaccurate. Fox News has a tendency (or some of their pundits) to take an incorrect technical view and run with it in a totally insane direction. Example: Glenn Beck and a guest going on at great length about how the "Cash For Clunkers" program's website allowed the gov't to tap into your computer and seize all of your computer files, and install a "tracking cookie" that let them "tap into your system at any time in the future." They failed to mention that the scary EULA this nonsense was based on was only for participating dealer employees to access, and not something that the general public could even find if they wanted to.
MongoKit: Module that brings structured schema and validation on top of PyMongo
No surprises here. The loudest, most self-sure people tend to be looked to as the leaders.

It's like on LOST. Jack sounds like he knows what he's doing, so they put him in charge. Meanwhile, Sayid, the quiet hacker, is always right.
If I ever find out what Project Xanadu's default color scheme was supposed to be, then I will probably switch a web site to it. In loving memory of a future that we exceeded and still failed to live up to.

(Xanadu was the first idea of a hypertext system. It was more heavyweight than the current system, which may be why it never caught on -- but it was incredibly visionary. Sometimes I read futurist writing from that time, and I'm struck by how much better we've done and by how much of its early promise we have left unfulfilled.)

http://en.wikipedia.org/wiki/Project_Xanadu
> I think my post was littered liberally enough with words like 'personally' and 'I feel' that it's understood I'm not trying to speak in absolutes.

It was understood right up to the words "no discernable benefit" that closed the original comment :-) But any ways, of course I expect lively discussion about the post, just as you must expect responses to your comment.

So to get back to the actual subject of the #returning idiom... I think your comments apply to a lot of Ruby idioms as distinguished from abstractions. For example, is `customers.map(&:name)` a win over `customers.map { |c| c.name }`? Is `customers.first.try(&:name)` a win over `customers.first && customers.first.name`? Brevity alone is not enough reason to prefer these idioms, IMO. You have to buy that they express the intention more clearly, making them more readable, not less readable in your eyes.

Some people just don't see such idioms as making the code more precise, more communicative. If you're in that camp with respect to #returning, you are not alone by a long shot.
On the Mac, I use MacTelnet, even as a local terminal. It has an almost ridiculous number of features (compared to Terminal.app or iTerm, anyway), and is very configurable. The main problems are that it is mainly vt100/partial-xterm, and is a beta.

On Linux or Solaris, I use "aterm". It works as well as xterm or rxvt. But it has a lot of nice interface tweaks, such as NeXT-style scrollbars, pseudo-transparency, more intelligent text selection (IMHO), and a way to change colors when inactive.

On Windows, I don't run much locally (since not a lot of useful command-line tools come with Windows). So my terminal work tends to be over SSH to a machine that has real tools. :) I use PuTTY for SSH, and it works very well. My main issue is that it seems unnecessarily hard to do certain things, e.g. copy/paste.
That's a good point... mutual recursion lacks dynamism.

The lack of TCO or ability to do mutual recursion+TCO is really the fault of the language. If you have a state machine with a small number (<20) states, mutual recursion seems like a more natural fit (unless you have to have states determined at run-time).
I hate not solving problems. It's that post-modern trope where the super hero realizes he needs the bad guys for his identity.

I also hate not coding.
Terminal.app as of OS X 10.5 is my favorite terminal. I like to use rxvt under Cygwin.
i'm sure we'll see decent 13" gaming laptops under 1k when nvidia releases ION 2 at the end of this fiscal year.
Why I am even writing this?

Good question.
Quick request: Do you think you could put 2 spaces in front of the long url so that it doesn't distort the page layout. That way people will only have to scroll to see the url, and not the rest of the page. Thanks!
If I understand correctly, your friend submitted resumes and cover letters claiming that he had skills/experience he didn't have. Is that correct? So what did he do when he got called in for an interview where they were expecting him to have certain knowledge that he didn't have?
Xterm.
Instead of sending your resume to strangers, look at your current mobile phone and any other cellphones you have used in the last 5 years; go through the address books and call everyone you find there to "catch up". Invite as many of them as you can for a brunch, coffee or drinks and tell everyone you're looking for a job.
> Control or power doesn't disappear, any more than mass-energy does - if Vanguard or Fidelity aren't controlling the billions in index funds, then who is?

The investors who own shares in the mutual funds?
Yes. And apart from mutual funds, there are also trust banks and brokers who own shares in behalf of funds or individuals.
James May builds a house from Lego
My guilty pleasure is editpad pro on xp.

I should be using other editors, but I always end up using it whenever I'm on a windows box.
OK, I think we're on the same page regarding our meta-discussion =)

Yes, I absolutely find

customers.map(&:name)

a win over

customers.map { |c| c.name }

My reasoning is that the former is less code overall, is fundamentally 'simpler' (passing a parameter to a method rather than calling with a block), and the code it replaces has redundancy (the block parameter is there only to be immediately referenced for the sole purpose of getting at one of the object's attributes). With #try, there's similarly less code overall and it removes redundancy.

I agree that brevity alone is not enough to prefer one idiom over another. Expressiveness is a big part. I like these idioms, so I'm actually in the camp that they do make the code more precise and communicative.

In my book, though, #returning is simply an exception. A simple assignment and return are already so fundamentally expressive on their own, that — to me — replacing them with a method invocation and block doesn't get you more expressiveness, and instead it actually makes things less readable.

To me, it would be like writing an abstraction layer to replace the use of variables in the language, where you have to invoke a special-purpose lookup table class to set and retrieve values. Why would you prefer

Variable.set(:foo, 'bar')
puts(Variable.get(:foo))

over

foo = 'bar'
puts(foo)

Why not just use variables?