hacker news with inline top comments    .. more ..    12 May 2012 Best
home   ask   best   7 years ago   
CSS arrow please cssarrowplease.com
508 points by jimsteinhart  2 days ago   72 comments top 25
chrisacky 2 days ago 1 reply      
I've also just converted to LessCSS mixin. Free for your use. (I added a 6th argument so that you can change the class name that gets generated).

Clickable: https://gist.github.com/2644661

    .arrowgasm(@position: top, @size : "4px", @background-color :  #88b7d5, 
@border-width: "2px", @border-color : #c2e1f5, @arrowClass : "arrow_box"){

(~".@{arrowClass}") {
position: relative;
background: @background-color;
border: @size solid @border-color;
(~".@{arrowClass}:after"), (~".@{arrowClass}:before") {
bottom: 100%;
border: solid transparent;
content: " ";
height: 0;
width: 0;
position: absolute;
pointer-events: none;

(~".@{arrowClass}:after") {
.b(@position, @background-color);
border-width: @size;
left: 50%;
margin-left: @size * -1;
(~".@{arrowClass}:before") {
.b(@position, @border-color);
border-width: @size + @border-width ;
left: 50%;
margin-left: ( @size + @border-width ) * -1;
.b(top, @border-color) { border-bottom-color: @border-color; }
.b(right, @border-color) { border-left-color: @border-color; }
.b(bottom, @border-color){ border-top-color: @border-color; }
.b(left, @border-color) { border-right-color: @border-color; }

jenius 2 days ago 2 replies      
For those who enjoy sass:

    =triangle($direction: up, $size: 10px, $color: #000)
width: 0
height: 0
@if $direction == up
border-left: $size solid transparent
border-right: $size solid transparent
border-bottom: $size solid $color
@else if $direction == down
border-left: $size solid transparent
border-right: $size solid transparent
border-top: $size solid $color
@else if $direction == left
border-top: $size solid transparent
border-bottom: $size solid transparent
border-right: $size solid $color
@else if $direction == right
border-top: $size solid transparent
border-bottom: $size solid transparent
border-left: $size solid $color

mikegerwitz 2 days ago 1 reply      
I love the creativity that results from CSS' limitations (or, arguably, its flexibility). Neat trick.

It took me a moment to realize exactly what was going on to make this work. For those interested: borders are styled in such a way that they angle toward the edges if the border is large enough:

  \ /
/ \

That gives you four "V"s to work with. Therefore, to create the arrow, you simply need to hide all but the appropriate border. The border around the arrow is accomplished by underlaying another "V".

richardlblair 2 days ago 1 reply      
I really suck at CSS. I mean, I really suck. It takes me forever to accomplish the smallest things. I love these sites that keep popping up that generate CSS for cool little effects.


oe 2 days ago 5 replies      
This is the way to do it, until the graphics guy wants the box to have a drop shadow. The pseudo elements' shadow is square, so your options are either to hope that nobody notices that the arrow doesn't have a shadow (like in this example), or to use an image for the arrow.
necolas 1 day ago 0 replies      
I made a bunch of this kind (and more complex) speech bubbles a couple of years ago: http://nicolasgallagher.com/pure-css-speech-bubbles/demo/

This is a nice little tool to help automate the production of the code for simple ones.

jqueryin 2 days ago 1 reply      
This is great so long as you don't still have to support IE7.


PStamatiou 2 days ago 0 replies      
The harder thing is getting the boxshadow to work on that.
rralian 2 days ago 1 reply      
That's so funny... just yesterday I built my own sass mixin to create custom triangles to do the little arrow pointer on a dialog box like this. Two triangles (border color and background color) with an offset. I toyed with using :before and/or :after to create the second background-color triangle, but the specs said you could only do text or an image so I didn't even try to make the triangle. My version required something like <div class="arrow arrow-left"><div class="arrow-inner arrow-inner-left"></div></div>. This is so much more semantic, elegant, and awesome. I love it!
jarek-foksa 2 days ago 0 replies      
I've been writing CSS for a couple of years now and it took me like 10 minutes to understand why this is even working.

I already feel sorry for anyone that will be debugging this mess.

blakeperdue 2 days ago 1 reply      
Browser support? Any idea if this works in IE7/8?
NickLarsen 2 days ago 0 replies      
This needs 2 easy additions, a slider to move the arrow closer to either corner of the edge it's on and a slider to change how big the arrow is.
optymizer 2 days ago 0 replies      
Because the shadow seems to be setup so that the light source is at the top, when you move the arrow to any other position, the lack of shadow under the arrow becomes noticeable.

If the light source moved along with the triangle, no shadow under the arrow would be required (imo).

chazandchaz 2 days ago 1 reply      
Has a small line running through the arrow on safari (mobile). FYR
anons2011 2 days ago 1 reply      
The demo page is broken in IE8, although it does work when you copy the HTML/CSS to a new file.
bratsche 2 days ago 0 replies      
I posted a Sass mixin for doing this here: https://gist.github.com/2645575
RoryH 1 day ago 0 replies      
Brilliant, I have a use case for this, nice timing :-)
suyash 2 days ago 1 reply      
waste of a domain name, why do people create a whole new domain name for something as simple as this, this could have easily been a blog post! (IMO)
testify 2 days ago 0 replies      
Thank you sir! This might come in handy sometimes.
ericax 2 days ago 1 reply      
Arrow is repeated too many times nowadays.
vanwilder77 2 days ago 0 replies      
Loved the tool !!
benguild 2 days ago 0 replies      
dlikhten 2 days ago 0 replies      
May I request that the arrow has a drop shadow too. I mean this is not exactly rocket science, but the drop shadow will be much tougher.
tomelders 2 days ago 1 reply      
wrap it up in a cocoa app please, so I can use it when I'm not online.
My Doctor's Office Asked Me To Lie stallman.org
471 points by gulbrandr  15 hours ago   200 comments top 44
chrisacky 14 hours ago  replies      
Could you imagine at the extremes if you had been refused treatment because of your refusal to sign this document, to which you knew to be untrue, and to which they could not provide you with the policy.
I studied law for four years (haven't qualified) , but I'm still not even sure on the liability on this one (if there is any at all in this hypothetical).

It just shows how bureaucratic everything has become when a privacy policy contains 3000 pages, to which they clearly never refer to, and to which you are most likely the first person to have ever asked to actually see the policy.

Best wishes with your health Richard!

droithomme 13 hours ago 2 replies      
I've run into the same routine with medical professionals. Also, many of these privacy notices have a clause that they can disclose your private information for certain reasons, then a list which includes "advertising and marketing" purposes with other entities. When I ask about this I am always told they would never do that, it is a standard notice and no one other than me has ever said anything. When I refuse to sign or ask to strike that part out I am told I am free to seek medical care elsewhere and signing the agreement to disclose my private medical information for marketing purposes is "a federal requirement". It's really quite disgusting and abusive.

The situation with web sites and software that have 10 to 100 page long (when printed) EULAs or Terms of Use are a similar concept. Much software these days makes you click a box saying you have read and understood a legal agreement that is far more complex than any employment or IP transfer agreement I have ever signed.

Jun8 11 hours ago 4 replies      
What's really the problem with this situation is that it's really hard to point a finger to a single culprit in the system thereby pointing to a way to solve the problem. That's why it's a wicked problem (http://en.wikipedia.org/wiki/Wicked_problem)

* The doctors cannot be blamed because they want to protect themselves (e.g. see the insane amounts of insurance required to practice medicine in the US to guard against suing by patients) and "the system" forces them to create such documents and have them signed.

* The patients cannot be blamed because, well, you don't want to sign your consent to a document that you haven't read and that may (and will) contain clauses that are clearly adversarial to you. But the issue is not just having access to the document, 99% of the people won't have the knowledge, let alone the patience, to parse such a legal document.

* The politicians are not to blame because they are just bowing to public pressure (and of course powerful lobbies) and many of these laws and practices are one way rachet-up, i.e. they can never be loosened (see, e.g. the overly strict sex laws in the US).

* The lawyers are not to blame because they are just being employed by people, i.e. they are not evil by themselves but may be put to evil use (similar to "guns don't kill people" defense).

For a recent example of suing madness (in a slightly different area) in the US consider that Nutella was sued and was fined $3.6M just because people couldn't read the clear nutritional sign (http://www.npr.org/blogs/health/2011/02/10/133565759/a-mom-s...).

I don't know what the solution is. But the US healthcare industry is converging to disaster if we don't solve problems like this.

rfugger 10 hours ago 3 replies      
I recently had a similar experience at my dentist's office. I was asked to sign a waiver of liability, presumably for insurance purposes. It asked me to state that I had been informed of the risks of the procedure (tooth removal), including a long list of possible bad outcomes. I asked the dentist about this, and she said not to worry, most of those couldn't happen here. So I asked her to please strike the ones that couldn't happen, and explain the likelihood of the other complications, as her own document required her to do. After disgustedly doing this, and spending another 20 minutes fulfilling the other requirements of the document she wanted me to sign, she poked a needle in my mouth, yanked my tooth out, and walked away without saying another word.

She clearly blamed me for wasting her time, since other patients obviously sign the form and get on with it. I actually think the problem here was that the form was too short, and so I felt that I could actually reasonably go through it, as opposed to a lengthy legalistic form that I couldn't possibly be held to in court if it turned out to be unfair.

StavrosK 13 hours ago 1 reply      
I don't know how it is in the US, but here (Greece), most people aren't aware that you can modify contracts, or even that they're binding.

I've had various people come up to me with company offers and asking me to sign things, which, after I've read, I said, for example "I'm not authorizing you to use my email to send me things, so I'll strike this clause out". People (including the person who handed me the agreement) looked at me as if I were the most pedantic person in the world, or as if I were trying to make things fall upwards.

It's very disconcerting, because nearly everyone treats contracts as a "take it or leave it" affair. Sure, when you're getting a new phone, the employee doesn't have the power to agree to alter the contract, but in many cases you can do it.

morsch 14 hours ago 1 reply      
Note that the article is from 2011 (August 1 if you believe the headers). No direct relation to the "rms collapsed" story posted yesterday.
uberuberuber 14 hours ago 0 replies      
While the doctor's office may have been the proximate agent asking him to 'lie', the true culprit is the incomprehensible, self-contradictory system that elected and unelected bureaucrats in the US have cobbled together over the decades. If the doctor doesn't maintain that privacy paperwork (which as rms noted the police can view at will anyway), they will not receive reimbursement from CMS. There are likely other statutory issues with HIPAA that I'm unfamiliar with. It's difficult to fault them for not wasting their limited time/money resisting the paperwork requirements when it would only detract from patient care resources.

If he were actually In Extremis, the physician/nurse/EMS would treat him under implied consent. Technically a patient of sound mind can refuse care but in practice someone who looks like rms (beard discrimination) ranting about his privacy would rather quickly be hit with a B52 (50mg Benadryl, 5mg Haldol, 2mg Ativan). Emergency providers are in a bit of a quandary as they must choose between the possibility of missing a subdural hematoma on a patient refusing care and facing a wrongful death lawsuit, and facing a lawsuit for unlawful imprisonment and assault.

ChuckMcM 9 hours ago 1 reply      
I find arguing with the functionaries at the desk is ineffective, however since they are simply 'doing what they are told' they will often do what you tell them too. I signed a privacy policy where it stipulated the company would pay me $5,000 for each occurrence that it shared any of my information.

It went like this:

Receptionist: "You need to sign this privacy consent form."

Me: "I don't agree with that form so I won't sign it."

Receptionist: "Well if you don't sign it we can't help you."

Me: "Ok, how about this, give me another copy, I'll just mark it up a bit and we can both sign it, ok?"

Receptionist: "Uh, I guess so."

...I take the form, add various and sundry financial obligations, and restrictions on what they can do with my data, add a line at the bottom "representative date"....

Take it back to the receptionist.

Me: "Ok put your initials here, here, and here and sign at the bottom."

Receptionist: "Uh, ok."

Me: "Both copies, thanks."

I then asked on the way out where their legal office was. And and gave them one of the signed copies. The last I saw was that receptionist looking at their marked up form with a very puzzled look. :-)

jon_dahl 9 hours ago 1 reply      
"How about if I add 'not' to make it a true statement?" She accepted this. So I had my appointment.

That is an elegant solution to the problem.

joshuafcole 14 hours ago 4 replies      
It's not exactly an isolated case. When I turned 18 I was presented with the same document. To my mother's dismay, I pointed out the flaws and then marked in the necessary negatives in pen to render the document useless before signing it. Since the other party (a member with legal power at the clinic) did not sign after me, I'm not sure the form is actually binding on either of us. Could somebody clarify what precedent holds in the case of a single party signing a contract and having it accepted but not signed by the other?

EDIT: It occurs to me that I should mention that there is no place for the other party to sign on the document in the first place. There may have been a photocopied signature already on the form.

stcredzero 6 hours ago 0 replies      
I just paid $44 to fax medical records to health insurance underwriters. The woman at the doctor's office was surprised the underwriters didn't access those records themselves. Also odd, they're also asking for all my other records for the past 5 years, when I already gave permission in a conference call for them to access those records.

Are they deliberately trying to discourage my application by burying me in expense and redundant bureaucratic busywork?

JBiserkov 11 hours ago 1 reply      
Offtopic: I liked how minimalistic the site looks, so I looked at the source - just a bunch of <p> with a h1 on top. The head was also really clean - a title, encoding, favicon and

  <link href="stallman.css" ... >

This a 404, but if you try to open /stallman.css you get http://www.stallman.org/stallman.css

Again, pretty minimal just a few rules and comments... and then this:

This causes the entire page to be red when you click anywhere so I
do not want it. Not sure why we had it to begin with.
07/26/2010 jcv
:active {
color: #FF0000

jhrobert 14 hours ago 2 replies      
When everybody becomes a forced liar, it becomes easy for authentic liars to hide in the crowd.
josefonseca 12 hours ago 0 replies      
Here(Brazil) everything seems to work like that. You sign 200 pieces of paper each day and if you'd enforce everything you agree to in just one day, the legal system would halt.

Recently I tried to purchase a small stereo, one of those tiny little ones that just play radio and a CD. They demanded that I provide full personal information in order to give me my receipt. I know that demanding personal information in order to print a receit is illegal here. So I question the attendant. She says she can only print it with that data. So before I had a stroke, and after 15 minutes of stupid arguments, I go ahead and do what Stallman did: fill it with BS and negate the "I agree" thing at the end, signed it - bought the stereo.

That movie "Brazil" with the ridiculous 26bStroke6 form is not too far from reality now that I think of it.

dr_ 13 hours ago 1 reply      
The reality is, had the privacy notice been available appropriately, and had been signed, how do you know that it is enforced? Most practices are busy and run rather chaotically to think about that.
By and large most medical groups do not want to share information about their patients with people who don't need it. We don't have marketers walking into our offices asking for specific patient information. We only share it with appropriate individuals, that have been authorized by the patient or who are clearly involved in the patients care for a particular condition.

I suppose there are databases out there with diagnoses of patients and the medications they take, but there are no patient identifiers in these databases, so it's basically an anonymous batch. That kind of anonymous data is going to be important to make further advances in healthcare IT, and healthcare in general.

shasta 14 hours ago 3 replies      
You should be careful just adding "not", because they can always claim they didn't notice you modified the agreement (I'm assuming no one on their staff signed or initialled your change).
lr 9 hours ago 1 reply      
Find a new doctor. I have never been to a doctor, dentist, etc., that did not have a copy of the privacy policy taped/laminated to the clipboard!!! Seriously, how hard can it be. She probably would have found the policy if Sallman had told her he was going to another doctor, and he was going to tell this doctor the reason why he left.
ajarmoniuk 13 hours ago 0 replies      
In 2003 I wanted to import my car from France as I was moving back to Poland. As I bought the car in France, all official paperwork I had was the French registration card and a car "cession" document. There was no price stated on the cession document.

The official at the Polish registration office gave me a photocopied Belgian registration form and told me to fill that in, fill the price and sign for the seller (in other words, forge the seller's signature).

pasbesoin 10 hours ago 0 replies      
This is a principal reason society need effective regulation: So that one does not need a fucking lawyer for every daily transaction.

Practices (meaning behaviors, not medical offices) like this should be shut down before they ever see the light of day, and confuse, inconvenience, and compromise the safety and integrity of thousands.

igorsyl 11 hours ago 1 reply      
The medical industry is in need of disruption. Has anyone played with the idea of "seeing" a doctor located in a different country using a video app? I imagine the experience would be better than what most people deal with in the states. US doctors have too much power and they take advantage of it. A remote doctor would be under more competition and be willing to provide better service.
spinlock 5 hours ago 0 replies      
My doctor thinks I have high blood pressure because things like this really get under my skin. I - like Stalman - have a bad habit of arguing with the admitting nurse over stuff like this.
rheeseyb 12 hours ago 0 replies      
Almost every day I agree to the terms and conditions of software that I have never read, and have no intentions of ever reading. In no way does this make it acceptable for the doctor's office to ask people to regularly agree to terms that haven't been presented with - my argument is that in this society in which we live it has become an acceptable practice to baffle the general public by dumping ridiculous amounts of legalese (with terms that are never in our favour) in front of us and making us sign it before we can use everyday services.

The worst bit about this is that most of these services then go on to take a big fat steamy dump on our personal rights and our privacy (I'm sure I don't need to give any examples here!), and there's nothing we can do because we agreed to the terms that were "clearly" laid out infront of us before we even used the service.

casualreader 10 hours ago 0 replies      

"There is no real confidentiality of medical records in the US, since the police can get them under very easy conditions."

Very true. And sometimes police can obtain information without even having to ask.

I work for a regional pharmacy outlet and it is the company policy to transmit Pseudoephedrine (PSE) Sales Log Records to the local police department every week.

After writing a memo stating customers/patients should be at least given an informed consent that the information they are required by law to provide in order to purchase PSE is then released to the local police department - an act not required by law. I was told that PSE sales information is not considered Protected Health Information under HIPAA and thus not a breach of Federal privacy law. Granted since PSE is an over-the-counter product its purchase does not technically qualify as a 'medical record'. However, because PSE is purchased 'behind-the-counter' at pharmacies in the U.S. I believe there is a reasonable expectation of privacy on the public's part in this regard.

The Board of Pharmacy in an e-mail clarification to this memo did not address HIPAA compliance but merely stated that the methamphetamine unit officers were 'approved' to receive such information and for all pharmacies to please kindly comply with their ongoing methamphetamine combating efforts.

I've taken a personal policy to comply with the company policy - having higher educational debt cheapens the price of selling one's self - but to openly share what is done with the records if asked. So far no one has ever asked me what is done with the records.

drumdance 4 hours ago 0 replies      
Contracts and legal notices are like code. They spend most of their effort worrying about edge cases.
steamer25 10 hours ago 0 replies      
Reminds me of when I refinanced my mortgage... The bank sent a 100(?) page copy of the contract for my review prior to signing in front of a notary public (in their employ). When arriving at the appointment they produced their own copy that may or may not have been modified with respect to my copy, expecting me to sign in short order.

I complied but only because I was dealing with an otherwise reputable organization. It does seem like there's plenty of room for improvement in these situations.

GigabyteCoin 9 hours ago 0 replies      
I'm surprised the conversation hasn't turned towards "Terms and Conditions" of websites.

As webmasters, many of us act like stallman's doctor's office every single day. By asking clients to agree to (and making it oh so simple to skip, and oh so daunting to read) the terms of using our websites.

limeblack 12 hours ago 0 replies      
Had a similar scenario happen when giving blood a couple months ago. They suggested there were closing in half an hour, but insisted that I give blood anyway. They took blood samples checking iron levels and then brought me over to a desk to sign a consent form. They promptly brought out a 200 page binder, saying I was required to read it prior to signing the form.

I opened up the binder and started to read, but quickly realized it was humanly impossible to finish it the remaining time. Several other people sat down next to me planning to give blood, signing the form without even opening the binder. I figured OK well, they aren't required to read the binder, but simply agree to the terms.

What surprised me, was that a lady taking blood, promptly walked over and said skip the binder.

I understand the desire to maximum blood taken from volunteers, but something is seriously wrong, when the people taking blood encourage and purposely take blood knowing there isn't enough time for the full required procedure to be preformed.

pnathan 12 hours ago 0 replies      
As a rule of thumb, I ask to see privacy policies. Usually they are not very long ( a few pages ).
asdfdsa1234 10 hours ago 0 replies      
I am routinely asked for my Social Security number by doctors and dentists, although they don't need it and really shouldn't be using it. I decline in a probably vain attempt to limit my ID theft/privacy risk, but I always feel like a loony when I do.
lgleason 9 hours ago 0 replies      
The problem is that some of these documents try to intimidate patients by adding statements that the patient cannot sue even-though they are un-enforceable. I have also seen cases where doctors have sued patients who leave bad comments about them on websites that allow you to rate a doctor. Bogus malpractice suits are bad, but suing a patient for leaving a bad review is unbelievable.
jebblue 8 hours ago 0 replies      
Stallman seems far out to me on some issues but this is one that irks me too. I'm glad he wrote the entry.
Keverw 13 hours ago 1 reply      
3,000 pages? Why would it need to be that long? Isn't that kinda extreme? I don't think any average person would even want to read that, and making a copy of that would just seem wasteful of paper... Couldn't they make it shorter?
MarlonPro 8 hours ago 0 replies      
Whatever happen to Social Contract? The worst thing that could ever happen in this country is if we start mistrusting established institutions.

Wait... as a geek, I enjoyed the story. If I was at the same establishment as Richard, I would be laughing my tail off!

gizzlon 13 hours ago 3 replies      
What happens if you just sign with a fake name? Is it still binding?

They lie, you lie ..

uslic001 11 hours ago 1 reply      
Blaming the doctor for Government mandated privacy policies due to HIPAA is not going to fix the problem. You have your wonderful legislators and the president to thank for this mess. If you have a problem with the law complain to your representatives to change the law. Every doctor office I have been to has shown me their privacy policy and none are 3000 pages long.
mibbitier 10 hours ago 0 replies      
Very glad I'm not a pedantic extremist. Seems like a horrible life to live.

The hardest thing is picking which battles to fight. Fighting all the battles possible isn't an effective use of ones time.

larrys 10 hours ago 0 replies      
Makes perfect sense that someone who is a binary thinker wouldn't be able to see that it was fine to sign this document in this particular case.
mibbitier 10 hours ago 0 replies      
Doesn't this pretty much sum up all software licenses? No one reads pages and pages of text and then clicks "agree". They just click "agree".
Tisca 9 hours ago 0 replies      
3000 pages (1500 two-sided pages) would require a ~7" thick binder. Never seen one, just saying.
jeffpersonified 10 hours ago 0 replies      
So this is what the Occupy movement is so upset about!
mike626 7 hours ago 0 replies      
Richard Stallman: Consummate Pain in the Dupa.
xxiao 10 hours ago 2 replies      
why does this have anything to do with hacknews?
napolux 14 hours ago 2 replies      
Just an unneeded rant IMHO
planetguy 12 hours ago 1 reply      
If anyone is ever wondering why nerds never rule the world, this is a perfect example of why.

Pedantry is the brakes that the universe puts on the very smart to stop them acquiring too much power.

JQuery knobs anthonyterrien.com
455 points by agumonkey  2 days ago   95 comments top 44
ender7 2 days ago 4 replies      
Nit: it's jarring that when I first mousedown on the control, the value changes. This makes small, incremental changes difficult.

Now, if I click on an area of the circle that is far from the pointer, perhaps it should snap. But if I'm close (or on top of the pointer), snapping is undesirable.

(compare to a physical knob, which is the thing being emulated here: touching the knob does not change the input, you must touch and then move)

tptacek 2 days ago 8 replies      
Beautiful, but, when is this ever the best UX for a control (outside of sound mixers and sequencers)?

(I'm expecting/hoping to get schooled on this.)

jowiar 2 days ago 1 reply      
Beautiful, but I don't want to see this in the wild. Knobs are bad for the same reason that pie charts are bad. Perceiving one-dimensional differences is easier than rotational/angular ones.
there 2 days ago 1 reply      
It's hard to make it 100 without it going back to 0. Maybe a gap between them and if you're already moused down going to up to 100, it stays at 100 as you continue to move the mouse right, but will go back down as you mouse left?
noonespecial 2 days ago 0 replies      
My nit: I can't crank it to 100 without it flipping back to 0 on me. If this was a volume control, that would suck huge.
unwiredben 2 days ago 1 reply      
I'd really like to see some limits put in -- if you approach 100 from the 90s, have it stick at 100 instead of wrapping around immediately. Same if you try to go below 0. Right now it's really hard to get the know to fix at the limits of its range, something easy to do with traditional sliding controls.
meanguy 2 days ago 0 replies      
Audio software made a bit of mess with the whole knob vs. slider thing. Digidesign released several products that used their linear fader code, but they only changed the graphics -- not the mouse code! Yup, you'd move up or down and the thing would randomly turn clockwise or counterclockwise.

Somehow this became a standard.

20 years of customer confusion and complaints yields this advice: there are at least three common modes for interacting. 1) up/down | left/right, 2) radial (follow the mouse pointer) and 3) relative radial (follow the pointer, but use it as an an offset in degrees of the original position).

The latter is useful for something like a volume control (or any real-world control, really). Otherwise one wrong click and you're at max.

In each mode you want both a linear and logarithmic scaling option. Otherwise you have the "soundblaster volume" problem where all the range is between 0 and 30, and 31 to 100 is largely ornamental.

There's a bonus mode using the number in the middle as a target. If you click and drag on that, you get the up/down mode even if the outside zone is normally radial. This guarantees that nobody is happy and seems to be the alternate standard in much audio software.

Click to activate THEN mousewheel to increment/decrement (again, using the linear or log scaling) is a sane compromise.

marcusf 2 days ago 0 replies      
Like a few other in the thread I'm now stuck looking at an application where I can use this. They look friggin' awesome.

For some reason, the basic CSS reminds me of Wipeout, and that makes me both nostalgic in general and nostalgic for my young naivitë for future (I bought everything associated with that game when I was ~12). It's weird that UX can evoke that sort of response, but now I want to use it everywhere.

csmeder 2 days ago 0 replies      
jQuery knobs + jQuery Rumble


Want to help update the script to keep the number in the middle?

jacobr 1 day ago 0 replies      
Nice, but a bit annoying to mix styles and other settings in the data attribute like that, and they would have to be repeated for each knob.

A library to easily parse custom CSS properties would be pretty cool. The "CSS" could be either in regular stylesheets (browsers ignore properties they don't understand), in a data-style attribute or maybe in a <style> element with a custom type attribute value. Browsers ignore properties and selectors they don't understand anyway.

.knob::-jquery-knob { ... }


    <style type="text/jquery-knob">
.knob { ... }


    <input style="width: 150px; -jquery-knob-skin: tron">

smoody 2 days ago 0 replies      
Really nice. I'd make one change if I had the time to fork it myself... allow vertical and/or horizontal mouse movement to control the slider in addition to circular movement. In some cases (such as time-based scrubbing), having the control spin one or more times by moving the mouse across the window is easier than trying to adjust it by circling.
SoftwareMaven 2 days ago 0 replies      
I really like the interaction on my iPad with a couple small issues: don't jump with I first touch and don't allow wrapping from max to min.

Alternatively, I don't think I would want to use a mouse with these.

superuser2 1 day ago 0 replies      
Being familiar with knobs in digital audio workstation UIs, it's somewhat frustrating that I have to trace the thing around in a circle. Convention is that clicking in the knob and then dragging continuously up or down or using the scroll wheel should change its value.
peter_l_downs 2 days ago 1 reply      
Extremely awesome. My only (nitpicky) objection: I wasn't able to do a simple

  $('#myProgressKnob').attr('value', _new_value_);

and have the graph around the edges update. The number in the center changes, but the circular part doesn't get updated (at least, for me). I really wanted to use this in my latest project (shameless plug: http://wwikt-peterldowns.dotcloud.com) but couldn't make it happen so I'm switching back over to the twitter bootstrap progress bars in the meantime.

Disclaimer: I'm a totally new to JS and could be trying to do something un-possible. Thoughts? Has anyone else been able to make this happen?

illamint 1 day ago 0 replies      
I wanted to work on some of the usability issues raised in this thread, but I'm not the biggest fan of the style of the original JavaScript, so I ported (most of) the code to CoffeeScript:


I left out some of the configurability by choice, and there's no Cakefile yet, but I added the ability to color the knob through CSS via the addition of a hidden style target element. Maybe not a great practice, but I like it better than embedding style information in the code and HTML. Additionally, it'll draw resolution-doubled on Retina displays.

Feel free to hack on it.

reid 1 day ago 1 reply      
For comparision, YUI offers a similar widget: Dial.

"It's like a real-world, analog volume control dial, but with much finer UI control."


sushi 2 days ago 1 reply      
I think we will see this being used in lot of 'web infographics'. I personally was never fond of infographics in the image format but it helped spammers derive SEO juice which is how the whole infographic mania started.

Infographics meant for web consumption should be made using HTML, CSS and JS not images and this library will help a great deal.

davidw 2 days ago 1 reply      
Cute. One thing that would improve it would be keyboard shortcuts. The editing of the number in the middle feels a bit awkward too. I guess it might make a nice replacement for a slider in certain circumstances.
wildmXranat 2 days ago 0 replies      
Very slick looking stuff man. If I could suggest something, it would be to give an option to show the data display numbers outside of the circle, or give an option to call a callback handler when the data changes. This way a finger motion adjusts the knob, and the data display is not obscured. Good stuff.
ben0x539 2 days ago 1 reply      
It's pretty, but I think it would be more usable if it didn't wrap between 100 and 0.
10dpd 2 days ago 0 replies      
I implemented something like this for my 'Clock' iOS app about 6 months ago.

Check out:
and double tap to set the alarm using this UI metaphor.

The takeaway for me was that UIWebView is still too unresponsive to handle touch events, so although the app uses HTML5, the touch event handling had to be implemented in ObC.

biznickman 1 day ago 0 replies      
So I first tried this on mobile and that's where this interface becomes horrific. As my thumb slides over the number toward the top of the circle, I can't see what I've selected.
biznickman 1 day ago 0 replies      
So I first tried this on mobile and that's where this interface because horrific. As my thumb slides over the number toward the top of the circle, I can't see what I've selected.
faramarz 2 days ago 0 replies      
Works beautifully on my iPhone. I can see this being used for filtering "results per page" on ajax shopping websites Great work!
csomar 2 days ago 0 replies      
I don't like to sound negative but this looks to me the wrong way to do it.

You are redefining here a UX/UI element: The slider. Well, I like breaking the rules and innovation, but you have to care about the end user. I have been working with computers for over 10 years now, and I didn't figure out what these small circles do until I checked the HN comments.

I might be a little sleepy, it's late here; however, I have strong doubts that any Internet/Computer semi-literate will figure out what this do and how to make it works. This is the case where a 3D shadowed boundaries, little bars and gradient colors can make a huge difference and guide the user to use the tool.

dm8 2 days ago 1 reply      
This is stunning. UX metaphors can work in number of situations.
etfb 2 days ago 0 replies      
Even for JavaScript, that's an accessibility nightmare. Horrible!
hackNightly 2 days ago 0 replies      
This is simply stunning. Fantastic work, can't wait until I have a good reason to use this.
gdubs 2 days ago 0 replies      
Works really nicely on an iPhone " much better than a lot of knob controls in many native apps.
lunixbochs 2 days ago 0 replies      
The design is visually nice.

UX-wise... I never encounter controls like this, they don't look functional, and I wouldn't necessarily be likely to click one in the wild.

Palomides 2 days ago 0 replies      
complaint: no visual way to determine if a knob is read-only?
captaincrunch 1 day ago 0 replies      
Thanks! We were starting to create our own custom knobs for our site (verelo.com). This saved us a lot of time. We'll definitely be contributing back.


grigy 2 days ago 0 replies      
One use-case would be setting clock time, though with some modifications. I had such control in mind before. I think for some of us it would easier to make two clicks rather than enter numbers.
sltkr 1 day ago 0 replies      
It seems that the text field accepts arbitrary numbers and then sets the knob to a rather random-looking position. It would make a lot more sense if these values were clipped to the range of the knob.
bluetshirt 2 days ago 0 replies      
These feel very strange. They don't behave like any knobs I've ever encountered in software.
coda_ 2 days ago 0 replies      
Reminds me of this: http://www.schillmania.com/projects/soundmanager2/demo/360-p...

... which has been around for a few years.

Sym3tri 1 day ago 0 replies      
"jQuery Knobs" sounds like a term for dickish jQuery enthusiasts.
agumonkey 2 days ago 0 replies      
I wonder how long it will take before someone publish cubase.js now:)
holgersindbaek 1 day ago 0 replies      
I would love to be able to use this with other canvas-shapes... How can this be implemented?
michael_f 1 day ago 1 reply      
Am I the only one who thought this post was about people?

Cool coding though :)

msmamet 2 days ago 0 replies      
I thought this was going to be an article about "brogrammers,"
mmukhin 2 days ago 0 replies      
watch out, honeywell might sue you
LyleK 2 days ago 0 replies      
Very nice!
dhruvbird 1 day ago 0 replies      
fuckin awesome!!
Show HN: my Mac app just got fireballed daringfireball.net
428 points by markchristian  3 days ago   153 comments top 60
chime 3 days ago 3 replies      
Having been a beta-tester of DragonDrop from the start, one thing I'd like to add is how important the concept of user-interaction truly is and how Mark really innovated in this regard. Lots of Mark's friends, including myself, suggested using one of the screen corners as a hot-zone. But since most people usually have other actions associated with the corners and the extra distance required to drag the icon far from the center makes the movement tedious, Mark kept looking for a better way to handle it.

He spent weeks & months trying out different UI and actions, finally coming up with the 'shake-your-cursor' action. It seems trivial now that you see it but it was something none of his potential users could imagine. And since then, he's been refining the app constantly to get it to its current state, including the rotating background and optimal thumbnail for a variety of mimetypes. I'm so glad to see the app finally getting the attention it deserves.

chime 3 days ago 2 replies      
Congrats Mark! Looks like you'll surpass your 2013 goals before it even starts. I'm a very happy user of the app and have known Mark for years. He is awesome!

He has another really neat and surprisingly useful app on the AppStore: Lidpop - http://itunes.apple.com/us/app/lidpop/id441887602?mt=12 - "Lidpop makes your Macintosh play a sound when it sleeps or wakes up. Close the lid with a resounding clank or a happy slide whistle. Open it back up with a laugh or a whimsical chime " it's up to you. Lidpop brings a dash of personality to your computer."

When I open my Air, Scotty (Star Trek) says "Hello Computer" and when I shut it down, Vader (Star Wars) says "Nooooooooo." I know it seems trifling but always brings a smile to my face wherever I am, including work meetings.

citricsquid 3 days ago 2 replies      
This is a fantastic app, not just because of how much of a great utility it is (does anything like this exist for windows?) but the name is absolutely brilliant. Not only is it very easy to remember "Dragon Drop", it's also an excellent wordplay ("drag'n'drop"). The video is very good too. So wonderful, a perfect combination.
graeme 2 days ago 1 reply      
Great idea! Just bought it. I previously did workarounds such as dragging an entire chrome tab out to move the picture. Got awkward sometimes.

You might want to consider not having a free trial. I watched the video, was sold, went to click buy, then saw the trial button. Still went to buy, but almost clicked the trial out of habit.

Edit: Wow, 45 seconds later it's already installed and working seamlessly. Took me all of 1.5 seconds to figure out how to shake on a touchpad, and now it feels second nature. I'll repeat, great work and congrats on getting fireballed.

rkudeshi 2 days ago 1 reply      
I can understand why you're redirecting traffic directly to the App Store, but I think it might be doing more harm than good.

I vaguely remember seeing something about this app on HN before, but I don't really remember what it does exactly. Based on all the comments here, it sounds like you made a screencast that does a great job of demonstrating the product. Unfortunately, by redirecting the traffic, I can't see that screencast (and the App Store screenshots don't really demonstrate what the app does).

This product might very well be perfect for me, but I don't know because I can't see the video of it in action because of the redirect.

Just something to think about.

aculver 3 days ago 1 reply      
Congratulations! What an awesome utility. Your demo video is awesome. More than happy to send you money for this. Would love to hear how you fare from all the attention!
runn1ng 2 days ago 1 reply      

a quick question... my Mac cannot be upgraded to Lion. Is there a slight possibility of making it work for Snow Leopard?

And if not - I would like to know - just for general interest :) - what is the blocker.

andos 3 days ago 1 reply      
Just bought it! Skipped the trial because the video demo was enough. You should really be proud. Works like a charm, somehow feels like a UNIX tool. Hope you get rich in exponentially faster increments of five bucks.
dguaraglia 3 days ago 1 reply      
Is this really dependent on any particular Lion feature? I was about to buy it but I'm still on 10.6.8 (never bothered to update to Lion because of the myriad annoying new 'features').

tl;dr: if you can make it work in 10.6.8, I think you might get some more $love$ from some of us.

nostromo 3 days ago 2 replies      
This is delightful. Apple, please buy this guy out like you did with CoverFlow.
gurkendoktor 2 days ago 1 reply      
I wanted to love this because I am heavy trackpad D&D user, and I think D&D has only gotten worse after Leopard, but... :(

I can't get the gesture to work reliably on a (magic) trackpad, and with a mouse I usually don't bother to use D&D. Also, you cannot stash things and then move them to the desktop, which is my #1 use case. If you put things into Dragon Drop, then reveal the desktop, the Dragon Drop window will move out of sight too.

jkahn 3 days ago 1 reply      
I was one of the people in that fireball. Bought it through the App Store. Great app.
noonespecial 3 days ago 0 replies      
Neat App. The most surprising thing about it for me was actually the name. Not that it was a cool word play, its just that I'm so used to the good names already being camped by completely useless crap that its weird to see a neat name and a decent app attached to each other.
ghshephard 2 days ago 0 replies      
I've spent the last four + years dragging stuff to that tiny little space in the bottom left of of my screen near the dock, switching to the app I'm interested in (sometimes after failing for 20-30 seconds of trying to get focus onto the app while holding onto my mouse button and hoping the "springboard" functionality of the OS gets to correct window) - and then "show desktop" - hope that I can find the stuff I just dragged to my desktop in what is usually an over cluttered screen, and then dragging it to the app that show (hopefully) be easy to get back into focus.

I probably do this three-four times a day - and it's one of the few miserable parts of my OS X existence.

The ROI for this app will be measured for me in about one day of frustration that I no longer have to deal with - the "shake to get clipboard" is brilliant. Just the toolbar drop alone would have been sufficient to make me happy.

Thank you so much - I don't recall ever being so pleased with something new. So worth $5. Brilliant.

dools 2 days ago 1 reply      
Wow this is awesome. I created this thing[1] a little while back that's just an Automator service (hence can't be sold in the mac app store according to their install guidelines) that solves a similar issue I was having - basically I wanted to browse through my file system picking a bunch of files and then drop them in one place (like cumulative copy/paste for files).

I love how this solution fits perfectly into an existing workflow, though. Now if only it were cumulative ... ;)


EDIT: I should also note this grew out of a little command line utility for unix: https://github.com/iaindooley/pickdrop/

robomartin 2 days ago 1 reply      
Looks like a cool utility. I will probably be well received by those who rely on dragging and dropping.

I personally never drag-and-drop unless it is the only way to get something done. Copy and Paste via the keyboard is faster and far easier to use. It also gives you all the time you need to navigate wherever you need to go.

Further to that, because I switch between platforms multiple times per day I just can't deal with the weird keyboard mappings on the Mac. Weird, of course, from the perspective of any other platform. If you are only on Mac it is very likely that everything else feels weird to you. I get it.

For example, I wanted copy and paste to be Ctrl-C and Ctrl-V. I wanted the editor in Xcode to behave like most other editors behave in other platforms and IDE's. I'm old school, for me the keyboard can be far faster than going for the mouse/touchpad/trackball all the time.

My solution was to install KeyRemap4Macbook (no affiliation) and make the Mac keyboard mimic Windows/Linux keyboard and mappings as much as possible.

I won't be buying your app, but great job. Like it a lot. Apple should buy it off you and integrate it into the OS. It's that good.

dazbradbury 2 days ago 1 reply      
I'm confused, is this just an alternative to copy & paste? Or even cut/paste?

The demo for example talks about putting a picture in an email. I would currently right click -> copy. Go to email -> paste. Is this really easier?

The clipboard utility I find most useful is ditto [1], which has a nice history and shortcuts for pasting from your history.

Disclaimer: I'm a windows user, so maybe I missed something.

[1] - http://ditto-cp.sourceforge.net/

seanmccann 3 days ago 1 reply      
I followed your App Store struggle and am really happy you were finally able to get it approved. This is a really great utility.
lunaru 3 days ago 1 reply      
Congrats Mark! Looks like a few HN folks have already used this app in the past. How did you reach out to an audience to build up beta testers? And, more importantly, how do I make sure I'm on people's hit list for beta testing new apps?
nsomaru 3 days ago 2 replies      
I just realised that with the new update to Alfred (it lets you drag out of the results bar), that this could be one of the most useful little utilities that I've invested in.

I just hope it works as I expect.

Navigating the filesystem is so 2011 :)

edit: would be cool if you could post an update here on just how you did after you were fireball'd _and_ HN'd!

mrchess 2 days ago 2 replies      
I own a similar app called Yoink that does the same thing. Any reason why I should migrate to Dragondrop/does DND do some things better?
gojomo 2 days ago 1 reply      

I could see this same gestural/persistent-floaty trick being useful on iOS (and similar full-screen foreground or touch environments) as well.

(Though, reserving a side of the screen as a clip-dock would be an obvious touch-OS alternative, and might work better on touch screens than it would on a desktop. On the desktop, the corners and edge are already heavily colonized with meaning.)

mikhailt 3 days ago 2 replies      
Hey Mark,

Is this useful on the trackpad? It seem to be about 50% accurate on my magic trackpad when shaking back and forth.

Also, what do you mean by "under the mouse?"

jasonlotito 3 days ago 1 reply      
So... what are you building next? I'd like to buy it. =)
rjb 3 days ago 0 replies      
Seriously brilliant. And the video is spot on in answering questions/concerns that anyone would have.
mattberg 3 days ago 1 reply      
are there any differences in terms of features between the Mac App Store version and the one you can buy directly from your site? curious if the "sandbox" in the Mac App Store caused any file system issues.
juliano_q 2 days ago 0 replies      
I use to drag and drop on my macbook many times a day to organize my Downloads folder and I found this application to be amazing. Bought it seconds after watching the video. Congrats, it is an amazing and well executed idea.
why-el 2 days ago 0 replies      
This is an excellent app, but I suppose it works best with a mouse. Using the trackpad is a bit of a pain, maybe it could have been nice to fire up that box with a shortcut?
kposehn 2 days ago 0 replies      
I have always loved full-screen mode on Mac OS, but dragging and dropping things between screens was a royal pain in the arse. You fixed it.

Thank you.

factorialboy 3 days ago 1 reply      
So, its like doing a 'cut' and then navigating and performing a 'paste'.

Did I miss something in the video?

cpr 2 days ago 1 reply      
Looks nice!

I wonder (judging from other comments) if people know the hack whereby you can start a d'n'd and then use command-tab to switch apps while dragging. Saves a lot of grief.

markchristian 2 days ago 0 replies      
To everyone who checked out my app: I am humbled and proud, and I thank you for your support. Your feedback (and reviews/ratings on the App Store, if you roll that way) are welcome.
mikebracco 3 days ago 0 replies      
This is a cool app. The functionality is not as extensive as this but Path Finder for Mac (Finder replacement) has a featured called "Drop Stack" which essentially allows you to pile files somewhere before you decide what to do with them. http://cocoatech.com/pathfinder/
davidu 3 days ago 0 replies      
This is so awesome. The video is great!
Dejital 3 days ago 0 replies      
Well done. This is the sort of app you look at and think "Why isn't this built into the operating system already?"
antifuchs 3 days ago 1 reply      
Congratulations - that is a seriously useful utility. At first I thought that holding down the mouse button wasn't that bad - but your browser tab demo absolutely convinced me (-:

Thanks for making this - anything that improves my Mac's drag&drop and copy&paste functionality is worth at least $5.

sudhirj 2 days ago 0 replies      
How comfortable would you be sharing sales figures caused by the fireball?
kapowaz 2 days ago 0 replies      
I wanted to find out more about this app when I saw it mentioned on DF, but opening the link on my iPhone I was automatically redirected to the App Store. There I was given a message about this only being available on the Mac App Store, and a link presented which re-opened Mobile Safari and took me to a page talking about Mac OS X Lion and the App Store.

Partially Apple's fault, undoubtedly, but are you deliberately redirecting people to the App Store? Or is that some freebie that comes with embedding an App Store link/banner?

hynek 2 days ago 0 replies      
It doesn't work with files from stacks. Yoink has a keyboard shortcut for that, I haven't found a similar functionality inside of DragonDrop?
brianlash 3 days ago 1 reply      
This is just brilliant. Please create a Windows equivalent and make my whole year.
dkersten 2 days ago 2 replies      
I don't understand the part about browser tabs - when I want to drag something from one tab to another, I just hover the mouse over the destination tab and the browser switches to that tab. Takes about a second.
sampsonjs 3 days ago 0 replies      
Wait, does this mean Mac OS isn't already perfect as is?
rebo 2 days ago 0 replies      
Dude nice app, but can you add a quickview button/quickview spacebar binding, so that I can check the whats in my dragondrop.

Also, maybe bloat but can u add plug-in system so we can have things like a right click with send to twitter, imgur, pastebin, etc?

im sure you can think long and hard about a better user experience than a right click, maybe whatever 'providers' you choose can appear as a logo to the right of the main dragondrop box, and you can drop on them if u want to upload to them. Or if you drop it in the regular dragondrop box, u can just click on the relevant logo.

Also can you add a buffer of say the last 10 or so items copied, like a stack. That way if i am composing something i can chuck a load of things in dragondrop then yank them back in reverse order, or all at once.

Oh yeah and maybe can do other stuff with this buffer, like zipping if its a loada files. You can then drag the zipped file off, or concatenating PDFs if its a load of pdfs. Or uploading an imgur album if its a load of pictures. Watch out for that bloat :p

Anyways just some ideas man, good luck great app. I'm sure it can be even better!

brevityness 3 days ago 0 replies      
You're about to get HackerNews'd. Great app!
jongraehl 2 days ago 0 replies      
The windows-7 version of the drag+shake gesture (for moving windows) is very poorly detected. I assume this has a better detection algorithm.
cgcardona 2 days ago 0 replies      
Bought it. Very good first impressions.

Nice work and congrats on the Daring Fireball mention.

bosie 2 days ago 1 reply      
how could i dragondrop a pdf viewed in chrome into another app without having it to store on disk first?

is there some kind of minimum-wiggle-movement i have to hit in order for drangdrop to get activated?

Drbble 2 days ago 0 replies      
It's a clipboard shelf app?


zephjc 2 days ago 0 replies      
drag, command-tab to switch apps, drop on the relevant window.
teilo 3 days ago 1 reply      
You just got my $5.
tuananh 2 days ago 0 replies      
Great app. However, shake to display drop stack is not convenient at all on trackpad.I'll stick with Yoink for now!
mjackson 3 days ago 0 replies      
Congratulations Mark! A well deserved fireballing. Have fun with it!
alainbryden 2 days ago 0 replies      
This app makes me want to get a Mac. Awesome job.
georgio 2 days ago 0 replies      
DragonDrop intro video link on YouTube - http://www.youtube.com/watch?v=1M0PAiiJLlo
jimcrews 10 hours ago 0 replies      
Congrats! Just bought it, and already loving it.

Jim Crews
CEO - CharitySub.org

chris_wot 2 days ago 0 replies      
Is there a version for Windows?
webwielder 3 days ago 1 reply      
Were you inspired by the Shelf from NeXTSTEP?
jpxxx 3 days ago 0 replies      
You had my five dollars within 10 seconds of the video starting. Brilliant, brilliant, brilliant. Thank you!
jameswyse 2 days ago 0 replies      
This looks great but it's too hard to 'shake' the cursor using a trackpad.
chromejs10 2 days ago 0 replies      
Great concept Already bought :)
Why should I have written ZeroMQ in C, not C++ 250bpm.com
366 points by rumcajz  1 day ago   197 comments top 33
haberman 1 day ago 4 replies      
I struggled with a similar question for my low-level protobuf library UPB (https://github.com/haberman/upb). Here are some blog posts describing my dilemma about this: http://blog.reverberate.org/2009/11/porting-upb-to-c.html http://blog.reverberate.org/2009/12/torn-over-c-question.htm... I ultimately chose to stick with C, and I'm happy with my decision.

When people ask me why I stuck with C, it's difficult to give a single overwhelming reason why C is better. The most clear-cut one is that C++ is not supported in the Linux kernel and I want my library to be usable there. But the other reasons why I prefer C are not as easy to quantify.

One reason is that code written in C is more transparent. You can look at some C and know what it is going to do (add some numbers, call a function, etc). Macros are the one exception to this, but good C programs use these sparingly and clearly mark the macro with an UPPER_CASE_IDENTIFIER. C++ is much harder to "see through." Any function call could end up throwing an exception which does a non-local exit from the function. Any addition, assignment, pointer dereference, etc could actually be an overloaded operator. Any function call could be performing a user-defined implicit conversion on any of its parameters. For overloaded functions, the compiler decides what function is actually called by applying non-trivial pattern matching rules. The runtime will automatically invoke any static initialization code (like constructors of global statics) pre-main in an undefined order. etc. etc.

I intend to get a thorough security review of my library once its design stabilizes. I asked Tavis Ormandy (a fellow Googler and security badass) which language is easier to audit for security and he said C for the reasons of transparency I listed above.

People often say that you can just avoid using the parts of C++ that you don't like. That is true, but hard to enforce, especially on a multi-person project. If you're asking others to follow your set of rules, you have to write those rules down in meticulous detail, leading to something like the Google C++ style guide (http://google-styleguide.googlecode.com/svn/trunk/cppguide.x...), and at that point you're asking your contributors to study and internalize a large and complicated list of what is and isn't allowed just for the privilege of contributing to your project. I don't think this approach scales to lots of projects that are all choosing a different subset of C++.

There are definitely things I miss by not having C++'s facilities. Constructors and an implicit "this" parameter are both really nice. Constructors are remarkable in that you can write a single function that gives you three different construction patterns for free (direct construction, heap construction with "new", construction in an arbitrary location with placement new). Automatic upcasts are nice and totally safe. Inheritance and public/private specifiers let you express directly lots of things you can only express with comments in C.

But overall I think that using straight C is the right choice for a project like my library UPB.

evincarofautumn 1 day ago  replies      
This is absurd. Exceptions are just generalised returns. You can use them well and benefit from them, or use them poorly and make the stuff of nightmares.

It's the same with any feature of any language. You can choose not to use exceptions in your code, if that makes it easier for you to understand and manage, but it's certainly not the fault of the feature in general.

Basically, it's up to you to structure your code well. Yes, it gets bad if a potentially throwing function can be called from multiple points. The error needs to be handled at every one of those points, and probably in much the same way.

But if you see repetition, why aren't you factoring it? And why are you calling that function from multiple unrelated locations in the first place?

I get it. I've used C++ for half a lifetime"it's a hopelessly broken language. There are tons of things about it that just make me furious. But I can get stuff done in it because I've taken the time to understand it in depth. Don't complain about the language or a particular feature thereof just because it's not suited to your problem or your way of thinking.

There are other languages out there (Erlang) that are far better suited to stable zero-downtime systems than C++. There are languages (Haskell, Lisp) that help you better manage complexity than C++. Every language implementation worth its salt has C bindings, so you can write performance-critical code at a low level, while still managing the whole system in a high-level language. There are options. Explore them!

nirvana 1 day ago  replies      
"First, it's important to take into account that ZeroMQ was intended to be a piece of infrastructure with continuous uptime. If should never fail and never exhibit undefined behavior."

There is one language/platform[1] I'm aware of designed for this type of system, and which achieves it beyond all others: erlang.

If Uptime is important, how do you handle it when you want to update your software under C++ or C? You have to bring the service down. Erlang supports updating software while its still running.

If exception handling is important (to prevent crashes) how do you handle it when there is a bug? Erlang has supervisors that not only help you manage exceptions but keeps the service going when an unhanded exception causes things to crash.

More importantly, intrinsic to the nature of the way you write erlang code, you eliminate a great deal of the possible errors. In C code you have to check to make sure things are in the right state while running your code. In erlang, your code doesn't run (the function isn't called) if the state isn't right to handle it. It flips this problem eliminating many classes of errors. Further there is OTP support for many types of processing (like state machines) that makes writing these types of solutions much easier.

Erlang is great for making sure no undefined behavior happens. Erlang is also great (as I understand it, this I haven't gotten into) for creating unit tests that can fully exercise the code across all possibilities.

Where does erlang suck? I don't think it sucks anywhere because it has solutions for all of its own problems. For instance, single node performance of an erlang program (which runs in the BEAM VM) is going to be lower than single node performance of a C program... but in erlang you can increase capacity nearly linearly simply by adding more nodes... while this is nearly impossible with almost all C/C++ programs without spending a lot of time working on it.

But where erlang is weak is that single node performance which might be really important[2], and if it is, you can then write your performance critical bits in C.

Thus the things that do the real work can be fast and in C but the things that keep the system going and distributed (where performance of this kind is much less critical, but performance of the operational kind is paramount) can be written in erlang.

So, I think the second mistake he made, and is still making, is thinking that the project has to be written in a single language.

If you use the best language for the job, then sometimes that should mean using two languages right?

Erlang is not a hipster language. No hipsters use erlang. It is 25 years old and boring and %99.9999999 uptime. Its ugly. Its not hot and fresh and new. But it is the right language for the job, when you've got a system that need to run across cores or nodes, or have very high uptime.

And really, it doesn't take but a couple weeks of learning. Then the syntax will be gorgeous and you'll be a better programmer for it.

[1] I say "I'm aware of" for a reason. There may be others as well suited when this is the primary goal, possibly even better suited. I don't know all languages. But I do have a pretty good survey started in the days when new languages were as common as YC batches and much more experimental than they are now. My point isn't to bash other languages but to promote one that isn't understood correctly by many people.

[2] I think this is the case a lot less often than people think. People benchmark things on a single node even when they know they are going to build a cluster of machines to run them, and then pick them based on this. Redis is really fast. Is redis distributed? Riak has a fully distributed in memory database (which means 10 32GB nodes means you can store 320GB in RAM if you want, rather than have 10 nodes all storing the same data in a cache, and thus much less data cached for the same number of machine with something like Redis.

shin_lao 1 day ago 5 replies      
It looks mainly looks like a rant on exception, but nothing forces you to use exceptions with C++. You can even allocate memory in a way that doesn't throw.

We don't use exceptions for the reasons described in the article (and many others), we use boost::system::error_code instead.

But that's for the first half of the article, and the OP admits that he simply gave up on exceptions.

As for the part about half-initialized state, I think the problem is that the author is trying to do OOP in C++ without exceptions. Perhaps a more generic programming approach would solve his "half initialized problem".

Don't want to sound like a snob, but it really looks more like a design problem than a language problem.

pmjordan 1 day ago  replies      
This strikes me as throwing the baby out with the bathwater. While the criticisms are valid, and people love to hate C++ for all sorts of reasons (I avoid C++ exceptions altogether), C++ is for practical purposes a superset of C, so if a C idiom works better than its C++ equivalent, you can just use it instead. I've been working on a project which has necessarily been written mostly in pure C (kernel code), and I do really miss C++'s extra type safety. (GCC has some type warnings that help, but it's still not as safe)

Then again, maybe an entirely different language, geared towards high availability, such as Erlang or Ada, might have been a better choice in the author's case.

aidenn0 1 day ago 0 replies      
This describes quite well why I strongly recommend against exceptions in embedded code.

There are ways that you can use constructors, one way is to have an error-code as part of the object that the constructor can set. Another way is to use the empty-constructor/init-method pattern that he talks about and wrap it in a static method (or function) and that becomes your actual constructor. I think you can even make the constructor private which will prevent accidental calling of it.

But this is just another example of why high-reliability systems require considerably more discipline in C++ than in C, since C++ gives you more rope, it's easier to hang yourself.

There is an argument that such a limited dialect of C++ is so close to C (with a good 3rd party data-structures library) that there is no point to C++ in such situations (which seems to be the point the article is making), and I tend to go back and forth on this.

cageface 1 day ago 5 replies      
I really think the final nail in C++'s coffin is going to be its refusal to play ball in a polygot world. Most languages let you drop down into C pretty easily but C++'s weird name mangling, exceptions and complex, usually nonstandard ABI makes interfacing with C++ a major PITA. In the days when C++ was used soup-to-nuts this wasn't such a big deal but these days you almost always want some kind of higher level language on top.

Just look at all the contortions WinRT has to go through to expose its APIs versus the clean Foundation/Cocoa layering you see in iOS/OS X for a great example.

Locke1689 1 day ago 1 reply      
Going forward, I think C++ is not a bad choice, but I can definitely see the distaste for exceptions. Unfortunately, as the author notes, simply not using exceptions doesn't quite do it. Fortunately, the hard work has been done for you. Much of Google's code was written in an exception-free manner before newer evolutions of C++ came out. This means that they have banned use of exceptions in their style guide. Luckily, it also means they've developed workarounds for most of the exception pain points.

I would encourage everyone to take a look at the Google C++ style Guide[1]. Most of the complaints are addressed in that article. Constructors can only signal errors through exceptions, so Google C++ allows only basic initialization in the constructor -- all real work is done in an explicit Init() method which can signal an error. I believe the guide addresses the posters other concerns too.

In general, the Google C++ style guideline is a very good resource for writing consistently good C++.

[1] https://google-styleguide.googlecode.com/svn/trunk/cppguide....

Meai 1 day ago 1 reply      
That's awesome, I'm already looking into crossroads-io. I like C because it's that much more readable: There is no magic, you always know where things are and where they are going, in terms of memory and control flow. C++ seems very convenient at first, all the nice standard libraries do have attraction for me but in the end you end up with tons of weird hierarchy magic, friend classes, nested classes, copy constructors and destructors firing at the weirdest places. Now everybody says: "Well you don't have to use those!". Well, true but in practice it doesn't turn out that way.
dustingetz 1 day ago 0 replies      
I wonder what error-monad looks like in C++, or C for that matter.

here's a rough, probably incorrect demo in python: https://gist.github.com/2653752

gives you nice, clean, exception-like error handling that doesn't leak to the wrong level of the call stack, and in a statically typed language the compiler can verify your error handling for you. quite similar to checked exceptions. call stack issues can be fixed with some low level C, or you could even unwind the stack with some exception trickery.

gruseom 1 day ago 1 reply      
90% of this thread isn't addressing his core point, which is that even if you use C++ without exceptions, constructors and destructors still make it hard to be strict about error handling, and the extra complexity isn't worth it for projects like his.

Fine to disagree, but respond to the point. So far the relevant objections I've seen are: (a) you shouldn't do anything in a constructor that might fail; and (b) destructors can't fail. Weak. Is there a good counterargument? To be precise: why is the OP wrong to say that, to be strict about error handling, his C++ needs to look like the block of code that follows the sentence, "There's a new 'semi-terminated' state" in the article?

(As for most of the comments, which boil down to "OP is ignorant of basic things about C++ and programming", come on you guys, how likely is that? Who's more likely displaying ignorance here?)

zvrba 17 hours ago 0 replies      
His reasoning is bogus. For his C equivalent, he writes:

> There are only two states. Not initialised object/memory where all the bets are off and the structure can contain random data.

He can get exactly the same effect by mimicking fstream interface: use constructors and destructors as they were meant to and introduce bool operator! to check whether the object has been successfully initialized.

In this scenario, only destructor needs to know about the "fail-constructed" state. Other methods don't need to implement the state-machine; calling them on "fail-constructed" object would be undefined, exactly as in his C version (e.g., calling foo_bar without calling foo_init and checking that it succeeded)!

crawshaw 1 day ago 0 replies      
For careful error handling, my favorite language is Go. It lacks exceptions, so you have to return errors as in C. But it has python-style tuple return, making it easy to return a value or an error from any function.

The fact that errors are explicitly returned requires the programmer to explicitly handle them, which encourages design that considers error handling.

The evil of exceptions is they hide errors until they happen.

wladimir 1 day ago 0 replies      
Exceptions are indeed not the silver bullet to error handling. Handling errors upstream can be useful as catch-all, but when the entire stack has been unwound, it can be hard to recover the error usefully. Also it is hard to make a sensible inheritance hierarchy, and every library chooses its own, generating a forest of different-but-equivalent exceptions to handle.

A fully-fledged condition system (like Smalltalk, CL) would allow for a lot of scenarios where exceptions currently give trouble. They would allow recovering the problem where it happens, retrying operations, and so on. Too bad so few languages have that.

However I don't think the right solution is to use an even more primitive language. C seems simple, but you end up doing everything yourself that would otherwise be done by the compiler, which is a lot more work, bug-prone, makes the code verbose, and generally inconsistent (unless you're very disciplined; forget about it in a team).

jacquesm 1 day ago 0 replies      
The one advantage of C over C++ is simple: what you see is what you get.

If you have to wonder about what a statement really might mean depending on a bunch of state that was fed to the compiler then that really spoils things.

Suncho 1 day ago 1 reply      
In C++, if you run into an error and you know how to handle it, you handle it. This is exactly the same as C. Exceptions are only there for when you don't know how to handle an error. Instead of calling exit(), you throw an exception and hope that someone further up the stack can do something useful. By default, your program terminates, just like exit... but all your destructors get called, so you don't leak database handles or locks or other resources. Nice.

I've read the Google C++ style guide and it's basically a joke. At least it was a joke two years ago. The guide even contradicted itself in multiple places. Google bends over backwards to avoid using exceptions and the result is that C++ isn't C++ anymore.

vz0 1 day ago 0 replies      
GCC is finally switching from C to C++, and they are actually avoiding exceptions and RTTI.


I salute them on following strict coding conventions.

st3fan 1 day ago 0 replies      
Interesting read but the problem is not C++ here. The problem is the author's usage of C++ and specifically exceptions. If he does not like exceptions then just implement more traditional error handling while keeping all the other good things that C++ provides.
RandallBrown 1 day ago 0 replies      
This may just be because of when I learned to program, but I find that writing object oriented code makes everything easier to understand. The stuff you need to do with C where you're passing around structs and state and pointers usually looks pretty ugly to me.

Error handling is a pain in any language. "This thing that should NEVER fail just failed, now what?" If you're not in a recoverable state, realistically, what can you do?

I know that constructors can fail, but it's pretty abnormal for that to happen. I like the way objective-c handles it. Since everything is dynamically allocated and you can just see if the object exists to find out if it works. Lots of methods have an extra NSError parameter that you can use if you need more information.

pkmays 1 day ago 1 reply      
I'm not C++ savvy, but I know from reading Google's C++ style guide that they also disable exceptions. The guide leaves it at that and doesn't say anything more about how to deal with errors. Does anyone here know how these big Google C++ codebases handle errors instead?
malkia 1 day ago 0 replies      
Just to quickly note here: Certain very popular game console does not allow use of C++ exceptions - the underlying runtime / abi / whatever simply does not support it.

Not that you would ship ZeroMQ code in it (it's GPL), but still.

Oh, and I love ZeroMQ, and I even love it more, that the "C" interface was the one being public, not the "C++".

Also good article. I love exceptions in higher-level languages - lisp, lua, etc. - but I prefer error codes in lower-level ones, and I consider C++ as such.

HardyLeung 1 day ago 0 replies      
The reasoning is very poor. I thought he was going to say something along the line of portability. Nope. It was about exception.

Granted, exception is problematic. I don't use exception for similar reasons. However, given the nature of this project, it should have been clear that exception should not have been used in the first place. Instead, be very explicit about error handling. This is really a poor design choice. How is it the conclusion that the answer is C, rather than "C++ without exception?".

signa11 1 day ago 0 replies      
>Now consider what happens when you add inheritance to the mix. C++ allows to initialise base classes as a part of >derived class' constructor. Throwing an exception will destruct the parts of the object that were already successfully initialized with this

which object is he talking about here ? if foo inherits from bar, object foo is not considered a valid object till it's constructor completes. so there is no question of destroying parts of objects which were already constructed.

similarly, during object destruction, as soon as the destructor is invoked, the object is in an invalid state.

i guess there are some issues in understanding of object lifetimes and exceptions thrown by it's constructors...

cpeterso 1 day ago 0 replies      
C++ exception specifications are worse than nothing. Unlike Java's (controversial) checked exceptions, C++ exception specifications are not compile-time checked. Instead, the compiler generates run-time checks when calling function functions with exception specifications. If the function throws an exception that does match its specification, the program calls abort()!
ynniv 1 day ago 0 replies      
As with most experiments in writing object oriented code in C, this looks a lot like Objective-C.
vph 1 day ago 0 replies      
looking forward to crossroad i/o. This step will drive the two projects even further apart. But zeroMQ is already established, and its name is more catchy. Good luck.
ltratt 1 day ago 0 replies      
I agree fully with the author - exceptions are a problem for software that wants to avoid unexpected behaviour. I noted something similar in http://tratt.net/laurie/tech_articles/articles/a_proposal_fo... and sketched a possible compromise, more to emphasise the point, than as a serious proposal.
ecopoesis 1 day ago 0 replies      
Exceptions shouldn't be used as gotos. Instead of letting every exception bubble to the top, handle them at the appropriate level in the stack where you can recover from the error they representing.
12uu45dd 1 day ago 0 replies      
Oh well. It was probably faster and easier to code in C++ initially. And allowed him to beat all the competition to market.
xxiao 1 day ago 0 replies      
on the exception handler part, i don't think you're forced to use c++'s try-throw-catch, you can still safely use the C-style exception methods, after all, c can be used as a subset of c++, though not 100% of the time.
pwpwp 1 day ago 0 replies      
latch 1 day ago 1 reply      
The background made that post unreadable for me. Minimalism done wrong.
Germany's Leading Technical University Cancels All Elsevier Subscriptions tum.de
340 points by fpp  2 days ago   84 comments top 25
TomAnthony 2 days ago 2 replies      
Background and perspective:

Elsevier publishes 250,000 articles a year in 2,000 journals. Its archives contain seven million publications. Total yearly downloads amount to 240 million.

The company is currently being boycotted by academics who object to its business model, which includes "paywalls" and (in their opinion) excessively high subscription charges.

Some very large journals (those with more than 5000 articles) charge subscription prices as high as $14,000.

Source: http://en.wikipedia.org/wiki/Elsevier

hack_edu 2 days ago 3 replies      
Its worth pointing out that Elsevier also controls the whole line of Lexis Nexis products. Academic publishing, especially journal subscriptions and research databases, is one of those most entrenched industries there can be. It might not be as fashionable as hating on Elsevier but Gale, ProQuest, ACS, CSA and company make a hell of a lot of money through exclusive contracts with smaller publishers. Any new entrances to the industry are locked out from all valuable content or choked before they can even get going.

This is all at the expense of libraries and universities, and by proxy, your tax dollars and tuition. The industry is in need of massive disruption, has been for a decade now, but wrestling their IP seems an impossible feat.

user24 2 days ago 1 reply      
> Low Bandwith Version of this site due to large amount of requests:

> Aufgrund unzumutbarer Kosten und Bezugsbedingungen hat das Direktorium des Zentrums Mathematik beschlossen, alle abonnierten Elsevier-Zeitschriften ab 2013 abzubestellen.

> Because of unsustainable subscription prices and conditions, the board of directors of the mathematics department has voted to cancel all of its subscriptions to Elsevier journals by 2013.

> @http://news.ycombinator.com/ visitors:
You just DDOS-ed our web server ;-)

bborud 1 day ago 4 replies      
Good. Very good.

Something needs to be done about scientific publishing and the excessively high tolls on knowledge. The publishing industry may claim that it performs some vital role, but I find it extremely unlikely that this is the optimal way of reviewing and disseminating knowledge.

I think we are morally obliged to do a lot better.

To me the paywalls around scientific publishing is a lot more than a question of principles -- it may end up impacting my life. Five months ago I was diagnosed with kidney failure. If left untreated, this will kill me. What I do the next months may have a big impact on my quality of life.

When your doctor tells you that you have a condition that will kill you, I would assume that most of you would try to educate yourselves on the topic. This includes reading recent papers.

Well, good luck with that. For absolutely every aspect that I have looked into I keep bumping my head into paywalls. Some articles are only available if I pay a lot of money -- and I have no way of knowing up front if the article will be worth it. Kidney disease is a narrow enough subject for publications to be very expensive.

I am continually asked what the hell I need access to these articles for since I am not a doctor. Imagine that: people acquiring knowledge because they need it and not because the publishing industry needs the money...

I think it is time academia started taking knowledge seriously.

andre3k1 2 days ago 1 reply      
The market for the distribution of peer-reviewed academic journals fascinates me. It is ripe for disruption.

More often than not, the content that gets published is created by the same institutions that are forced to pay for Elsevier's services. Elsevier acts as the middleman. Institutions pay academics to produce journal articles. After production and peer-review, ownership of the scholarly work is transferred over to a publisher. The institution must then pay to reacquire the same content they helped produce. In the past this made sense as distribution involved printing and mailing thousands of pages worth of journal articles. Nowadays everything is digital, which negates the publisher's purpose.

There is a burgeoning movement toward open access journals. More info on the subject available here " http://en.wikipedia.org/wiki/Serials_crisis

davidacoder 2 days ago 0 replies      
The title on HN is incorrect. Only the mathematics department is canceling their subscriptions, not the whole university.
lamnk 2 days ago 1 reply      
This concerns only the math faculty, not the entire university.
planetguy 2 days ago 5 replies      
So what's the endgame here? Drive Elsevier out of business? Watch as its hundreds of journals (some great, some not so great) vanish? What happens to the zillions of papers in existence in those journals, currently available from their website with a few clicks? (What does happen to the copyright holdings of an entity that goes out of business?)
GoodIntentions 2 days ago 3 replies      
atm, we seem to be crushing their webserver. If you're feeling kind, don't click.

The page copy is just two sentences, one in German, one in English - essentially:

"due to unsustainable pricing, the math department has canceled Elsevier subs"

random123 2 days ago 1 reply      
The link is working again now, but has been replaced with a low bandwidth version. (The original version just contained additional images.) The amount of request generated by this site was unfortunately a bit too much for the web server.

(I'm one of the server admins ... and have been in fear of a real DDOS attack during the last couple of minutes. ;) )

robertwalsh0 2 days ago 0 replies      
It's great to see mathematicians taking up, Tim Gowers's rallying cry and have the courage to step away from Elsevier. The academic publishing industry for periodicals is going the way of the journal industry.

Apps like Scholastica (http://scholasticahq.com/) allow anyone to start their own peer reviewed journal and manage its content. Very soon, they'll even be able to publish open access (http://blog.scholasticahq.com/post/21917547765/open-access-p...). Full disclosure: I'm working on this application.

cjbprime 2 days ago 0 replies      
Just the mathematics department, no?
zerostar07 2 days ago 1 reply      
Another point worth noting is that many (should be all) papers are readily available (legally) as preprint PDFs (which is usually almost the same as the final version), if the creator bothers to place a preprint online, and most academics would be happy to email you a copy of their work should you ask anyway. So it's not like publishers are forcing someone in a walled garden, it's just that academics still prefer to be in there. So, these attacks on Elsevier are shooting the messenger, but it seems it's the only way to get to the sender here.
thespin 2 days ago 1 reply      
Mathematics Departments are going to be the heros in lowering the costs to access scholarly journals, in all disciplines.

It has to start somewhere.

Low cost, online education, which is a popular topic here on HN, is a neat idea. But to really make it worthwhile, the student needs full access to all academic journals.

For that to happen, the paywalls have to come down.

its_so_on 2 days ago 0 replies      
I'd be interested to know how much money they're saving. On its face, it seems like ONE university in every rich country should pay for 'all there is' (within reason). Or, at least the leading journals in each field, and some of the other resources posters have mentioned above.

Like it or not, America spends a huge amount on research as published in journals, and if a country has no subscriptions to it at all they're simply cut off from that. I don't have a horse in this race: I would be very happy if academic publishing were completely different. However, realistically, these things should be 'somewhere' in a country the size (and wealth) of Germany, available for consumption by its interested scholars.

amolsarva 2 days ago 0 replies      
These things are super expensive. The value they provide is a network effect --> prestige from history + high quality peers reviewing the work that's published

The elite universities can "make this" themselves -- they did something like this in philosophy (led out of Michigan) when I was in grad school:


The reality is these days that most/all papers are shared online in these PDF exchanges long before 'real' publication. And as a result the journal articles hardly matter as much.

I would guess this is most true for stuff with less lab work and more "pencil" work like math or logic or philosophy.

debacle 2 days ago 0 replies      
I think this is a great step. Publications are an outdated business model and they can't and shouldn't survive at their current (in my opinion egregious) costs.
coolowencool 2 days ago 0 replies      
Related article published about a month ago in the Guardian about frustrations with journal publishing models: http://www.guardian.co.uk/science/2012/apr/09/frustrated-blo...
aheilbut 2 days ago 0 replies      
I wonder what happens to access to archives of electronic journals when subscriptions are cancelled -- with paper journals, at least they're still in the library.
ktizo 2 days ago 0 replies      
Might only be the maths department, but Elsevier is sitting on a whole lot of loose snow right now and this is yet another snowball picking up speed somewhere further up the mountain.
brazzy 2 days ago 0 replies      
Go, TUM!

The first time I've actually felt proud of my alma mater :)

vga256 2 days ago 0 replies      
Fucking A. Twas about time. Also read Scott Aaronson's thoughts on this issue in general.




auggierose 2 days ago 0 replies      
I got my Ph.D. from this university. I am proud of you, TUM!
eleitl 1 day ago 0 replies      
Just the Mathematics department, not the whole university.
keithvan 2 days ago 2 replies      
The HN link is giving a 403 -- anyone have an alternative link?
Linus Torvalds won't do github pull requests github.com
307 points by quellhorst  6 hours ago   158 comments top 27
mindstab 4 hours ago 2 replies      
The man wrote git for use on the Linux kernel. Trying to argue with him about how to use git with respect to your tiny patch to the Linux kernel seems... like missing the point on a great many things. The rules for submitting kernel patches are laid out in great detail. Do you really thing arguing with the gatekeeper is going to change anything?
rit 5 hours ago 3 replies      
Fun Fact:

If you tack '.patch' onto the end of a Pull Request you get a 'git am' compatible patch file complete with the email address that Linus complains is missing ;)


EDIT: I should note this works on any commit as well. Take this commit from Casbah (the Scala MongoDB driver I work on) - https://github.com/mongodb/casbah/commit/990a36fbde69db26689... - removing .patch gives you the normal web based github commit page.

tytso 1 hour ago 0 replies      
I don't understand why people are upset with Linus's writing style. I considered what he wrote to be quite polite. He was merely stating his standards in terms of what he would and wouldn't accept (and github pull requests are on the "won't accept" list). He even explained why he wouldn't accept it.

Furthermore, the patch was deficient in other ways. (a) it was missing the Signed-off-by: header, and (b) it should have been sent to the linux-bluetooth mailing list or one of the Bluetooth maintainers, with the linux-bluetooth mailing list cc'ed.

marcamillion 4 hours ago  replies      
I don't mean to be overly critical, but is it just me or are the 'godfathers' of computer science starting to sound like cranky old men?

I mean....ok....this pull request being inferior to the way HE (the creator of Git) imagined it (or implemented it) is a bit petty imho.

What's with the complaining? I am sure this is not the first time I have heard him complaining about something on Github or some other 'new technology'. The same goes with Crockford and his semi-colon.

Edit: Although, I must confess that it is annoying when the creators of a service that you use totally blow off your suggestions (esp. when that service is built on your own creation).....so I am torn on this one. Still has the 'annoying old man complaining feel' to it though.

mjs 5 hours ago 1 reply      
It's instructive to read Linus's commits to his hobby project "subsurface":


Even if I can't code like Linus, I can at least try to write commit messages like his…

spinlock 5 hours ago 2 replies      
Man, now I feel like a total hack. I love the github pull request. I do insist that my devs use a good style (i.e. first line is a summary and wrap at 80 chars) but I love the user interface for looking at diffs and doing a code review. I had no idea it was inferior until reading this and now I find myself in the awkward position that I don't care. Have I really become the guy who values an efficient team process more that adherence to esoteric specifications. God, I can't believe it's come to that.
dhconnelly 4 hours ago 2 replies      
antirez via twitter: "Linus, I'm with you. Preserve your bastion of code quality as it's something rare and rapidly fading away."


trustfundbaby 39 minutes ago 0 replies      
I get the point he's trying to make and completely agree with it, but the way he presented his issues just made me lose respect for him a little bit ... I just wish someone that respected was able to present his views in a way that younger developers could emulate.

I can't help thinking tons of "rockstar/ninja" developers out there are going to embrace this abrasive style of disagreeing with people and totally rationalize it by thinking well "that's how the guy who wrote Linux does it, so that's how I'm going to do it"

Someone that well respected should (and this is my opinion) never have to reach to the level of addressing someone so far-removed from the heights they've attained, as a 'moron', when simply ignoring them would do. But I'm nobody important, so what the hell do I know about anything ...

lobo_tuerto 6 hours ago 3 replies      
I hope the github folks get involved in this. I'm specially interested in what they have to say about why they decided to go with what Linus calls _their own totally inferior version_.

Love this no-nonsense style, but let me say that it's no only the style, but that Linus has enough on his side to back it up.

memset 6 hours ago 3 replies      
Can someone point me to the tool that comes with git for pull-request functionality?
bitops 5 hours ago 0 replies      
From his "subsurface" project README.

Also, please write good git commit messages. A good commit message
looks like this:

Header line: explaining the commit in one line

Body of commit message is a few lines of text, explaining things
in more detail, possibly giving some background about the issue
being fixed, etc etc.

The body of the commit message can be several paragraphs, and
please do proper word-wrap and keep columns shorter than about
74 characters or so. That way "git log" will show things
nicely even when it's indented.

Reported-by: whoever-reported-it
Signed-off-by: Your Name <youremail@yourhost.com>

methodin 22 minutes ago 0 replies      
The one thing I'll have to give credit to Linus for is that even if people continue to post absurd comments after his original lengthy counterpoint, he will delve into a more polite rhetoric and continue to explain his point, over and over. It's quite the opposite, in fact, of many people who write online where typically the end result is simply escalation or continued fervor.
alain94040 5 hours ago 4 replies      
It's 2012 and we're still arguing about line breaks and 80-character lines?
fdr 6 hours ago 0 replies      
I also do not care for the pull requests, for much the same reasons. I like there is a way to bring a branch to a maintainer's attention and updating its commit range in event of updates before it is accepted, but the way messages that result from merging in the code is irritating, so I end up just using "git pull" to do the trick once the branch looks good to me.
DanWaterworth 6 hours ago 1 reply      
What, Linus found something he doesn't like?
happycube 6 hours ago 4 replies      
Considering Linus created git, if I were running github I'd tend to listen to whatever he had to say about it...
gte910h 5 hours ago 1 reply      
Maintainer of a project doesn't like a tool some people like to use. News at 11.

Seriously. Just dont' send this particular maintainer pull requests that way.

alexchamberlain 5 hours ago 3 replies      
I agree with Linus on a lot of things, but I wonder sometimes if he rubs people up the wrong way occasionally.
rumcajz 6 hours ago 2 replies      
That's pretty relevant comment. GitHub pull request system is great if you want to attract a bunch of script kiddies to participate on your project. For serious work, not so much.
goatslacker 5 hours ago 0 replies      
I have to agree with Linus on this and it's nice that he's taking time to write out his thoughts in public.

GitHub commit messages can be really ugly. I'm guilty of this and it's not something I'm proud of. I think the small improvement they did a while ago with the display of commit messages is a step in the right direction, I wish they would apply that same style to the web interface when composing commit messages.

edit: A good fix would be a way to turn off pull requests for projects or at least redirect users on how to send pull requests.

ilaksh 4 hours ago 0 replies      
Maybe github can make it easier to send messages in reply to a pull request, or even show an email field there. Having people type out their email into the pull request is not the best way to handle that on the web interface I don't think (although practically speaking if you want to use email it is perfectly reasonable to make that a rule for your project until there is a feature like that for git and github). Ideally git itself could make it convenient to view that as a separate field with the pull request.

I am also pissed when someone ignores a feature I have written and redoes something without good reason.

Torvalds probably doesn't have time to handle a whole bunch of git pull requests, and most of them from github probably have problems or aren't important so this rule probably helps him a lot, practically speaking.

But obviously the people at github should really carefully analyze what he is requesting and if possible this could result in some minor improvements in that part of the github interface or git or both.

I don't know much about the Linux kernel, but I don't think that this type of driver information should be in such a centralized place and controlled by an individual or small group of individuals.

kstenerud 5 hours ago 0 replies      
So what exactly is deficient with github's approach to pull requests vs git pull-request?
fictorial 5 hours ago 1 reply      
How on Earth is this drivel at the top of HN?
DigitalSea 3 hours ago 0 replies      
As genius as Linus is, the dude needs to take a couple of shots of harden the f*ck up. I'm sick of his school girl rants and complaints. For such a well-known figure head in the open source/computing industry he sure does complain a lot.
mike626 6 hours ago 0 replies      
Extremely relevant criticism. It appears to be a rather simple problem for Github to resolve.
zbowling 5 hours ago 0 replies      
Some insightful comments on the github are getting deleted.
gianpaj 4 hours ago 0 replies      
i am i the only one who's reading Torvald's comments with David Mitchell's voice? http://www.youtube.com/watch?v=PqSZEGj-SuI
IAmA a malware coder and botnet operator, AMA reddit.com
307 points by Devko  9 hours ago   114 comments top 18
citricsquid 8 hours ago 9 replies      
Most of what he says is obvious stuff and the emphasis he puts on how much he modifies stuff makes me assume he's someone that just runs programs and doesn't have any unique insight, but he does make one interesting point:

> Try to use "Verified-By-Visa" and "Mastercard-Securecode" as rarely as possible. If only your CVV2 code is getting sniffed, you are not liable for any damage, because the code is physicly printed and could have been stolen while you payed with your card at a store. Same applies if someone cloned your CC reading the magnetic stripe or sniffing RFID. Only losing your VBV or MCSC password can cause serious trouble.

Does anyone know if this (using verified-by-visa, mastercard-securecode remove any payment protection if you get key-logged etc) is correct?

jacquesm 5 hours ago 4 replies      
Let's play 33 bits on this guy, my guess is that he's German, Austrian or Swiss based on the settings for his IRC client, that should knock about 6 bits off, 27 to go.
K2h 6 hours ago 1 reply      
I very much enjoyed the reading of his comments - I pulled a few of his that others may find interesting.

[polymorphism code - to hide virus signature]

Randomness is your friend, make your own crypter and make it so fucking random on every compile, that AV reverse engineers kill themselfs (HINT: randomize the crypters sourcecode using perl scripts)

[polymorphism code - to hide virus signature]

I started coding about a year ago, hacking old malware sourcecodes and reading russian boards. Most botnet operators are dumb as fuck, who don't even care about their traces, the ones you see on TV, catched by Microsoft and Brian Krebs. If you have more knowledge you can automatize nearly everything, like creating scripts that rewrite your sourcecode for your crypters so your malware gets undetected again, saving you hard work.

[finding infections on a computer]

Use GMER (http://www.gmer.net/) every now and then when your spider sense is tingling. Srsly, you can't fool GMER, it scans from the deepest possible point in your system, at ring0 and is impossible to fool, there is nothing deeper than ring0 on a usual PC where malware can hide stuff from. I always wondered why other AV vendors don't do it like GMER, it can detect all rootkits. But when a AV can detect everything, who will pay 30$ a year for signature updates...

mikek 7 hours ago 5 replies      
Great nugget:

> a US credit card costs 2$ on the black market and a UK starts at 60$, americans are all in debt.

reidmain 6 hours ago 1 reply      
"Protip against driveby infections (the ones in the browsers): Disable addons in your browser and only activate the ones you need. Chromium and Chrome for example let you disable all additional content like flash, html5, pdf and java in the options, you will see a grey box instead of the content and can manually run it using right-click -> Run. Chrome options -> Content options -> Plug-Ins -> Disable all or Click-to-play. Chrome also allows you to whitelist sites you trust, like youtube. This will make you immune to driveby infections regardless of the version of your java or adobe reader, because you will only be able to click and run content, that is VISIBLE on the site. Malicious content is ALWAYS hidden in a 0pixel iframe! This also stops the nasty flash advertisements implying you can't aim precise enough to win an iPad3."

This is one thing I've been trying to convince people to do for ages but, for some reason, that one extra click turns so many people off. The extra minute or two I probably spend a day clicking on plugins to activate them will pale in comparison to how much time I'll have to spend recovering from being infected.

sakai 8 hours ago 3 replies      
Well, clearly this guy's moral compass is a bit out of whack, but the IAmA does offer some fascinating insights into this world...
tuananh 7 hours ago 1 reply      
* About 20% of the users have good graphic cards, but are not sophisticated enough to install drivers.

* 30% of victims are Americans.

* 80% have an antivirus installed.

* An average income of $40 per day (bitcoin only). May vary up to $1,000.

elorant 8 hours ago 2 replies      
I don't understand how these people sleep at night. The whole notion I didn't make the game I just play the ball is just hilarious.

Furthermore those guys don't understand that eventually they're hurting the web. All that will bring stricter legislation and governments will start enforcing rules like IP identification for just about anyone out there.

I can understand organized crime exploiting the cyberspace. But for individuals its just plain stupid.

JWhiteaker 8 hours ago 3 replies      
Magnetic stripes are the most hilarious thing ever, but still work almost everywhere on the globe.

I am amazed that magnetic stripes are still the norm for credit cards in the US. Europe has managed to move all but completely to chip-based cards, but the US hasn't.

Does the cost of fraud due to magnetic stripes outweigh the cost to upgrade the entire US system, or is the market just too fragmented to coordinate such a transition?

16s 8 hours ago 1 reply      
The CVV2 is not recorded in the mag stripe.
andr3w321 6 hours ago 0 replies      
There's so many legal ways this guy could make just as much money with his skills. I never understood why someone is willing to put his freedom at risk when that is the case.

I guess he's just lazy or thinks he's incapable of making as much as easily legally, maybe he likes the thrill and challenge of it all, maybe he thinks he's invincible and there's zero chance of him getting caught. Either way he's very foolish for continuing to do this especially if he has no endgame in sight.

diminish 7 hours ago 1 reply      
Now, what has to be done not to get hacked ends up being answered as; AVs won't help, macs won't help, linux won't help, and use ipad? are we heading towards a world where average users will end up in managed computing behind walls, and only some hackers and crackers will use open computing? is computing doomed to be a the black and white world of tyrannic rule vs. mob rule?
CoffeeDregs 7 hours ago 0 replies      
Great post. I forwarded it on to my family and friends in order to give them some awareness of the people who're looking at them from the other side of the internet. Rather than sending more strident "think before clicking" warnings, this post is a great way to get them to think like an attacker so that they can avoid the attacks better.
option_greek 6 hours ago 1 reply      
It's fascinating to know all this stuff from his perspective but the moral attacks by others in the comments truly suck. What is the point of AMA if all they do is attack the one sharing information.
mikemarotti 8 hours ago 1 reply      
The fact that this guy even posted an AMA shows that it's either entirely fake (doesn't seem it), or he's way too cocky. I suspect some trouble may be coming his way soon. He seems to think that he's infallible and that he won't catch a charge for running a botnet.
slig 7 hours ago 0 replies      
He's also been a coder for only one year... if he actually modifies stuff, that sounds very impressive.
darksaga 6 hours ago 0 replies      
The thing that's scary is how easy it is for these people to get away with what they're doing. I wonder how much money is lost every year and how many hackers you never hear about going to jail for this stuff. I'm pretty sure this is the motivation to do a lot of this stuff. The risk/reward level is completely slanted.

I see a LOT of stories on HN and other Tech sites about these kinds of attacks. Unfortunately, I rarely, if ever, hear about hackers getting arrested for this sort of activity.

tferris 8 hours ago 0 replies      
Netherlands first country in Europe with net neutrality bof.nl
304 points by slasaus  2 days ago   60 comments top 14
speleding 2 days ago 1 reply      
It's interesting to note that this legislation was prompted because the incumbent telco (KPN) overplayed its hand. They publicly suggested that they would price traffic from WhatsApp higher to offset their loss in SMS revenue. A public outcry ensued, law makers got involved and this is the result.

Democracy doesn't always work, but when it does it's a beautiful thing.

benwerd 2 days ago 3 replies      
I'm proud of them, but the Internet is international - without broad acceptance, we run the risk of effectively having distinct National Internets with different rules and regulations. That scares me a bit, because the potential is still to have unhindered communications between anyone, anywhere.

Net neutrality should be built into the fabric of the Internet through better technology - legislation clearly isn't working.

woodpanel 2 days ago 1 reply      
I've always struggled a bit with the concept of net neutrality. Leigislation should improve/secure freedom of choice. If it is about keeping providers from throttling traffic based on the traffic-source ( = prohibition of choices) I'm all for it.

But what about my freedom to choose a slower connection? Or one without video chat capacities? I propably would be ok with paying half the price if my traffic has not the highest priority.

When I had less income, an internet connection might have been more affordable if I wasn't forced to buy traffic capacities I didn't need. I have a couple of friends who still struggle to afford internet (sadly, the more time passes without internet access, the harder it'll get for them to ever improve on their income).

Does the "net neutrality" concept differentiate between "intent of usage" and "interest of usage"? The first to me seems more important to be kept neutral.

(What I mean by the latter might be better expalined with the 19th century rail-pricing systems where you had 1st, 2nd and 3rd class passengers. 3rd class was dirty, packed and propably pathoenic. But more importantly, the "3rd class" could afford the ride. )

smutticus 2 days ago 1 reply      
Then why is BREIN allowed to force Ziggo to block access to TPB?

I'm glad Dutch ISPs are not allowed to throttle my traffic to specific websites. But apparently blackholing it is still allowed.

Prophasi 2 days ago 1 reply      
In the broadest sense, net neutrality's an abrogation of companies' rights to set terms for their products and allow consumers to agree or disagree. It limits the pricing and service dynamic.

Specifically for the net, it's a concession that we need gov't to wield the ultimate authority over detailed aspects of the Internet and step into many disputes between private parties if the specter of non-neutrality is raised (and of course it will be). You might think it's in your immediate favor, but voting for net neutrality isn't really voting for equal packet treatment: it's voting for government control over packet treatment, which will be turned against you in ways you haven't foreseen.

Net neutrality is like saying I can't open a store w/out handicap access, even though handicapped folks have the option of a) passing by my store to another; or b) finding a way to shop at mine because it's closer and has lower prices. "Shop neutrality" would dictate that if I won't treat everyone equally - although it's clear in my terms - I just shouldn't exist. There are those who agree with this analogy, too, of course.

You suppose the government should be the ultimate arbiter of what options should be on offer, rather than the entrepreneur and the market of free people? A dangerous way to look at it, I think.

No, the telecoms aren't by any stretch unregulated as it is. But if that's your complaint, tackle it from that direction, not by badly regulating bad regulations.

antithesis 2 days ago 0 replies      
> The net neutrality law prohibits internet providers from interfering with the traffic of their users.

Censoring The Pirate Bay is interfering the with the users' traffic. Does that mean the court ruling of Ziggo and Xs4all being forces to censor that site, contradicts this legislation?

spurgu 2 days ago 0 replies      
My VPS located in Netherlands just got more valuable!
thespin 1 day ago 0 replies      
How do people in the Netherlands feel about the notion of "common carrier"?


Is common carrier a useful concept for society?

What do you think?

blackman 1 day ago 0 replies      
actually the third country after chile and norway


generateui 2 days ago 0 replies      
After it became apparent by parlement representitives they probably had to pay "chatheffing" - chattax, this law was reality quite fast.

It's pretty hopefull the law passed senate unanimously.

SjuulJanssen 2 days ago 1 reply      
bof(fen) wij toch ff :)
septnuits 2 days ago 1 reply      
This is great step towards a global untapped internet where people can have their freedom of speech without the need of fear of being spied upon. I hope more countries follows this example; The Netherlands proves once again that they are one step ahead in integrity-politics.
gench 2 days ago 1 reply      
That is something. I wonder if there is a similar law to protect my Internet privacy from my boss in the Netherlands.
phatbyte 2 days ago 2 replies      
I just love European nordic countries, their mentality is like 30 years ahead of rest of the world. Plus they have awesome metal bands.
Old People Icons That Don't Make Sense Anymore hanselman.com
297 points by joeyespo  2 days ago   262 comments top 74
moocow01 1 day ago 5 replies      
The problem is that if we modernized most of our iconography, a heck of a lot of things won't be able to be represented simply with something distinctive enough. This is largely due to what I'll call the merging of things into the same form largely driven by computing. For example...

Icon for a phone - rectangular screen

Icon for a TV - rectangular screen

Icon for a tablet - rectangular screen

Icon for a camera - rectangular screen (with a little dot in the corner)

Icon for a video recorder - rectangular screen (with a little dot in the corner)

Its true that most icons refer and represent a visual form of something from a decade or more ago. But what do you replace them with that will be any better when a lot of these things have no distinctive visual form anymore?

evoxed 2 days ago 5 replies      
Around halfway through I jotted down a few thoughts. I like and appreciate people thinking about this sort of thing however, so I'm not saying any of this to offend.

> I don't see any reason that we couldn't be storing our files in abstract squares rather than folders in the sky.

...because they're called folders, and we know how to use them? If I said, "Here, have a square," is your first instinct really to think oh! that must be for putting stuff in/on? Sure, you can abstract them to just a symbol but it's unnecessary. It's not like the system cares what you call it or how you choose to display it.

> The world's most advanced phones include an icon that looks like a phone handset that you haven't touched in 20 years, unless you've used a pay phone recently.

I have in fact, but that's not the point. Again, we know the shape. There aren't many things it could be besides a phone. You could show someone a glossy brick I guess, but what good would that do? The best alternative I can think of would be something like a speaker or microphone, but where's the argument that that would actually be better?

> At some time in the past the magnifying glass became the "search everywhere" icon, but for some reason binoculars are for searching within a document.

I'm just now realizing that he must be thinking of a specific piece of software. I gathered he was on Windows, now I see he worked at MS. Is this Office? This one I agree with, but it sounds like a quirky error made by some engineer or perhaps phony UX consultant. Same goes for the clipboard" hell if I know why MS would use that icon for paste, but in no other software that I can think of is that normal.

> Envelopes

Same thing as folders. So our terminology expanded to cover abstract digital entities, but that doesn't make it a hinderance to our intuition. Folders, packages, envelopes... maybe they're too nostalgic for the bold futurist, but generally it's about as practical as you can get.

> Wrenches and Gears
Who hasn't used a screwdriver? Or never seen a wrench? Even the people who don't own one probably know what it is. I'm indifferent to the gears/tools thing. It still makes sense, but I'm open to new ideas" preferably a little more clever than a circuitboard.

> Microphones
For speech recognition, would an ear be better? I think most people would get the microphone bit simply from watching cartoons, talkshows, album covers etc... but I admit this will likely be more foreign in the future, and is already disconnected from people in developing countries without that much media exposure (although they apparently have an iPhone/Pad/Pod).

> Photography
It's kitsch. It still makes sense because the alternative to a square with a border is a square without a border. But for all of us who still use medium/large format cameras from time to time or for work, we can simply pretend. Lenses are a-OK.

> Televisions
Actually, for the large number of people who gave up cable for hulu and netflix but still want to catch the news" yes! I do have rabbit ears! Maybe it's a little too retro for most video icons, but again" it till makes sense, it just may be better suited to apps that show live broadcasts.

> Carbon Copies and Blueprints
Eh, so the term's (carbon copy) a bit outdated. But then again, when was the last time I "pasted" a document together? Yeah, Drawing I. As for blueprints... it makes sense for XCode right? And CAD. We may not use blueprints so often anymore, but it's less ambiguous than "construction documents," which might as well be "layouts". Which might as well be squares with a shape on them. Etc...

Basically, this would be a far more interesting post if the author would go further into making actual suggestions. Some of it makes sense because it's intuitive, some of it makes sense because we're used to it. If you want to correct the latter, you've got to show something what's better.

Edit: ouch, that's an ugly post. Not sure if I can format it in any way.

Also, I'm looking forward to seeing what people suggest in the discussion here. It's an interesting topic for sure (and I'm sure there will be plenty of people to disagree with me).

mindstab 2 days ago 5 replies      
I'd love to go to schools and get kids in groups like <15years or <10 years and ask them to design icons for these things and see what they come up with. They have a lot less cultural history and technological history. might be interesting.

Or maybe they've learned all these icons and while not getting what they did mean, they understand what they mean now, like letters of a new alphabet. Like how many Asian script characters are descendants of more obvious pictograms of actions. They still have meaning even if they've evolved a bit and even changed.

tomflack 1 day ago 6 replies      
This is awfully condescending towards people in their twenties and younger.

> Want to indicate Settings or Setup to a twenty something? Show them a tool they've never used in their lives.

> If you don't know who Johnny Carson is, how could you know that this is a old-style microphone?

> No one under 30 has seen a Polaroid in years but we keep using them for icons.

We don't live in a cultural vacuum where everything that existed prior to our birth ceases to exist or be represented. We watch old movies, we watch old TV, we read old books and we see old photographs.

Some things go missing and some things stick around. The icons that stop having a useful meaning will either disappear or be transformed and some icons will come to be a somewhat abstract representation of what they do, even if they're based on things that existed in the past.

I don't understand people's obsession with telling everyone they should modernize their icons - if you think so, then you should do it. See how your users react.

acheron 2 days ago 5 replies      
There's a good article to be written on this subject, but this isn't it.

"folders": we can go back to "directories" if you'd like. It's still what I say most of the time.

"wrenches/screwdrivers/gears": This was the most baffling one. Who's never used a screwdriver? And he says it as if it's obvious.

"phone": 75% of the US still has a landline (as of a year ago anyway), so I find "you haven't used this in 20 years" to be a rather dumb statement too.

"tv antenna": Antennas have actually come back recently when broadcast stations switched to digital and HD feeds. This would have been a better criticism ten years ago, and makes him the one that sounds out of date.

When I saw the article title, I figured "floppy disk" = "save". And sure, that's somewhat valid. But as others have pointed out, it's idiomatic. It happens in language all the time: people still say that someone is given "free rein" even if nobody involved has ever ridden a horse.

gdubs 2 days ago 2 replies      
Fun read. However, if the suggestion is that we force ourselves to constantly update iconography because the metaphors are outdated, I don't agree. Sailors still say "knots", but I bet young ones don't all know why. People say "breadboard" all of the time when building electronics.

Similarly, the very letters of our language evolved out of symbols that meant something to some humans long ago, just as words have an etymology.

People simply start to associate icon with action. Mail on my Mac is represented by a postage stamp. I never realized that until I just analyzed it. Good icons are subconscious like that.

brc 2 days ago 2 replies      
This goes back a lot further than computer icons.

Road signs for railway crossings still show steam trains. Men/Women signs for toilets show women in skirts that nobody wears, on images that hardly resemble people at all.

My car has a snowflake for the AC button, even though snow doesn't come out of the vents when you switch it on.

Interestingly, signs that ban music players in certain areas now look like Gen 1 iPods, even though a modern iPod (or any other player) doesn't have a clickwheel.

The point is that, iconography is meant to be clear and concise. As long as everyone agrees on what something stands for, then it doesn't matter what that is. Generally, that thing refers to a classic image of a thing, because the original shape will always be associated with the modern version.

smutticus 1 day ago 1 reply      
iconic -- executed according to a convention or tradition

Isn't the whole idea of updating traditions a little silly. They're traditions. We don't follow them because they make sense. We follow them because the people before us followed them.

100 years from now we'll still need a symbol to conceptualize saving something. The other ones might go away but we'll probably still need to save our work. I expect the floppy to still symbolize this. The users at the time will not understand what a floppy is. But unless there is good reason to upend convention why bother.

Just look at all the linguistic idioms we retain from yesteryear.

I don't have any axe to grind with icons. But tradition is nothing to sneeze at. Remember, a picture is worth a thousand words.

TwistedWeasel 2 days ago 2 replies      
The idea that people don't know what a cog or a wrench is seems like the author is taking this a step too far. I wouldn't call those things "shrouded in mystery".

Similarly there are still plenty of microphones that look like that, they're professional microphones, not "old fashioned" ones.

radley 2 days ago 4 replies      
That is not a floppy disk. It's a Save icon.

See the difference?

paulsutter 1 day ago 1 reply      
Great thought provoking article.

A general tone of "isn't this interesting" rather than "isn't this stupid", might reduce the negative reactions.

It never occurred to me before that the use of physical objects for software functionality may be transitory. Clearly these icons do work today (and their use is not stupid), but it's probably a matter of time that a new approach may be needed.

MCompeau 2 days ago 3 replies      
This discourse goes beyond the anachronistic references indicated by these icons and calls into question our entire system of interface metaphors. At one point in time imagining the information stored on your computer as a system of "files" and "folders" was pivotal in transitioning a society from the physical world to the digital one. Now that the transition is largely complete and many people are coming of age who have never known a world without computers, its time to move beyond anachronistic metaphors. We must discover new means of interaction that take advantage of the unique features of the digital medium.
nsmartt 2 days ago 3 replies      
I have a handset in my house.

Envelopes are still used for lots of things. I still get mail.

I use screwdrivers pretty often, and I have access to wrenches.

I recognize the old microphones from movies (and even if I didn't, they look similar to newer mics.)

I've also used a polaroid in the past 5 years.

I've also seen TV sets with "rabbit ears" in the past 5 years.

The others I'm at least familiar with.
I'm 18.

WalterBright 2 days ago 0 replies      
I found it bizarre (and sad) that the author believes that a screwdriver and wrench are somehow only tools for old people, that 20-somethings would have never wielded one in their life?
excuse-me 2 days ago 0 replies      
In my app I just have the same little image of a CPU for everything - much more logical
tricolon 2 days ago 2 replies      
While I support the point behind this article, some of them are... not on point.

> Want to indicate Settings or Setup to a twenty something? Show them a tool they've never used in their lives.

What have screwdrivers and wrenches been replaced with?

crazygringo 2 days ago 1 reply      
This blog post is fairly useless without proposals that do a better job of communicating these concepts. It almost seems that the author wants to do away with metaphors entirely? If we aren't going to use an address book as an icon for our list of contacts, then what on earth are we going to use??
holyjaw 2 days ago 0 replies      
The difficult part about reading this thread was having to ask, after every point, "well, then what?"

Out computer verbs are based off of (admittedly, maybe outdated) similar verbs. Our electronic work mirrors our physical work solely because of the limitations of our language constructs. I have it on good authority that there is not a single language that has words that that specifically define what we do on a computer that would be better suited and more efficient than a physical-describing counterpart.

So, as mentioned earlier, the floppy metaphor: OK, I get it. But clipboards, bookmarks, Manila folders? How would you describe an object that lets you take information from one place to another in 32px? What physical object are you aware of that allows you to mark your place amidst a vast density of information? Don't even get me started on the folders.

It's coy to label them "old-people icons" -- it's clever, I dig it -- but if tomorrow we were to unveil a new set of nouns and verbs to describe computer objects, the reigning argument would be that they never made sense at all.

And have fun trying to explain to your grandfather/mother/nephew how to uses computer without having any real-world jargon to borrow from.

josephcooney 1 day ago 1 reply      
There was a discussion on Reddit about this a few days ago:

As pointed out by Mike Kazarnowicz in the comments of Scott's post.

Coincidence or cherry-picking?

drewmclellan 1 day ago 0 replies      
What's really interesting is that a lot of these rudiments (save, open, copy, paste, print) simply do not require icons in modern software.

I can't remember the last time I saw a save icon in any of the software I use. Not because saving has gone away, but because it's so fundamental to document-based applications that it doesn't need a dedicated button to call it out, and having one just wastes space. Saving isn't special functionality requiring an icon - you either use File>Save, or Cmd/Ctrl-S, or even just close the document and follow the prompt to save.

Copy, paste, open, these things don't need to take up valuable interface space as if they're some novelty functionality that uses must carefully be introduced to. We don't need a new save icon, because we don't need a save icon at all.

jberryman 2 days ago 2 replies      
We do the same thing with written language (no one knows or questions where e.g. "pull out all the stops" comes from but it doesn't matter), so why should our visual language be any different?
andyjohnson0 1 day ago 1 reply      
I thought that the article did a good job of explaining the problem of changes in the world making things change appearance or shape, but not some other causes of icons not making sense.

To me, icons indicating actions (save, print, etc) work well when they depict (wholly or partly) a physical object that is obviously used to enact that action. I assume that this is because our visual cortex is tuned to recognise physical objects that do actions, not visual representations of actions themselves. We see a depiction of a hammer and know that its for driving nails, but its hard to depict driving nails without depicting a hammer. You could presumably do it (i'm not a graphic designer) but you're making people work harder to understand your depiction.

The problem is that sometimes changes in the world result in the recognisable physical object no-longer being recognisable and/or physical.

This can happen we make an action abstract ("save to floppy" becomes "save to cloud storage"), virtualise an action ("pick up phone and talk" becomes "make skype call using laptop"), or merge a once-external object into a multi-function object ("save to floppy" becomes "save to internal disk"). (What others have I missed?)

I don't know what to do about this. You could use a logo or graphical device/convention to indicate actions (e.g. skype logo indicates make a voice call) but you're also increasing the cognitive load on the user of the interface and increasing visual clutter.

RyanMcGreal 1 day ago 1 reply      
In the 1800s, broadcasting meant standing in the field and throwing seeds in every direction.

We've been adapting old idioms to new uses since long before everything turned into a computer.

JulianMorrison 2 days ago 0 replies      
It seems to me that what we are doing is creating new ideograms - that their icon nature will soon enough be beside the point, because they will be something closer to letters, like 漢-.
slavak 1 day ago 0 replies      
I think some of those are pushing it quite a bit...

Printed books aren't going anywhere in the foreseeable future (and I'm pretty sure all young people know what they are, even if they're not really into reading); the (Exchange-connected VoIP) phone on my desk at the office still has a handset shaped exactly like the icon; and what kind of magical sci-fi world does the author live in where no mechanical device requires gears any more, or where wrenches aren't necessary for basic home repairs?

stretchwithme 1 day ago 1 reply      
We started using horsepower to describe how much power an engine has and that has nothing to do with horses. And last I heard, many of us are still measuring things in feet.

Conventions hang on for generations because speaking a common language is more important than being up to date.

goldmab 2 days ago 1 reply      
My TV has rabbit ears. I can watch NFL games in high definition with them for free.
joejohnson 2 days ago 0 replies      
Clipboards are are everywhere: sexy business men and ladies in movies; gym coaches; bitchy stage managers; kids use them in school occasionally, etc.
wtvanhest 2 days ago 1 reply      
Back in my day we didn't care what the icons looked like. I had to use a mouse with hard to move wheel to scroll all the way across a 10 inch screen! And I liked it!

The entire internet was AOL! It took 30 minutes from the time you turned on the computer to the time you loaded your first website. That is when you got all your thinking done!

Tloewald 1 day ago 1 reply      
Icons are becoming dead metaphors, which is fine. We pick concrete concepts to represent abstract processes and eventually the concrete concept becomes obsolete. This is exactly what happens with language -- should we stop using the word "deadline" because we've forgotten what it used to mean before it became a metaphor for a due date?
martincmartin 2 days ago 1 reply      
It's not just icons. Phrases are the same.

I'll bet many people here have never heard a broken record, but still have heard the phrase "sounds like a broken record."

harisenbon 1 day ago 0 replies      
Great premise, no so great execution. Other that the floppy icon, which I do agree with, the others are either not icons (radio buttons are just circles -- radio buttons just happen to be what they're called) or show use items that are still in very common usage.
polshaw 2 days ago 0 replies      
This is, essentially, how language itself has always worked. Common sense labels are applied to things, and they make them things their own and outlive the original reference.

A tin (can) is still a tin despite the fact it has nothing to do with the element today, a light bulb has no bulb any more. The floppy=save isn't going anywhere.

jes5199 2 days ago 0 replies      
wow, I never knew that "radio button" meant that - I sort of imagined that they were checkboxes that had walkie talkies with eachother?
DavidAbrams 2 days ago 0 replies      
This headline illustrates the importance of the hyphen.

The headline refers to "people icons" that are old. I went to see how many people icons there could even be. Turns out that what he really means is old-people icons.

jacobr 1 day ago 0 replies      
The clone action in VirtualBox is represented by a sheep (http://twitpic.com/767oui). Took me a while to connect it with Dolly the sheep, but now it's both distinct and funny.
nsns 1 day ago 0 replies      
That's exactly the way culture gets built, there are always traces left from past generations - not only in icons, more so in the software and technology they assist.
These traces, sources forgotten, slowly turn into obscure quotes, then become alive with their own new meaning, and act as channels for the transfer of knowledge from one generation to another.

And a little OT remark about the so called "dead tree format" - it helps hide the fact that e-books might actually be more harmful to the planet than "dead tree" ones (think carbon imprint).

ggchappell 2 days ago 1 reply      
Interesting. I'm 46. I've used reel-to-reel tapes because they were the normal thing to use at the time. But it has never once occurred to me that the voicemail icon represents a reel-to-reel tape.

Now I'm trying to figure out if I'm stupid or not.

rodh257 2 days ago 1 reply      
The reason we still use these old icons is because every single icon requires people to think about and learn what it represents. The only icons that don't require the user to think are ones they see all the time. If you've never seen an icon before you can only really guess what it means, the shorter the time it takes to guess, the better the icon is. It's for this reason that I don't like icon-only user interfaces, they require too much thinking and guessing from the user.

Take a look at these ones that show up when you select text in Android ICS:

What on earth do they mean? I've been using ICS since January and I still don't know what they do except for the cut one. Because there's no way for them to show tooltips on hovering the only way to learn is to press it and try and work out what it just did.

DavidSJ 1 day ago 0 replies      
Icons are visual words, and like words, they have a history (etymology) which is often long forgotten. But even with their history lost, they become familiar as identifiers of a concept, and so we keep them for that reason.
lr 2 days ago 0 replies      
One which is not on here, and is my favorite, is the icon to start a PowerPoint presentation: portable projector screen. Sure, they still exist, but most people these days have never had to actually carry and/or set one up. Well, maybe I take that back... If you are using PowerPoint, perhaps you are old enough to remember using one... :-)
ars 2 days ago 1 reply      
So that's where radio buttons comes from!

And yes my TV has rabbit ears, only they are the wifi antennas on my router :)

ktrgardiner 2 days ago 2 replies      
The article began with an introduction to what could have been a really great dialogue. Why do those who didn't experience the inspiration for icons still inherently understand them? Yet it dropped that in favor of the same schtick for each icon.
epaga 1 day ago 0 replies      
I thought Hanselman's tweet made the point far better than the entire article because the article very quickly became quite the stretch trying to find examples: overlooking the fact that many, many people are still using dead-tree calendars, folders, and clipboards. As well as binoculars and magnifying glasses.

The really interesting point - that there are more and more icons that truly are becoming "icons" in a more metaphorical sense of the word - was already made quite poignantly by the tweet.

TorbjornLunde 1 day ago 0 replies      
Icons don't have to make sense if people can learn them. I think people are being way to hung up on things being too skeuomorphic.

Remember that A didn't start as an A, it started as a sign for ox. That's right, our writing system had skeuomorphic origins.

Someone growing up today might not know what a handset it, but I'm pretty sure they recognize the handset icon. This is true for a lot of stuff in our culture (think of non-textual road signs).

debacle 1 day ago 0 replies      
Google is a good example of what happens when you modernize icons - no one knows what the hell is going on.

The old icons are fine.

psylence519 2 days ago 0 replies      
How could you possibly associate an object with an action without first intimately knowing the object's function?

And when did we all get rid of wrenches? I didn't get that memo.

radley 2 days ago 0 replies      
The irony is that there's a concurrent and opposite reaction to the non-traditional new icons used on Github.

The simple reason the save icon still looks like a floppy disk is because everyone expects it to look like that.

jack-r-abbit 2 days ago 1 reply      
I use an SD card (one way or another) almost daily. It would only take a small amount of reworking to make the "floppy disk" Save icon look like an SD card and still look enough like the original icon to not confuse people. The cloud is cool and all but many devices (even cloud enabled ones) make use of some sort of physical storage. Many devices do not have the capability (or even the need) to get data straight from the cloud (or at least can't if they aren't able to connect to cell/wifi).
zerostar07 1 day ago 0 replies      
That's not something limited to computers or technology. Many entities are represented with an icon of the first or first popular iteration of am item. A train has smoke, lights are bulbs, authors use feather pens etc.

One could argue that it's actually faster to parse words than icons sometimes (don't know what traffic sign planners would think about that)

damian2000 1 day ago 0 replies      
I believe this post to be the definitive authority on the subject of dead icons ... ;-)


seriously - there's some good points made here, including:

"The floppy disk icon is an idiom, not a metaphor. It doesn't matter that we're no longer writing files on 1.44MB 3.5" disks. It doesn't matter that many users don't even know what a floppy disk is. What matters is that users associate the icon with saving." -- Patrick McElhaney

alaskamiller 2 days ago 0 replies      
I wonder if the Egyptians had the same problem.
clone1018 2 days ago 0 replies      
They do make sense, they are and have been the standard for years, and even the new generation understands what they do, in almost every case.
drewmclellan 1 day ago 2 replies      
I was fascinated that Google chose the name "Google Drive" for their latest product. Without a hint of false naivety, my initial thought on hearing the name was that it was either:

a) Something to do with journey planning/directions, or
b) Some new in-car technology

When I saw it was neither of those, I presumed the cloud storage service had been named in the same way razors are named, i.e. "puts you in the driving seat" sort of thing.

It was only several hours later did it occur to me that, OMG, they mean like a FLOPPY DISK DRIVE? Yikes.

"Drive" is not really a word I've heard used in relation to storage for years. Mainly because we only think about the distinction between disk and drive when the two can be parted, like a floppy disk drive. Put the disk in the drive. Most removable media is USB-based these days, so the term isn't used.

I guess in 1990s-era Windows NT networks you'd be told to save your work to "the M: drive" or such, but yeah, 1990s.

To me it's a moronic product name. "I'll save that to my Google Drive!" Sure thing, you do that Grandpa.

LyleK 2 days ago 1 reply      
Why do we even have a save icon function anymore anyway? Just to torture people who forgot to save their file? Google Docs doesn't have a save button because it is saving all the time. Why would you not want to save what you are doing? Why is not saving the default? (Alan Cooper made this argument in About Face in 1995.)

Also, if you want to talk about outdated terminology, theres "disk" and "drive". These are being incorrectly applied to flash/solid state storage. They do apply to hard disk drives, and optical media.

Mz 2 days ago 2 replies      
Makes me wonder how old the author is.

Reminds me of an anecdote I read about an elementary school that had a rotary phone for the kids to use well after digital phones were the norm. The kids had to be taught how to use it. One child ultimately concluded it was not too different from a digital phone though it was real slow.

Reminds me of my standard flippant remark to my sons when they were growing up: "When I was a child and had a pet dinosaur and rotary phone." To my young sons, both dinosaurs and rotary phones were "prehistoric" -- I.e. existed before their time. For me, only dinosaurs were actually prehistoric.

MicahWedemeyer 2 days ago 0 replies      
Envelopes are a very common item for anyone who runs a business. The vast majority of correspondence with Uncle Sam is done via USPS.
WalterBright 2 days ago 1 reply      
I always wondered what was wrong with English. You know, using 'print' instead of a 'what-does-that-box-of-kleenex-mean' icon?

And for non-English speakers, is it really harder to learn what 'print' means than consulting a cheat sheet for what the icons mean?

radley 2 days ago 1 reply      
Why do I have to still log-in to Facebook? Why can't I run Windows games on my iPad? Why can't I just talk to my computer like Star Trek?

Programmers know why, but users don't. Same goes for icons: designers know what they're doing & why...

Fuzzwah 2 days ago 1 reply      
Reminds me of a Bucky Fuller rant about the "incorrect" words we still use every day even though we know more now than when they came into use.

His best example is "world wide", which he put forward should really be "world around" since we all now know that the earth is a globe and not flat.

hoov 2 days ago 2 replies      
I'm not sure that I agree with the "Photography" examples. Even for people who haven't seen actual Polaroid cameras, the icon is clearly some sort of camera. The author finishes his argument with a quote from a recent pop song, which probably means that Polaroid pictures aren't an extremely obscure reference. Also, I bet that Instagram's early adopters know exactly what Polaroid cameras are, and the reference isn't lost on them. I'd also be willing to bet that there's at least some overlap with early adopters and people who are aware of the Impossible Project. Those people would at least make the connection between analog photography and the filters that Instagram provides.

That being said, Polaroid-inspired icons are probably not ideal for every use.

StavrosK 2 days ago 2 replies      
I love how there's a spool of camera film in the photo for the "voice mail" icon. Sounds like someone's too young for those flat cameras!
gmisra 2 days ago 0 replies      
This article would have been interesting if included actual suggestions for replacement icons.

Being anachronistic isn't inherently a flaw. However, if our attachment to anachronism is preventing us from using more intuitive icons, then our bias toward anachronism is something we should examine critically.

So, the real question is: are there more intuitive visual representations available for common computer actions? What does an e-mail address book look like?

TekNoir 1 day ago 0 replies      
It doesn't matter what the icons look like as long as they are different enough from each other to be recognizable.

Someone who hasn't used a computer before isn't going to know that a floppy disk icon means save, even if they have seen a one before and know what it is used for. For all they know it's means open a file.

nathanbarry 2 days ago 4 replies      
The floppy disk icon has always frustrated me. Though I still haven't seen a great replacement. Would love to see this list with more thoughtful options to use instead.
the_mat 1 day ago 0 replies      
He missed the point of the Instagram logo. The whole purpose of Instagram is to make retro-styled photos, so a retro camera icon makes total sense.
qntm 2 days ago 2 replies      
Not that the floppy disk being used as a Save icon was actually floppy, of course.
npsimons 1 day ago 0 replies      
Oh man, not another one of these "durr, icons are based on technologies that don't apply anymore!" articles. Tell you what, you invent "better" more "modern" icons that everyone can recognize and then maybe I'll be willing to read your blogarrhea.
fforw 1 day ago 0 replies      
Actually, my TV has rabbit ears again -- only they're for DVB-T now.
Mordor 1 day ago 0 replies      
Conversely, how about redesigning them for something older...
liamgriffiths 2 days ago 1 reply      
This gave me something to think about.

When icons fail to be understood, they can fail hard. I spent a lot of time frustrated with the new gmail design until I changed the icons to text.

SaigonKick 2 days ago 1 reply      
Is this from the future? We still save to disks... sure the media has changed, but we're doing the same task.

After reviewing the author, filed under: Comedy!

blt 1 day ago 0 replies      
That pointy gear icon on iOS drives me crazy. Gear teeth don't look like that!
philipdlang 2 days ago 2 replies      
Really interesting, but a correction should be noted: CC is for courtesy copy, not carbon copy
Infinite complexity in 4096 bytes creativeapplications.net
285 points by cageface  16 hours ago   66 comments top 20
haberman 13 hours ago 6 replies      
I'm pretty proud of my programming skills. I've worked in everything from assembly to JavaScript, JIT compilers to websites to large-scale, fault-tolerant distributed systems. etc. etc.

But demoscene programming is still the one thing that leaves me totally in awe, feeling like I wouldn't even know where to start to achieve what these guys pull off. Even if I could imagine fitting all those drawing and sound generation routines into 4k, how on earth would you script the whole thing in that little space? How would you encode and execute the sequence of camera paths, music events, and synchronize light flashes with the music? And make it consistent in time, as opposed to depending on the speed of the CPU? I just can't even imagine what the main loop would look like.

vmind 15 hours ago 1 reply      
Cool, but I think my favourite 4k demo is still Elevated, which is much less obviously procedural. (http://www.youtube.com/watch?v=_YWMGuh15nE)
bane 13 hours ago 0 replies      
Something to keep in mind is that these groups spend months building a world in these 4096 bytes. These aren't weekend hack jobs. Near the end they may be hacking off individual notes from the music, or letters from the credits to fit within their byte budget.

Very little of modern programming can replicate what it was like to work on old systems outside of these kinds of competitions.

For those interested in the music side of these productions, many of the composers use this to write the music. http://4klang.untergrund.net/

evincarofautumn 9 hours ago 1 reply      
Well, colour me impressed.

Interesting side note: demos tend to use music with pentatonic (ambient) or whole-tone (dreamy) scales. They're easy to harmonise, which makes it easy to procedurally generate decent-sounding music.

ssdsa 15 hours ago 1 reply      
If you are not familiar with 4k intros, you may wonder how things are organized at the executable level to achieve this kind of packing-performance. Probably the most important and essential aspect of 4k-64k intros is the compressor. Have a look here: http://code4k.blogspot.de/2010/12/crinkler-secrets-4k-intro-...
__alexs 15 hours ago 1 reply      
Or ~4096 bytes of Kolmogorov complexity...
Iwaan 15 hours ago 5 replies      
I was an intern at a game company last year. I showed the CEO some of the stuff that is going on in the demoscene. He got really worried and told me to not show that to any of his staff. He was afraid that it intimidates his highly paid coders and designers. I found that rather disturbing. How are you going to kill Hollywood if you are afraid of algorithms?
inoop 13 hours ago 0 replies      
The technique used here is raymarching. Relevant thread on pouet: http://pouet.net/topic.php?which=7920
jacquesm 6 hours ago 0 replies      
German hartverdrahtet -> hardwired / hardcoded but also 'wired hearts' (the opening shot and the primitive the scene appears to be made out of)
josefonseca 11 hours ago 1 reply      
Does this give anyone else the sense that with amazing processors we have available that we're being really wasteful with these bloated apps we currently have?

I mean if these guys are able to do this in 4K, what else could be done in operating system terms if we achieved that same level of excellence?

pnathan 4 hours ago 0 replies      
Note that if you crave this kind of world of limited resources and ingenuity for packing things very small, it still exists in a professional setting in hard real-time embedded systems.

I heard a story at my company about fixing a bug a couple years ago. Memory was full, so in order to do that, the engineers rewrote the UI messages to allow the extra instructions to fit into memory.

Voltage 3 hours ago 0 replies      
Here's my first 4k production:

If you want to play with this type of code right now in your browser, check this out... http://glsl.heroku.com/e#2431.0

bane 13 hours ago 0 replies      
The entire 4k competition from that party is here


well worth the watch...

Eduard 15 hours ago 8 replies      
Easily forgotten, a lot of today's demos' complexity lies behind API calls to graphics drivers and OS system calls, whose implementations don't count to the byte limit.
winestock 9 hours ago 0 replies      
Not only are there 4-kilobyte demos, there are also 256-byte demos.



draakon 15 hours ago 3 replies      
The lossless 60 fps high definition video capture is currently unavailable (traffic limit). Any mirrors (or torrent would probably be a pretty good idea)?

YouTube 1080p version seems to have pretty terrible quality.

degenerate 14 hours ago 4 replies      
I once spent hours looking for an internet archive or community of demo scene files / artists. There doesn't seem to be one out there in the eyes of google. Can anyone familiar with this art form please provide links to your your underground hangout? :)
aerique 14 hours ago 0 replies      
What a piece of art!
10098 9 hours ago 0 replies      
it's things like this that remind me how sucky my "skills" actually are
pjmlp 14 hours ago 0 replies      
Pixel-fitting " how antialiasing can ruin your logos and icons dcurt.is
277 points by danielzarick  2 days ago   75 comments top 25
commieneko 2 days ago  replies      
As someone who has been creating digital graphics for broadcast for over 20 years, typically at resolutions that are far lower than anything we have to deal with now, it's interesting to see all this activity lately on HN.

There are times and places where "hand fitting" your pixels is useful, but they are few and far between. Good filtering will almost always get you a better looking result. The constraints on old NTSC monitors are/were horrendous, so you simply have to filter things or you will end up with text and designs that are not only "crunchy" looking, as my assistant used to say, but with images that vibrate, strobe, comb, and burn. Burn like a soul in hell.

The first thing to learn is almost never work with full on black or white. (Or fully saturated color) In broadcast video there are legal reasons for this. But even there, you should always work at least 5% inside your "legal" gamut, or color space. There's plenty of contrast in the remaining space, and it gives you some "headroom" for your filtering to work.

For "white" I like to work down about 15%. The bottom around 10%. This is a starting point, and different designs may make me change things. Anything above or below this should be the result of filtering or as a very, very light application of color, usually feathered and not noticeable. You should be able to "feel" the effect, but not see it.

There's really no getting around the fact that whoever is designing your stuff should know their way around a color wheel. You can use complementary colors to achieve useful contrast. Select your colors to work well together. It's not just a matter of looking "pretty", but a matter of controlling the viewer's eye. It's a form of engineering. And yes, tons of designers don't really get this. The better ones do and are worth the extra money.

Filtering is a matter of making the highly synthetic image you are creating look like something your optical viewing system would find in the real world. All that laborious pixel fitting is simply going to make your image "ring" like a bell if you don't do the other stuff. And if you do the other stuff, correctly, and away from pathological situations, you probably don't need to do the pixel fitting.

If an image is too sharp, it looks fake. Phony. Synthetic. If you are creating a design that is supposed to look like a 15 year old video game graphic, then go for it. (But those were actually pretty blurry and were typically viewed on crummy NTSC monitors.)

So a controlled amount of blur, and I'm not talking about anti-aliasing, can actually help you here. It does help if the image is anti-aliased, but not if the structure of your element is close to the sample size of your image. You shouldn't even be doing that kind of thing. Unless you are creating "small type" that you don't want anyone to read, type should be large enough to filter. If this doesn't fit with your design spec, you've got a design spec done by an amateur.

Now, once you've blurred your image, just a bit, and at the right scale(!), then you can sharpen it a bit. What!?!? But you just blurred it! Yep. Don't go overboard. And don't try it on small details (they probably don't need sharpening anyway. They are small, right?) You can run into trouble on corners, particularly concave ones. Here you might want to do a bit of pixel fiddling, but it should be subtle, and filtered. Don't just go and plunk down a single pixel color change, or a flat color. If you do, that defect will ring like a bell. I used to keep a whole library of photoshop layers with filtery, blurry, corners and edges for dropping into tight spots.

Control your environment. Drop shadows are not a decorative item. Well, they can be, but in this case the thing they do is to create a sense of environment. Soft and fuzzy. Extended, but subtle. You are creating your own fake radiousity space here. And yes, a little creative use of color bleed and fake reflection can work wonders here. But don't overdue it. If the viewer can notice it, explicitly, you've probably overdone it. The window drop shadows on OS X are probably just a touch too strong for my taste. YMMV.

The drop shadow doesn't actually have to be a shadow. It can be though of as merely a filtered edge.

If you really want to get into it, find a good book on oil painting. These tricks have been around for a while. I can recommend the Andrew Loomis classic from the 1930s-40s, Creative Illustration. It's full of all kinds of filtering tricks. For a more modern book, James Gurney's Color and Light and Imaginative Realism are both quite good. You can also pick up a copy of one of his Dinotopia books, it won't help designing graphics, but, hey, dinosaurs. Right? (He also has an excellent website: http://gurneyjourney.blogspot.com/)

Gradients and ramps are useful, both to break up large flat areas of color and to add depth and a sense of space. But they are also useful on flat, graphic (old sense of the word) designs. A gentle use can place it in the viewer's world space without disrupting the, well, flatness. Just apply the effects uniformly, always being aware of color. Use of these within color fields can be useful and add visual interest and verisimilitude as well. A lighter hand is usually better than screaming "HEY, COLOR GRADIENTS!!!!"

Noise and dithering are also very useful, but can be very dangerous. Less is usually more. Noise is particularly useful on large areas, especially those with gradients. 24 bit color space is actually pretty limited when you start throwing gradients across all your colors.

I grey smallish elements slightly, unless I need them to pop (but you probably shouldn't be needing smallish elements to pop!) Over a uniform or low detail background, a bit of transparency can help, but there are technical limitations here on the web (see below).

When I need the user to look at different areas, instead of "glows" or movement in rollovers, use shifts in saturation instead. High saturation should be used only for directing attention. These days I discourage interactive things like rollovers because, they are a crutch, and mobile devices don't support them. (I have been playing around with using saturation with drag and drop, but it's more for fun and to see what happens. If you try this, be careful.)

Finally, you can use all these effects over the entire visual field. This is more useful inside illustrations or in environments where the content is contained. Vignettes and hot spots, if subtly applied can control the eye, filter the entire scene, and control perceived depth. This is harder in typographic environments, like the main areas of web pages and such. You can use these techniques, but you run the risk of looking less like a web page and more like a "Crazy Eddie" TV ad.

This is all mostly for display areas, illustrations and display type. For the reading typographical areas most of the filtering will need to be done by the OS and you don't have much control over that. You don't want to be screwing around with ham handed filtering on body type. You can still control color and contrast here, but remember old folks eyes, and don't unnecessarily grey the type.

In the new world where we can use Canvas and 8 bit alpha transparency, I've been known to slip in a few vignettes and hot spots as environmental effects. But think of the poor user's CPU, and only do this when it either pays off big time or is in a "display" area like a landing page or interstitial page of some type. Even then, try and talk yourself out of it.

For what it's worth, the hulu logo example in the article looks fine to me. It looks to me like it's been filtered, not just anti-alised. The "improved" one rings, to my eyes. Particularly in the corners.


Edit: Hinting mostly works best with very small elements, like body type, and even then in high contrast situations at high resolutions. Like laser printers. I've always found it annoying on CRTs and flat panels. I used to keep an old pair of reading glasses around to "filter" my screen. These days, with largers monitors, I use a 24 inch, at an appropriate distance, I don't need any filtering than my own aging eyes. The body type looks just great. Younger, sharper eyed readers may not agree, but just wait a few years ...

dtf 2 days ago 2 replies      
This equivalent to TrueType hinting, right? It's funny that hinting went out of fashion over the years, mainly due to a fairly sensible argument from Apple that displays would get better - which they undoubtedly have if you look at an iPad 3. Linux users, who had a choice, started switching from patent-encumbered pixel-fitted full hinting to the softer anti-aliased look, perhaps in part because many of their cool Apple owning friends told them that it "looked right".

So in a way, because of all this history, the pixel-fitted logo actually looks too sharp, and hence a little uncool.

danboarder 1 day ago 0 replies      
One problem with 'pixel-fitting' is that certain letterforms will appear sharper or crisper than others. For example, in the article the PLUS (from Hulu Plus), the PLU are sharper than the S because more of their outer surfaces conform to square pixels, while the S has continuous curves that have to alias all the way around. So you end up with some characters looking overly crisp while the S looks soft. I prefer to not draw attention to specific characters and have consistent aliasing across all the characters of a logotype. Photoshop has several font rendering modes that let designers choose how aliasing is rendered (Strong, Crisp, etc) to achieve a desirable result, depending on the typeface and font size chosen.
crazygringo 2 days ago 3 replies      
I actually find the "sharper" Hulu icon to look worse... because the curved parts of the letters stay blurry, while the straight parst are razor-sharp. The "L" and "S" look in the "pixel-fitted" version look totally different, like they don't go together at all.

I don't mind the "extra blurriness" all over everything on my screen at all, because the mind gets used to it quite quickly, and it actually allows for more detail, because our brain automatically interprets sub-pixel width changes, curvatures, etc. This is why fonts on Macs look have more accuracy and detail in their letterforms, because they aren't hinted, i.e. "pixel-fitted".

ChuckMcM 2 days ago 0 replies      
This reads exactly like Microsoft's ClearType patent where they shift the 'rendered' glyph around to maximize the number of 'whole pixels' it uses. Sounds like 'pixel fitting' is the same process (albeit done manually it seems).

Waaaay back when I was at USC the Image Processing Institute there here some interesting image filter analysis of high frequency images. Basically when you take a horizontal line, and plot it x/y with X being the horizontal position and Y being the value of the pixel there, you can treat that as a signal and measure the frequency of it. If you look at B&W text you will see a series of very sharp transitions from background level to foreground level and back again. These are square waves which have well defined harmonics. So taking the image and increasing the rate of change between high to low or low to high 'sharpens' it, similarly if you are rendering an image and you have choices about the function which determines which pixel represents which part of the rendered image, you can do several renders with pixel offsets and maximize harmonics for maximum sharpness.

ianterrell 2 days ago 3 replies      
Great post. I would have kudo'd it were I not so annoyed with having been tricked by the kudo button's hover-for-irrevocable-action on another article in the past.
jcampbell1 2 days ago 1 reply      
When using the vector tools in photoshop, it is important to make sure "snap to pixels" is selected. It fixes this issue when creating things like boxes and buttons.
ricardobeat 2 days ago 1 reply      
Manual hinting may be fine for simple vector shapes like that, but in most cases it does more harm than good. It's the same debate of windows vs OSX anti-aliasing: windows tries to fit shapes in to the pixels for a sharper look, while OSX favors preserving the exact shapes resulting in more blur.

In the Hulu pixel-fitted example, the typeface is mutilated beyond recognition. Yes, it's sharper, but it doesn't look right, the 'u's even appear higher than the x-height.

In a screen where everything is anti-aliased, images like that stick out like 8-bit art. And just like in HD vs FullHD, most people can't even tell the difference. Be patient and we'll be over this in a couple years :)

vibrunazo 1 day ago 0 replies      
A small tip here: if instead of using 2d vectors like Illustrator, you use 3d vectors like Blender for your logos and icons. Then the smooth shading of the 3d objects (versus the opaque shading 2d styles usually go for) makes these manual hinting problems meaningless. So 3d vectors are much easier to scale automatically than 2d vectors, without worrying about quality loss.

So many choose 2d logos and icons instead of 3d, simply out of style. But this little advantage is certainly something to at least consider.

grannyg00se 2 days ago 2 replies      
"Until we have Retina displays everywhere, we're going to have to live with antialiasing techniques"

I don't think Apple needs to come in and rescue every display maker in the world with their branding. Any sufficiently high resolution display will do.

michael_fine 2 days ago 1 reply      
I hope I'm not naively over-generalizing a complex process, but is 80% of what he doing just not anti-aliasing straight lines? If that is most of it, couldn't pixel-fitting be improved by just doing that?
falava 1 day ago 0 replies      
Vector icons tend to look horrible at small sizes. A post from a month ago:



jwr 1 day ago 1 reply      
This seems like it could be automated algorithmically " it looks like an optimization problem where you want to minimize the number of partially-filled (e.g. "gray") pixels, especially along vertical and horizontal lines.

For rectangular shapes, even a simple repositioning could do a lot.

tintin 1 day ago 1 reply      
Also note that SVG logo's are rendered far better than a scaled down pixel version. I tried a lot of different reduction methods but the SVG version was always "sharper".
Just include it in your image-tag: <img src="logo.svg" alt="my logo">

I think you can use a background image as fallback.

ThomPete 1 day ago 0 replies      
Fireworks have had a nice little feature for a while

Apple+k and it finds the nearest pixel.

It's doesn't always do good, but sometimes it's just what the doctor ordered.

Kevin_Marks 2 days ago 3 replies      
What the author misses is that with colour LCD displays you can do sub-pixel anti-aliasing with the 3 RGB sub-pixels, if you start from a vector, which is why HTML type looks better than Photoshop rendered type.
fusiongyro 2 days ago 0 replies      
This article reminded me of an article by Juan Vuletich about the application of signal processing to anti-aliasing:


I'd say there's still work to be done in this area.

benhoyt 1 day ago 0 replies      
Very interesting. Reminds me of pixelsnap, an Inkscape plugin my brother wrote to do this very thing: http://code.google.com/p/pixelsnap/
seanalltogether 2 days ago 1 reply      
I really wish Fireworks or some image editor was designed for asset creation first and took care of these kinds of issues. Even with Fireworks if you zoom in on the palette and draw a box you can end up creating it on the half pixel and get anti aliasing issues. I want a tool that restricts you to whole pixels for everything, including when it does automatic resizing.
lnanek 22 hours ago 0 replies      
I hate to break it to the guy, but I can't remember the last time my browser was at 100% zoom, so his perfect pixels will never look perfect on my screen anyway...
agumonkey 2 days ago 0 replies      
Anyone feels this everlonging problem is related to autofocus ? Pretty sure it wouldn't be very hard to automatically realign subparts to fit based on Fourier analysis.
daenz 2 days ago 1 reply      
I'm pretty sure this is what drives me nuts about the kickstarter logo. It could be so much crisper:


captaincrunch 1 day ago 0 replies      
While this has the attention of some of the best designers, I'd appreciate a real quick look at our logo for criticism, it's here: http://www.verelo.com/images/logo.png is it using anti-aliasing?
wlievens 1 day ago 0 replies      
That doesn't look like something you can't automate for most of those cases.
Richard Stallman Collapses At Barcelona Conference publico.es
267 points by nutmeg  1 day ago   225 comments top 21
benihana 1 day ago 8 replies      
This presents an interesting situation. Is Stallman okay with being hooked up to medical computers even though they may not be running free software? What about the privacy issues involved in being checked into a hospital?
me_myselft 1 day ago  replies      
Hi, I am from Barcelona, and I was there. Stallman is a great man. I dont know what happened at the end, but when we were in the talk the organizers told us that the talk is suspended because Stallman was not well. The medical service arrive 20 minutes after Stallman ask for attention. This delay was used by him to say: "Son los recortes, Rajoy nos quiere matar a todos", meaning: The delay is because of the cuts in the spanish health systems, Rajoy (the president) want to kill us". :-).
jonknee 1 day ago 4 replies      
Ironic that the only way I was able to read that article was through non-free software (Google Translate). Hope he's OK.
jsavimbi 1 day ago 3 replies      
> Richard Stallman: "Rajoy nos quiere matar a todos"

RMS: "Rajoy (Spain's president) wants to kill us all."

Well there you go, Richard.

firichapo 1 day ago 2 replies      
I just wanted to add that at no point does the article mentions that he collapsed. Looks like he suffered an increase in blood pressure and decided to call it of. A doctor was contacted and he was able to walk away by his own means.
kprobst 1 day ago 6 replies      
One of these days it's going to be for real and I wonder how many of his fans will be enraged when someone says something like "I'm not glad he's dead, but I'm glad he's gone".
tree_of_item 1 day ago 4 replies      
Shit. I hope he's okay, it's difficult to tell what happened through the lens of Google Translate. Anyone have more information?
raganwald 1 day ago  replies      
Social/Moral question: Is it acceptable to wish Mr. Stallman well in light of allegations that he has advocated for truly awful practices?

e.g. Dutch pedophiles have formed a political party to campaign for legalization. I am skeptical of the claim that voluntarily pedophilia harms children.


etfb 22 hours ago 0 replies      
"Stallman, conocido por sus excentricidades..."

The wonderful thing about having a smattering of French and Latin is that I can recognise "damned with faint praise" even in a language I don't know.

(Hint for the mono-lingual: http://translate.google.com/#auto|en|Stallman%2C%20conocido%...)

me_myselft 1 day ago 1 reply      
Here, there is a picture when he was in the ambulance: https://p.twimg.com/AsjR-wCCEAEVxLa.jpg
recoiledsnake 1 day ago 0 replies      
Wikipedia had him as expired briefly, had to do a double take.


chj 1 day ago 0 replies      
i don't like all he's promoting, but hope he will get well soon. Bless!
tranzparency 1 day ago 0 replies      
What's strange is Wikipedia shows him as deceased. First sentence says: Richard Matthew Stallman (16 March 1953 " 10 May 2012), often shortened to rms,[1] was an American software freedom activist and computer programmer.
giis 20 hours ago 0 replies      
Get well soon,RMS.
ginko 1 day ago 0 replies      
I'm really beginning to worry about rms's health. I recently saw a tv interview of him on russia today where he seemed to have put on a lot of weight.

I hope he doesn't overexert himself.

robwgibbons 19 hours ago 0 replies      
"Reports of my death have been greatly exaggerated"
ch0wda 1 day ago 0 replies      
TIL: Richard Stallman has a heart.
mandreko 1 day ago 0 replies      
Did he choke on the toenail this time?
tobiasbischoff 1 day ago 0 replies      
i will not make a parrot joke here. i will not make a parrot joke here. i will not make a parrot joke here. ..
ceejayoz 1 day ago 0 replies      
Maybe Microsoft tried the "Surprise! You were actually using Vista!" trick on him.
Hey Paydirt: Your Site Works Just Fine In IE reybango.com
256 points by cleverjake  3 days ago   202 comments top 30
eagsalazar 3 days ago 1 reply      
Doesn't anyone realize they just wrote that article and disabled ie9 to attract hipster freelance designers and developers? The whole thing is basically a PR stunt since they realized 99% of their hits were from Mac anyway. Especially having their article on Hacker News was just to get attention from the large freelancer following on HN.

I'm no fan of IE. However explicitly blocking IE9 is just idiotic for any other reason. They could, at worst, just have a subtle notice letting people know it is optimized for Chrome/FF and their mileage may otherwise vary.

However, for the reason of getting Mac using hipsters excited, it was pretty brilliant.

(btw, I'm not a Mac or Windows user)

(1) This is just a theory.
(2) I actually like hipsters. I just recognize they can sometimes be manipulated. Like everyone, they have their buttons.

jayferd 3 days ago  replies      
If I, as a developer, decide my site supports a browser, I know I'm going to have to spend some time doing QA on that browser. Standards are cool, but I've run into enough FF and Chrome bugs that I always test.

That being said, the cost of testing in IE is waaay higher than the cost of testing in FF and Chrome. Why? Because FF and Chrome are cross-platform, I and my fellow developers can test on our OS of choice. With IE, a testing environment costs my company about $300 per developer.

Not to mention that setting up a VM for testing is the opposite of straightforward. After shaving a few yaks to convert the stupid VHD format to something VirtualBox can understand, you need to hack your local network so the VM can see its host.

Also, the developer tools are crappy. Has anyone worked on those in the last 10 years? I use Chrome for development not because of "web standards", but because the debugging tools are awesome (some people swear by Firebug, also, YMMV).

So I guess the point "support" is a little more complicated than "look, it works!".

brlewis 3 days ago  replies      
This may be schadenfreude, but as someone who's been around the web a long time, it really tickles me to see Microsoft have to fake their user agent string to get around an arbitrary browser restriction. Other browsers used to fake the IE user agent string. I suppose it's full circle since IE originally had to pose as Netscape's browser (Mozilla compatible).
tnorthcutt 3 days ago 3 replies      
They were using many CSS3 features supported since IE9, like transforms & border-radius, but just not adding the "ms vendor prefix entry

They had the “-ms” prefix for CSS3 gradients which was added in IE10

They added support for -khtml-box-shadow but not -ms-box-shadow???

They didn't support Opera either unfortunately

All this crap recently about web standards and Opera adopting the webkit prefix and how bad some people think that is for the web? Paydirt, and people who think like them, are a huge part of the problem. Please don't do stuff like this.

FuzzyDunlop 3 days ago 2 replies      
So, if Microsoft renamed IE10 to something entirely different, and packaged it as a standalone browser, would a site like Paydirt support it then? It seems to work fine, so why not?

This, and comments like "The site happening to work" seem to have an underlying prejudice about IE. "It was IE, so it must be fucked some way or another."

The old versions are, but try running the site on Chrome 1, or Firefox 3.6 (I believe a lot of old Ubuntu LTS releases have that). They'll be exactly the same.

This should not become a trend.

moron 3 days ago 2 replies      
The site happening to work is not the same thing as support. Trust me.
ilaksh 3 days ago 2 replies      
IE9 may have caught up on some things, but there are a lot of things it doesn't do, that Safari/Chrome and Firefox (as well as Opera in most cases) do do. So even if it might not be quite as hard now to get it to layout properly (it still is not the same as Chrome/Safari/Firefox/Opera, really, things just don't behave the same unless you train yourself to avoid things that IE9 doesn't like), there are lots of other reasons to avoid IE:

- WebGL (3D)
- WebSockets
- HTML5 Forms (validation mechanism, CSS3 selectors)
- FormData
- HTML5 multifile-upload
- HTML5 video (only with certain file formats)
- CSS3 Transitions (for animations)
- CSS3 Text Shadow
- CSS3 Gradients
- CSS3 Border Image
- CSS3 Flex box model
- Application Cache (offline)
- Web Workers (threads in JavaScript)
- Drag'n Drop from Desktop
- SMIL Animations (SVG animations)
- File API
- JavaScript Strict Mode
- ForeignObject (embed external content in SVG)
- ClassList APIs
- HTML5 History API

Why are most of these features either already implemented in other browsers or available in development versions, but completely missing from Internet Explorer? Why haven't more of these features made it into the hands of Windows users? Its not because Microsoft can't figure out how to implement or deploy these features. Its because the web platform is fundamentally antagonistic to Microsoft's business model with its dominant Windows monopoly on business software, PC games and operating system deployment.

Those features which enhance the web browser to make it most competitive with the desktop MUST not be deployed to Windows users any faster than absolutely necessary. It is an absolute business imperative for Microsoft to drag its feet and disrupt the web platform as much as it possibly can, because when all web browsers have web workers, 3D WebGL, WebSockets, File API, Gradients, Drag and Drop, HTML5 forms etc., it simply won't make business sense to write applications specific to Microsoft's platform. Pretty soon after that happens, it won't make sense to continue the Windows and Office licensing lock-in.

So the relationship between a web developer (who understands the nature of the web platform) and Microsoft is fundamentally antagonistic.

aneth 3 days ago 4 replies      
What does it mean to "not support" a browser?

Does it mean you know your site is broken in the browser?
Does it mean you block that browser?
Does it mean you intentionally broke your site in that browser?

None of the above. It means you don't want to waste your QA time testing and fixing minor quirks in the browser and you don't want your users having a degraded experience on that browser. To protect your users, you may or may not provide a warning or block the browser entirely.

Products are in constant development, and every CSS change or javascript feature has the potential to break a browser and require fixes. Just because it works now, doesn't mean it always will.

It appears they successfully attempted to support IE, but decided it was not worth continuing, perhaps because of some breakage OP did not discover. Should they have stripped out any IE supporting code? That seems unnecessary.

billpatrianakos 3 days ago 3 replies      
It's easy to say IE9+ works but in the real world people aren't upgrading their version of IE like users of other browsers tend to do. While IE9 and above are much better than their predecessors by a long shot they still require you to jump through more hoops compared to any other browser. IE9 supports gradients but you have to feed it so,e conditional CSS for it to work as expected.

Overall it's misleading to say "IE9 and above work just fine you elitist hipsters" when we all know damn well there are still so many users on versions of IE older than 9 because XP won't let you or simply because Mocrosoft has traditionally not really encouraged or made it as easy to upgrade. To their credit I'm glad they're running commercials for IE10 and for this case, considering PayDirt's audience, it could be fair to criticize them for leaving all IE users out because we can reasonably assume they're using the latest greatest even if it is IE. But if you want to talk about IE being no problem to support in general then it's disingenuous to only mention the two latest versions because we know there are far too many users of the older ones to ignore. Users of other browsers are upgrading regularly so it's trivial to support old FF or Chrome (plus even FF's and Chromes's older versions support a hell of a lot more than comparable older IE's).

You know why we love to hate IE even when it improves? Because it feels like too little too late. Even the improvements are one step behind everyone else.

dpearson 3 days ago 5 replies      
The problem is, IE 9 and 10 are not everywhere. I know for certain that my school (and, I'd be willing to wager, many businesses) only deploys IE 7 and 8. IE 6 still isn't dead, despite Microsoft publicly encouraging migration. Until Microsoft gets IE 9 and 10 adoption up, supporting Internet Explorer is tricky.
rbanffy 3 days ago 4 replies      
I can see why someone would do it. If you are on Windows, you _can_ use other browsers - every browser is available on Windows.

When I allow an IE user to use an application, I have to start testing on IE. In order to do that I'll have to make Selenium do some extra runs (IE 7, 8, 9, 10, Metro mode) under a Windows VM. I also need at least one (Win 7) Windows licenses (probably more, but I may be able to get away with permanently using it in preview) and, worst of all, when it breaks, I'll have to get the application fixed for, at least a couple versions of Firefox, Chrome and IE. And that if it breaks during testing - if it breaks with a user I'll have to start guessing what went wrong (if something did).

Nah... Windows users can use Safari, Chrome or Firefox.

edit: as pointed out by recoiledsnake, aaronbrethorst and Impossible Safari is available for Windows.

heelhook 3 days ago 3 replies      
tl;dr the site works with IE9 and IE10.

I find the style of writing of this post extremely obnoxious, was it really necessary to say the exact same thing with slightly different order in the words over and over? If your post is to be short because there's not a lot to say, don't extend it unnecessarily, get to the point, move on.

janlukacs 3 days ago 3 replies      
it's just a publicity stunt to get traffic to their site. since web devs mostly hate IE it an easy way to get their attention...
LocalPCGuy 3 days ago 0 replies      
IMO, I agree with those that say it is a publicity stunt. It costs very little to support IE9+. Even IE8 doesn't take a ton of time to make it work, although you do have to do something about the CSS3 styles (CSS3PIE, for example.) But it is really dumb to make the choice to BLOCK a browser by user agent. How about feature detection or if you must block by browser, at least do IE8 and below.

Note, I am a front-end dev, and I know the pain of developing for IE6 and IE7. But any front end dev with any professional skills can make a site that works in IE8+ without resorting to ugly hacks (I don't call polyfills hacks.) And IE9 supports a large percentage of the standards we use on a daily basis.

Sorry, dumb move by Paydirt, with no monetary payoff.

sauravc 3 days ago 1 reply      
IE may be annoying, and I certainly sympathize with the Paydirt crew. But this author makes a good point: "it's exactly this type of behavior (writing for or against specific browsers) that sets the Web back again."

Sometimes doing the right thing isn't the easiest path forward.

HaloZero 2 days ago 1 reply      
Paydirt is within it's full rights not to support IE9 when it's customer base doesn't really use it.

The problem is that the author notices most things work (border radius) but doesn't realize that IE9 is missing stuff we expect modern browsers to be able to support. Placeholder text and simple gradients are both not supported very well and that takes time and effort to build into your product. It's not about 90%, it's about getting that last 10% to work just right so the experience is clean and smooth for everyone involved.

IE10 might be another story, but last time I checked IE10 isn't out yet. But it seems to me that Microsoft is always one step behind.

amishforkfight 3 days ago 1 reply      
Just a guess, but the inclusion of -ms prefixes indicate the use of a CSS preprocessor and some off-the-shelf mixin libraries for all the fancy crap.
SchizoDuckie 2 days ago 0 replies      
In my opinion this is the beginning of the end for Microsoft. People are shouting out that they're done with it, and Microsoft is trying the same trick as before: Creating unneccesary lock-in where there is absolutely no use.

Why did the first beta of IE10 work on windows 7 and now you need to download a 3.2 gb unfinished operating system? It's bullshit, It's insane, and once again the developers are being assraped by Microsofts marketeers.

You can shout from the top of the highest building that you release a new version every month, Microsoft, but you way overplayed your hands. Now there's 4 major versions to support, hundreds of bugs to test. Developer environments to setup, weird registry hacks to do to get things working, and NO FRICKING DEBUG TOOLS.

I'm one of the happy few people that are allowed to code for mostly webkit-based devices, and even though there's loads of fragmentation there, it's no were near as shitty as the experience i've had the past 8 years building IE compatibility.

JVIDEL 2 days ago 0 replies      
When I meet with investors all they talk about is traction and traffic.

If you have enough there are no more meeting, no calls, no demos.

You get funded, no questions asked.

IE is no longer 90% of the market, but it's still the biggest browser by market share. There are many early adopters, but not anywhere as much as regular users. Regular users make the bulk of any popular site/webapp's traction, and most of them use IE, period.

A few years from now when IE becomes just another competitor and not the market leader we wont need to develop for it, and that might actually make more regular users move to FF or Chrome.

Meanwhile you have to support it, because IE development will never ever be as difficult as getting enough traction.

dutchbrit 3 days ago 0 replies      
Claiming they no longer support IE means they'll stop writing "hacks" for IE from now (not as in last month) onwards.. But still, silly that they simply block IE and don't just show an extra message saying use X for the "ultimate experience". Maybe they should only block IE once they have an update that really will interfere with IE users.

But on the other hand, that might piss of paying customers that actually use IE and refuse/aren't allowed to use anything else..

pippy 3 days ago 3 replies      
Supporting IE has nothing to do with how well it renders a site.

Supporting IE carries massive baggage as you have to pin yourself to Microsoft's erratic, tactic based release cycles and limiting yourself with future features. Chrome and Firefox now how have rolling releases and are closely tied with the developer community, so new features and rendering uniformity is what you gain.

There's also the ethos you buy into by supporting IE: you're supporting a closed source, proprietary internet.

tokenizer 1 day ago 0 replies      
Isn't IE usually the only browser worth creating seperate stylesheets not to mention the browser who gives the most difficulty with your javascript?

If Microsoft truly cared about the web, they would adhere to strict standards support and compliance, force updates for IE9 and below, and begin auto update cycles for their browsers.

That may seem like a lot to ask, but it's the only things to me as a web developer I can see that could remedy their horrible reputation in the browser community. No one game app on their latest browser will change that.

drsim 2 days ago 0 replies      
I'm calling link-bait on the original Paydirt post.

Either that or Paydirt's prejudice against IE. But I believe they're smarter than that.

lucian303 2 days ago 0 replies      
The author completely missed the point. It's about trust not technology. That's why they're not supporting IE. Because of IE 6, 7, and 8.
andrew_wc_brown 3 days ago 0 replies      
In my current project, I've decided only to support the chrome browser and all other user agents are redirected to a not supported page asking them to install chrome.

I dont see the point in sacrificing my programmer happiness.

tony_le_montana 2 days ago 0 replies      
In my experience, supporting IE9/10 is different from supporting IE6-8. Supporting IE6&7 is real pain.
kadjar 3 days ago 0 replies      
Did anyone else notice that font smoothing was significantly better in the Win7 screenshots than Win8?
Bxstraz 2 days ago 0 replies      
This is a great post and should be read by every Web Designer out there.
xxyyzz 2 days ago 0 replies      
The problem with IE is it's poor track record. We don't trust you to keep it up.

Abandon the project and let people who care about beauty handle things, google.

Say hello to Octicons github.com
242 points by Fluxx  2 days ago   134 comments top 39
huhtenberg 2 days ago 9 replies      
Good idea, but, sorry, don't like 'em. Neither the execution nor the conceptualization.

The execution is too detailed. Details, regardless of how pixel-perfect they are, do blur upon quick glance, and the more details there are, the more it looks like a gray blob. The execution is also inconsistent - why the book is 3D, but the rest is flat? Except for the coffee mug that is neither.

The conceptualization is off too. The fact that they need to explain an icon is a red flag. Why book? They answer that with 5 lines of text. Why wrench and a screwdriver, when a gear is a visually simpler icon that is widely understood? Why the Logout arrow implies that someone walks in through the door? Why is the letter A transmitting, when it's actually about receiving?

So not to sound like a complete ass, here's what I would've used instead - a gear for preferences, a "power off/on" symbol for logout, a simple blank page with a plus sign for "new", some sort of inbox or even an envelope for "notifications". Just keep it simple and don't overthink.

agwa 2 days ago 4 replies      
I have Firefox configured to force the same font face across all sites (I love the consistency this gives me, and also some some sites are extremely abusive in their font selection) so this doesn't work for me. The "icons" show up as unknown Unicode characters. Not cool.

This seems like the wrong approach - shouldn't characters have semantic meaning? It also doesn't seem accessible. Screen readers wouldn't know what to do with these invented characters. <img> tags at least have the alt attribute.

pooriaazimi 2 days ago 5 replies      
What GitHub needs is a 'like' button, not new icons (so we don't have to `watch` projects we find interesting and want to somehow remember just in case - which results in thousands of commits and pushes (every hour) in our news feed we absolutely don't care about).
Sephr 2 days ago 2 replies      
Why isn't this SVG? Font icons are only applicable when there is actually an appropriate corresponding Unicode character for the icon, as text is supposed to be selectable/copyable, and display fine (albeit in a different typeface) if I turn off web fonts and have full Unicode coverage. Some of the icons that Github implements are in Unicode, yet they don't even use the characters for those.

For an example of when it's appropriate to use a custom font for an icon, I use a custom font for U+1F50D Left-Pointing Magnifying Glass in the search button on my website. Github uses U+F22E [INVALID] instead for their search icon.

pak 2 days ago 0 replies      
I appreciate that these will scale better than images, but I never grokked the icons in the top right corner. To me, a repository isn't much like a "book", and I still remember hunting for the "log out" link in frustration before realizing it was the door with an arrow. Since you've pretty much pegged the header at ~900px wide, I still think text links would be more usable and you have the horizontal room for it.

That being said, since it seems like you're incorporating these metaphors into other parts of the site--like I notice the book icon by the repo name now--maybe the metaphors will eventually stick. But in the meanwhile it has been a little confusing.

kjhughes 2 days ago 1 reply      
Some of the icons on our site have been the same since we launched 4 years ago.

Hmm. Icons aren't like underwear in needing to be changed regularly.

Further, I'm not immediately able to interpret many of the visuals. E.g. With some hovering effort, I see that right arrow away from a book supposed to stand for "Log Out" and, oh, it's an open door, not an open book. Not sure if these were meant to be shared (license?) but those so interested should be sure to checkout Font Awesome too.

I do love GitHub. New icons? Meh.

xbryanx 2 days ago 5 replies      
The file view icons seem way too washed out. I'd like more visual contrast so that I can see what is a folder and what is a file. Not all of us have 20 something eyeballs duders.
why-el 2 days ago 0 replies      
I personally did not like the colors on the repository icons. Grey just doesnt strike me as a color that inspires liveliness and energy. I liked the yellow better. Please keep some color around the repo list, thats what I care about most and I think a lot of people do too.
radley 2 days ago 0 replies      
The problem is that they didn't follow convention: they didn't think through the icons' purpose & over-did the design. Create New should just be + sign, Account Settings should be user head, and so on.

I like thinking up icons just like any advanced UI/UX guy, but rule number #1: if there's a standard you use it. Even if that means using something as archaic as floppy disk for Save.

swanson 2 days ago 2 replies      
Is there a license on these? I poked around for a few minutes but couldn't find anything. Seems like a generally useful icon set for any web-apps related to software or developers.
bane 2 days ago 1 reply      
This speaks to an overall bigger problem with browsers, the need for a universal vector graphics format. The fact that designers are resorting to fonts to try and get resizable art assets is not a good thing IMHO.
guywithabike 2 days ago 3 replies      
For the record: it took 8 people to design and implement their new icons. 8 people.
jvc26 2 days ago 2 replies      
Guess its a weird question but does anyone know what the make of propelling pencil is in the photo of their drafting process? I'd be keen to lay my hands on one!
pnathan 2 days ago 0 replies      
Going against the grain, I guess. I like them, more or less. I particularly like the color-coding in the newsfeed.

However, I generally favor text options: if there was a no-icon option I'd probably choose that over icons.

My nits:

Advanced search looks like a settings icon, though.

Admin-tools doesn't seem to relate. (A 60s rocket ship? huh?)

Notification looks like an A with some sound at small resolution instead of the radio tower.

shocks 2 days ago 1 reply      
We should tell them we don't like it instead of just commenting in a HN thread.

Tweet them, or something.

Bitbucket looks great still.

FuzzyDunlop 2 days ago 0 replies      
I think this quote sums up some of the thinking behind this:

"Some would say that a repository is storage " a place where you store your code " somewhat like a box."

So why isn't the icon a box? Why instead spend the rest of the paragraph justifying the book icon? It might be understood well enough by the Github designers, but the metaphor isn't universal enough to be recognisable at a glance.

This is made worse because the icon for 'readme' and 'wiki' are also books. That could be confusing without the text.

The other example is the icons for watching. 'Add' tends to be represented as a plus icon. In this case 'watching' has a plus icon in it, while 'unwatch' has a cross icon. This doesn't appear to make sense.

One might wonder why, when there are present and available dichotomies (open eye, shut eye), there's such a mix and match of metaphors.

ngokevin 2 days ago 0 replies      
Elements aren't lining up and running into each other. Some icons are oversized and overall the page looks lot more cluttered. Adding even more colors doesn't help the fact.

There's always going to be pushback when doing a UI revamp, and today I'll be that guy. Running Linux/Nightly.

platzhirsch 2 days ago 0 replies      
I cannot believe my repositories have no smiles anymore, I don't want to live on this planet anymore.
fleeno 2 days ago 0 replies      
Did they make that drawing just for the blog post?

I don't know things work at GitHub, but our ideas are scrawled on random papers, whiteboards, and windows. We also never seem to have a perfectly posed pencil anywhere in sight.

Either way, I still love GitHub!

jackfoxy 2 days ago 0 replies      
Reminds me of the VS11 beta icons, although not quite as bad that. (The promised VS11 RC icons are somewhat of an improvement. There must have been a big outcry. http://blogs.msdn.com/b/visualstudio/archive/2012/05/08/visu...)

I agree the idea is very good. Are flat icons a current design fad?

irrationalfab 2 days ago 0 replies      
It looks like a regression (it is the first time that I say it with a redesign). From the technical point the might be great, but they are more bold and result in a pages that look less clean.

However I don't care about the icons so much, what I want is:

- better notifications / activity stream

- like button

- improved diff (highlight only the changes inline if a line changed slightly)

madmaze 2 days ago 0 replies      
With the new design I have issue reading the light gray text on the white background. It looks like the line weight is set too thin.. at least this is on Chrome & FF11 on Ubuntu 11.10
evoxed 2 days ago 0 replies      
Offtopic, but it's amazing to realize that Avalonstar is 11 years old! I guess I was pretty small when it started but I remember following Brian's work I guess as far back as my first computer purchase...
brutuscat 2 days ago 0 replies      
Is it me or they "changed" the icons 2-3 times in last 6 months? I don't want to disrespect you guys, you are doing a great job :D, but github currently really needs some form of deck to track down project dependencies activity and people activity too.
I already started something here http://bit.ly/GFB0XD
andypants 2 days ago 0 replies      
Did the watchers and forks buttons also change?

They just to just be an icon and a number, now I see an icon/text button. Also, I can't see a list of watchers/forks by clicking on them now.

coleifer 2 days ago 0 replies      
Judging by the number of folks listed who contributed to this (misguided) effort, I'd call this classic design by committee. Why not stick with the visual tropes we've come to know and instantly recognize? Instead of spending so much time designing these icons they should've read up on semiotics.
mdehaan 1 day ago 0 replies      
I believe you used to be able to click on the "forks" and "watchers" button to see who is forked or watching. Now the button defaults to "unwatch" when looking at the project page.

I find these new icons confusing as well. It took me a long time to figure out the one icon was an eye with a "X" on it for "unwatch". Not sure why the branches in "your fork" travel upwards as well, as I've never seen a source control diagram do that.

And my default user/organization/project icon is no longer an octocat but a book with a fork on it. I miss the octocat.

I think this is a classic problem when a graphic designer doesn't have enough meaningful real work to do :)

Bogdanp 1 day ago 0 replies      
Aside from all the issues that were pointed out by everyone, since fonts on Windows are rendered much more sharply than they are on OS X for example, these look absolutely _terrible_ on Windows machines.

Edit: I have also noticed that they have removed the button to see the watchers on a project (it's just a toggle button now). To see that list now you either have to enter the URL directly or go on your dashboard and click on the watchers icon there on whatever project you're looking for.

Alex3917 2 days ago 0 replies      
I was hoping this was going to be about a new elementary particle.
zobzu 2 days ago 0 replies      
To be perfectly honest the icons confused me. I only found "new repo" because tere aren't many bbuttons so it's quick to go over each. I much prefer text.
wickedchicken 2 days ago 1 reply      
Apple and Windows, doesn't seem to be a Linux :/
DannoHung 2 days ago 1 reply      
Uh... did github just axe blog comments from all non-drinkup posts?
jonah 2 days ago 0 replies      
seems to be a typo, there's: .tag-create and .tab-delete
kaezarrex 2 days ago 0 replies      
I prefer no icons... https://gist.github.com/2648857
angerman 2 days ago 1 reply      
Is it just me or does the new exit icon with the door not align well with the other icons?
edwardhotchkiss 1 day ago 0 replies      
Has anyone seen this in FF 12? This is one branch that shouldn't have been merged.
ryanflorence 1 day ago 0 replies      
You guys are worse than your own customers.

Site looks great.

mparlane 1 day ago 0 replies      
And goodbye to IE8 it seems.
finalword 1 day ago 0 replies      
hello, octicons.
55,000 Twitter passwords leaked airdemon.net
234 points by gravitronic  3 days ago   104 comments top 38
jaysonelliot 3 days ago  replies      
I just did a random sampling of these accounts, and what's interesting is that every one of the twenty accounts I looked at had about 3-6 followers, and was following thousands of people (or it was suspended).

All their bios sound like bot-generated text, they all have suspiciously similar passwords that look auto-generated, and none of them seem to have much to say.

On a hunch, I logged in to a few of those accounts and saw that they all had messages asking them to confirm their email addresses, as they had not done so yet.

This is probably not a "leak," but some spammer's list of fake accounts.

danielamitay 3 days ago 3 replies      
Every single account I checked has constantly retweeted the account @Swagstro[1]. They have 314k followers, but no "Verified Account" tag (which extremely popular users tend to have). I don't mean to point the finger, but it seems like these accounts were used to boost the popularity of said account.

They gained 70k followers in the past two days alone[2].

Their tweets have all disappeared since posting this comment.

Automatically generated accounts, profiles, and tweets. These accounts are used for services that provide paid followers and retweets. It's actually pretty interesting stuff if you look at the automatically generated "Twitter Ipsum" that is their profile descriptions and how they randomly pick quotes from famous people to tweet.

[1] https://twitter.com/#!/Swagstro

[2] http://twittercounter.com/Swagstro

brownbat 3 days ago 1 reply      
I disagree that the all or even most of the passwords are randomly chosen, there's too little entropy for it to be a pseudo random system, and too much for it to be a simple algorithm based on the username. I'd bet the percentage of the accounts here that are spammers reflects the same percentage as the overall site, and is probably shockingly high.


natymattyoly_souza@hotmail.com:123456789321 < probably guessed numbers until the system said it wasn't "too obvious"


anderson_andimdim@hotmail.com:159753100 < physical numpad pattern, "X" + 100


danielmarianosantana@hotmail.com:euamominhamae < "i love my mom" in portuguese... Twitter blocks "iloveyou" as it's a really common password, but this seems similar






There are many others that may be autogenerated, but I think we can rule out the idea that most or all of them are. The common patterns are probably just because humans are bad at this "make up a secret that no one else makes up" game.

m0shen 3 days ago 2 replies      
For the curious:

    curl http://pastebin.com/raw.php?i=Kc9ng18h > twitterpw.txt
curl http://pastebin.com/raw.php?i=vCMndK2L >> twitterpw.txt
curl http://pastebin.com/raw.php?i=JdQkuYwG >> twitterpw.txt
curl http://pastebin.com/raw.php?i=fw43srjY >> twitterpw.txt
curl http://pastebin.com/raw.php?i=jv4LBjPX >> twitterpw.txt

gravitronic 3 days ago 2 replies      
(posted this on HN after seeing it on an RSS feed)

Definitely looks like it was a large-scale spam operation that was hacked and not twitter itself.

I just edited the title to try to reflect the lesser impact of the leak.

sparknlaunch12 3 days ago 2 replies      
I took a sample of 34k. I may have had some files that didn't download fully[1]. I was only interested in picking out some trends.

66 - No password (ie null)

580 - had the password "315475"

492 - had password "123456"

187 - had password "123456789"

68 - had password "102030"

62 - had password "123"

52 - had password "12345"

44 - had password "1234"

29 - had password "101010"

35% were numeric/number only passwords. There were many that were a variation of 123...

The rest appear to be a mixture but first names are popular. I haven't tried, but would assume many of these would be the same passwords for the registered email (username).

The day someone comes up with an alternative to passwords it will be a great day!

Edit: [1] 34k unique accounts, I must have deleted duplicate usernames/accounts.

swang 3 days ago 0 replies      
Doing a quick analysis.

58978 accounts listed,
34064 unique account/passwords

25069 accounts by email
8995 accounts by usernames

Most accounts by email:

hotmail.com @ 15598

yahoo.com.br @ 2375

gmail.com @ 2148

bol.com.br @ 1031

uol.com.br @ 695

A lot of misspellings for domain names.

viggity 3 days ago 2 replies      
is it just me, or do the vast majority of the passwords appear to be the default randomly generated passwords? How many of these accounts are even active?
eridius 3 days ago 1 reply      
Any idea where these came from? Was Twitter actually hacked somehow (and if so, why only 55k)? Or was 3rd-party software that collected Twitter credentials hacked? Can 3rd-party software even collect credentials at all or is OAuth the only authentication flow that works today?
VBprogrammer 3 days ago 2 replies      
Does anyone know the significance of 315475 as a password? I can't immediately see what would make this so popular.

Unless of course as other people pointed out its just the same person who registered a large portion of these accounts.

jayferd 3 days ago 0 replies      
Not quite 55K - lots of these are duplicated as many as 4 times in the dataset.

    $ wc -l twitterpw.txt
58924 twitterpw.txt
$ sort twitterpw.txt | uniq | wc -l

its_so_on 3 days ago 0 replies      
You can't.

"'The micro blogging platform is aware of this hack and was taking necessary actions to save those people's account from malicious activity', said a Twitter insider."

At first my reaction to the story was "like I give a tweet!" What are they going to do, tweet something inane? Um... that's kind of the point of the whole service, isn't it?

But then I remembered the true vulnerability with leaked usernames/passwords: people use the same ones across sites.

These same people would never change their username/password combo on ANOTHER site due to prompting ont he Twitter site. They just can't read and follow directions like that. (If they could they probably wouldn't have the same username/pd combo).

So, I think that:
"'The micro blogging platform is aware of this hack and was taking necessary actions to save those people's account from malicious activity', said a Twitter insider." is asking the impossible.

The only malicious activity is on the users' other, real, non-SMS-length-message-broadcasting-to-the-whole-world accounts... (email, facebook, etc)

sebphfx 3 days ago 0 replies      
I just looked at one of the pages and by looking at the data, it looks like it's from Brazil. Portuguese names,portuguese passwords. That was the page with L-O.Not Portugual either, Brazil. So a good sense of observation I have.
sev 3 days ago 1 reply      
Seems auto-generated. Looking through pastebin, this is what I found just now: http://pastebin.com/Rd1GjX9T

which leads to:


Edit: Why am I being down voted? The links above seem relevant to me.

danso 3 days ago 0 replies      
Given that, as jaysonelliot already pointed out, most of these passwords seem auto-generated and are indicative of non-human accounts...then I guess the source of this leak isn't from a phishing operation.
16s 3 days ago 0 replies      
What sort of hashes are those?

Edit: Nevermind... they seem to be passwords, not hashes. They look randomish though. Likely computer generated.

mikegirouard 3 days ago 0 replies      
> "Unbelievable that Twitter isn't taking any necessary steps to keep its users data safe. Even after encountering a huge number of hacks in the past including celebrities account."

I don't think that's very fair.

> "All they need to do is to add a password strength checker during signup while changing passwords. And guide the users to create a strong password. That could save a lot of users frustration."


bonzoesc 3 days ago 0 replies      
I'd put money on this being from a backdoored spam tool.
cgart 2 days ago 0 replies      
Going through the comments posted here, I wonder why actually nobody speaks loud an obvious thing: "Why in the hell twitter uses non-obfuscated password?" I think on of the rule of thumb, when creating a webservice with credentials, is to store the password in the way in the database, that it cannot be retrieved. I mean, you usually obfuscate it with some salt and then hash it afterwards.

Assuming Twitter does this kind of obfuscation, then all the password couldn't be retrieved from Twitter directly and hence no blaim on Twitter side.

Assuming Twitter does not obfuscate the password, why then nobody mentioning this? In such a case Twitter made a beginner failure and this should be somehow pointed out, I think. I just remember the case about one dating-site, which did that and it was more or less lynched for this by the community.

hackermom 3 days ago 0 replies      
Seriously, they store passwords in an easily reversible format? Or are these booster accounts stolen from somewhere else than Twitter's premises?
konceptz 2 days ago 0 replies      
Our comments seem to be geared towards figuring out the mechanism and not the motive. While this can lead to the greater picture, I wonder if we can make an assumption.

There were ~55k user:passwd leaked.

And while a large subset may come from specific regions, it's hard to say if they all do.

But we already have a connection between all accounts, (obviously) they were all hacked and released together. (Pretty strong connection).

So then the number might allude to an effort of some scale for some unknown reason.

Currently and besides the legitimate users of the accounts, only one entity has "taken damage" from this "leak". Twitter

So anyone care to continue this line of thought?

midstreamEdit: NYtimes is saying it's a retaliation hack.

rev087 3 days ago 0 replies      
There seem to be a lot of randomly generated account names and passwords, especially in Page 1. For the rest, most of them seem to be from Brazil; just search for .com.br. Brazilian users also use hotmail.com accounts.
vjeux 3 days ago 0 replies      
"Unbelievable that Twitter isn't taking any necessary steps to keep its users data safe. Even after encountering a huge number of hacks in the past including celebrities account. All they need to do is to add a password strength checker during signup while changing passwords. And guide the users to create a strong password. That could save a lot of users frustration."

If only it was that easy to prevent account stealing.

braindead_in 3 days ago 0 replies      
How was this hacked? Passwords where stored in plain text? or were they brute forced?
taylorbuley 3 days ago 0 replies      
I haven't done a formal analysis of the password text but by eyeball and guy these don't really appear to be real people.

The passwords are far too complex based on previous password dumps I've seen.

username3 3 days ago 0 replies      
34,068 without duplicates.
josephcooney 3 days ago 0 replies      
As always, amazed at the stupidly simple passwords people use (if, indeed these ARE real people).
btipling 3 days ago 1 reply      
Change your password if you have a Twitter account. Change that password where ever you use it. They may not have released the full list of passwords they actually have access to.

I recommend 1password for managing passwords so that issues like this are easier to manage and so that I do not use the same few passwords everywhere.

sirwitti 2 days ago 0 replies      
Disregarding whether the accounts are spam accounts or not, I created a little search tool, to check for user names:

Maybe this will be helpful for some people.

Irishsteve 3 days ago 0 replies      
Why 55k? Gotta wonder where those specific accounts came from
ZenPsycho 3 days ago 0 replies      
what's the maximum size of these passwords? These look like they were obtained by a relatively shallow brute force attack, given the weakness of the passwords.
blackysky 3 days ago 0 replies      
I don't think those are legit accounts because you can clearly see pattern between passwords usernames and e-mails.....
septerr 3 days ago 0 replies      
I actually don't think this is a good enough reason to force users to use strong passwords. You may at most warn them, but that is still annoying. If a user chooses a weak password, it's their choice. They are taking the risk.
moreati 3 days ago 0 replies      
The passwords in the linked pages look far too random for humans to have chosen. My guess: either they're a spammer's account list, or this is a hoax.

Edit: There are twitter accounts to match the usernames - the few I checked were bots. I won't test the passwords.

chbrown 3 days ago 0 replies      
I can generate random strings in Python too.

Did anyone actually try any of these? None of them work.(Correct me if I'm wrong -- I didn't try them _all_)

CakeX 2 days ago 0 replies      
I found one from the List on this Site http://www.dazzlepod.com/lulzsec/?page=135 it´s from June 16, 2011 - Maybe there are more from the Pastebinlist.
marcelfahle 3 days ago 0 replies      
these people all have pretty sophisticated passwords. :]
mikemarotti 3 days ago 0 replies      
Any info on how exactly this was accomplished?
HTML9 Responsive Boilerstrap JS html9responsiveboilerstrapjs.com
227 points by antidaily  2 days ago   46 comments top 25
victork2 2 days ago 3 replies      
I give it that: It's a good satire of today's buzzwords clogging HN.

I would add "Beautiful" to the bunch, since it's so overused.

fpp 2 days ago 0 replies      
and in the page source:

              _   _
@~ (o.o) ~@
/___( * )___\ NA NA
/ `U' \ NANA
( . ) NA !!!
_\ /_

tomg 2 days ago 1 reply      
If anyone's wondering what the JS code in the .zip does:


codesuela 2 days ago 1 reply      
brogrammers take note: this is only for rockstars
javajosh 2 days ago 0 replies      
Nice, but I'd really wish it supported a half-way decent transpiled CSS language, like SASS, LESS, JESS, GUESS, or ASS, that gets auto transpilezipped with a simple 'ant ruby merge push' command.
droob 2 days ago 0 replies      
For those of you complaining about the quickstart up-and-running wiki tutorial, don't forget you can always read the related RFCs in the devchannel backgroup IRC log server dump.
juddlyon 2 days ago 0 replies      

The sad thing is that it isn't that far from a number of current sites who seem hell-bent on making you feel out-of-touch.

recursive 2 days ago 0 replies      
This would be unnecessary if more people understood monads.
knowtheory 2 days ago 0 replies      
I mean... maybe it's art, sure, but if it's satire in the aim of accomplishing something, i'm entirely unclear on what end this was made to pursue.
ecaroth 2 days ago 1 reply      
rubygem the lymphnode.. definitely got a chuckle out of that one!
wavephorm 2 days ago 0 replies      
I bet most people upvoted before clicking the link.
th0ma5 2 days ago 0 replies      
Maybe it is just me, but it seems around the time that "responsive" became a term for layouts that adapt to screen resolution, the other term "reactive" which denotes UIs that represent some kind of live and changing data inline on the page was becoming a thing. It almost seems like that was the cool thing first and freaked out people, and now it is like there's an initiative to minimize "reactive" as a buzzword, and put the tamer "responsive" buzzword in its place... presumably while someone works on some kind of large "reactive" effort and then can announce their "big new thing" with their own term... anyway... i'm probably making things up :D
taskstrike 2 days ago 1 reply      
Did somebody spend too much time trying to be meta-funny?
conner_bw 2 days ago 0 replies      
I work for a company that pulls in five million dollars in sales a day. I upgraded all our servers to HTML9 Bootsauce and it broke everything. What the fuck?! Cross dressed in a unitard compatible my ass! We're losing money by the character I type! How do I revert?! Can't trust anything these days.
mncolinlee 2 days ago 0 replies      
All it would take is one comment from pg and this would be the hottest dotJS project on Github. Imagine Google adopting this!

It could automagically generate Doodles using continuous integration and continuous deployment through Jenkins CI.

sashthebash 2 days ago 0 replies      
Don't forget to check out the issues on GitHub: https://github.com/impressivewebs/HTML9-Responsive-Boilerstr...
blago 2 days ago 1 reply      
Meh, I did that 4 years ago. On a single weekend.
nsoldiac 2 days ago 0 replies      
Documentation reads: "Boom. Cross-universe compatible." ha!
Tloewald 2 days ago 0 replies      
Needs a video demo of setting up a blog with it.
cheshire137 2 days ago 3 replies      
Completely useless and unfunny documentation.
derrida 2 days ago 0 replies      
I see this is written using BroScript idioms.
bmaeser 2 days ago 0 replies      
awesome work. but it actually lacks of support for vapor.js
bashzor 2 days ago 2 replies      
I don't see why this got a single upvote. Not only is it a fake, it doesn't even do anything cool.
ArekDymalski 2 days ago 0 replies      
Cloud and SoLoMo are missing from the buzzword list. Anyway funny. Kinda reminds me: http://abstrusegoose.com/380
humblepie 2 days ago 0 replies      
Too subtle :)
Big Data University: Free Database And Hadoop Courses bigdatauniversity.com
203 points by acangiano  1 day ago   35 comments top 14
MoOmer 1 day ago 1 reply      
No one has said it yet, but this is awesome. As someone working through bunches of books at the moment, it's great to see some kind of structure to at least guide me while I go about my own things.

Even if I don't use the courses fully, I'll certainly take bits and pieces as I go forward.

Great stuff.

DeBedeux 1 day ago 1 reply      
If you ever wanted to dabble in Hadoop take a look at Hadoop Fundamentals I http://bigdatauniversity.com/courses/course/view.php?id=301. And if you'd rather do hands on exercises on the cloud instead of installing all this stuff on your laptop take Hadoop on Amazon Cloud course http://bigdatauniversity.com/courses/course/view.php?id=309 and get $25 from Amazon. Free courses plus $25 bonus is a pretty good deal.
tuxguy 1 day ago 2 replies      
Just remembered, Cloudera has some nice tutorials & videos on Hadoop, Map Reduce, etc


psawaya 1 day ago 0 replies      
I logged in with Google auth, and it still sent me an e-mail to confirm my e-mail address. That's unnecessary.

I'm really glad a resource like this exists, though. Looking forward to working through the Hadoop Fundamentals course.

amalag 12 hours ago 0 replies      
Anyone taken the cloudera courses and can compare this to it? My employer is going to spring $2800 for a cloudera hadoop training. I wonder if it's worth it.
tuxguy 1 day ago 1 reply      
Thanks for providing these amazing resources & that too completely FREE. woot !

But the UX on the site is terrible.
If & when time permits, please take a look at the Coursera, Udacity, Codecademy, Udemy, Lore(lore.com, formerly coursekit) sites.

User engagement is directly proportional to the usability & smooth, pleasing UX(user experience)

Cilvic 1 day ago 0 replies      
Does somebody know how to get access to the courses that require an "enrollment key" like this one: "spreadsheet like analytics" http://bigdatauniversity.com/courses/enrol/index.php?id=462
bartonfink 1 day ago 2 replies      
Not to be a nitpicker, but you've spelled "enroll" incorrectly several times. As an education-focused initiative, you should probably change this.


rjack_ 18 hours ago 1 reply      
This is really interesting, but who's behind this? I can't find any clue in the about / contact us pages.
jackhoy 1 day ago 3 replies      
It seems that as the amount of data being produced continues to expand at an unprecedented rate, it will become essential to master Hadoop which seems to be the gold standard for managing big data - would anyone disagree with this?
rmATinnovafy 1 day ago 0 replies      
Great work!

Added it to my ever-extending list of resources.

Thank you.

praveenhm 1 day ago 0 replies      
Excellent! This is great.
idelsoq 1 day ago 0 replies      
This is great news !!!
oh_no_my_eyes 1 day ago 0 replies      
oh man. moodle pains.
It's OK for Apple to block Firefox, but wrong when Microsoft does it computerworld.com
199 points by tomkin  7 hours ago   161 comments top 24
cletus 6 hours ago 6 replies      
I wonder how many people throwing opinions around this were "of age" in the early-to-mid 90s and thus remember what an unstoppable behemoth Microsoft was.

This was a time when they had 95%+ of the desktop OS share and you basically couldn't run a home computer with Windows. This was the early days of Linux (IIRC in ~1994 I downloaded SLS running Linux 0.99.x onto ~30 floppy drives over a 2400 baud modem!). Macs were an expensive niche product. Personal computing just wasn't possible without Microsoft.

Microsoft very much used this position to kill Netscape as they saw the Internet as an existential threat (fearing Netscape would be the new OS). They tried to subvert Java (the threat of "write once run anywhere" being a threat to the Windows lock-in) and partially succeeded. It was at this time that the DoJ stepped in.

I can't overemphasize the perception the tech community had of Microsoft then. Windows was rapidly evolving. Windows 95 was, I believe, a major turning point for the company (and where it achieved at least technical superiority over MacOS having preemptive multitasking and dynamic memory management). Microsoft really had an aura of invincibility.

We are not in this situation today. Apple seems unable to do no wrong (in the marketplace; there are what are still fringe elements criticizing them for any number of things) but don't have the market position Microsoft did.

In fact, Microsoft doesn't have the position Microsoft did in the 90s. At this point I believe we have viable alternatives to personal computing between mobile devices, Macs (you can get a Mac Mini for $600), netbooks and--dare I say it--even Chromebooks (you'll note that I left Linux off that list as I believe it will never be a viable mainstream desktop OS and of course I know it powers Android/ChromeOS).

I certainly don't see an issue (yet) with Apple blocking alternative browsers. Don't like it? Buy an Android. Or a Windows Phone 7. Or a Blackberry (OK, I couldn't keep a straight face with that last one).

Windows and Office are the geese that lay the golden eggs in Microsoft. Everything is beholden to them. As an organization, Microsoft seems terrified they'll die and as we've seen time and time again it's that fear and that switch from innovation to defending your turf that ultimately leads to the death of companies.

I believe the whole Metro API browser thing is just more evidence of Microsoft's stagnation. Let them I say. It'll probably, at least in some small way, hasten either their demise or them attempting to turn the boat around before they go off the cliff.

EDIT: yes Netscape was complicit in its own destruction. I used Netscape up until version 3. By Netscape 4 on a 486DX4/100 at least, IE4 was significantly better and faster and I never switched back (not until Firefox 1.5/2 years later).

Netscape eroded at both ends (IMHO). At one end obviously was Microsoft giving away the equivalent to their consumer product for free (as well as bundling it with the OS, making it harder to use non-IE browsers and so on). At the other end was actually Apache. The Apache Webserver I believe it incredibly difficult to build their server software platform (anyone else remember Netscape's Web servers?).

It wasn't until the rise of search engine advertising some years later that Microsoft's hold could be broken, it being the only thing that makes Firefox and Chrome possible.

As an aside to all those who are anti-ads: how exactly would non-OS browsers exist without advertising?

wvenable 7 hours ago  replies      
A lot of people, including the author of this article, seem to think it's unfair that Mozilla is not giving equal complaint time to both platforms. That's the fundamental issue here.

Maybe, all things being equal, that would be a fair complaint but all things are not equal.

First of all, the limitations of iOS and app store are well known and retread at least once a month on HN since the site opened. Mozilla certainly did complain about iOS years ago and decided ultimately to abandon the platform. We're talking about Windows now because Windows 8 is due to be released.

Secondly, Firefox's primary platform is Windows and they already have working version of Firefox for Windows 8 with a Metro UI for x86. Only a minor technical limitation keeps them from releasing it for ARM -- that's not true of iOS.

Lastly, there is a still a chance Microsoft might cave on this issue. We know from years of experience that Apple won't.

sriramk 6 hours ago 3 replies      
My feeling here (ex-MSFT employee, so maybe biased one way or another) is that Mozilla is going after the soft underbelly of Microsoft, because they can.

Mozilla is already locked out of iOS and they have failed at getting Apple to budge. If WinRT locks them out, they'll be locked out of two out of the three major tablet platforms (it's a safe assumption that WinRT will get some marketshare at least).

Microsoft is an easier target than AAPL - Win8 is still under development so it's still early days and the company has a history with various governmental organizations (the DoJ, the EU). My guess is Mozilla is attempting to rattle Microsoft into opening up Win8 to get Firefox to run. Or drum up enough press, get the DoJ to make a quote or two and really get Redmond to worry.

If I were Microsoft, I would hold my ground. Strategically, it makes a lot of sense to own the browsing experience e2e and I think Mozilla's case is weak given MSFT's lack of marketshare, the existence of Chromebooks, Boot2Gecko, etc.

koeselitz 6 hours ago 3 replies      
This is a bit silly. So the point of this article is that Mozilla "should be criticizing Apple?" Why waste a whole article saying someone else should criticize Apple? It seems more worthwhile to do it oneself.

The trouble with trying to dismiss an argument with accusations of hypocrisy is that hypocrites can be right. If I make an argument that stealing is wrong and then turn around and steal something, that doesn't mean that stealing is morally permissible. Likewise, the fact that Mozilla neglects to criticize Apple doesn't mean their criticism of Microsoft is incorrect.

ozten 6 hours ago 5 replies      
(Disclaimers: I work for Mozilla)

There is a huge difference between iOS and other platforms.

Apple, in legal terms, makes Firefox on iOS impossible. This was not the case with Windows; Microsoft was using covert means to undermine user choice.

To make a blanket statement that Mozilla thinks Apple's banning Firefox from iPad and the iPhone is 'not a problem' is wrong and disingenuous.

We have active projects around ways to give users choice within the constraints of Apple's licensing.

Mozilla fought and won against Microsoft's anti-competitive efforts, under an entirely different technical and legal landscape.

As a Mozillian, I'm pissed and have been pissed off since iOS's launch, but we also have to choose our battles on where we can fight to keep the web open.

To apple's credit, they've provided a web standards based browser to a mobile landscape that didn't have one (at the time) and which spawned many other web standards based browsers like Chrome.

Do I wish Safari on iOS have a freaking file input so I could upload photos from the gallery? YES! Would I want a Firefox browser that was proxy based to get around iOS licensing.... hell no. Is it worth the Mozilla community's time maintaining an iOS based port just for the people who jailbreak their iOS devices... probably not, but no one from Mozilla would stop you from doing the work.

CountSessine 6 hours ago 1 reply      
I'm going to put this question out here for everyone who's had some experience building a JIT engine of some kind: what exactly is the danger of compiling code, even unknown code like from downloaded javascript, when the process' operating environment is supposed to be hardened anyways?

Is it just that the only way to do this is with VirtualAlloc()/mmap()? Could a 'safe' executable page allocator be created for just this purpose?

If the JIT'ing code is tricked into compiling and executing 'malicious' code, hasn't the operating environment - what libs the process can load, what syscalls it has access to, etc - already been security-hardened? My understanding of WinRT is that it's already a bit of a sand-boxed environment, with limited and measured access to the machine's resources.

If it's possible for the JIT'ed code to do something REALLY bad, like install a driver or write to arbitrary system files or something, then it was possible for the JIT'ing code to do that too, and that's almost certainly a really really bad thing.

Even if it's just a matter of the JIT'ed code violating the trust agreement between the user and the JIT'ing code (ie doing something that the user was OK with Firefox doing, like reading the address book, but doing it for malicious reasons), maybe a new trust agreement can be designed, that would make users aware that the JIT'ing program is inherently a bit more dangerous?

Or maybe what really needs to happen is we have to treat JIT's as pluggable, upgradable OS infrastructure, sort of like the image loader or dyld/ld-linux.so? In that case, if the Firefox would install a browser and the Firefox JIT'ter as separate components, and then Firefox would ask it's JIT'er to compile/execute javascript into a separate process - one with much more limited access to the machine?

Zak 6 hours ago 1 reply      
This seems like a bad move for Microsoft. Few people see them as the horrible monopolistic evil empire anymore, but it's not so long ago that people saw them that way. They got in significant legal trouble just for bundling a browser with Windows. Blocking alternative browsers, or subjecting them to restrictions MS considers too crippling for their own browser seems like a good way to scare off developers and users alike.
unreal37 6 hours ago 1 reply      
A lot of misinformation being spread here. Microsoft has not BANNED Firefox in Windows 8. There will be a version of Firefox for all editions of Windows 8, including desktop and tablet as long as Mozilla chooses to make one.

In Windows 8 for ARM-based tablets, applications like this have to run in a sandbox (Metro UI). Get over it. Either consumers will or will not buy a tablet that they can't run applications the way they wish. Perhaps a Windows 8 tablet will be a disaster and all this outrage will be for nothing.

Certainly the restrictions Apple places on iOS are in many ways worse. I don't see how you can be mad at Microsoft but give Apple a pass.

Karunamon 7 hours ago 2 replies      
Considering that Apple hasn't been legally ruled to be an illegal monopoly and Microsoft has, the faux-righteous-indignation in the headline completely backfires.
superuser2 7 hours ago 3 replies      
Windows 8 is the natural successor to Win7 and XP. It's the next version of the most popular desktop OS in the world. As with Windows 7 and OSX, it should run whatever the hell the machine's owner wants it to.

iOS is a locked-down, consistent, homogeneous user experience on specialty devices that should not be and are not marketed as replacements for computers. Apple Store employees will specifically advise against purchasing an iPad as a primary computer.

If Apple tried to tell me what I can and cannot run on OSX, I'd be pissed. On mobile, I currently have a choice between superior UX (iOS) and freedom (Android), which are at this stage in the game somewhat mutually exclusive (part of the iPhone's appeal is that There Is One And Only One Right Way To Do It).

For the record, I run Android, but I still want to the option to select a higher quality product if I'm willing to sacrifice what Android does better (turn by turn directions and physical keyboard on the Droid 3).

mbq 3 hours ago 0 replies      
Meh, it is just time to accept that Android, iOS and Windows RT are not a serious OSes but an unobtrusive, eye-candy cloud clients for masses. The step ahead is either to waste money on VPSes or just demand the right to have full control of the software on hardware we buy -- say Angstrom will always run Firefox without any doubt.
TazeTSchnitzel 7 hours ago 3 replies      
>"The difference here is that Microsoft is using its Windows monopoly power in the OS market to exclude competition in the browser market."

Some might see it that way. Personally, I don't think that's Microsoft's goals at all, it's just an unintended consequence of them trying to slowly phase out the Win32 API and Desktop applications, and switch entirely to Metro-style WinRT-based apps.

contextfree 5 hours ago 0 replies      
arguments of the form "why aren't you complaining as much when X does it?" are always lame. because (1) often they are, you just haven't noticed it (often because it hasn't resonated with a media echo chamber) and (2) so what.
MaysonL 6 hours ago 1 reply      
Of course, there are other web browsers for iOS: http://news.ycombinator.com/item?id=3961084
tosseraccount 5 hours ago 1 reply      
Why are they blocking FF? It seems to me Apple's inviting the same anti-trust problems Microsoft had. Just let FF on and compete.
dm8 6 hours ago 2 replies      
Has MSFT given any justification on why they are banning Firefox from Windows 8?

And why iOS doesn't allow FF too?

cjoh 6 hours ago 0 replies      
Only one of the organizations involved here has a court mandated consent decree.
deedubaya 7 hours ago 2 replies      
I don't think Apple blocks Firefox on iOS. Other browsers like Opera exist in the App Store, maybe Mozilla just hasn't developed FF for iOS yet? Or am I wrong?
danielrm26 4 hours ago 0 replies      
Perhaps Apple does it for quality purposes, while Microsoft does it to avoid competition.
laveur 6 hours ago 1 reply      
I would like to take the time to point out that Opera has a browser on iOS http://itunes.apple.com/us/app/opera-mini-web-browser/id3637... iTunes
azakai 6 hours ago 1 reply      
Best guess, the author is intentionally being dense and stirring up controversy for clicks.

Yes, iOS and Windows RT are similar in some ways. The main difference is that Windows RT is a version of Windows, an OS that is a monopoly in its area. Extending a monopoly to other areas is different than a totally new product. Note that Microsoft is using the dominant position of Windows to further Windows RT, for example by having Office on it and various syncing stuff.

Yes, there are grey areas, and all of this is debatable. It does make sense to give Microsoft more leeway given it is fighting an uphill battle in the tablet space. But the article seems to ignore all of that.

da_n 1 hour ago 0 replies      
#drunken troll comment

"Windows 8 FTW! Dude you are the DON. I really wish there was more people like you writing opinions like this online and make sure Apple gets what they deserved! What a bunch of asshole! Seems to me you should also give Samsung a call, see what they think! After all this they do not have browser either yet on iOS and I bet they really wanted it maximum! Apple should be take a leaf from the real Mr Steve book, and stop making mess of themselves. Shameful really, this is why I always buy Samsung product and Microsoft software, it is best for everyone to avoid this Apple who are never good for anybody. Thank you for great article."

AshleysBrain 5 hours ago 0 replies      
I think Mozilla are absolutely right. and there is no hypocrisy. Microsoft are willing to, and have actually already, cause years of stagnation and harm to the internet with IE6. Presumably if they got the chance they would do it again on tablet too. Apple on the other hand don't appear so risky for two reasons:

1) they've never appeared to have an issue with other browsers on Mac OS

2) there's Android and its browser competing with iOS, so there is not a complete iOS-only monoculture like Microsoft had with Windows - there is still competition between mobile browsers (yes, switching browsers means you have to switch device, but that's better than nothing and will surely prevent one mobile browser from stagnating for five years).

I know this doesn't mean Apple wouldn't do it if they had the chance, but as another commenter pointed out, many people have bad memories of long weekends trying to work with IE6 for the long 5 years between IE6 and IE7. Microsoft have already offended, so they deserve extra special attention, especially with legal agreements possibly still in place due to the antitrust cases.

gm 7 hours ago 2 replies      
FF's entire existence is based on a hate of Microsoft, so it only makes sense.

That's why they're taking it up the butt from Google Chrome, Mozilla does not know how to deal with them. Nor do they particularly care that much about it, it seems (other than switching to increasing the version number every 2 months).

       cached 12 May 2012 02:11:01 GMT