skysight-inc/HackerNews huggingface dataset:
I used to have that same thought with my n>1 monitors setups. Then I realized I was using one monitor for "dashboarding" and one for development. And a lot of virtual workspaces. So when I got my macbook, I decided not to plug extra screens into it for a while. I find that it keeps the distractions out of mind while focusing on something. So my current setup goes:

A virtual desktop for each of the following: browsing, comms, notetaking. And the rest of my desktops (usually 9 total) partitioned per-project. When doing web dev stuff, i tend to put a browser in one desktop for that project, and dev stuff in the desktop immediately to the right of it.

When I'm in an appropriate place, (home, work, the occasional hotel room where heavy dev is going on between meetings et al), I'll arrange another computer or attached monitor/tv to do dashboarding (preferring the another computer approach). The dashboard has test pass/fail lists, tailing logs, other information as needed for the particular project. It makes it easier to ignore, but accessible when needed.

One thing the reduced screen space has done for me is help me identify opportunities for good dev practice. For example, if I find myself annoyed at the number of times I'm switching between vim and the terminal, it might be time to write a script that I can call (or even hotkey) from vim. It also helped me learn to use tabs/windows in vim and eclipse better and more productively, because I couldn't just put them next to each other anymore. Now when I do have the option for mutliple screens, one is usually blank anyway, because I find myself anoyed at switching windows, even if its a simple mouse move away.

Of course, this is just my experience, influenced by my preferences, but hopefully it can give you some insight into other modes of working :)
Life with (and a transition to) Dvorak
DHH leading in 1st place at Le Mans
Hacker sells to a broker in South Africa. AFAIK, SA is not black listed or anything, and who knows who the broker sells too or who the broker says he sells to. I don't see how the hacker is any more liable than a petrol sales assistant selling fuel to a drug courier.

But then the law is a strange thing.
I think this algorithm Captcha is optional.
I'm using G-WAN, and I implemented another CAPTCHA algorithm in C.
I like it when someone proves that something is unsafe.
It's inspiring to improve our applications.
I take your point fully. Just musing on the country codes being appended to the same words as the new top level domains, just to create more confusion.

In the UK some smaller private colleges that are not eligible for .ac.uk register web sites with the .ac country code.
The aside in the linked article about avoiding shifting and parens just to type a simple command is even more true once a command spans multiple lines. Say what you will about syntactic attempts to remove the parens from Lisp, I think it's a secondary issue for a command language.

There are some good observations about design pressures on command languages vs. programming languages in Olin Shivers's "A Scheme Shell", as well.
Ask HN: Linux on a notebook
Hi all,

So, I'm looking at getting a new notebook and wanted some input. Right now I imagine three options:

1) Native Linux. This is what I've done for the past two laptops I've gotten, currently running Ubuntu on an x220. It scores high marks on the user experience side of things, but I'm unhappy with it otherwise. I still consistently get 20-30% lower battery life than when running under Windows, and various other annoyances (sometimes not going to sleep when closed, for instance). Even getting there, though involved a lot of really stupid bullshit. Making it into a usable experience was a total PITA, and I'd seriously pay someone a lot of money not to have to deal with it again, except I don't trust anyone else not to screw things up. For that reason I'm disinclined to take this option again, unless there's a simple way to get things working. In an easy, user-friendly way, not a "it's theoretically possible if you spend a couple days of your life messing with config files" type of way.

2) Linux on a VM. I have little experience with VMs, but this option appeals to me: I imagine it minimizes the amount of "stupid bullshit" I'd have to deal with, and even though it would involve some time investment on my part, I see it as time well spent. Do people who have tried this option like it? What virtualization software do you use? And most importantly how taxing is running the VM constantly on battery life?

3) Learn to live with OSX. If I understand correctly, it's possible to run X11 on OSX. Is this easy or obnoxious to do? Can you get XMonad up and running without the OSX dock/menubar/etc? I have no real ideological preference for Linux and really just need a good Unix to work with. Do people have any experiences with this?

I'm also open to other suggestions, if you have them.
Registered trademarks are, well, registered. It would be easy to only grant as TLDs the trademarks, and only to their owners.
AFAIK, using an ampersand character to represent an ampersand, rather than starting a character reference, is no longer a parse error in HTML 5 if it occurs in an attribute. See: http://dev.w3.org/html5/spec/tokenization.html#consume-a-cha...
Can Dostoevsky still kick you in the gut?
Ask HN: Does HN now have ads or is this a clever hack?
This post showed up earlier today and I'm wondering what it is: http://news.ycombinator.com/item?id=4121233

Unlike the YC hiring notices (e.g. http://news.ycombinator.com/item?id=3649785), it has no voting buttons, no author and no ability to comment. You'd think it would have never made it to the front page without PG's blessing since it can't be up-voted, but it doesn't look like the other "blessed" submissions.
That would be really nice. I actually started learning programming so I could become a better "h4x0r" (I was a kid). But then I discovered I liked making things a lot more. I'd be really fun to go back and learn the things that inspired me to play with a computer in the first place.
As someone with borderline autism, I find this sort of guide extremely helpful, because things that may be obvious to you take me immense amounts of time to learn and internalize. Normally I find myself having large amounts of "rules" governing me that turn out to be incorrectly identified from social conduct or incorrectly inferred from the on-the-surface descriptions of things. Hell, even the concept of flirting is something I've just barely started grasping in my 20s.

I know I'm a bit of an outlier, but it's sometimes good to be reminded that yes, you can try to flirt in this or that situation, or that X or Y are a good sign of flirting.

EDIT: Of course, this is mostly still good as a reminder, introduction, or to shatter misconceptions. The only way to really learn flirting, I've found, is the same as one would learn any other culture: by immersion. As someone whose approach to such things is less intuitive, immersion may be followed by analysis to extract explicit lessons from my experiences.
I never knew about this zip command. I guess it brings the same utility offered by the TCL foreach loops to python.

Still, I wish more languages directly imitated the TCL foreach loop. I've found that when I code, I wish I could just do some simple task 3-4 times. I am always tempted to create a little function, and to call that function repeatedly. But that seems like overkill. With TCL, I just write a simple loop statement instead of the function. I've found that my code is more compact, and the number of functions that I declare is reduced.
> their initial impression of you will be based 55% on your appearance and body-language, 38% on your style of speaking and only 7% on what you actually say.

AFAIK, the 7%-38%-55% rule has been debunked. See also:

http://en.wikipedia.org/wiki/Albert_Mehrabian#Misinterpretat...
Schneier: An International Cyberwar Treaty Is the Only Way to Stem the Threat
It looks like Lang's crease patterns are the output of his TreeMaker software. While they're derived from Lang's stick figure constructions in the software, Morris probably could have created very similar patterns using the same software without the infringement.
I understand, but I believe as others have pointed out that ICANN would deny said applications.

And if the spammers/scammers have enough money to afford the infrastructure necessary for a TLD, I think we may have a bigger problem.
In reality, exploit sellers and exploit buyers are engaged in discovering the value of security exploits. That the value of those exploits might be pinned to unethical, immoral, unlawful, or belligerent conduct is irrelevant; markets have to operate in the real world, and we cannot stipulate that the bad actors absent themselves from the real world.

So while I personally find the sale of exploits distasteful†, I think Soghoian is in the weeds with this argument about exploit developers being "modern merchants of death". Exploits are nothing like conventional munitions. They're extremely scarce and their extraction from software imposes no intrinsic costs on the rest of the world.

In other words: vendors can simply outbid intelligence agencies for their bugs, or, better yet, invest more heavily in countermeasures to moot those bugs. Unlike guns, which can be manufactured so cheaply and at such a scale that no one organization could hope to stem the tide with markets, vendors can stop immoral abuses of their own software simply by participating more actively in the market.

$200,000 sounds like a lot of money, but it's under the cost of one senior headcount at a major software vendor, and vendor cash flows are expressed in high multiples of their total headcount cost. The higher the prices go, the more incented vendors are to stop vulnerabilities at the source.

Even today, the whole technology industry is captivated by the misconception that vulnerabilities somehow cost some fraction --- maybe 1/3, maybe 1/4 --- of a senior full-time dev salary. After all, they're generated by people who would otherwise be occupying that kind of headcount. And for the most part, that misconception has been bankable, because the best exploit developers almost as a rule suck at marketing themselves.

Every other price in the application security field follows from this misconception, from headcounts and org charts at vendors to assessment budgets to shipping schedules for products to the salaries of full-time application security people.

It's all built on a misconception; that misconception creates a market inefficiency; people like (allegedly) The Gruguqhquq are arbitraging on that inefficiency. But the solution to a market inefficiency is to eliminate it, not, as Soghoian implies, to install umpires around it and erect bleachers and a jumbotron so we can watch it more carefully.

I see this story as evidence of chickens coming home to roost, not as some dangerous new ethical lapse on the part of the security industry.

† This is an easy moral stance for me to take because I don't invest any serious time into developing exploits for the targets on this price list.
Delete the '?dl=1' parameter, and change the URL from 'www.dropbox.com' to 'dl.dropbox.com'.

This yields a proper direct link to the file, but the directory tree is still inaccessible.
Okay, so I am impressed that you can also do this in lisp. I never really paid any attention to the language. Maybe it is worth checking out.
I think Lang is going to lose, and here is why.

The artist looked at his crease patterns and painted them. His work created color symmetries in a field of symmetries. The colors bring their own message to the art. Had he taken a couple of Lang's folded animals (or folded one himself or had it folded) then set it on a table with some fruit or even by itself, painted it as 'still' art, the artist has created new art.

When you paint a scene in the park, and you paint in the people who are sitting around enjoying the park, you don't have to get signed releases from them to paint them into your painting, even if someone who was at the park might recognize themselves or someone they know by a particular geometry that person has and what they were wearing that day.

My belief is that no jury in the world is going to look at Lang's actual folded stuff, and see this abstract pattern stuff, and say there was infringement.
Simple Form - Build simple web forms
Going through the actual complaint (http://bayoaklaw.com/FAC.pdf) shows 20 complaints from various origami artists. Each one is obviously taken from the origami designs, but each one is significantly transformed by the painter. I would call this fair use.

Our cultural heritage is being strangled enough due to overly strict copyright. We don't need to add to it.
What it takes to attract strong developers
For in depth technical work, try doing "crackme" puzzles. Google for them and you'll find some. Also, take a look at fravia's pages (I wonder if he's still alive?)

Edit: http://www.woodmann.com/fravia/
Schneier's essay ends with a fairly powerful appeal:

Cyberspace threats are real. Military threats might get the publicity, but the criminal threats are both more dangerous and more damaging. Militarizing cyberspace will do more harm than good. The value of a free and open Internet is enormous.

Stop cyberwar fear mongering. Ratchet down cyberspace saber rattling. Start negotiations on limiting the militarization of cyberspace and increasing international police cooperation. This won't magically make us safe, but it will make us safer.

Note that all the other submissions on the same topic come out against cyber arms treaties for one reason or another.
USB prior to the iMac was moribund. Very few devices, half the motherboards didn't ship with drivers for the ports. While everybody was talking about how great USB was and how it would replace all the other ports, none of the PC manufacturers took it seriously until Apple shipped the iMac.

Same could be said with Bluetooth. Lot's of talk about how great it was/would be, but none of the PC manufacturers really did anything with it until Apple started to ship it standard on their devices and make a fuss about it.

Ditto with WiFi. I believe that the original iBook was the first mainstream computer designed and sold with integrated wireless networking. I don't recall any PC manufacturers chomping at the bit to make it standard across the range on their models.

"As for laptops, I find it hard to give Apple credit for innovating when all they did was the same as everyone else, make things smaller and lighter, only taking it a bit further.'

Taking it "a bit further" by innovating in manufacturing processes. Please point me to PC laptops that were constructed from a single block of aluminium prior to the late 2008 Macbook Pro.

Given that you seem to claim that there is so much rampant innovation in the PC market, please point it out.
I see a few other people have already recommended resources for learning about vulnerability discovery, which is mainly about fuzzers these days.
A good resource for determining how to exploit that vulnerability so that it does neat things for you is The Shellcoder's Handbook (some asm required, but not too hard if you know some OS internals).
Umm, sorry, which Microsoft was it that released an "awesome OS"? Did I miss something?
The hacker should accept bitcoins for the exploit and save the commission fee and maintain better anonymity.

Also the buyer could stay anonymous too.
They making a explicit decision to reap a larger payday by selling the exploits to governments or other companies rather than disclosing it to the original application authors for the standard bug reward.

The sellers have no way of determining how the exploits will be used. The mere fact that buyers are willing to spend so much on an exploit indicates they are not just collecting them out of idle curiosity. Even we could completely trust the buyers to not misuse or share information about the exploit, the original bug remains unpatched for others to independently discover and exploit.

The sellers are willing to inflict damage on everyone else so they can benefit. That sounds like leeching to me.
There is no real difference between UX and branding
Yet another law "to protect children". As soon as I see that justification, I know there is a 99% chance that the law will actually be advancing government power, control and/or surveillance over the general populace. Why is this? Because lawmakers know that no one likes Big Brother laws, but most everyone's common sense goes out the window as soon as the "but think of the children" argument is brought out as a cover for bad law.
Nice girl photo
nice girl photo
I think it's because of a subtle bias for whichever side was generated by computers. In this case, the origami designs are made using software, so they "should" be protected.
3) Don’t try to bend OS X to be what it isn’t: you will be frustrated, disappointed and will not succeed.

If you decide to learn to live with it, actually learn to live with it: you will have to adopt new usage patterns and tools. Don’t try to turn it into Ubuntu, it’s not.
Here's a TECO that will actually work on modern systems (that is, it's not written in PDP-10 assembly language):

http://videoteco.sourceforge.net/

And the manual:

http://www.copters.com/teco.html

More information:

http://c2.com/cgi/wiki?TecoEditor
Like a Hogwarts for hackers.
It's pretty bizarre if Dropbox is solely using client-side timestamps as the basis for comparison.
Native is easy enough if you're willing to either shop around (our Samsung Q330 i3 took minimal messing around with for 11.10 and "just worked"™ for 12.04) or pay somebody.

You say you're willing to pay so take a look at people like Zareason and System76 -- people who design the hardware around what will work in Linux. You pay them over the odds, they support you.

But don't get hung up on some features. Battery life is one of those where everybody seems to get the same drop vs Windows. Yeah, I'd really like those bugs found and fixed but it's not going to affect my purchasing decisions. If I need long battery life, I just look at bigger batteries (or slower CPUs). Graphics is another interesting topic.

I'd also go out of my way to avoid dual-GPUs (Optimus et al) for the moment. They do work (bumblebee, ironhide, tbp, etc) but having to prepend things with optirun can get annoying - plus they're another power drain.
Apple do something similar. Early iPhones had no Bluetooth A2DP, no apps, awful speakers, no GPS etc. when even Nokia feature phones had all of that and more. Then they release a "new" model and make a big deal of stuff that crap phones had 5 years ago.

Apple just handle the reality distortion better than Microsoft's shoddy PR department.
On that list, TAOSSA is probably the book you want if you're looking to sell exploits to The Gruhhghhgq.
ASK NH: Rest vs Request/Response
Hi all!

Just joined hacker news to start a spicy debate on REST vs general message based architecture. I am building a website that communicates with my iPhone app. I know now that nowadays REST is very popular, but i'm failing to see why it's better than a simple request/response message based architecture.

I understand it for websites, but for machine to machine communication, and message handling it seems a bit complicated.

This is because the parameters in the url is sort of part of the api contract, while with a request/response, i could just setup a contract for the request/response and generate my statically typed code for that.

But with REST, as a developer I also need to make sure that i have the URL right, and maybe escape the parameters I'm passing in the url as well. While otherwise i can just create an object in JSON and get an object back when posting to a http://api.whevevs.com/bus, which seems a lot easier.

Also, since its contract based it would be easy to just generate documentation for the request, responses.

Also i regards to more enterprisey systems, or even apache thrift they tend to use messaging over REST.

So how come this is so extremely popular then? Is it because apps, like rails etc, make it easy to build the controllers for JSON/HTML with respond to at the same time and thus implicitly making an API?

Please enlighten me! Thanks!
I had an opportunity once to sit down with Don Knuth and play Halo on the X-box. Don was doing really poorly and I said, "Don, what are you doing?" His answer was "Playing."

But for Don, playing wasn't kill the bad guys, get the best weapon upgrade, it was "What happens if I just sit here when this NPC wants me to follow him?", "Can I jump off this ledge in the back even though the game doesn't think I should?" He was playing not the game of Halo but the game of Halo Exploits! Once I realized what he was doing we started a variety of different tactics to see if we could break the game. We found several in a fairly short period of time. One where you could get 'behind' the geometry of the space ship you were on, run all the way to the other side where the big bad guy for the level was, and shoot him dead up through the floor without him being able to fight back. It was quite fun.

There is a story about a physics student given a word problem of finding the height of a building using a barometer. Since they couldn't remember the perfect gas law they instead drop the barometer from the roof and time how long it takes to smash into the ground below. Then compute the height that way. It that kind of thinking that people use to find exploits. That, time, and sometimes browsing the source code.

Doing security code reviews is also good training.
The issue is less about whether people like El Chapo will profit on drugs and more about the 50,000 people murdered due to illegal trafficking. People might smuggle cigarettes, but they don't usually murder to do so.

I also think people would be much more willing to tax drugs than food. The reason food is not taxed more heavily is because of industrial heavyweights lobbying congress extensively. There is relatively little money spent in pro-legalization lobbying.

Furthermore, drug legalization in Portugal has made it easier to treat users of particularly dangerous drugs (such as heroin) and has in fact reduced use. Portugal might not have the same drug culture as the US, but it's still a promising result.
If your departure from a company is a material fact by virtue of the position you hold, does it make it insider trading to dump your own shares in a company you are leaving?
Scores in N.C. are legally 'innocent,' yet still imprisoned
Bad Engineering Properties of Object-Oriented Languages
There's a lot of good advice here. I'll limit this post to how I learnt. I'd never really read any articles before starting out on my own. For me it was mainly curiosity. I was writing code with a bunch of guys at school, and one of the guys wanted to protect his data (on a shared data store), so he implemented his own encryption scheme. I didn't know anything about encryption, but had access to his source code, so studied his algorithm and managed to build a decoder.

After that I started studying my own programs to see if there were any obvious patterns that someone else could guess. This was before the days of CGI on the web.

My curiosity continued when CGI was growing and I learnt first how to fool a guest counter, and then how to build a more secure one. I started learning peel and read all the man pages. There was a lot of stuff in there that was like "don't do this because it's insecure". To that end I owe a lot to Larry, Randall, and Tom.

What I learnt from there helped me protect myself against XSS attacks, but also taught me what to look for without needing the source. It wa a while before I heard about CSRF attacks. At this point I was interested enough to see what OWASP listed as the top exploits and did some studies on each of them.

At no point have I ever used what I know for malicious purposes.
This is a simple service, would love to hear some feedback on it :)
Programmer productivity doubles every 6 years