hacker news with inline top comments    .. more ..    10 Jan 2012 Best
home   ask   best   7 years ago   
Why 37signals Doesn't Hire Programmers Based on Brainteasers 37signals.com
590 points by teaspoon  4 days ago   422 comments top 50
cletus 4 days ago  replies      
Interview and hiring techniques are a perennial favourite on HN. I just have a couple of comments (disclaimer: I work for Google).

I personally detest abstract puzzles like "why are manhole covers round?" or (worse) "How do you move Mount Fuji?" AFAIK these types of questions are not and have never been used in engineering hiring at Google (sales, etc I know nothing about). WSJ and other sources have made this (AFAIK inaccurate) claim. It's possible individual interviewers do this.

My own philosophy is that a simple whiteboard coding problem is an incredibly useful litmus test. I don't mean anything incredibly complicated either. If you can't write a function that gives me a row of Pascall's triangle, that's a problem. Note: I don't expect you to know what Pascall's Triangle is, merely implement it when explained.

Some of you may think such a test is a waste of time but I assure you it is not. It's astonishing how many people can't do this (and even more astonishing how many that do make it through resume and even phone screens).

The key here is "simple". One problem is that interviewers fall into the trap of thinking these problems are too simple and make the problems increasingly harder. Worse, they may get in a situation of asking someone a problem that is either something they know (because they've covered it before) or they don't (where it's not something you can simply nut out). This is a useless indicator in my experience.

Just because you can create a function to return a row of Pascal's triangle doesn't mean you're a great programmer but if you can't, it almost certainly means you aren't. It's a negative signal filter, nothing more, but an incredibly quick and useful one.

API pop quizzes I'm not a big fan of either, generally speaking, but on the other hand if you've used a language sufficiently long, basic questions about commonly used libraries aren't unreasonable either.

Interviewing is a numbers game. Your goal is to come up with a process that balances time spent by the interviewer with finding a suitable candidate. Note that I didn't say accurately assessing each and every candidate. It's sufficient for the employer to simply find one qualified candidate even if you falsely determine someone who is qualified isn't.

A certain error rate is to be expected. It reaches a point where the time investment to reduce it outweighs the benefit of higher accuracy.

One final note: I detest (both as an interviewer and an interviewee) any kind of "take home" test (other comments have mentioned this).

As an interviewer, it's extra work to assess, people cheat, good candidates won't bother and so on.

As an interviewee, I'm not going to spend hours on you without speaking to someone first to find out how likely it is that you're a good match for me and the likelihood that you believe I'm a good match for you.

I would argue that a take home test is significantly more effort than a simple coding problem that doesn't have a significant increase in accuracy.

The one exception to this is automated testing where the problems themselves are relatively interesting. Some of the Facebook Puzzles fell into this category (and some don't). People may do those anyway for kicks. But again, there's nothing stopping someone going to Github and copying and pasting someone else's solution so what value is the filter, really?

EDIT: clarified my Pascall's Triangle comment. This isn't a trivia problem. I don't expect people to know what it is, merely implement it when explained.

dmbaggett 4 days ago  replies      
I helped start the practice at ITA Software (acquired by Google last year) of using puzzles as part of the hiring process. We ultimately even put our puzzles in the Boston subway as recruiting ads. My assessment, after more than a decade of doing it:

- Good puzzles are actually a talent attractor; many smart people found out about our company via our puzzles.

- Good puzzles are ones that scale well; i.e., where the basic problem is pretty easy and can be solved by a decent programmer in a few hours, but with harder variants that can take much longer.

- "Take-home" puzzles (as opposed to in-person whiteboard tests) weed people out who don't really like to program and/or can't finish things; this is a useful filter. If someone complains that "they shouldn't have to spend three hours writing code to get an interview," that itself is a pretty good counter-indicator. (Yes, we are all busy. But you're talking about starting a relationship with the company that may last 10+ years. You can do three hours of prep work for your interview. And you have to code a fun puzzle in the language of your choice, not some subroutine in a 30-year-old COBOL banking system.)

- It seems that in-person whiteboard or locked-in-a-room tests are pretty poor indicators of success. Many good programmers put in this situation significantly underperform their true abilities.

- It's not a great idea to evaluate someone purely on the basis of puzzle-solving ability.

- Many one-liner puzzles are bad indicators, because you either need to "know the trick" or have memorized the answer. Many, but not all, Microsoft and Google interview questions I hear about -- I've never interviewed at either place myself -- sound like they fall into this category. (E.g., from a recent article I read about Google: "You're reduced to the size of a nickel and thrown into a blender. How do you get out?" I don't care if you're clever enough to answer that; I just want you to able to write enormous amounts of high-quality code for me.)

Im my experience, the best way to find out if someone is a good programmer is to talk to him/her at length about something he/she has built. Can he/she talk in detail about how it worked? What challenges were involved? What tradeoffs were made? And, above all, was there passion behind the work and these choices?

A good interview for me was one where the candidate came in having written or contributed to a large system -- for fun or work -- and was excited to tell me about it. It didn't really matter whether it was relevant to the work we did (airfare search). Anecdotally, it seemed like people who really loved to code generally worked out pretty well. People with great-looking resumes that didn't love to code -- but maybe loved other things, like arguing over which language, operating system, architecture, or business strategy was better -- usually didn't produce much.

If the first thing you want to do when you wake up in the morning is code something, you're probably going to do well as a coder on a hard-core software team. Otherwise, not. Everything I personally did on programmer-hiring strategy was a proxy for figuring out whether someone was like that or not.

edw519 4 days ago 3 replies      
Funny, every time I read "puzzle" or "brainteaser", I think, "I don't know why manhole covers are round," or "Who gives a shit that it took 7.612 seconds for my program to identify the 78,498 prime numbers less that 1,000,000." (Yes I know, get a life.)

But every time I read "FizzBuzz", I drop everything and go back to refactor my latest version, aspiring to get it down to one conditional.

ekidd 4 days ago 4 replies      
I don't enjoy brainteasers. If an interview question begins, "Four people and a goat need to cross a river...", I cringe.

But when I'm interviewing, I do ask people for a pointer to their open source projects. And if they don't have open source projects, I give them a workstation and ask them to write code. I've seen too many self-proclaimed programmers who claim, "I spent the last 2 years writing Python," who can't sum a list of 10 numbers without using Google. (Hiring can break my heart.)

One way or another, you've got to see code. Real code is best, but it's better to ask people about toy data structures than it is to hire 3 team members who can't write FizzBuzz.

abalashov 4 days ago 0 replies      
After considerable reflection upon this point, I tend to fall on the side of those that say that a really _simple_ problem, like FizzBuzz, is quite valuable as a negative filter. It saves one valuable time in dealing with people that, as it turns out, can't code at all, literally, but are incredibly good bullshitters. There are those. But that's about as far as I think whiteboard code quiz shows should go.

It took me a long time to appreciate the utility of something like FizzBuzz in terms of how Pareto-optimal it is.

I think it finally clicked when I was getting interviewed for my US citizenship by USCIS in 2008. In the preliminary stages of the application process, the officials had gotten us all psyched up about how there is going to be a US civics test and an "English test". We were given a 100-question booklet of Civics 101 and a lot of anticipatory anxiety.

So, imagine my surprise when the interview came around and with it, the storied, fabled English proficiency test. You know what it was? Listening to one simple sentence read aloud and transcribing it accurately. It wasn't even a hard sentence, it was something on the order of "The man walked his dog across the yard and over the turnpike". Really? Really?! I was flabbergasted. Come on, I could pass this in like 4 languages. One sentence? That's all?

After thinking about it, I realised there was more utility to it than I had appreciated, though. Yeah, I've been speaking English for 18 years, but there were people in the room who literally did not. They could not pass this test. And for someone who really cannot speak, write or understand English much, this test would be genuinely challenging or impossible to pass. At the same time, 90% of people who can pass it probably are sufficiently proficient in English to function in this society. I'm not arguing that it's a particularly insightful, perspicacious or revelatory test, but the point is that it accomplishes more than you think, from a statistical perspective, even though anyone who is even marginally literate would dismiss it as ridiculously easy to the point of absurdity.

So it goes with "a priori" programming tests, I think.

marknutter 4 days ago 7 replies      
So people who handle these stressful situations well and solve these problems under pressure only represent one type of developer - which Google has in spades - the kind who does very well in a structured environment, got great grades in their undergrad program, loves to worry over interesting and difficult problems, etc.
The kind of people who don't do well in these situations (like myself) are often valuable in other ways. Some people cave under pressure, and even more people have very low self-esteems when it comes to programming and intelligence in general. Yet these same people can be highly valuable and productive given enough time to make mistakes and solve problems in their own way. These types of people may be better at seeing the bigger picture and are less likely to over-engineer a solution or fall into the not-invented-here trap.
I think it's interesting that Google finds a lot of bright engineers using these high-pressure hiring tactics, but that they often turn to wholesale talent acquisitions when it comes to building products like Google Plus. My guess is the vast majority of the talent Google has gotten through acquisitions would have failed miserably going through Google's traditional hiring process.
kstenerud 4 days ago 2 replies      
Hiring developers based on brain teasers is like hiring journalists based on how well they do at scrabble.
robterrell 4 days ago 2 replies      
My first interview out of college was for a position as a Mac developer for a company that made a PC email product (for Novell's LAN message exchanger -- this was in 1990). I'd done several business-focused Mac applications while in college, including a really complex EDI app, and I thought they'd be interested in seeing them as part of the interview. I even brought selected portions of source code.

Nope! Instead they gave me an hourlong verbal interview, which went great, took me to lunch with the team, which went great, then sat me down with a lead developer, who had printed out some of the winning entries from the obfuscated c contest, and asked me to read them and tell him what each program would do when compiled. That did not go so great. I didn't get the job.

That experience remains burned into my brain, and as a manager I won't give puzzles to an interviewee. I'll ask to see code and expect them to speak intelligently about it & the choices they made, but I won't ask them to write code (or, compile code in their head) on the spot.

(Postscript to my story -- that company never shipped a Mac email client. I believe they interview-filtered themselves out of the entire Mac market.)

sunir 4 days ago 3 replies      
The best interview is a pair programming session around some 1-2 hour problem. It takes longer, and it may come later in the interview process, but it's a high bandwidth way of assessing someone.

If they don't have a strong open source background (not everyone does), earlier in the process it helps to ask a couple very simple programming tasks, such as writing a function to reverse a string in place or the infamous fizzbuzz. It will weed out people with great resumes but poor skill.

jroseattle 4 days ago 0 replies      
To DHH and team: thank you for using reasonableness and sanity in your hiring practices. Wish this was more the norm, but indeed it seems to be the exception.

Trying to evaluate programmatic skills is surely a challenge, but I've found a method that seems to work very well -- simple walkthroughs. I'll do at least two walkthroughs of code, asking a candidate to explain to me what's happening using two different artifacts:

* Some code they've written that solves some problem

* Some code we've written that solved some problem

This has proven to be quite effective in rooting out those who look great on paper and talk a great game, but fall apart when put into action. On the flip side, I've yet to find someone who could explain their code in sufficient detail that then proved incapable once in the job.

latch 4 days ago 2 replies      
"The only reliable gauge I've found for future programmer success is looking at real code they've written"

This a thousand times over. Go through their github (or whatever) profile, look at their commits, see how they write tests, etc. It doesn't take a huge amount of time, if you are any good at what you do, you'll quickly be able to filter out a failure (like, he doesn't have code that you can browse).

chrisaycock 4 days ago 1 reply      
Whenever I see a firm use brainteasers during the interview process, I just wonder why they don't simply recruit the best Sudoku players. That seems about as valid a way to judge software development skills.
raghus 4 days ago 1 reply      
Don't know about the rest of HN but I found it strangely reassuring that even someone as talented as DHH can end up in front of a white board during an interview and feel stupid. I've been there...
nickolai 4 days ago 3 replies      
I'd feel uneasy if asked to show some of my code.

Obviously i cannot show something i'm currently working on, and everytime I look back at some code I wrote six moths ago I find myself wondering "did I really write this piece of crap?!". And it's always been this way - at least since i've been six months into programming. I hope it is a good sign.

msg 4 days ago 0 replies      
I would hope "you just broke the user experience for 50 million people, there are 30 internal teams screaming your name" is higher pressure and stakes than an onsite interview loop. You can make or break your career in that situation too.

I had to deal with a crisis this week that boiled down to a poorly optimized SQL query or two. Of course, the manner in which they failed meant our DB started disk swapping and hurting our availability.

Contract to hire is something we do but it is rare. An initial try out period doesn't do us much good since the learning curve is long.

I don't trust take home assignments unless their solutions can't be googled. And it's a lot of work to create and evaluate problems of that nature. You want them just long enough, not a huge time sink for you or the candidate. You want them to demand a range of solutions so there are many ways to fail and succeed.

I agree we should not be doing riddles/puzzles. For me the most straightforward way to gauge a candidate's ability in an hour is to ask them to program on the spot and see how they act. Yes, it's a game and the candidate can learn to beat the system and oversell themselves. But the vast majority of people I don't want to hire do not go to these lengths.

danieldk 4 days ago 1 reply      
Companies like Google hire hundreds (thousands?) of developers per year, hiring policies at 37Signals are bound to be different from those at Google.

If you have to weed out thousands of candidates, trying brainteasers to estimate their problem-solving capabilities doesn't seem to be a bad strategy. If a candidate is not familiar with a particular problem, his/her solution may be suboptimal, but the process of getting to that (suboptimal) solution may be a good indicator of the candidate's problem solving skills.

Obviously, syntax-checking a candidate's on-paper Javascript code isn't going to help anyone.

krschultz 4 days ago 2 replies      
I knew an engineer who used the 'why are manhole covers round' question in every interview. He was always shocked at how 'quickly' the interviewee figured out the 'answer' of "so it doesn't fall down the hole". These new kids - they're smart. As far as I know, he never figured out that 90% of people have already heard that one.
johngalt 4 days ago 1 reply      
I'm convinced that interviews are a complete crapshoot for both sides. My first job interview went like this.

1. 45mins late for the interview.

2. Quizzed a chain of brilliant engineers. Couldn't answer a singe technical question they asked. Lots of "Sorry my experience was more with X, not Y".

3. Flatly said "You guys are looking for someone else, I don't have the skills you're asking for".

->Hired because I was honest. Learned quick. Promoted every year.

pors 4 days ago 2 replies      
> The only reliable gauge I've found for future programmer success is looking at real code they've written, talking through bigger picture issues, and, if all that is swell, trying them out for size.

I agree with the latter. This is how I used to hire programmers, one month on a freelance contract first with a single project.
The importance of the code itself is also overrated IMHO. It's just one tiny part of someone you add to your team, what about creativity, taking initiative, never giving up, being a team player, etc. Each of them are equally important to plain coding skills.

ewanmcteagle 4 days ago 1 reply      
I would submit that the biggest reason for this view and the reason many people hold it is that 37signals as well as most of the programming jobs are CRUD jobs where non-algorithmic skills are probably more important than algorithmic skills and IQ is also less important. Brainteasers are an IQ test where you are not concerned about false negatives.
ericmoritz 4 days ago 0 replies      
I think the best interview I had was at Mochi Media. What each interviewer did was pick some programming headache that gave them trouble in the past couple weeks and present the problem to me to see how I would solve it. It was probably the hardest interview I ever had but I think it's great way to assess wether a candidate is able to solve problems they see.
vinodkd 4 days ago 0 replies      
I once interviewed for an architect position for one of the "web scale" companies and it was a algo fest all through. All the while I remembered the dev manager (whom I'd have reported to) saying that they were looking for an architect for a new project and the key challenge was learning all the existing components they have, picking the right ones for the job (or proposing to build new ones as required) and then - most importantly - getting it sold to a bevy of other architects and stakeholders.

This was right up my alley as I currently lead 3 teams and we regularly have to deal with architecture and design issues on a large application with tons of other teams involved; and I was therefore pretty stoked about the job -except that the algorithm wall stood between me and it. Not having ever done an algorithms course formally(although I read the books out of interest) I went down in flames; at least I think I did - because I'm yet to hear from them. Wanting closure I even contacted them and asked point blank if I was rejected, but I was assured that I WASNT rejected and that they'd "get back to me".

The process itself was largely the standard "how would you write <algo x> in java", which I did not do very well. One interviewer asked me to implement a Queue using two stacks and maintained that "there's a better way" despite my multiple attempts. I finally asked him if this was an actual real world problem that they faced in their company to which his answer was a glib "No, I was just testing your problem solving ability"

To be fair, however, some of the other interviewers were better.

One actually glanced through my resume, picked on one of my open source projects and grilled me on what I'd do given a hypothetical implementation constraint on a particular piece of the architecture. In hind sight it looked like he was trying to get at my algorithmic problem solving ability while connecting to something I'd built; but at that moment I was so hung up on the problem that that my software solved than how the software itself was built that I ended up frustrating him with my pre-thought solutions. He kept asking for "from scratch" solutions to which most of my responses were "but it already exists in X, so I'll just use it".

The best interviewer was a senior guy who was totally OK with my lack of algo knowledge; and very quickly switched to designing a solution to a web scale problem. He asked me for one solution, picked out the flaws in the solution using Big-O notation and asked me to refine it. This went on until we reached the asymptote that they had actually implemented in production. Along the way, he gave me more of the solution than I did to him, but I ended up with a better appreciation of the whys and wherefores of the problem; and more importantly, problems of the kind.

My general take away was that companies that use algorithm tests make the following assumption:

        algorithm solving ability => general problem solving ability

...and this is obviously true for companies where scale is a fundamental issue, ie , where the scale of the problem has not been addressed by any existing solution.

However, the problem with using this definition to measure candidates are:

1. Your company problems may be solvable using existing solutions. Then the real litmus test for your candidates is how well he can assess and assemble existing components/frameworks/libraries to realize the solution. This is where attitude matters more than anything else; as does prior work and interest in such work. "What was the best project in your career and why" might be the best question to ask such a candidate.

2. Your interviewers may never connected the LHS of this equation to the RHS. This is where, IMO, questions like "queue using 2 stacks" or "manhole covers being round" come. The interview becomes cargo-cult worship at the Algorithm/Puzzle altar.

So my suggestion to the companies that still have algorithm-based interview processes is: when presenting such a problem in an interview at least tie it to a real-world scenario that you had to deal with in your work place so its not a test of how much practice I've had with Cormen and Skiena (yup read the yegge post).

Speaking of which: Am I the only one who finds all algorithm books as being too prescriptive? They all seem to dwell on the laundry list of data structures followed by the laundry list of algorithms; leaving the reader to figure out the "what to use for what" and the "why" all by himself? I'd pay for an algorithms book in the style of Polya's "How to solve it". Skiena's war stories are an attempt in that direction, but a full frontal attack on A&DS would be great.

Aftermath: I left that interview with two takeaways:

1) I had to shore up my knowledge of algorithms and data structures simply because it was the "basic tools of the trade" and there ARE still problems around that need you to dig that deep in the industry (thanks to the final interviewer)

2) Large organizations have "how to assemble software using existing pieces" issues in their software development, not "build from scratch" issues; but developer(turned interviewer) hubris will always skew towards testing for the ability to build (proxied by algorithm skills).

Either way - 37 signals notwithstanding - it makes sense to catch up on your algo skills :)

Oh, and please, please, please lets do away with the Hollywood principle when it comes to developer job rejections. If I'm rejected, tell me. I can take it.

jiggy2011 4 days ago 1 reply      
I suppose the type of development 37 signals will do is more concerned with product design and less to do with fast algorithms etc.

I haven't really used their products but in terms of technical sophistication they probably aren't much advanced beyond CRUD type web apps (I may be wrong here).

If you wanted to hire a games engine developer or someone to design algorithms for google then brainteaser problems might be more relevant.

HarrietTubgirl 4 days ago 0 replies      
Here's the main thing that fucks this all up: there are a very limited set of brainteasers out there.

This means that if someone gets your brainteaser right in an interview, there's, say, a 90% chance that they've heard a question just like it before (or one with a similar "trick"). The false positive rate is too high. Many people know the answers to brainteasers far beyond their ability.

If you were to ask a completely new brainteaser, as difficult as the canonical ones, but requiring a different trick, you would get a very low success rate.

Side note: there's too much criticism on HN about "what does this question have to do with my day-to-day job". This is a bullshit point. The point of a brainteaser is to test problem solving ability, creativity, etc. It may not do a very good job of that, but just because you won't be "reversing sentences in place" in your job doesn't mean that the question is invalid. Think about what the question is trying to test.

jakubw 4 days ago 0 replies      
I don't get the puzzle aversion. Sure, you can stare at someone's code as much as you want to but I don't think you can infer a lot about how their thought processes worked when they were writing it (a proper use of version control helps here but not much). You only see the outcome. You may say - I don't care how they think, I want the job done. Well, that would make sense if they were contracting on an self-contained project. But usually you hire someone to join a team, where how the process works is more important than the actual outcome. Especially whether or not the process is flexible and fits your workflow. So puzzles are good for that, especially that it's not about getting the right answer but approaching the problem. The reason they're abstract, which I agree sometimes crosses a line, is that leaving out the technical details of a problem makes sure that both candidates familliar with the technical details and those that are not have equal chances of doing well.

The problem with this post is that it puts "puzzles", "API quizzes" and "math riddles" into one category. I can see how one can be offended by an API quiz such as "what does X do in Y?", especially if they have a track record in Y or could just look it up on the Web if they didn't know. But math riddles? Puzzles? I'd actually be grateful that I don't have to deal with technical catches and can purely focus on a solution.

One thing to consider is that recruiting, especially at a larger scale, is about minimizing false positives rather than maximizing the collective value. Sure, someone good at puzzles might turn out to be an average engineer but a bad one? I don't think so. Whereas, I can see how someone with a huge pile of code on GitHub can get stuck in a critical situation where if they write unit tests or how they design their APIs is meaningless.

znt 4 days ago 0 replies      
I work for a web development agency, which develops projects for some of the largest companies. We generally work on App Engine (python).

At the day of my interview, they didn't really ask me any brain teasers.

They asked if I knew App Engine, I showed them my open source project for App Engine.

They asked if I knew django-nonrel, again I showed them another open source project of mine, that used django-nonrel.

That was it.

Since the day I was hired, I did plenty of good work. Now I'm entrusted with a global CMS project which is being used by hundreds people and viewed by millions.

If they had asked me brainteasers, I would probably have failed most of them, as I don't really practise with those kind of problems. But I like building web apps. And that's what I am doing right now.

If your company earns money by solving brainteasers, then you should ask them during interview.

j_col 4 days ago 2 replies      
I thought they hire them based on their choice of personal computers (sorry, couldn't resist)?


absconditus 4 days ago 0 replies      
Unfortunately a large number of us work for employers with strict IP agreements and we cannot just show a potential employer some code or work on a small project for them so that they may "try [us] out". Even working on open source projects can be tricky.
neebz 4 days ago 2 replies      
I remember reading Heroku does similar. Using applicants in a project works well.

I have always tried to push my potential employers to use me on a small real life project. I know it's time consuming (and you end up working for em for free) but it works both ways. I get to know what kind of work environment they have and they get to know me in a real deal. I find it much more comfortable because the puzzles always seem to be a hit and go. The solution may click or it may not.

I know it's a start but if this catches in the industry I expect employers to even pay for your 30-40 hours interview.

lox 4 days ago 0 replies      
Been considering the following hiring technique, interested in thoughts/opinions:

We accept applicants of any experience level. To apply, find an open source project on github, get a patch accepted to it. It has to be of useful scope with a unit test, object-oriented code only. Send us the diff, a brief work history, a reference and why you want to work for us.

If we like it, come work with us for a day, paid at market rates, and we can both assess whether it's a good fit.

john_flintstone 4 days ago 0 replies      
Read the comments, and I've got to say: I'm not one of you guys. I don't write code, I build products (otherwise known as software), that human beings use.

I looked up Pascal's triangle in Wikipedia, so now I know what it is, and I could write the code tonight to handle the shit out of it, but I'd probably mess it up on a white board when commanded to perform like a monkey in front of guys in T-shirts.

I own and run a software company that I started myself. I built the first 5 successful products (not code, products - there's a difference [kind of a big one too]) myself, and I don't give a crap about Pascal's triangle. I'd probably fail every coding test on the planet, but when it comes to delivering finished, polished, working products, that 1000s of human beings will actually use without picking up a phone and calling customer support, I've got that covered.

Stay classy with your 'code' guys.

laconian 4 days ago 0 replies      
Google doesn't ask these questions!
It's a fiction that is probably perpetuated because the topic is SEO linkbait.

Google doesn't ask these questions!

bdg 4 days ago 3 replies      
I was rejected in a recent interview (2 months later I'm waiting to 'hear back' means rejection) where I wasn't competent at writing algorithms to do various tasks such as implement an insertion sort based on this image: http://en.wikipedia.org/wiki/File:Insertion_sort_animation.g...

My confusion was the job was looking for a generalist who had experience with lots of different technologies. Specifically, working with node.js and socket.io polling methods, API design, working with some python framework and backbone.js.

I'm honestly not sure what the lesson there was. Am I a bad developer? Do I navigate interviews poorly? Does my breath stink?

jhack 4 days ago 0 replies      
There's nothing more infuriating and insulting to me than being asked to write some lame string sorting function on a pad of paper during an interview. I've been burned more than once because of pop quizzes like these before... lots of missed opportunities because some HR person thinks that writing dinky code no one actually uses in a real project is more important than my portfolio of projects that I've designed, created, and maintained.
motoford 4 days ago 0 replies      
I haven't had to really be interviewed in 15yrs, but the last one I had was probably the best. I walked into the office of the guy who would be my manager, he introduced himself then immediately turned to the whiteboard and started writing and drawing while saying "This is what I'm about to start working on, we need to figure out how to do it.". We spent the next 3 hours working out a solution together.

I ended up not accepting their offer, mainly because of the things I learned in the interview. But I still feel like that was a good way for both sides to evaluate each other.

trustfundbaby 4 days ago 0 replies      
I've been in a couple of these interviews before and I've also had to try to interview programmers I wanted to work on projects for me ... an interesting approach that I haven't had the opportunity to test exhaustively is to start out like the computer SAT exams.

Let me explain.

On the SATs, they ask you a simple question, and if you get that right, they step up the difficulty and on an on until they discover you're a genius. If you get the answer wrong, they ask you another question of similar difficulty to the last question you got right and on and on.

Now with regards to interviewing, I like to start from the basics ... I'll start out with simple questions about languages they've used, so that they're comfortable. Syntax isn't majorly important to me, you can google it ... however I take note of how comfortable the interviewee is with the syntax of the languages they're using (especially if its one we use). So while it won't count against them, it can count in their favor.

From there I'll ask them more difficult questions. How would you implement this one thing? We have this one problem we're dealing with, how would you solve it? If they can't do it, I'll try another and another, giving them multiple chances to show that they can hang. All the while I'm poking and prodding to find out how they think about stuff ... and what makes them tick.

And then I'll go to the really hard computer sciencey stuff (which bores me to tears to be totally honest. sorry.) ... just to see how proficient they are with it. Obviously a person who eats algorithms and datastructures for dinner in addition to acing all the other stuff is someone I'd love to have if they work well with us on a small project we'll have them do.

I do the same thing with programs they've written, side projects they've done etc.
To summarize, I'm just trying to find out where they are on a continuous scale from "total newb" to "could write os x from scratch if they needed to"

Basically, I think brain teasers CAN be useful, but I think we should use them carefully. Value the way someone thinks over just them just getting answers correct.

my 2c

kaitnieks 4 days ago 0 replies      
I don't understand why people are forced to write on whiteboard. Some get very stressed and lose their ability to think, some can't multitask (paint on whiteboard, think and talk to the interviewer at the same time). Just give them the task, give them a computer, give them 30 minutes of privacy and then let them explain the complete, working and tested solution - you get better results as this situation is more like regular coder's daily routine.
peacemaker 4 days ago 0 replies      
I made a post on HN a couple of weeks ago basically saying the same thing. It can be rather frustrating to be asked questions with seemingly no relevance to the actual position.

I understand what they're going for though - the companies that do it correctly are looking at the candidates thought process through a challenging situation.

While I think it's important to figure this out, I believe it's more important to know how well the candidate can do the actual job, that of sitting down and writing quality software. Brainteasers and writing modified sorting algorithms won't get this (unless the company is in the sort algorithm business I suppose) but having the candidate write code which could actually be used in the job would.

keithnoizu 4 days ago 1 reply      
I'm always amused by interview questions.

   Primarily because I do terribly at white board problems thanks to disgraphia(terrible handwritting), and secondily because while the questions might give some indicator of whether or not you can code hello world, or a binary tree depth first search algorithem they do a terrible job of testing your actual domain knowledge. 

For instance, when interviewing for a SDET position i've never been asked a single question on implementing a DI framework, designing custom asserts, designing a test object/mock object, etc.

When interviewing for a web development position for high volume sites i've never been asked about cache invalidation, reduccing http requests, designing an ajax event system to reduce unnecsesary calls.


I have been asked a bunch of IQ tests masquerading as mid-low level programming questions, and random trivia questions on language features.

xianshou 4 days ago 0 replies      
I personally adore riddles and algorithmic puzzles, but I too have had to confront the reality that they simply don't provide much information about the candidate's actual coding talent. Instead, where I'm working, we combine a few different strategies to gauge an applicant's overall potential:

1. Nobody gets an onsite interview without solving a coding problem first. These are designed to take a couple of hours for a competent programmer. For each applicant, we send the challenge most functionally relevant to the position they're interviewing for. Despite the negative comments elsewhere about "take-home" problems, I think they expose a lot of information about a person's coding style and thought process that whiteboard code does not. For instance, we recently received a solution to a simple graph-related question that was technically correct and usually fast, but contained at least five nested layers of loops and took forever on a certain class of edge cases. The candidate obviously understood the problem, but seemed oblivious to the fragility of his solution. You can't grade for style or really pound the edge cases in an onsite interview, because candidates usually have their hands full enough finding any solution.

2. At least two of the interviewers spend the majority of the time on big-picture, conceptual, and software design questions.

3. I split my interviews between puzzles (the 17-minute bridge, the 200m building with 150m of rope, etc) and algorithmic questions. However, I don't care about whether the candidate answers my riddles correctly or not; I'm only observing behavior and process: in other words, whether they remain calm despite uncertainty, and whether they ask relevant questions that reveal more information about the problem and make observations that narrow the possible space of solutions. (For example, in the bridge question, realizing that the slowest people should cross together is as good as a solution to me.) I do care about their responses to the algorithm questions (e.g., find a subrange of an array that sums to 0), but mainly to determine whether they have a reasonable idea of which data structures to use, and how effectively they detect problems with the rough solutions that go up on the board at first.

overgryphon 4 days ago 0 replies      
Puzzles and brainteasers seem rather off-putting to me in an interview environment. It's like the interviewer is saying, "I can solve this, are you as smart as I am?", which isn't the type of relationship I want with coworkers. I prefer to steer interviews into a more collaborative conversation, to see if I would like working with the person.

Anyone who expects me to spend 3 or more hours or so on some take home test just to interview with them, or thinks that the only people worth hiring are those that "the first thing you want to do when you wake up in the morning is code something" aren't people I want to work for. I love programming, but at the end of the work day I'm going to go home and engage in other aspects of life. I wouldn't want a boss that had different expectations.

sdizdar 4 days ago 0 replies      
I really don't know what s right way to interview, but I do know that you are actually hiring a team not set of individuals. You need to have balanced team (means to be smarter than you on each of the important fronts) to deliver a successful product.

So I guess it might be ok to hire somebody based on brainteaser if you need a sharp, quick thinking person which will be a great asset during brainstorming sessions. I don't know.

rays 4 days ago 2 replies      
I saw outright that I'm not an algo guy, you already have those types of people -- namely the guy interviewing me. But they dont know how to scale systems or know overall product. If they want to look at code even I call bad, I can point them at my github account :)
ig1 3 days ago 0 replies      
It's worth noting that 37signals believes in hiring by requiring candidates work on a 20-40 hour project before making the hiring decision. There approach would be completely unacceptable to a large number of developers, it's only because of their strong reputation and remote hiring that people are even willing to consider it.
zyzzy 3 days ago 0 replies      
There are so many different views here about interviewing that it can get quite dizzying.

37 signals view is that there is no point in asking programming puzzles or brain teasers; this goes for white board questions as well. Their view is that, it's just better to go over real code the person has written, and if they seem like a good fit, then why not try them out.

Cletus's view is that you should ask a "simple white-boarding problem", that would weed out in theory weed out the "bad programmers", with a certain error margin.

Dmbaggett's views is that solid programming puzzles (one's that are usually are take home, or one's that you do at home) are good for attracting programmers that will fit (the role of a computer scientist at ITA). However cheap whiteboard problem's aren't necessarily the best for finding great programmers.

edw519 commented a while back, that written code sample done at the time of interview is best, as it provides rooms for some discussion material that will gauge if the interviewee is a great fit for the role.

[1] http://news.ycombinator.com/item?id=834513

4.)Another article on hacker news, "I Won't Hire You", got pretty much down voted for it's view, that you have to be greater than great to work at Golem Technologies.

[2] https://news.ycombinator.com/item?id=3428567

5.)There was one other article on hacker news; the article mentioned how in the end programming interviews puzzle, didn't matter and the programmers that they hired and did the best, ended up not being the most productive programmers.

6.)An article about hacking the current interview system.
Apparently the top commentator timr, really thought that you should grill the interviewee to find out if they are hacking the system.


The list can go on and on.

So in the end what is the best algorithm for interviewing a programmer? Are you hiring out of fear, that you need X to do a Y job, but you don't want X to destroy your company? Are you hiring to find a rock star programmer, who can take your company to the next level? Are you hiring a programmer to do a specific well defined job? Are you hiring to fill your ego, that you have the power over someone?

It seems very hostile to get a programming job. It seems that some interviewers want you to come in and contribute from day one, which I have never seen quite happen. Why are some interviewers so harsh and dicks with the interviewees?

If a programmer fails your interview, does it mean they are truly stupid?

Is your interview really a true gauge of IQ?
Does your ego play into the interviewing process as one HN commenter wrote

"The biggest problem with anything like this is the idea that 'here is some test of inherent intelligence - I am far better than you so you are inherently unable to do this thing' which is just the biggest barrier to actually trying to do something - if you think you inherently suck or at least are simply mediocre, your motivation to do that thing is severely reduced."

The general feeling I get is that as interviewers, we are trying to put down and ridicule, interviewees for whatever reason did not pass our test. Maybe in accordance with our company's guidelines or our own ego's.

Instead of seeing the glass half full with interviewee's potential we are seeing it half empty, as their ability will never be good enough.

I think with determination and practice anyone can be "great" programmer. It's sad to see many interviewer's don't realize this, cause "they don't have time."

golgo13 4 days ago 1 reply      
Every Time i see these posts on here, I get a sad face. I am a SQL Server DBA and most of these puzzles don't translate well to SQL. That doesn't stop me from trying!
dutchrapley 4 days ago 0 replies      
We can all agree that there are different kinds of programming. There are some really hard problems out there that need to be solved. There's also the kind of programming that's a matter of getting users to interact with data. When it comes to web application development (my background), I think puzzles aren't the right way to approach the interview. To be honest, it shouldn't be the job of the company to find out what the interviewee does and doesn't know. It's the duty of the applicant to control the interview, come in with their laptop blazing, and start walking through building a web application from scratch or to show off something they are building, talk about the decisions that were made through the process and why.
viveksec 3 days ago 0 replies      
Puzzle solving ability is a reliable indicator only if the candidate hasnt specifically prepared for them. Many Indian IT companies in the mid-late 90's conducted exams with difficult programming puzzles in them. This was great for a while, but soon those who wrote these exams told everyone else and the puzzle pool dried up. Future groups scored really well due to being better prepared against a known pool of puzzles. These days most IT companies have moved on to SAT/GRE style analytical problems.

Imagine your luck if you are at a Google interview and already know the Pascal triangle. You can just put up an act pretending to analyze various aspects before unveiling your grand solution.

If companies are merely using analytical ability as a filter, a SAT/GRE style exam will do better because the problem pool is much larger making it less vulnerable to preparation.

startupcto 4 days ago 0 replies      
Why isn't anyone testing candidates' ability on reading and working with existing code? I do that all the time with interviewees.

Why I do that? The obvious being the potential hire is required to work within a large code base (often code not written by yourself) and having the ability to read and understand quickly what a piece of code does is a great skill that not many great coders have.

dsolomon 4 days ago 0 replies      
I thought it was because 37signals didn't want their brainteasers splattered across reddit & ycombinator.

Today I Learned ....

List of every member of congress who supports SOPA, sortable by donations sopaopera.org
416 points by sgaither  1 day ago   119 comments top 24
fecklessyouth 1 day ago 3 replies      
Biggest surprise among supporters: Al "Net Neutrality is the 1st Amendment issue of our time" Franken.

Among opponents: Bachmann.

wyclif 1 day ago 5 replies      
Note that Rep. Ron Paul is the only current Presidential candidate that opposes SOPA.
gammarator 1 day ago 3 replies      
Both California Senators (Boxer and Feinstein) are supporters (and co-sponsors!) of Protect-IP. Silicon Valley needs to make its voice heard, and soon.
CWIZO 1 day ago 5 replies      
I was surprised there are more democrats for SOPA than there are republicans.
fauigerzigerk 17 hours ago 3 replies      
Donations of any sort to people running for office should be banned outright without exceptions. It should be worth something to tax payers that politicians cannot be bought.
cjoh 1 day ago 0 replies      
To me, this is proof positive that campaign contributions are correlative but not causal.
gitarr 1 day ago 4 replies      
This might be a stupid question, but as a European not all too familiar with US political laws I have to ask:

How is it not corruption when senators and congressmens votes can be bought by companies or whole industries?

nextparadigms 1 day ago 0 replies      
Google, Facebook and whoever else is going on a blackout before the vote, please link to the politicians who support SOPA, too.

The people deserve to know it, and they need to be put against the wall for it, not only so they can't be re-elected again because of this, but also so others don't try to support it, too, fearing the backlash.

steplow 1 day ago 0 replies      
No surprise about any of the Dems really: Piracy, copyright, and related issues have been issues for them for a long time, primarily due to their connections with the entertainment industry. It's too bad that they don't understand that hurting the consumer is going to kill the industries that fund them.
fauldsh 1 day ago 2 replies      
Wish there was a way to view who funded them more, basically ($TV|Movie) - ($Online|Internet)
rhettg 1 day ago 0 replies      
Can someone use this data to figure out how much it would cost to make SOPA go away and then setup a kick starter project?
ctingom 1 day ago 0 replies      
I contacted my senators.
RyanMcGreal 17 hours ago 1 reply      
You know the world has gone mad when Al Franken supports SOPA and Michelle Bachman opposes it.
sfaruque 1 day ago 2 replies      
It's sad to see that for almost ever 1 SOPA opposing member on the list, there are about 4 supporting members.
jsundquist 1 day ago 2 replies      
Very depressing. Almost without any exception (I admit there are a couple) every single for or against can be determined by how much money they get from the computer industry(Against) or from the Music / Movie industry (For).

All of this happens across party lines...

rhizome 20 hours ago 0 replies      
I'd like to see this combined with the SOPA UPC scanner to further cross reference the manufacturer's (and their parents, affiliates, subsidiaries, employees, and...) political donations.
mahyarm 1 day ago 1 reply      
What I don't understand is why these donation amounts are so low. Do these reps really only get around $25k an industry on average? Do they use these donations personally like it's extra pay or for campaign expenses? Is there a lot more money that we don't see?
sankalpk 1 day ago 0 replies      
This is good advice if you choose to contact someone in congress about this issue.


veyron 1 day ago 1 reply      
I would like to see the congresspeople who haven't openly supported or opposed SOPA. Those people represent opportunities for education.
jadoint 1 day ago 0 replies      
Is there a site that lists all of the candidates running against pro-SOPA/PIPA representatives? Better yet, a site that allows me to give money to their opponents for the next election cycle (provided they're not pro-SOPA either)?
callmeed 1 day ago 1 reply      
How the hell are both of California's senators FOR this bill?
DustinCalim 1 day ago 0 replies      
Alternate title: List of congressmen who have some idea of how the internet works
bcrawl 1 day ago 0 replies      
Reddit site has started implementing their protest. It is redirecting.
martco 1 day ago 0 replies      
republicans are more stridently in support of this measure
A Redditor's insightful message for discouraged students reddit.com
401 points by jimmyjim  4 days ago   102 comments top 23
martincmartin 4 days ago 5 replies      
There's research behind this too. The book NurtureShock has a chapter on telling kids "you're smart" vs. "you worked hard." There was even some HN discussion on it. Basically, when you attribute your kids accomplishments to their being smart, they kind of freeze up when they get a problem they can't handle. But when you attribute it to hard work, they work harder to figure it out. There are a series of fascinating experiments that bare this out.

For people into parenting books, I highly recommend NurtureShock. It's about the only parenting book I've found based on actual scientific research, as opposed to being somebody's opinion.

chucknthem 4 days ago 4 replies      
Slightly off topic, but I'm sick of post titles that start with "A Redditor's ...". A title like that is just going to encourage comments and culture from reddit which is usually inappropriate here. "Redditors" are mostly normal people, "An insightful message for discouraged students" would have been a perfectly good title to this.
jimmyjim 4 days ago 1 reply      
Perhaps I should rather have linked directly to the post: http://www.reddit.com/r/confession/comments/nxdzz/im_not_as_...

Anyway, I want to emphasize that while his response was specifically to some guy in MIT feeling down, his words are applicable for any of us.

nyellin 4 days ago 0 replies      
I have another message for struggling students: Go outside and get some fresh air; exercise; smile. It's only a grade.

I have experienced first-hand the shock of discovering just how hard university is, but pushing yourself harder and harder until you break is not the answer. You need to be smarter about how you work, you need to develop proper study habits, and you need to get over your fear of asking for help. But at the end of the day, grades are just grades. Once you finish university and get your first job, none of this will matter anymore.

University is far harder than programming jobs, so don't judge yourself too harshly for struggling. Many things are more important in life. Remember to enjoy the most intense learning experience you will ever experience, and don't forget to look after your own health.

matwood 10 hours ago 0 replies      
Quite literally this is why I love climbing mountains alone, particularly 14ers. Every time I climb one I go through a range of emotions over the 5-7 hours it takes to reach the summit and back.

When I start there is excitement as I see the peak in the distance. Then as I tire comes doubt and the fight with myself about turning around because no one would know, except me of course. The key is to never stop pushing forward. There often comes a point, especially on a new challenging mountain, where all I want to do is turn around. Instead I just focus on the next step in front of me. Step, breath, step, breath,... Then when I finally reach the top, the view is of course beautiful, but the real reward is looking back at the trail I followed and thinking that's impossible yet here I am.

rcamera 4 days ago 0 replies      
That post is very good, but it could delve more on how to motivate oneself. I am therefor cross-posting my own post here, trying to add some more value to this thread. First, a disclaimer, this will probably sound too abstract and not a guide on motivating yourself to study, well, it's true, this is a comment on how to motivate yourself through your entire life, and studying is usually a big part of it.

I've met very motivated people in my life, many of which are creating amazing things and companies. The first characteristic you can see in all these people is that they all have a well defined end goal. That's the first thing everyone should look for when motivating themselves, finding an end goal. This is essentially a long term goal, not short term ones. It must be a single goal, not a set of goals, else you will loose focus. I can hear you thinking already, "but I want to do so much", but that's the beauty of this end goal, it can be broad enough to cover all your dreams. This is the hardest question to answer ("what's my purpose in this life?"), took me 15 years (from the day I started to think about this, when I was a kid) to decide on what I wanted to do with my life, but the more life experience you have, the easier it is to decide upon it. When deciding on this, make sure you don't confuse the end with the means to reach it, so don't choose a specific goal such as become a doctor, or become the president of your country. Do you want to be a doctor, or do you want to actually save lives? Do you want to be the president, or do you want to build a better country/world? A tip that can help you with not confusing the end with the means is: state your end goal in 3 words or less. I can state mine in 2.

The second characteristic motivated people have is confidence. They are usually pretty confident they can reach their end goal. This is one of the reasons people have very different goals. Many would say that making the world better is a good goal, but how many would say they got the confidence to do it? If you don't have the confidence, build it. A little example from my own experience: when a kid I was scared of skating down a big half-pipe from a park we used to go to. At that time, my goal was quite simple, have fun and skate better than my friends, but I didn't really have the confidence to accept the challenge of skating down that huge half-pipe. I built up my confidence by going down smaller ones (even broke an arm when doing that, but it didn't stop me, I learned from my mistake and started using gloves) until one day I was confident enough to try going down the large one, and so I did. That's how you build confidence.

Lastly, after choosing your goals and building the confidence to do it, you need to decide on what way to take. For any goal, there are a wide choice of ways you can take to move towards them. Some ways are easier than others, some are more interesting, some are very challenging. This is what will define your short and mid term goals. Think of them as stepping stones so you can reach the end goal. Let's go back to one of our examples, you want to save lives. You can be a doctor and save lives, you can be a scientist, finding cures to diseases in a lab and save lives, you can be a fireman and save lives or even be an investor in nanotechnology labs and save lives. Which way is more appealing to you? Let's continue, you decided that by being a doctor you will save lives. First of all, what kind of doctor do you want to be? A cardiologist? A neurosurgeon? An E.R. doctor? Well, do you need to make that decision now? Not really, you can choose it while you are at college, so let's move on. Oh, right, you must enter college and graduate before becoming a doctor. Uhm, do you want to enter the best college you can? Damn, we need to study for the SAT then (I ain't American, not really sure how college admissions really work). Anyway, this is how you decide on the way. You state your end goal and work backwards from the longest term goal to the shortest one. That's how you decide on what means you will use to reach your end goal.

Anyway, after deciding on all that, that's how you will be motivated to study for that algebra exam, or to pay attention at that physics class from that boring teacher at 6pm on a Friday. A couple important notes, I highly suggest you to never share your end goal with your peers. This usually undermines your confidence, and therefor, your motivation. Secondly, your goal, once defined shouldn't change. If it changes, it just mean you haven't found yours yet. What can change, and should change (due to changes in environment) are the means you choose to take. The means can always change, but they should always be moving you towards the end. An example, your country enters in war. This is highly disruptive to everyone's lives and this will very likely affect on the means you will choose to reach your goal, but shouldn't change your end goal.

JerusaEnt 4 days ago 8 replies      
I agree with him when he says that it is mostly how hard you work, dedication, and ambition. But wouldn't we just be fooling ourselves when we say it's not genetic? Maybe I'm wrong but, there are such things as kids that knowledge comes easier to, and kids that they simply can't understand something.

Also, for example, a kid with ADHD is woefully behind on the "being able to sit and work" ability. I think it's nice that we say "everyone is equal and let's hold hands" But I personally don't understand that.

rglover 4 days ago 0 replies      
That advice was great, not only for younger students, but for those who have completed university (read: older) as well. Hands down, my favorite part of the piece was:

"smart" is really just a way of saying "has invested so much time and sweat that you make it look effortless."

All of the people that I truly admire (who subsequently I consider to be "smart") fall directly under this guise. They took the time and effort to learn how to be who they are. It's a simple idea, sure, but when it's really taken to heart it can change your entire outlook on things.

lhnz 4 days ago 4 replies      
I wanted to cry, somebody replied: "if you could share us some of those skills."

If it was possible we would and we could all just sit back and crib each other's notes on life. But this has to come from within you. You cannot share willpower, dedication and ambition.

There's nothing else to it: it's not as if the knowledge isn't on the internet or in books for cheap...

You can mould yourself a more conscientious personality through your own ambition and the willpower you had to start with.

tpatke 4 days ago 3 replies      
I wonder how this relates to the "entrepreneurial selection process".

According to PG [1]:

- hard work is necessary but insufficient

- entrepreneurs either have a very high probability of success or "epsilon".

- it is easy to know (or find out) what group you are in.

PG makes a strong argument...but then, so does this guy from MIT. Maybe they are talking about different things? Is intelligence more important for a startup founder then it is for a kid at MIT?

[1] http://news.ycombinator.com/item?id=3392049

sunchild 4 days ago 2 replies      
For me, this read like a manifesto for making your hamster wheel spin as fast as the other hamsters. The OP's core message (i.e., that intelligence is not in-born, but is earned by self-discipline and hard work) seemed very myopic to me, and bound up in the self-congratulatory world of academia. It starts from a position that rests on conclusions about the value of formal education that are no longer dogma for me.

At first, I felt depressed after reading it and all the fawning responses to it. Then, I remembered this parable about how knowledge comes from people, not places:

> "At a gathering of divines, the Mullah was seated right at the end of the room, farthest from the place of honor. He began to tell jokes, and soon people were crowded around him, laughing and listening. Nobody was taking any notice of the greybeard who was giving a learned discourse. When he could no longer hear himself speak, the president of the assembly roared out: ‘You must be silent! Nobody may talk unless he sits where the Chief sits." "I don't know how you see it," said the Mullah, "but it seems to me that where I sit is where the Chief sits."

After recalling this parable, I realized that I had initially misunderstood the OP's insight. His message was really the same as the Mullah's in many ways.

tlear 4 days ago 0 replies      
Great post, this happened to me in high school I got into a specialized school after being just above mediocre at a normal school. This was math/physics school in Ukraine that was basically one of 2-3 top schools in the country (whatever that means). First semester my usual mark in my math was 0/12. They only kept me because I was one of the best in programming and physics courses. Took me 5 month till I could solve one of 2 problems that they used for tests (3 hours 2 problems).

In a way it was maybe too early, in university everything was too easy (I did not go to a top school because I had trouble getting a high enough TOEFL score and wanted to start as early as I could). It took failure in graduate school, then few years of wasted 9-5 code monkey work to get me to see the light again.

theneb 4 days ago 0 replies      
This line of thought very much touches on how students are badly taught, I doubt MIT are as bad as where I studied which had the scribe lecturing approach.

Eric Mazur advocates the peer instruction method of lecturing (http://mazur.harvard.edu/research/detailspage.php?rowid=8)

Students should always be at the lecture with the content in advance to discuss in some form such as peer instruction. My University didn't even release a reading list of Mathematical or Computer Science material prior to the course beginning.

leilavc 4 days ago 2 replies      
For anybody looking for solid tips on how to apply this attitude to their academics, I've found Cal Newport's blog* an invaluable resource. It's been linked to here before, mainly for its recent posts on 'deliberate practice' versus 'flow', but he also describes many strategies and tactics that high-scoring students at Ivy League-level universities use. They've helped me invaluably, and I find it a real pity that more students don't know about this writing.

[*] http://calnewport.com/blog/

mynameishere 4 days ago 1 reply      
The more I learned the more I realized that the bulk of his intelligence and his performance just came from study and practice

Bullshit. When a 3rd grader masters differential calculus it is almost entirely hard-core innate intelligence combined with an innate ability to concentrate. No normal 3rd grade has the ability to study at that level. People who succeed often want to think it was entirely their hard work, and that lucky genes had no real influence.

Think about it.

If you take someone of average intelligence, he could spend his entire life, sweating and studying like crazy every day,
and not get through MIT. Even Bill Gates went from Theory to Applied math at Harvard when he realized how difficult it was. If you think he isn't a determined, hard-working person, well... The truth is, he just didn't have the freakish IQ required for the work.

samikc 4 days ago 0 replies      
This post is an eye opener, true and engaging. You can co-relate to the maths example with anything hard. You have give it time. I had a math book in school where it said, "If you love mathematics it will love you back." Actually if you look at it, for competency in any topic you have to work with it. You will eventually get it, if you are ready to work hard.

It may take some time but what the hell if you really want to understand something you got a give everything to it.

vijayr 4 days ago 1 reply      
nice post. Can anyone share the tools/hacks that he is talking about? what worked for you, and what didn't?
BadassFractal 4 days ago 1 reply      
What are some takeaways that us people in the industry can have from this? Should we be working harder? Should we be working smarter?
Tichy 3 days ago 0 replies      
What are good ways to learn how to study, though?
thewisedude 4 days ago 0 replies      
Genius: one percent inspiration and 99 percent perspiration : Thomas Edison
sliverstorm 4 days ago 0 replies      
For which program?

Or is Stanford just the best school in absolutely everything?

adnam 4 days ago 0 replies      
Gosh, so true! I am the 3% :)
verroq 4 days ago 0 replies      
>Reddit is down.

Perfect, maybe they'll actually get studying done.

Bootstrap for Facebook apps github.com
320 points by llambda  2 days ago   40 comments top 16
chris_engel 1 day ago 2 replies      
I really hate to rant. I love the idea of this and worked on a thing like a "fb bootstrap" By myself for quite a while now.

Having done many fb apps and making heavy use of twitter bootstrap by myself for other projects recently (oh god, app development on lightspeed!) i first looked at it thrilled: hey cool- this will come in handy! But after about 5 seconds: wtf?

This is just twitterbootstrap painted blue.
Using this for your facebook apps would NOT give them a genuine facebook look but make them only look cheap.

The typo is not right. Font sizes, line spacing - everything. Forget about the columns. They are twitterstyle, not facebook. Buttons? They are grey and blue, yes - but not facebook style. Tables? Not at all. I could continue this list for every single element! Facebook has unique tabs, unique breadcumbs. Completely missing!

My quick advice for getting a nearly facebook-like style in your appe in seconds: embed their CSS in your header. When you investigate a bit how they build their page elements, you can mimic their style really quick.

And for the "fb bootstrap": nice idea. Awful implementation. Stay away from it. But everyone has to decide for himself - seems like most people like it, tough.

MikeW 2 days ago 2 replies      
Wonderful. I recently built a Facebook iFrame app and burned so many hours trying to make my app look vaguely inline with what a user expects a facebook. This is absolutely the perfect kit for that. It's a really terrible reflection on Facebook that they didn't provide exactly this themselves.

Every other "platform" provides UI guidelines with libraries/frameworks to allow others build products native to their platform. Facebook have made no good attempt at this, which is why this is a great project!

dmerfield 2 days ago 2 replies      
Why did you almost-but-not-exactly replicate Facebook's style conventions?

The small-but-significant differences between this framework and Facebook (e.g. button styling!) will make any app built using this look decidedly sketchy.

latchkey 2 days ago 0 replies      
Brilliant. That said, as someone working heavily with Bootstrap these days, I suggest that you rebase this off of the 2.0-wip branch as a lot has changed (for the better) there.
jamesjyu 2 days ago 0 replies      
Good opportunity: sell themes for twitter bootstrap. Make it a marketplace.
wiradikusuma 2 days ago 1 reply      
This is great! Here's an idea: bootstrap with "pluggable" skin (Twitter, Facebook, Google+) so you can make your app standalone (use Twitter style) or inside Facebook (use Facebook style), etc.

I'm not sure if this bootstrap is already compatible with Twitter's (i.e. as simple as changing CSS file), haven't tried this bootstrap thing, but it would be great if it is!

100k 2 days ago 0 replies      
Excellent. I was just working on a project that used Bootstrap, which worked great until I had to implement Facebook notifications (which must be viewed in a canvas app). Bootstrap is too wide for that.
debaserab2 2 days ago 0 replies      
Careful when branding your apps to look like Facebook.


"App does not use Facebook trademarks or express or imply any affiliation with or endorsement by Facebook"

This is a rather vague statement that I could easily see being used as the justification for squashing someone's app. This is why I've always made sure any FB app I make doesn't completely rip-off Facebook styling but contains enough of my own styling to not appear to be part of Facebook.

madrox 2 days ago 0 replies      
Great, FB-styled bootstrap. Naturally, the typography is terrible. =[
skbohra123 1 day ago 1 reply      
I was recently working on a facebook app and thought of something similar, you have beaten me to it. Great work! Kudos!
dertag 1 day ago 0 replies      
Great bootstrap, but there seems to be a problem with inline labels in Chrome (Ubuntu 10.10). Twitter's labels work fine though.
I played with CSS a bit and the labels don't like Lucida grande, obviously: http://imgur.com/XJ51Z
tar 2 days ago 0 replies      
Great. I just wish Facebook would provide something like this themselves.
shadowmint 2 days ago 0 replies      

Given that Facebook apps are completely dominated by large companies these days, I'm puzzled by how useful this would be.

Are people really still building FB applications?

I thought the only real action these days was in the mobile space.

playhard 1 day ago 0 replies      
Brilliant!!! i foresee less ugly looking apps!
johnernaut 1 day ago 0 replies      
Twitter bootstrap turned blue. You could have at least been a bit more creative than creating an almost identical clone.
arturventura 2 days ago 2 replies      
I think it looks awesome, it really does! However twitter bootstrap looks really generic therefor can be used any place, Fbootstrapp looks a lot like Facebook and cannot be used for much else beside Facebook apps without looking like a rip off.
Uncloaking a Slumlord Conspiracy with Social Network Analysis orgnet.com
319 points by danso  3 days ago   69 comments top 15
dhotson 3 days ago 1 reply      
We do this kind of analysis where I work for detecting fraud. I can't go into too many details, but I can probably show you a simple example: http://i.imgur.com/feJLd.png

This is showing some of the relationships between users in the system. You take a user that you know is dodgy, and then start looking at what they have in common with other users.

Also, slightly offtopic"I open sourced the graph visualisation part: http://github.com/dhotson/springy

ChuckMcM 3 days ago 3 replies      
Ok, I thought that was cool.

Its a bit scary, in that it will force such conspiracies to become more complex (its an arms race after all), and it highlights a 'good' use of an analysis technique which the evil doers can use against their enemies, but still.

johnohara 3 days ago 1 reply      
The diagrams remind me of the hand-drawn ones FBI agent John O'Neill created after the USS Cole incident and continually updated prior to the attacks of 9/11.


djb_hackernews 3 days ago 0 replies      
That was interesting.

If you like this kind of sleuthing and analysis, you'll enjoy http://sharesleuth.com/ - Which is a Mark Cuban pet project that investigates shady listed companies in search for shortable targets.

tibbon 3 days ago 3 replies      
I wonder if this type of business behavior explains some of the places in Boston I saw that were always "going out of business" only to reopen the next day, as practical the same thing. There was a rug store on Boylston that was like that. I swear it must have had 10 going out of business sales.
scrod 3 days ago 0 replies      
Imagine how much easier this is when the subjects openly declare their connections on Facebook.
wtvanhest 3 days ago 2 replies      
I guess I'm confused.

I can see how real estate owners and mortgage companies have relationships with each other. (A lot of small owners have investments from family and friends and use a single mortgage financing company with experience closing tough initial investment deals)

What I don't understand is how the social network analysis led to a conviction. What does the connection mean? Can someone else explain it?

jdp23 3 days ago 1 reply      
"How to research a slumlord", from last year, has a lot more information about the process: http://drpop.org/2010/04/how-to-research-a-slumlord/
cartouche86 2 days ago 0 replies      
A similar situation in the state of Texas: multiple units under a condominum regime with a (now majority) owner who wants to buy all remaining units, raze the structures and convert the land to commercial use.

A minority of condo owners want to continue to live in well-maintained condos in a nice part of town where commercial real estate is _very_ expensive.

You guessed it, the majority owner is a shell corporation with the church/school behind it. The majority owner has slowly purchased units, stripped them of utilities and let them lie fallow without renting them.

The subdivision has well-written deed restrictions limiting the land to residential-only use. Commercial entities are specifically disallowed (churches and private schools are commercial entities in Texas). The deed restrictions can be changed only by majority subdivision vote once every 10 years (2020 next vote). The church/school does not own a majority of the land in the subdivision.

Through these shell corporations, the church/school has quietly purchased properties at residential rates in this deed-restricted residential-only subdivision and then converted the land to commercial use (IMO a clear violation of the deed restrictions). Commercial land in the same neighborhood is _very_ expensive. The city is allowed to enforce deed restrictions but is reluctant to do so.

The condo regime requires that units be kept for the welfare of the owners and residents but soon the majority owner will take over the condominium board. Minority owners fear that the majority owner will use the condominium association's powers to drive them out..

To me there appears to be a legal conflict of interest: all condo owners sign an agreement to support the condo regime and the welfare of all owners in perpetuity, yet this particular majority owner seeks to liquidate the condo regime.

Anyone have expertise in handling this type of case in Texas? Or who can direct me to someone familiar with this type of takeover?

What does this have to do with conspiracy? The ties of the church/school to the city government, the local legal community and real estate developers are deep and intricate. Most real estate attorneys we have spoken to have some affiliation with the church/school (which is a very large and very wealthy organization) and cannot or will not sell their services to us. For years the companies that were acquiring units in the condo used multiple shell corporations to do so. It was not clear what was happening until fairly recently.

cperciva 3 days ago 4 replies      
As time went on, and the buildings appreciated in value during a real estate boom -- loans from the mortgage company allowed the owners to "strip mine" the equity from the buildings. This is a common slumlord modus operandi -- they suck money out of a building rather than put money back in for maintenance.

Strip mining the equity? It's their building, isn't it? Seems to me that if someone wants to own a pile of cash and a worthless building instead of owning a well-maintained building, that's a business decision they should be entitled to make.

bane 3 days ago 0 replies      
laconian 3 days ago 0 replies      
I'm no slumlord, but the fact that people can do this analysis with public data does spook me more than a little.

Still, that's good detectivework and a great outcome!

bri3d 3 days ago 0 replies      
A fun way to explore some (very different) data in a similar manner is to use Palantir's https://analyzethe.us/ - the Palantir client is pretty complex but extremely powerful for this kind of social network analysis.
uiri 3 days ago 0 replies      
It just seems unlikely that every single state will require the actual owner of the LLC to be in public records. If that is the case, good luck finding the owners. Ideally the slumlord will have a different registered agent (person in the relevant state who handles the LLC paperwork) for each LLC and the superintendent only deals with a lawyer. Again, different lawyer for each building/LLC. You can sue the LLC, but the only asset that'd own is the building itself. So, properly done, it seems that slumlords can get away with it. Of course, paying all these lawyers might be more expensive than being a decent landlord, it is probably a lot less work.

I feel like I'm missing some practical uses of knowing the superintendent, local and out-of-state lawyer for each building (or building/LLC combo). I only skimmed the linked How To Research a Slumlord, although the results seems to be "render the LLC useless by suing the actual owner".

civilian 3 days ago 0 replies      
And now I want to start a conspiracy. It just looks so cool!
Damn Cool Algorithms: Fountain Codes notdot.net
301 points by nl  4 days ago   62 comments top 18
tikhonj 3 days ago 1 reply      
This sounds really similar to secret sharing[1]. While not doing exactly the same thing, a simple secret sharing algorithm is also interesting to read about now--it's a different algorithm chunking up and reassembling data in a similar way with different properties.

One difference is that with secret sharing unless you have enough chunks you do not have any information about the result. (That's why it's called secret sharing--you can share a secret with a bunch of people without any of them knowing it unless a minimum number get together.) The neat trick is that any subset of the chunks big enough will get you all of the information.

[1]: http://en.wikipedia.org/wiki/Shamir%27s_Secret_Sharing

In fact, the algorithm (at a high level) is exceptionally simple: encode your data as the coefficients of a polynomial of degree n and transmit it as a bunch of points in the polynomial. You then need n+1 points to recover the polynomial, but which particular points you have does not matter.

What I love about this algorithm is that it is useful, nontrivial and can be explained in a single sentence (by a better writer than I :)).

jleader 3 days ago 2 replies      
Why does the described algorithm only decode transmitted blocks when the receiver has decoded all but one of the constituent blocks? For example, if the receiver has received the following 3 blocks:

  1. A ^ B ^ C
2. A ^ B
3. B ^ C

it can combine #1 and #2 to decode C, then combine C and #3 to decode B, then combine B and #2 to decode A.

The algorithm as described would in this situation cause the receiver to wait until it's received a single block, either A or B or C, before decoding anything. This strikes me as inefficient.

Edited to add: I think this is analogous to forward vs. backwards chaining: you can either start by combining single blocks with composite blocks to simplify them, or start by combining blocks whose component block lists differ by only a single block. Or you could apply both, which should get the greatest simplification with the smallest amount of input.

sown 3 days ago 2 replies      
Where do people keep these algorithms around? I've asked in the past about reference guides for stuff like this they throw Knuth's "Art of Computer Programming" which is a neat book but doesn't have esoteric and useful but hard to find stuff like this.

Where do I find stuff like this?!

epaulson 4 days ago 1 reply      
Alas, digital fountains are tied up in patents, and people have been leery:


calloc 3 days ago 1 reply      
Seems the website has gone over quota. Shame, because the content is absolutely fantastic. Had it opened and had begun reading it on my computer at home.
phzbOx 4 days ago 0 replies      
Didn't know about that algorithm, pretty cool. Also, the way the author explained it made it a joy to read.. clear, simple examples, meaningful graphics. Can't wait to start reading the previous blog posts (About other cool algorithms).
kcl 3 days ago 0 replies      
It wasn't immediately clear to me the ideal soliton distribution always summed to one. There is a simple proof by induction. I wrote it up here: http://kevinlawler.com/soliton
evmar 3 days ago 1 reply      
Gray on black text. :~(

To make the page readable, pull up the dev console and run `document.body.style.color='black'`

repiret 3 days ago 3 replies      
Whats the advantage of Fountain Codes over more well known and deterministic forward error correction techniques like Reed-Soloman Codes?

The D.J.C.MacKay paper linked from the article lists applications in broadcast and data storage, but Reed-Soloman would work equally well in both those applications.

Hypothesis: With Reed-Soloman and friends, if you're unlucky and loose the /right/ n blocks, for small n, you can't recover your data. Is that n larger for LT? If I could maliciously corrupt your LT blocks, would I have to corrupt more with LT?

Hypothesis: If I randomly corrupt blocks with Reed-Soloman, does my likelihood of not being able to recover all my data drop faster than if I did so with LT?

Can someone say authoritatively?

jws 4 days ago 2 replies      
One wonders how it does rate limiting to avoid pointless resource consumption of faster, near links when the packets are going to be dumped by a slower, farther link.

In particular, if you intend to coexist fairly with TCPIP on an internet you might find your rate limiting code carries all the most of the work and timing issues of TCPIP anyway.

invalidOrTaken 4 days ago 1 reply      
Thanks for this post. Patented or not, this is damn cool.
baruch 3 days ago 0 replies      
It is a damn cool algorithm, I was introduced to it in a startup I worked in and we actually tried to make use of it. The algorithm as described has a problem to converge fast enough and we had to make some extra structure on top that made it converge very fast and in a very consistent way. We used it for multicast communications where feedback to the server is impractical and such codes are making it a very effective way to distribute the data.
aidenn0 3 days ago 0 replies      
This seems most useful for broadcast. You could just broadcast the fountain code of a file out as long as you have listening receivers; the only feedback needed would be "send to me" and "done"
sethbuzz 3 days ago 0 replies      
Fountain codes look very interesting. There was a project at OLPC, I think written in Forth for OpenFirmware, that used something like fountain codes to reflash massive numbers of computers. It worked like this. Turn one XO-1 on in OFW mode, insert a USB with the disk image you wanted to be on all machines, and turn it on as the source server. Boot into OFW, the other XO-1s you want to reflash, and tell them to receive a new image. I think there was a key shortcut of some kind that told a machine to receive. The server XO would continue to send packets until all other machines had received enough packets to make up a complete disk image. If I remember correctly, they used it to reflash 3000 machines in the field that I heard about. There may have been more elsewhere or since.
derfclausen 4 days ago 0 replies      
Luby had a startup named Digital Fountain in SF in the late 90's where they attempted to productize this, primarily for video streaming.

Looks like they were acquired by Qualcomm a few years back:

cma 4 days ago 0 replies      
heavily patented
karpathy 3 days ago 1 reply      
It's somewhat intuitive, but I feel like there is some cool math or attempt at explanation behind this that was left out.

Why is this better than just broadcasting messages that always contain a single block? What do you gain by forming combinations? You still have an expectation of eventually getting all the information. I assume it just turns out to take longer on average because your expected gain in information is lower from single chunks once you already have many of them?

Free Programming Ebooks citizen428.net
293 points by krat0sprakhar  3 days ago   24 comments top 12
mekoka 3 days ago 1 reply      
macco 3 days ago 0 replies      
I hate this. Now I have even more books on my reading list. Damn it.
mrgoldenbrown 3 days ago 0 replies      
Learn you some Erlang is a web site, not an ebook, and apparently the author can't help us get it in PDF or kindle form for legal reasons. (http://learnyousomeerlang.com/faq) Yet he/she does hint that there is a kindle version out there. Here is what looks like the most likely candidate to me - I will try it out on the kindle later this afternoon. (https://github.com/igstan/learn-you-some-erlang-kindle#readm...)
Hexx 3 days ago 0 replies      
How can you have a Ruby section and not mention "Why's (Poignant) Guide to Ruby"!
tehC 3 days ago 0 replies      
Here's a list that i think was on HN a while back.


muyuu 3 days ago 1 reply      
AFAICS Visual LISP Developer's Bible is not free. US$8 in Amazon, couldn't found any free download except that of the sample chapter and exercises.
telemachos 3 days ago 0 replies      
Two others for Scheme:

The Scheme Programming Language, 4th Ed. by R. Kent Dybvig[1]

Simply Scheme: Introducing Computer Science by Brian Harvey and Matthew Wright, 2nd Ed.[2]

[1]: http://www.scheme.com/tspl4/

[2]: http://www.cs.berkeley.edu/~bh/ss-toc2.html

carlsednaoui 3 days ago 0 replies      
Another great option for ruby:


harichinnan 3 days ago 1 reply      
Any suggestions for a book on Discrete Mathematics with Software.?
ifearthenight 3 days ago 0 replies      
Thanks, ruby ones should come in handy.
joshmanders 3 days ago 1 reply      
Thanks, Diving into Python and Mastering Node are two good ones for me.
drcube 3 days ago 1 reply      
Learn Python the Hard Way is available for free on the web, but you have to pay (a nominal fee) for the pdf or epub versions. So I'm not sure it counts as a "free ebook".
How Trello is different joelonsoftware.com
285 points by joshuacc  3 days ago   127 comments top 37
DanielBMarkham 3 days ago 2 replies      
I picked up Trello a month ago, swombat recommended it to me, and I'm already a huge fan. Just keep it simple, Joel. The horizontal and simple part of this app -- along with it being totally web-based -- is what's made me a fan. I can use it on my own, with my clients, with the family, etc. This is the app I wanted to write two years ago but never got the magic to work. Kudos!

I just did that e-book on Scrum (shameless plug: http://www.lulu.com/product/ebook/scrummaster/18803035), and I used Trello for all the task tracking. In fact, I plugged it in the book as the best online Agile/Scrum tool I've seen so far, even providing instructions on how to use it working remotely with Scrum or Agile. I'm using it to prioritize vacation spots for our family this year, my vitamin list, some tasks I'm farming out offshore, and another book project. I also have another website idea that I'm getting ready to load up.

Things I'd like to see? 1) Linked boards. Have the same column appear as the end of one board and the beginning of another. This could allow you to have several boards with different audiences but they would all work together. 2) downloadable data. I know you guys say you want to do this, but closed data is a deal-killer for me. 3) Make it work on my iPad. Seriously. Being able to update using finger gestures on a extremely portable device would be sweet.

If you guys haven't tried it, you should. I am not a big fan of online Agile-like tools, but this rocks. Just a simple list of stuff and customizable columns to move the items around. I think the Fog Creek guys are really on to something here.

king_magic 3 days ago 4 replies      
Trello is one of those products I've come to love with an almost insane passion. You'll have to pry it out of my cold, dead hands. It has become indispensable for me.

Personally, I'd happily pay for it. I find it incredible easy to use and super user-friendly.

Oddly enough, though, I tried to get my fiance to use it for wedding planning. She claims it makes no sense :) - so I'm not entirely sure it's ready for all walks of life, at least not quite yet. I can't even convince her to let me show her around it. Oh well :)

edit: wow, seriously? downvotes? That's pretty harsh for a thoughtful comment about a useful piece of software that has helped me professionally and personally. Pretty lame, if you ask me.

joebadmo 3 days ago 1 reply      
Joel talking about what people used Excel for seems very similar to Clay Christensen's concept of hiring products for specific jobs.[0] I wonder if this was a conscious thing on Joel's part or it's a case of convergent evolution.

[0]: http://hbswk.hbs.edu/item/6496.html [edit: here's a fanastic, transcendent presentation by Christensen: http://gartner.mediasite.com/mediasite/play/9cfe6bba5c7941e0...]

arctangent 3 days ago 3 replies      
I've been itching to introduce Trello at work but this sentence made my heart sink:

> It's 100% hosted; there will never be an "installed software" version of Trello.

We already use the installed version of FogBugz at work and I had hoped that Trello might some day be provided in this form too. Ideally, we'd have wanted FogBugz and Trello to work together in some way.

Unfortunately, using a hosted version of Trello is not an option due to insurmountable problems with the procurement and information governance processes within my company.

tripzilch 15 hours ago 0 replies      
This looks really nice and I'd be eager to give it a real try for whatever I can up with ...

If only the UI wasn't so sluggish.

I tried both Opera and Firefox, so I guess it's just the fact that I'm on a relatively low-powered machine (netbook, 1.6GHz, 1GB RAM) but frankly I don't see it doing much that should be so slow. Now GMail can be similarly sluggish, but GMail doesn't require me to drag boxes around at 2-3 frames per second.

Even the highlight-on-mouseover effect has a delay before it happens, and there is no excuse for that since it should not take any time unless you're doing all sorts of things between mouseover and setting the highlight. Switching that around would already make the UI feel so much more responsive: Always indicate responsiveness feedback first before you make the user wait for anything else.

I can think of some things that might be causing this. Maybe there's zillions of JS events that are listened for and being triggered even when they don't effectively do anything in that particular app state.

Partially, it's because at some points the responsiveness feedback vs waiting for something being done is the wrong way around for providing a snappy UI feel.

And when I drag a card around, it gets CSS transform rotated, and a rather big drop shadow. All sorts of other UI elements have subtle shadows and glows and I bet they're all done in CSS. It definitely looks nice, no argument about that, but if you're going for a really simple but super-useful tool, you shouldn't be sacrificing usability for eyecandy.

Especially the card box dropshadow, if you're going to animate it, don't do it in CSS, use a semi-transparent PNG instead. Yes CSS3 is very nice, but you do realize that the browser is (inefficiently) recalculating the gaussian shadow blur every frame?

Maybe the easiest thing would be to have an option in the preferences to switch off the "special effects" so that everything is just plain CSS boxes with borders (that can increase in thickness on mouseover, instead of increasing their box-shadow blur radius ...), that don't need to slightly rotate when you drag them.

Or maybe you could consider what it means to build a really simple, powerful web application that is an absolute pleasure to use, and whether that really requires using the latest CPU-heavy special effects and animating them.

gruseom 3 days ago 1 reply      
Most Excel users never enter a formula. They use Excel when they need a table. The gridlines are the most important feature of Excel, not recalc.

Joel is exaggerating for effect. Yes, many spreadsheets are static lists. But how far would a spreadsheet product get without formulas? As soon as you wanted to add prices to your grocery list, you'd be stuck.

His critique of Improv is interesting. (Steve Jobs adored Improv for years btw.) He's saying that by imposing more structure on the free-form grid, Improv lost the ad hoc users.

The free-form grid is the most important thing about spreadsheets. But interactivity (formulas/recalc) is part of that, even when you're not using it.

tosh 3 days ago 2 replies      
As a user of trello I fear 'being a general purpose data structure for everyone' is the wrong direction to go :(

# Target Audience?

When you look at who is using trello right now you will find mostly agile teams, startups, freelancers, engineers, designers who do software development.

IIRC this is also the reason it originally got built. The team wanted to scratch their own itch and I think they did a good job.

I like trello a lot. I dig Joel and joelonsoftware and am curious what the future holds. I hope it won't end up as a misunderstood tool by trying to be everything to everyone.

# Niche vs Horizontal

If you are interested in the trade offs related to going niche vs going horizontal I think 'Crossing the Chasm' and 'Inside the Tornado' are great books to read.

# Disclaimer

I'm working on https://www.blossom.io which has a feature set similar to trello but is aimed at people who deeply care about product development.

mythz 3 days ago 2 replies      
Trello is awesome, it's one of the few products that we use at work, but doesn't feel like work to use :)

I'm not a process guy, because I usually can't justify the time it takes to 'maintain the process' except with trello since it's effortless to use, it's almost always a win to jot thoughts down whenever something remember-worthy appears in your head :)

Jach 3 days ago 1 reply      
I tried Trello when it launched, I kind of stopped using it midway through last semester but I'll probably pick it up again for this coming semester. I've never been a Planner kind of guy so I'm not really the target market anyway, but it is a decent minimalist interface that makes the grunt work that is planning less annoying. I haven't tried collaborating with other people using it yet.

My main UX complaint is the fact that to do any real planning stuff that makes it better than a text file requires opening up the Menu of Everything for an item after creation time. There's a lot of whitespace next to the "Add" and "X" buttons when creating a new item, something as simple as offering a shortlist of the most commonly used labels or something would be nice.

aycangulez 3 days ago 4 replies      
Joel claims that Trello can be used for kanban. This is not true because Trello doesn't support WIP (Work-In-Progress) limits without which you don't have kanban.

If you want to know your team's capacity, you have to limit the number of tasks they work on at the same time. Once you limit WIP, several interesting things will happen:

* A backlog of tasks will emerge.

* You will be able to measure how much time is spent on each task.

* Tasks will get finished faster.

The first two results are not very surprising because by introducing WIP limits, you have effectively eliminated multitasking, but how on earth, do tasks get finished faster?

Unlike computers with multiple processor cores, our brains have one or at best two cores. Without WIP limits, when there are too many tasks to work on, we spend more time on switching tasks than the tasks themselves.

Bottlenecks become visible. Since everyone is working on a limited number of tasks, some finish theirs on time, some get overloaded, and some cannot finish their work because they need input from those who are overloaded. Team members with free capacity can help those who are overloaded. Better yet, they can even come up with ideas on how to fix the newly discovered bottlenecks.

Disclaimer: I am the author of http://flow.io , a lean project management application based on kanban.

creativeembassy 3 days ago 1 reply      
I tried Trello a few weeks ago, and although I love its interface, I just can't find a use for it. I already use Omnifocus for keeping track of lists of things that I have to get done. I use Google Docs for spreadsheets, and SimpleNote w/ Notational Velocity for simple text documents. How is everyone else using Trello?
hogu 3 days ago 0 replies      
The biggest take away for me from trello is that a two dimensional view of data is extremely powerful. Personally, I love outlines even though Joel thinks they are dead ends for UIs. I think workflowy is awesome and my love of emacs org mode is why I created my own web version, yata.in(yet another task application). I think one large drawback of outlines is that you have a linear view of data, as you scroll up and down, it makes it hard to compare things that are scattered all over the outline. I think if one can bring the power of working with outline data vertically, as well as horizonatally, it would be really effective. I think I know how and I'll post it on hn when I'm done.
ThaddeusQuay2 2 days ago 0 replies      
How Trello is different? More like: How Trello is the same.

"You agree that You will not:

(a) upload, post, transmit or otherwise make available any Content that is unlawful, harmful, threatening, abusive, harassing, tortuous, defamatory, vulgar, obscene, libelous, invasive of another's privacy (up to, but not excluding any address, email, phone number, or any other contact information without the written consent of the owner of such information), hateful, or racially, ethnically or otherwise objectionable;

(j) intentionally or unintentionally violate any applicable local, state, national or international law, including, but not limited to, regulations promulgated by the U.S. Securities and Exchange Commission, any rules of any national or other securities exchange, including without limitation, the New York Stock Exchange, the American Stock Exchange or the NASDAQ, and any regulations having the force of law;

(l) promote or provide instructional information about illegal activities, promote physical harm or injury against any group or individual, or promote any act of cruelty to animals. This may include, without limitation, providing instructions on how to assemble bombs, grenades and other weapons or incendiary devices."


So, basically, my associates and I can't use Trello to make our plans for world domination. Back to the index cards, guys.

SERIOUSLY: Content-restrictive ToS, which is now the norm, is killing the Internet, possibly with even greater efficacy than DMCA, SOPA, PIPA, and their ilk, combined, because it proactively chills speech. Congratulations on a nice product, but no matter how nice it is, or how much nicer it becomes, the ToS makes Trello unusable to me, as well as to many of the people who ignore the fine print, and who will therefore end up losing their accounts over trivialities.

"The business goal for Trello is to ultimately get to 100 million users. That means that our highest priority is removing any obstacles to adoption. Anything that people might use as a reason not to use Trello has to be found and eliminated."

th0ma5 3 days ago 2 replies      
I think Joel makes great points in this article about horizontal software. If your product has wide uses, then how do you market it? It will seem generic, and people will ultimately have to adapt it to what they want to do. This is a challenge I've had with Edgy, my minimalistic diagram app for Android, is that experts will see it as an over simplification of a very powerful tool, and general users will not see the potential of just a little bit of that power.
alanmeaney 3 days ago 2 replies      
There is a race going on at the moment for the collaboration space. The likes of Asana.com & Do.com are attempting to solve similar problems. The rules look like this:

- make your product web based & free
- get users, worry about revenue later
- keep it horizontal as much as possible

Maybe this is all part of the new long term bottom up strategy for getting into Enterprises?

Get Enterprise users using your product, get them to bring it in the Enterprise door and further down the line find a way to monetize.

It will be interesting to see who comes out on top. I see a lot more innovation to come in this space.

brador 3 days ago 2 replies      
Question: Backup.

What if they decide to shut down some day? You lose everything. Unlikely? yes. Possible? Also yes.

Offer a backup function, and I'm yours.

pace 3 days ago 1 reply      
How does Trello compare to Pivotal Tracker? Any experiences?
Ygor 3 days ago 1 reply      
"we think it's much easier to figure out how to extract a small amount of money out of a large number of users than to extract a large amount of money out of a small number of users. Once you have 100 million users, it's easy to figure out which of those users are getting the most value out of the product you built"

Hm. This sounds logical, but is it really true?

gcv 2 days ago 0 replies      
I use Emacs' org-mode to keep myself organized, and have generally disliked all other task list applications " they usually lack flexibility or require unhelpful and distracting self-adjustments to fit their worldview.

Trello feels like web-based org-mode. For simple use, it is almost as flexible, and it has groups and sharing built in. Nicely done.

j45 3 days ago 0 replies      
After 10 years of building and scrapping my own web based project management tools, I discovered Fogbugz was sufficient for handling detailed information and dialogue back and forth. I typically do "1 issue/feature per case" and keep my life really simple that way. The customer indirectly has a complete record of the entire design/development/signoff process of each feature by email.

Trello though, I find myself using more and more just for my overall kanban/burn of what I need to be doing at any oen time -- something I've struggled to get setup (my own initiative) in Fogbugz. I wish I could pull in my FogBugz filters but I'm sure others are requesting such things.

Trello is a great shared to-do list, and dare I say maybe even more relevant to getting things done than Basecamp, for me.

hanskuder 3 days ago 0 replies      
Just signed up to give it a try, and after entering my email address and password I was presented with a button that took me straight to GMail. Of course I could have simply switched tabs, but this was an awesome little detail that made me smile.
factorialboy 2 days ago 1 reply      
dangoor 3 days ago 0 replies      
It sounds like the Trello API is coming along. Has anyone made an Alfred plugin or command line tool for adding cards? Quick keyboard-based capture of thoughts is important for keeping focused on what I'm doing.
j_s 3 days ago 0 replies      
I would recommend linking 'try it' at the end of this; there is no link to the actual product in the summary at the end of article or the learn more/about footers!

Is this some type of SEO strategy avoiding too many links being penalized?

tamersalama 3 days ago 1 reply      
What is the underlying stack? Is it Ruby/Rails or am I just dreaming? isitrails.com says it "might be"
earle 3 days ago 0 replies      
I'm still shocked these companies with online productivity tools dont provide this as a standalone enterprise app -- there's certainly plenty of customers who would pay for an internally hosted version of this that are unable to use a cloud based service.
philipmorg 3 days ago 0 replies      
For me, Trello is a powerful alternative to the linear list. The linear list has it's place (grocery shopping, planning certain things, etc.) but I love the visual way that Trello groups lists of things.

When managing a project, having multiple buckets that contain lists, and being able to quickly scan the buckets is highly effective. With linear lists, I sometimes forget to check one of my lists, or the list gets stale, and things fall into the cracks. Because it spreads all my lists out on a single board, Trello (the HTML version, anyway) helps me avoid this.

I agree that linked boards would be a great enhancement.

webwanderings 3 days ago 0 replies      
I started with the assumption that WorkFlowy is a To-Do list, but ended up using it as my Bookmarks Manager. So Trello seems like a similar concept, though there appears to be too much to maneuver around. I'd say it won't click with the average user so easily.
Valien 3 days ago 1 reply      
So question for the software devs here. I'm looking for a solution that I can use to track internal projects with non-technical AE's (advertising world). Right now we do everything via spreadsheet and email and it's horrendous. I've looked at JIRA but the cost is a huge factor. For issue tracking we are using JetBrains YouTrack and it's great but for overall project planning, etc I'm wondering if Trello might be a fit?
aristus 3 days ago 2 replies      
"The others don't cost much to support."

BWAHAHHAHHAHHA. Ha. heh. whee! It's a good product but good luck on that part, Joel. Support costs for massive free products are probably more expensive than you imagine.

CubicleNinjas 3 days ago 0 replies      
After using it for a month our entire studio has switched over to Trello as our main form of data organization. It replaces Basecamp for clients, plots our marketing calendar, and gives an overview of every deliverable's stage of completion.

Every single day people say out loud, "I'm so glad for Trello.". It is a remarkable product that our team is madly in love with.

nazar 3 days ago 0 replies      
Offtopic: I like how he ends his post "I'm also the co-founder of Stack Overflow." I didn't know the guy, and that line made a lot of sense to me.
xxqs 3 days ago 0 replies      
this is the first site that I visited and it refuses to support Mozilla 3.6 browser, which is default on my ubuntu 10.10 notebook.
pohungc 2 days ago 0 replies      
I'm really interested in seeing how FogCreek monetizes on Trello in the future.
ds206 3 days ago 1 reply      
Has anyone seen Teambox's beta? It looks very similar to Trello's UI. Who was first though?
igorgue 3 days ago 2 replies      
I'm sorry Joel, but Trello, is still bitch work... I still use pen and paper, and works great!
wulczer 3 days ago 4 replies      
Oh my, I can't believe my eyes:

  Our developers bleed all over MongoDB, WebSockets, CoffeeScript and Node.
But at least they're having fun. And in today's tight job market,
great programmers have a lot of sway on what they're going to be working on.

So is the job market so bad you have to bribe engineers by letting them use tools they're apparently not proficient or efficient with, just so they'll come and work for you? I find it so insane it's not even funny anymore.

Visitor.js visitorjs.com
277 points by jonasw  3 days ago   92 comments top 29
duopixel 3 days ago 1 reply      
I think most people here are missing the point, probably because of the gimmicky examples in the landing. Geolocation is not about localizing experiences, it's about providing sensible defaults and contextual information.

For example, the problem with "upvote" button littering, just can just show the upvote button from the referring service (say HN or reddit).

Or just autoselect my country in a form, it's a pain going through the country dropdown, even if it's a fancy autocomplete widget.

Or just provide me an appropriate zoom level when I'm looking at your world-wide locations in your embedded Google Maps.

huhtenberg 3 days ago 1 reply      
Nice, but why the hell is this a service?

It's a rhetorical question. I understand that the devs want to make $10 to $40 a month by hosting a piece of Javascript and storing trivial stats, and it's an awesome way to make living, but - c'mon - it's like fitting a round peg in a square hole. Those who need this sort of site customization are likely to have a proper backend in place and to be able to implement the same thing themselves. And those who don't have the backend, they won't be able to afford the service.

exit 3 days ago 3 replies      
i hate when my internet experience is "localized" with shit like "g'day mate".

the internet is a place in and of itself.

josscrowcroft 3 days ago 3 replies      
This looks like a lot of fun, but my main concern is with the pricing model. I can recreate much of this functionality for myself, without rate limiting, in a couple of hours with standard open source libs.

The value-add they offer is good, but I'm never gonna find out about it first hand because I'm not gonna pay to try it (even with a 30 day money-back guarantee)

I predict they would have far more luck if they open-sourced the basic library (so we could use it to get say 80% of the functionality ourselves BUT would need to self-host it etc. etc.) and then offered a hosted version for $$ per month.

Good luck!

ntkachov 3 days ago 2 replies      
Pricing scheme aside (honestly I would pay for such a service if it comes with a nice little dashboard and some decent stats), What I really wonder is if it would have a load of backlash from customers coming to my.

Personally whenever any site does the "you are from Lexington!" I get a little freaked out. What else is it tracking about me? is it going to use this info for anything? I know all sites have the capability to track me, but it makes me uneasy when they are showing me they are actively doing so.

Still I feel like they nailed a key service which is "If they googled "free" offer them a discount". This kind of thing would be very, very good for buisness. This is probably the future of web advertising and marketing.

codejoust 3 days ago 0 replies      
I built a open-source version similar to this library for my own use using javascript browser checks and the google jsapi geocoding. It's on github at https://github.com/codejoust/visitor.js.
smoody 3 days ago 0 replies      
As a rule of thumb, the number of script requests will be about as high as the number of unique visitors to your website. Since the browser caches the visitor.js script, it is usually downloaded only once per visitor.

If the developers of visitor.js create a new version of the script that supersedes the version cached on users' local computers, will my number of script requests suddenly spike?

instakill 3 days ago 3 replies      
As cool as this might be, it has a major flaw. Take a look at the current mobile browser stats[1] (worldwide) and you'll see that Opera Mini/Mobile dominates. It, as well as any other proxy browsers such as UC browser, which are massively popular, will provide you with inaccurate information. I'm in South Africa and my IP is showing me to be in USA, and even the locale is wrong.

So, perhaps if Visitor.js had exception handling for where visitor.browser.name == [an array of known proxy browsers] then this might not be worth it if a good portion of your traffic is mobile.

[1] http://gs.statcounter.com/#mobile_browser-ww-monthly-201001-...

andrewnez 3 days ago 3 replies      
I think they will struggle to charge for this on a request/month basis.

As far as I can tell it's delivering almost all the functionality in the single javascript file except for the geocoding so you could host the js file (http://www.visitorjs.com/visitor.js) on your own server and get 90% of the functionality for free.

If they recorded the details and provided a hosted UI to view stats that might be worth paying for.

hmottestad 3 days ago 0 replies      
As long as you don't switch language on your website based on the location. I hate when a website does this, and some are even horrid enough to use google translate. If I wanted the page translated I would translate it myself.
buremba 3 days ago 1 reply      
This is too expensive for such a service. It's not something like Google Analytics, it just gives some information about current session. It may not even have a dashboard.
stephen 3 days ago 0 replies      
The startup I work for, Bizo, has had some clients doing similar things with our API:


E.g. customizing their home/landing pages based on the business demographics of users (is this a small business user, Fortune 500 user, etc.).

(Don't mean this as a gratuitous plug, it's just cool to see the same client-specific customization technique used elsewhere.)

celalo 3 days ago 1 reply      
What is the point of this? Nothing is special but the location information, and there are plenty of free JS APIs.
cbs 3 days ago 0 replies      
Oh boy, another way to micromanage customers rather than just provide a good product.
sparshgupta 2 days ago 0 replies      
The service might be of use but my concern is the latency. If I need to use the location variables (in my headline etc), they must be available to me ideally before the body starts. If they are doing a MaxMind lookup or any lookup of IP from a database, they are not serving cached content from a CDN and hence bound to have more latency then I expect from a library.

If my site is big enough with world wide visibility that it needs custom locations, it bet to be fast also

jroseattle 3 days ago 0 replies      
It may well be a nice little library, but the next level of improvement in geo-localization is going to come from the data source. Another API is only going to be as good as the data source, and the quality ones are in limited supply.

Given the expected benefits for the cost (any cost, really), it's not a library I would use.

bitdiffusion 3 days ago 0 replies      
The geolocation bit seems to be one of the last things that you can't really find for free (especially if you want one that works worldwide). In the same vein, good luck finding a free database or service that allows customers to look up the full address from the post code at least in the UK. The amount of constant updates required to keep it up to date is the kind of work prohibitive to most oss developers.
valugi 3 days ago 0 replies      
what is so cool about this?

As a user I already know my IP, my browser locale and probably I can be more accurate on my location. I know where I came from and what browser I am using on which OS.

As a site owner I already have this info from the http headers and implementing a reverse IP geo mapping is not a big issue.

So? where is the groundbreaking stuff? perhaps in the payment scheme ...

mbq 3 days ago 0 replies      
Obviously they respect Mozilla's do-not-track?
hu_me 3 days ago 0 replies      
its a useful service for targeting and can actually be used to personalize the site more than gimmicky g'day..

like offering deals, suggesting content (based on keywords), optimizely and reedge do offer this sort of thing in its package, but this looks easier to integrate and utilize. but a bit expensive for the service offering

NHQ 3 days ago 1 reply      
Where can one get a database of IP locations any more? ipinfodb no longer offers a download of their data.
kyle_martin1 3 days ago 0 replies      
It's a nice idea but, in reality, I think most web programmers could (and would) implement this quite easily themselves with ~50 lines of code of PHP+JS. From what I saw, this product doesn't really solve any hard problems.
lubujackson 3 days ago 0 replies      
So this is targeting the thin audience of web site owners that can successfully install and use custom .js but don't know about the $_SERVER variable in PHP (or choose your flavor)?
gesman 3 days ago 0 replies      
All this info can be gathered using free one-liner scripts and free resources, such as maxmind IP geolocation DB. It's like re-selling information pulled from wikipedia on the backend.
andrewl-hn 3 days ago 1 reply      
Opera 11.6 is identified as IE on Windows
netmute 3 days ago 2 replies      
I don't understand why these 'analytics-clones' always have to be written in js. I would much prefer a ruby gem that does all this in the backend.
ocharles 3 days ago 0 replies      
Well this has been good motivation for me to install NoScript
swah 3 days ago 1 reply      
If you view http://www.visitorjs.com/visitor.js, that JS already has your data concatenated with the script. Why is this?
sasha__b 3 days ago 3 replies      
Why is it better than Google Analytics?
Hacked memo leaked: Apple, Nokia, RIM supply backdoors for government? computerworld.com
277 points by pash  1 day ago   44 comments top 16
nirvana 20 hours ago 2 replies      
Is there any verified info showing a backdoor in Apple iOS?

From my brief reading it sounds like the person writing the memo may not be able to distinguish between surveillance of the carriers and putting backdoors into the devices themselves. I can believe that the carriers would be compromised, sooner than I'll believe that the operating systems are.

Specifically, one of the things Apple did with iOS 5 for iCloud was put in end-to-end encryption into the system. iOS has for an even longer period contained protections to make it less easy for an app to read data belonging to other apps, and the storage on Flash has been encrypted since at least iOS 4 (I believe.)

Yet the iOS 5 binaries are subject to the scrutiny of the jail breaking community, and if there is a backdoor here, I'd think that it might have been found. (Or will be soon now that its existence has apparently been leaked.)

Further, how could this actually work? (the memo is so full of jargon and nonsensical to me that I stopped trying to interpret it pretty quickly.)

Its tricky to get intentional communication- FaceTime, iMessage, etc, working on devices, let alone back doors for a specific government. I don't think the indian government could successfully delver to Apple a spec for them to implement that wouldn't intrinsically cause noticeable problems and thus reveal its existence regularly.

In short, I suspect that a backdoor is kinda infeasible from a software reliability viewpoint.

Finally, its also quite possible that this is a psyops campaign. By announcing that they have a back door (thur a leaked memo) the indian government could be attempting to bring pressure to bear from other governments to get their own backdoors, and thus, enable india to ultimately actually get a backdoor. I remember months ago reading that the indian government wanted more access to the mobile devices but were being stymied by manufacturers.

I've been observing Apple fairly closely for over 30 years and working with their operating systems, often at a fairly low level for almost 20 years. I've never seen Apple do anything that would betray their customers trust. People may object to the decisions Apple makes, but I have never seen a decision that, at the end of the day, didn't have at least the intent to do right by the customer (even when they failed to achieve that intent.)

Thus I'm highly suspicious at any claim that Apple has put in a backdoor. I think this kind of claim is extraordinary and out or character, and Apple has far more integrity in my eyes than these documents.

So, I'd like to see some evidence before we accept that this is fact.

pash 1 day ago 2 replies      
The reason this is interesting is not so much that some companies have apparently provided backdoors so that governments can spy on their users. We already knew (or could reasonably surmise) that that was happening.

No, the fun part is that one government's spies (India's) have apparently used these backdoors to spy on the agents of another country (the US). So, you see, by mandating these sorts of security compromises, governments have in fact made it easier for foreign governments to steal their own secrets"an irony apparently lost on the author of the Indian memo and on the authors of these policies.

mmaunder 22 hours ago 1 reply      
The lesson is, don't trust commercial security products. Only trust open source peer reviewed products like TrueCrypt, GPG, etc.

If you want your data to be secure, use your own layer of encryption, preferably on your own physical disk or at the very least have the encryption executing in an environment you control. e.g. Not someone else's package of TrueCrypt running on their server, rather your verified package on your machine and then upload it.

Encryption is a major strategic issue and few governments will lay down and accept that their citizens or other countries have the ability securely store and transmit data. I was at an NSA show and tell recently and they had an original enigma machine on display which speaks volumes.

JonnieCache 21 hours ago 1 reply      
If you're scared of your government, you shouldn't be using any form of communication without end-to-end encryption that you control fully. This much should have been obvious for decades now.

Criminals and revolutionaries are surely just as aware of these simple facts as we are, so these systems will likely mainly be used to spy on the innocent for political or personal gain.

If you make secure crypto a crime, only criminals will have secure crypto.

fragsworth 21 hours ago 1 reply      
So there's clearly a problem here, and the only solution seems to be to use a 100% open-source device along with 100% open-source software.

I mean there's pretty compelling evidence that others now have access to what we're doing on our (closed-source) devices. Would it now be totally irrational to go the Richard Stallman route?

alexyoung 18 hours ago 1 reply      
Isn't this a legal requirement in the US?

"CALEA's purpose is to enhance the ability of law enforcement and intelligence agencies to conduct electronic surveillance by requiring that telecommunications carriers and manufacturers of telecommunications equipment modify and design their equipment, facilities, and services to ensure that they have built-in surveillance capabilities, allowing federal agencies to monitor all telephone, broadband internet, and VoIP traffic in real-time."

From: http://en.wikipedia.org/wiki/Communications_Assistance_for_L...

Mithrandir 23 hours ago 0 replies      
Second announcement: http://pastebay.com/272823

Third announcement: http://pastebay.com/272822

Images of document: http://imgur.com/a/8XoGf

maeon3 16 hours ago 1 reply      
This article is precisely why I have a Linux box on my desk here and support android only. WHEN (not if) When the government decides to blacklist and whitelist ideas, actions and clicks, I can recompile the OS and comment out those lines.
ytadesse 23 hours ago 0 replies      
Given the US Gov (and I'm fairly certain most other govs as well) has wiretapping laws in place (http://en.wikipedia.org/wiki/Communications_Assistance_for_L...), I don't see why anyone would be surprised that the hardware providers also provide a mechanism to allow for tapping.
ajays 14 hours ago 0 replies      
My first impression was that the memo is fake.
The author refers to people (such as Shantanu Ghosh) without titles; and from what I recall of Indian bureaucracy, titles are important and you just don't drop them. They would always say "Hon. XYZ" or "Shri ABC".

Plus, it looks like the contents of the intercepts listed were there for gratuitous purposes only.

I could be wrong, though.

tzs 1 day ago 1 reply      
The memo says "all major device vendors".
JanezStupar 20 hours ago 1 reply      
I really enjoy posting this...

RMS was right all along.

dreamdu5t 6 hours ago 0 replies      
CALEA requires all your communication devices to have back doors... stop focusing on corporations and start looking at the law and your politicians.
asdfasdfasdfff 21 hours ago 0 replies      
Not that I am defending Apple, but I hope that whoever condemns Apple also knows about http://en.wikipedia.org/wiki/NSAKEY
awda 23 hours ago 0 replies      
unreal37 21 hours ago 0 replies      
I do believe the US and UK governments have access to cell phone traffic (Echelon), so part of this is no surprise.

But what I don't necessarily believe is that the government of India is in on it. Or that they are intercepting memos written by the United States about some confidential stuff. I feel this whole thing is a hoax and not real.

Has this been confirmed by anyone? I wouldn't necessarily trust some "hacked memo" posted to Pastebin. Also, the title bothers me. Memos are leaked, not hacked.

Nokia Maps 3D (WebGL) nokia.com
266 points by jasondavies  4 days ago   89 comments top 27
twp 4 days ago 3 replies      
This is a really impressive demo. Most virtual globes (e.g. Google Earth) separate the terrain, surface image and building data. Normally, these are sent to the client separately and merged in the graphics card: the surface image is texture mapped onto the terrain, and then the building data is drawn separately on top. Special routines are used to draw trees (e.g. billboards).

What Nokia have done here is to merge everything - terrain, surface image, buildings and trees - into the same model. They're still using the classic chunked level of detail approach, just with more complex models, which the graphics card handles with ease.

This requires more work on the server side to prepare the data, but once it is done it is really fast for the client. The main disadvantage is that the data ends up being very static - you can't move objects around, for example.

P.S. I'm currently working on open source WebGL globes like OpenWebGlobe (www.openwebglobe.org) and WebGLEarth (www.webglearth.org). If you're interested in this sort of thing, I recommend reading www.virtualglobebook.com .

nobody_nowhere 4 days ago 1 reply      
The mapping team at Nokia is by far the best software development team in the organization (maybe with the exception of Trolltech/qt), and it's surviving the MSFT integration. It's (largely) the legacy of the successful acquisition of Gate5 in Berlin -- and somehow the team there was able to resist full assimilation into the Borg. I was talking to a Nokian today who commented that in Nokia, "Berlin is the new Helsinki".
micheljansen 4 days ago 1 reply      
Smooth as butter! Too bad there is no way to search or get permalinks to specific location-view combinations, but hey, it's a demo :)
Niten 4 days ago 3 replies      
Can anyone fill us in on how they're collecting such accurate 3D detail for all these buildings? I mean are they flying airplanes with 360 degree cameras over the major cities at low altitude, for instance?
roadnottaken 4 days ago 2 replies      
It looks like only the cities that are labeled have 3D data (buildings etc), but those that do look phenomenal. Even the trees look pretty good!
Zirro 4 days ago 0 replies      
It didn't even increase the speed of my computers fans from lowest point. And normally, a YouTube-video can be enough to do that. That's impressive.

Nokia scores a point with me here, if they keep delivering things like this I may even consider buying one of their phones one day.

unwind 4 days ago 1 reply      
Fantastic. Is there a way to create a link to a given viewpoint location/direction/zoomlevel? That would make it possible to share views of the world, always nice.

When zoomed into an area for which there is 3D building coverage, it feels almost game-like. And I say that from a vantage point of some relevance. :)

smhinsey 4 days ago 1 reply      
Wow, I am impressed with how responsive that is. I'm on an Air and I generally don't have good experiences with this sort of thing.
feralchimp 4 days ago 5 replies      
On Safari: This requires latest Chrome or Firefox.

On latest Chrome: There was a WebGL compatibility problem. Please check system settings.

Yay standards?

adam-a 4 days ago 1 reply      
Includes anaglyph 3d mode too if you put "nw.setRedBlueStereo(true, 10.0, 10.0)" in your js console.
rospaya 4 days ago 0 replies      
Nokia (Ovi) Maps was always the best built in GPS solution for smartphones.
Gerdus 4 days ago 2 replies      
very cool. the satellite imagery seems both more detailed and more recent than Google's.
headShrinker 3 days ago 0 replies      
Amazing how well the software renders thousands of objects. On close inspection, I find the post-apocalyptic aesthetic of the rendering geometry very appealing. http://i.imgur.com/dNYer.jpg
jamesbkel 4 days ago 1 reply      
Wow. Very impressive. I'm in Boston and was able to pull an almost disturbingly detailed 3d view of my balcony.
kordless 4 days ago 0 replies      
Here's the APIs for the older version: http://api.maps.nokia.com/. Hopefully they'll be doing some documentation on using the new WebGL based API!
bluena 4 days ago 4 replies      
Who thinks it's better than Google maps?
FredBrach 4 days ago 0 replies      
I wonder how do they get the building facade textures/polys... It seems they have not only vertical satelite shots but also inclined ones.
bcowcher 3 days ago 0 replies      
Can anyone tell how old the maps are that they are using? I looked around but I couldn't find anything.

I tried zooming over my workplace in Darwin, AU and the building we work in isn't even there.. (its roughly 5years or so old)

I imagine there is probably a mash up of old/new map data in there depending on the population of a given place..

acgourley 4 days ago 0 replies      
I've been wanting an API key to nokia's 3D maps for a while. There are a lot of gaming possibilities there.
FredBrach 4 days ago 0 replies      
Not bug free: http://fredbrach.posterous.com/pas-de-sujet
This is the limit between the 3D data and the flat ones.
potyl 4 days ago 1 reply      
It's really nice! I hope that Nokia releases this eventually.
tomelders 4 days ago 0 replies      
yeah, that's pretty cool.
digitalnalogika 4 days ago 1 reply      
Does anyone else have all text on globe upside-down?
bthomas 4 days ago 0 replies      
Is there a writeup anywhere on how this is done?
nielsbot 4 days ago 0 replies      
downtown Chicago is lots of fun
suyash 4 days ago 1 reply      
Isn't the WebGL stuff done by Navteq, that's who the copyright says.
cpa 4 days ago 0 replies      
No scale? Not a map.
Spain threatened with trade blacklist for not passing SOPA style law torrentfreak.com
262 points by Hates_  4 days ago   38 comments top 8
nextparadigms 4 days ago 2 replies      
US seems a little too trigger-happy about putting trade sanctions on countries these days. They are basically coercing everyone to do what they want or else. And they wonder why the world likes USA less and less.

I don't think this will end well if this keeps up. Free trade is a prerequisite for a wealthy society. Trade isolationism can only lead to less wealth and more wars. Trade is probably the biggest factor in reducing frequency of wars in the world throughout history. Without trade countries had to invade each other to get the resources they needed.

mbrubeck 4 days ago 3 replies      
When people outside the US ask why they should care about US laws like SOPA, this is the answer. Laws spread quickly from country to country via trade agreements, copyright treaties, and other forms of influence.
rsanchez1 4 days ago 2 replies      
The government has too much power to do this, if they threaten another country with sanctions if they don't pass a law. This kind of power should be taken away from the executive and given to Congress. At least then we would see our elected representatives debate it, instead of some commission appointed by the President discussing it behind closed doors.
Eeko 4 days ago 3 replies      
This is sad for the rest of EU-nationals as well. Being in the trade- and political union was supposed to protect us from such attacks and pressure against our political sovereignity. "If we are part of a bigger entity, then it's harder for the bullies to harass an individual nation." That's how the Union was sold for many of us.

But right now, not only we face pressure from big foreign powers, but the Union itself is moving towards greater centralization of power. Especially financially.

This does not look good.

danmaz74 4 days ago 3 replies      
This shows one more reason why we need a united Europe: taken one at a time, European countries are too little to be able to raise their voices.
pors 4 days ago 0 replies      
Don't forget to read the comments under the article, pure entertainment :)
SODaniel 3 days ago 0 replies      
So the US uses it's influence to extort other nations in line with a fascist state.. Nothing to see here, move along.
stuaxo 3 days ago 0 replies      
Drafting laws for other countries should really not be on, this just really takes the piss.
Reddit traffic doubles in less than a year, to 2 billion monthly pageviews reddit.com
246 points by raldi  4 days ago   158 comments top 17
giberson 4 days ago  replies      
I'll admit to being one of the latecomers to reddit in the last year. I use to avoid reddit like the plague, because I thought reddit was just www.reddit.com (the main page) which the few times I visited was filled with random assortment of stuff I didn't care about.

Later, I discovered the true essence of reddit, sub-reddits. Things like r/loseit, r/fitness, r/gamedev, r/<things I actually care about>. Now I'm hooked--I visit the sub reddits multiple times every day. I no longer subscribe to the main reddit feed.

So, for things in store for 2012, you absolutely must focus on "help new users better understand the way reddit works".

In addition, if I were in charge of reddit for a day, I'd get rid of the reddit main page aggregation and instead replace it with a word cloud and the heading "Pick a topic that interests you to visit that sub-reddit for valuable discussion and content". Because, on the whole, the main reddit feed devalues the entire site with slop.

edit: removed misleading line.

danso 4 days ago  replies      
Whatever you think of @reddit's march towards decline...this was my favorite part of the blog post...and something I hope rings with other popular sites:

Here's a list of things we don't (and won't) do for traffic:

We don't get traffic through ads.

We don't participate in any traffic trading.

We don't email our users (unless they choose to enter an
email and then forget their password).

We don't harass users to sign up.

We don't harass users to invite their friends.

We don't pester you to download our app.

We don't use slideshows and other pageview gimmicks.

We don't know anything about SEO.

We don't integrate with Facebook.

We don't even link to our Facebook or twitter accounts.

raldi 4 days ago 6 replies      
To put that in perspective, Flickr is at 1.5B. LinkedIn, 2.7B.

Edit: I'd like to go on record with a bet that by the end of the year, reddit will get more traffic than LinkedIn (which currently has a market cap in excess of $6,000,000,000).

Anyone want to bet against me?


Adaptive 4 days ago 4 replies      
Condé Nast had no idea what they were buying. The best decision they made, one I'm sure that was the result of the Reddit team making the case for it, was relatively hands off mgmt.

I suspect CN still doesn't really know what to do with it other than sit back and not screw it up.

marvin 3 days ago 2 replies      
I love the reddit community, and I've been an active member for almost 6 years now. Congratulations to the reddit team for building a huge, diverse and successful community. However, I think that this latest stage of growth brings a lot of problems. The entire tone of reddit (in general) has become a lot more hostile during the last 1.5 years. It's what someone said about groupthink - downvoting or posting a quick, hostile reply to something you disagree with is much easier than actually articulating why you disagree. There is a lot of hating and lots of personal attacks instead of honest discussion.

I've been thinking about this for a bit. As an outsider it seems a lot like an up-scaled version of American society. Reddit used to be a relatively homogenuous group of people, but is now _very_ heterogenous, in the same way the US is. The problem is that reddit doesn't have the custom of politely avoiding contentious topics in the public space. So you end up getting mens' rights activists and militant feminists yelling at each other, Christians and atheists, racists and minorities etc.

I think this problem is only going to keep growing. Reddit has survived a long time, but this is a fundamental issue which is more about keeping an open mind and being tolerant of differences of opinion. It has more to do with societal conditioning than technology. It's a great example of what happens when you put radically different people within shouting distance of each other without traditional common courtesy to moderate things.

Like I said, I've been on Reddit for almost 6 years, but things are getting pretty bad. Almost every single time something that is considered controversial by any group is posted, there are multiple aggressive comments...which are upvoted if they are formulated in a sufficiently assertive way. The community is moving away from rational discourse, to a more traditional extroverts-first system where being loud and assuming that your opponent is wrong gets more recognition.

joshklein 4 days ago 0 replies      
Congrats to our local HN'er kn0thing and everybody else at Reddit. 2B is quite an achievement.

Regarding below questions about the business side of Reddit, see the previous conversation here: http://news.ycombinator.com/item?id=2966628

iamandrus 4 days ago 0 replies      
Reddit's growth has been amazing. It gets a lot of hate because of users reposting content without giving credit, but it really is an amazing site. I used to search Google endlessly for sites to get, for example, help on video games or services for video games, but now I think, "Well, I'll just check out their subreddit and see if anyone else has this problem." It's great for news and breaking stories. Sometimes I see it on reddit before I even see it breaking on Twitter.

I think Conde Nast did a good job as well in not fucking it up for the site. They let the owners do their own thing and let the site grow (an action I really wish other large companies would take when acquiring startups) instead of forcing them to put annoying ads all over or other stupid things.

However, I wish reddit would make it easier for users to find features and generally understand the site. I'm still finding useful features that have been hidden in the software.

I thank the reddit staff for their amazing work and hope that they keep it up. :)

rbranson 4 days ago 1 reply      
It would be really cool to see an architecture update post from them regarding where they are now and where they want to go. Pretty please? :)
leak 4 days ago 2 replies      
That's incredible. Congrats!! :)

Are we allowed to ask how/if they're making money?

psawaya 4 days ago 0 replies      
I admit that it's hard to measure this in an absolute way (and I agree pageviews is a flawed metric), but I submit that in two years, reddit will be as popular as Twitter is now.
revorad 4 days ago 0 replies      
The most surprising figure to me is that 65% traffic is from the United States. I think for a lot of the biggest sites, that number is much lower and going down.
rmc 3 days ago 0 replies      
I sorta wish the title added the (YCXX) tag (which was YC05 IIRC ?)
andrewhillman 4 days ago 1 reply      
I guess this answers my question to how badly reddit crushed digg.
ngokevin 4 days ago 0 replies      
Could this have something to do with the quality being halved?
xxiao 4 days ago 0 replies      
was getting tired of digg in the past, esp when its boss sometimes was shown as the headline there for no reason...
nice to see reddit is making it.
kaonashi 3 days ago 0 replies      
No wonder the comment section now competes with YouTube for most inane on the net.
jebblue 4 days ago 1 reply      
One of their sub sites uses the "f" bomb, not a very professional way to operate a company.
The Future of CouchDB damienkatz.net
245 points by badcarl  5 days ago   91 comments top 23
antirez 4 days ago 2 replies      
Probably it is very hard to create a company around an open source project without disrupting part of the open source ecosystem around it... on the other hand it is important to create some kind of structure to pay the developers to continue working on the project. I'm not sure what I would do without VMware helping Redis... but I guess that some decent compromise should exist, like creating a support company for the software but leaving the project itself as an open source effort with it's own separated site, mailing list, and so forth.

There is also an ethical problem IMHO. For instance is Redis mine? I guess it is not: VMware is funding the development so I can write code thanks to Vmware. Pieter is contributing a lot of code. The community is helping a lot the project: with talks spreading the word, helping on the mailing list, helping to fix bugs, and so forth.

My guess is that the developers really conceptually "own" a very small piece of the pie, and when they create business around an open source software, they should take this in mind otherwise it is simple to involuntarily use work/efforts that other people did in the past and turn it into your business.

It's not easy however... as: the end users should be happy and well served, and the software should not just be "open source" but an open process, with an open community, and so forth. At the same time the developers should pay their bills without issues and earn enough to avoid being tempted to joined company XYZ instead of working to their project. It's not trivial to have all this together I guess, and I feel very lucky that there is VMware making this simple for me, but not all the open source developers are equally fortunate so I guess it is crucial that the open source community keeps working on different ideas to find viable solutions.

rubyrescue 4 days ago 3 replies      
This is NOT second system syndrome. This is business, pure and simple. I had a long, LONG series of emails and calls with CouchBase about commercial support for Couch. We have some big production apps on it.

When it got down to time to pay for support, they told me (this is 2 months ago) in a rare and unusual bit of candor, that they were going to drop Couch in less than six months, so did I want to buy commercial support for just six months?

I told them not only do I not want commercial support, but I just got so freaked out I would not recommend couch for future projects to clients, because it was obvious that internally the team had moved on.

They asked me not to tell anyone so I didn't, but now that this is out there I can say what I deducted from our discussions: Couch doesn't make any money; MemBase does. Period.

Kevin Smith at Opscode said they're moving away from Couch (and to MySQL) as Couch just doesn't scale. No finely grained reader/writer locks, one reader/writer thread/db, huge and random delays due to checkpointing that can make the server inoperable, difficulty ever finishing a view checkpoint under load, etc. I think he's right - it's been abandoned as a platform.

It's absolutely their prerogative to move on and it seems like the right decision, but it's not a technical decision. The reality is that CouchDB is largely a product running small, toy apps, written by people who won't PAY anything for support. MemBase is being used by big companies with a lot of money to spend on commercial support and enterprise features.

Actually there is still one case where I recommend Couch and it's when you need the mobile sync features. I doubt that they'll make those a priority anytime soon on the MemBase product (at least I haven't seen or heard anything).

rdtsc 4 days ago 1 reply      
It is interesting, when they dropped Couchbase Single Server I jumped on #couchdb irc channel and said how there will be a developer drain from CouchDB since quite a few of them work for Couchbase and will be working on Couchbase Server only (instead of supporting and sending patches back to CouchDB as well).

I got a lot of disagreements and nasty responses back, suggesting that it would not happen and CouchDB is doing awesome, and how this basically doesn't affect CouchDB at all. However here is its creator, urging everyone in so many words to drop CouchDB and switch to Couchbase.

epistasis 4 days ago 1 reply      
The ideas in CouchDB were really great, but I was very disappointed with what was termed a 1.0 release of CouchDB, as it did not feel ready for prime time, and it ended up torpedoing a project I was working on. I'm also disappointed that it did not quickly improve, and that it appears to be abandoned by it's creator. I am therefore going to avoid Couchbase or anything by it's creator, as I do not trust that it's a foundation that I can build upon.
plinkplonk 4 days ago 2 replies      
"We are moving more and more of the core database in C/C++, while still using many of the concurrency and reliability design principles we've proven with the Erlang codebase. And Erlang is still going to be part of the product as well, particularly with cluster management, but most of the performance sensitive portions will be moving to over C code. Erlang is still a great language, but when you need top performance and low level control, C is hard to beat."

This is interesting. If I remember correctly, CouchDB was first written in C++ and then moved to Erlang. Now the project has come full circle (which is fine of course).

smacktoward 4 days ago 1 reply      
> if I had it all to do again, I'd do many things different

> now, as it turns out, I have a chance to do it all again

> throwing out what didn't work, and strengthening what does

> not feel like you're running a dirty hack

Second-system syndrome [1] ahoy!

[1] See http://www.the-wabe.com/notebook/second-system.html, http://c2.com/cgi/wiki?SecondSystemEffect, http://en.wikipedia.org/wiki/Second-system_effect, http://www.joelonsoftware.com/articles/fog0000000069.html, et al

robterrell 4 days ago 0 replies      
I've spent the past year building an app on CouchDB and I've really enjoyed using it. The couch.io to CouchBase transition was poorly communicated, so I'm glad Damien's made such a clear statement of intent. Clearly I'm going to have to stick with Apache CouchDB for now. I was interested in moving to CouchBase, but that's surprisingly difficult:

1. There's no easy transition for my data. I thought I could just install CouchBase and replicate from my existing CouchDB -- nope, can't be done. Huh? But why...

2. It's partly because CouchBase drops the CouchDB REST API. Which also means, none of my existing code works with it. So I guess it's no big deal that my data won't move over, because my app won't be able to retrieve it anyway.

Because there's no easy transition, they've created a situation where anyone considering a move to CouchBase is just as likely to re-evaluate all of the other document (or k/v) stores.

sgentle 4 days ago 2 replies      
Shame. I really like CouchApp. It felt like CouchDB was one rails moment away from being a whole new way to develop web apps, where the DB, the client, and the application were all part of the same glorious union rather than being a bunch of ugly parts bolted together.
FraaJad 4 days ago 2 replies      
The FAQ [1] tells me that Couchasebase Server 2.0 is open source. But, the link to source tarballs and git repos is conspicuously absent from all the pages i've looked through on couchbase.com/org.


zerothehero 4 days ago 2 replies      
This post is pretty vague. Having heard of Couch a few times over the years but not used it, it would been more helpful if he said something like: "I started a company and forked the open source CouchDB project that I founded. The company and new commercial product is CouchBase and it will be better for these reasons..." And I would be curious about some examples of where the open governance limited the CouchDB project as he's implying.

Those seem to be orthogonal things -- he could have just created a non-Apache open source project rather than making it commercial.

He is beating around the bush so much and using such vague wording that I wonder if he is hiding something, or just ashamed that he's cashing in on his creation. There's no shame in making money and no shame in making a commercial fork of your own project. But the CouchBase website looks awfully "enterprisey" now and I think there is some shame in that...

clark-kent 4 days ago 0 replies      
This feels like bad news for CouchDB users, since they will need to re-write code and re-learn a new system if they choose to migrate to Couchbase Server.

It's better to promote Couchbase server for it's own merits rather than promoting it as the future of CouchDB.

henchan 4 days ago 0 replies      
This is really bad news. Not exactly out of the blue, but there's no ambiguity now.

There's such a wide functional gap between CouchDB and CouchBase that it feels like the heart has been ripped out and placed into an entirely different beast. Of course the Apache project is still there, but I have grave doubt over whether it will continue to be actively developed.
To ease anxieties, it would be great to see a roadmap or some statement of commitment from those remaining in the CouchDB community. Including Iris and Cloudant.

rb2k_ 4 days ago 2 replies      
I looked at couchbase and it seems somewhat user-friendly. The way to preview your created views by using only a subset of data is nice. Another nice thing is the split into ?16? different databases that allow compaction to occur on a smaller level rather than having to compact the whole 60 gb file at once

The downside for me so far:

- I couldn't find any way to import my current couchbase single server data over to couchbase.

- The old couchdb webinterface (futon) made browsing through data easy, the couchbase interface seems to make this a bit more complicated. (Maybe I didn't look in the right places?)

- I couldn't figure out if I can still hook up the _changes feed to elasticsearch

nephics 4 days ago 1 reply      
It would have been a bold move, if Damien had left the "Couch" name with Apache CouchDB, and released his CouchBase product under another name. Also, this would have liberated him from having to distance himself from CouchDB, Erlang and Apache, when promoting his new product.

CouchDB is dead, long live Apache CouchDB.

perfunctory 4 days ago 0 replies      
I'm glad I didn't invest too much time into CouchDB
czue 4 days ago 0 replies      
I found it surprising that Damien comes off so completely unapologetic about his decision to abandon Apache and the CouchDB community. As a long time CouchDB user and open source believer the whole tone of his post leaves a dirty taste in my mouth.
crabasa 4 days ago 2 replies      
"And I'm dead serious about making it the easiest, fastest and most reliable NoSQL database. Easy for developers to use, easy to deploy, reliable on single machines or large clusters, and fast as hell. We are building something you can put your mission critical, customer facing business data on, and not feel like you're running a dirty hack."

That sounds like something I very much want, I hope Damien and the team can deliver.

skrebbel 4 days ago 0 replies      
I think this is an excellent move that fits with the current times. If I'm going to use a DB for production use, I want it to be well supported, well documented, easy to use, etcetera. Very few consensus-based projects I know reach all those goals. CouchDB sure hasn't entirely. If this move is going to improve on that, I may very well end up a Couchbase customer.
grout 4 days ago 0 replies      
This is what happens when people with the kind of crazy that broke HP and Palm and Compaq decide to play with open source projects.

Clue: Dealmaking is not codemaking.

jhawk28 4 days ago 0 replies      
I like a lot of things about CouchBase, but is it going to get the replication approach that CouchDB has? That is exactly what I am needing right now.
daniel_levine 4 days ago 0 replies      
I'm super excited about Couchbase and the team. It is already a great product and gets better all the time.
thesorrow 4 days ago 0 replies      
So if i understand right, everyone is trying to be RESTful except Couchbase ?
gr2m 4 days ago 0 replies      
The features I got exited most about (and am relying on today) are: databases per user, continuous replication and the _changes.

From my understanding, these are not part of the CouchBase server, right?
What are the future plans for these features?

Telling from the 2 CouchConfs I've been to, Couchbase is focused on huge one-db setups, distributed and fast ... but what about the "database per user" setup? Is this going to die?

The New Web Typography microsoft.com
242 points by cleverjake  9 hours ago   109 comments top 25
codyrobbins 6 hours ago 5 replies      
I am completely, wholeheartedly, emphatically, and unabashedly in favor of finally bringing control over OpenType features to CSS"finally!!

But this syntax they've come up with is an absolute horrifying mess. Ugh. Please say it ain't so!

  font-feature-settings: "smcp=1”;
font-feature-settings: "swsh=1,cswh=1”;

Seriously"that's how you get small caps and swash? Seriously?? These look like optimization flags for a C compiler, not CSS.

I'm guessing that these are probably mapping through to the underlying OpenType features directly somehow to support arbitrary aspects of a particular type, but it still needs to be less of a mess for the “normal” stuff.

Why can't it be something readable and self-documenting?

  font-features: small-caps, contextual-swash;

pg 6 hours ago 0 replies      
Incidentally, the title they chose is an ambitious non-coincidence:


Jabbles 8 hours ago 0 replies      
This is what I want! Not nice fonts, but competition!

Microsoft stepping up and implementing desirable features in their browser is exactly what we (as users of the web) need in order to move technology forward.

In the same manner, I hope Microsoft pushes hard with Windows Phone; not because I own one, but because I want the whole industry to move forward faster.

ComputerGuru 7 hours ago 3 replies      
Guys, the sections change to display the actual features when you hover over them with the mouse.

I literally spent the better part of 5 minutes reading the text and comparing Chrome, IE, and Firefox to search for the kerning changes and fractions support, because I just couldn't see it.. Until I accidentally hovered over the sections and the content changed to match.

sc00ter 7 hours ago 1 reply      
"If you want the real deal, get a browser that supports OpenType like Internet Explorer 10+ or Firefox 8+."

Downloads IE10... "Windows Internet Explorer Platform Preview is only supported on Windows 8 Developer Preview." Oops!

PS. Microsoft: This -> / isn't a backslash, this -> \ is. (A common mistake, but not one I'd expect in article on Typography.)

nitrogen 7 hours ago 2 replies      
Fractions created with the backslash character can be clunky and confusing. With the Fraction property turned on, backslash-based fractions can be automatically transformed into true fractions.

If an article about typography doesn't even know the difference between a slash and a backslash, how are we ever to get people to stop saying backslash when talking about URLs?


spiralganglion 8 hours ago 1 reply      
"Once-inaccessible design features such as small caps, swashes and fractions are now access through CSS"

On a website drawing attention to type, one should be extra attentive to the content of their writing.

It'd be just like grossly aliased images on Adobe's Photoshop site, or a pile of computer parts around the genius bar.

wlievens 7 hours ago 2 replies      
I was reading this, thinking really nice, adhering to such meticuluous styling.

Then I saw this was microsoft. My mouth literally[1] fell open.

[1] I know what that word means

ned 5 hours ago 1 reply      
So it seems like we now have two way of specifying small caps:

  font-feature-settings: "smcp=1”;


  font-variant: small-caps;

The later is the CSS 2.1 syntax, and will force the browser to create small caps on its own if the chosen font doesn't contain small caps glyphs.

The Open Type version is probably better, since it falls back to lower case glyphs if the browser doesn't support them, instead of an emulated version that probably won't be very legible.

hm2k 7 hours ago 3 replies      
TIL Google Chrome doesn't support OpenType.
duhoang 8 hours ago 0 replies      
This is rad, but Microsoft handling of fonts in their browser is so terrible in the past that I hesitant to jump on this bandwagon.

They got a long way to go to convince designers to take them seriously.

micheljansen 8 hours ago 2 replies      
Does anyone understand why ligatures do not appear to work on Webkit? From what I understand, setting "text-rendering: optimizeLegibility" should enable ligatures on Webkit [1], but I cannot see them on Chrome and Safari where I do see them on Firefox.

[1] https://developer.mozilla.org/en/CSS/text-rendering

rabidsnail 7 hours ago 3 replies      
While we're on the subject of @font-face, _please_ only use it as a replacement for images. I'm tired of waiting 30 seconds for any text to show up on the screen because my computer's busy loading a font file. The web is not a magazine stand. Don't treat it like one.
Samuel_Michon 3 hours ago 1 reply      
They use all-caps Verdana in their headlines, how am I supposed to take their views on web typography seriously?
ChuckMcM 8 hours ago 2 replies      
Does anyone know the definitive patent status of OpenType?
funkah 8 hours ago 3 replies      
I really, really dislike that style of numerals. It just looks like they're bouncing all around the baseline. Please don't use that, designers. Different != good.
smackfu 7 hours ago 1 reply      
At headline size, some of those ligatures look terrible.
shuzchen 6 hours ago 0 replies      
This is pretty cool. My wish-list of typographic features were kerning and alternate glyphs, both of which are on this list. However, I'm still hoping for the day when we get a real baseline grid.
pothibo 6 hours ago 0 replies      
Very cool stuff.

However, it would have been cool if they included font-stretching so you can manipulate glyphs.

tle9 4 hours ago 0 replies      
This is beautiful. Web 2.0 getting another design remake. This time with the content we use most, text.
mark-r 9 hours ago 2 replies      
Ironically the site features don't work in IE8.
alpb 7 hours ago 0 replies      
I opened my Firefox after a few months and upgraded it to 9.x just to see what Microsoft have achieved. Great work indeed but I'm not sure it is worth changing and messing the CSS standards. Some of them were already achieveble by doing a few tricks like using different fonts IMO.
bh42222 7 hours ago 1 reply      
Will Microsoft truly favor OpenType over ClearType: http://en.wikipedia.org/wiki/ClearType
justinph 8 hours ago 0 replies      
It's almost too bad microsoft squandered any credibility they had on web standards years ago.
sp332 8 hours ago 0 replies      
They use prefixes for experimental features. It's not part of an official spec yet, so each browser is implementing different features with different syntax. Eventually, when they agree on a feature set and syntax, they will move it into the common namespace by dropping the prefixes.

Also, please use normal English.

Why Don't Smartphones Have A “Guest Mode”? techcrunch.com
240 points by jnuss  5 days ago   202 comments top 39
jerrya 5 days ago  replies      
Somewhat related: I've long wondered why ATM cards don't have something similar.

1234 is my regular PIN.
1235 is my help I'm being robbed PIN -- it dispenses the cash, calls the cops, and tags the video.

ConstantineXVI 5 days ago 6 replies      
I'm more bewildered to why no tablets seem to have multi-user functionality. In my experience, tablets get shared far more often than phones.
rkon 5 days ago 1 reply      
Better yet, why hasn't anyone created an app that just simulates a guest mode? A launcher with two sets of home screens would be perfect. Or, you just disable your preferred launcher when handing your phone to a friend, revealing the mostly barren stock screens. It's as simple as hiding icons, since the apps might as well not exist if the icons aren't there (access doesn't actually need to be explicitly forbidden, per se).

Maybe I'm missing something important here, but it seems many apps on the Android market are just a few tweaks away from doing this already?

there 5 days ago 0 replies      
there are at least a few big companies already doing virtualization with android to separate business and personal modes so that corporate email and other apps can be quarantined off with a secure password, leaving personal email and games to run in a separate environment that may not require as much security to unlock.

presumably the same technology could be used to provide "normal" and guest environments.


wh-uws 5 days ago 1 reply      
These guys are kind of working in this:

Their approach is targeted at kids though, I'd love to see someone tackle the general purpose approach.

Sounds like a great project for someone with a lot of free time. I rememeber hearing that the guy who came up with what is currently the ios notification style was hired by Apple after his jailbroken hack.

The void is wide open for someone to solve this well and be rewarded for it

forrestthewoods 5 days ago 4 replies      
"Why Don't Smartphones Have A Guest Mode?"

Because dealing with multiple profiles and/or different profile types is a fucking huge giant pain the ass and a monumental amount of work! Xbox has local, guest, live silver, and live gold accounts. Dealing with all the different profiles and switching between is a nightmare. Urgh, no thanks.

tomkarlo 5 days ago 4 replies      
This is also why any app that handles sensitive information (including, arguably, the photo and video galleries) on a phone should have at least the _option_ to set an in-app PIN that's required before it opens up.

Lots of folks hand their smartphone to their kids to play games and even if there's nothing sensitive on there, they might have things they don't want deleted like treasured photos and videos.

baddox 5 days ago 1 reply      
The "two PINs" idea would also be great for when a police officer pulls you over and asks you to hand over and unlock your phone. With the proper encryption you could even have plausible deniability.
zacharyvoase 5 days ago 1 reply      
As far as I'm concerned the only 'Guest Mode' I need on my phone is the emergency call screen. I'm totally willing to be the 'weirdo' who won't let someone use his phone.
tzury 4 days ago 1 reply      
Ironically, Arrington still "writes" for Techcrunch


sandGorgon 5 days ago 0 replies      
HTC Sense has something called modes - which allow you to put your phone in profiles that switch data off, or the keyboard off, etc.
They recently acquired Inquisitive Minds for a "kids mode" (http://www.androidguys.com/2011/10/18/htc-acquires-inquisiti...) which is pretty much guest mode.
beagle3 4 days ago 0 replies      
Web browsers have been around since 92, first usable guest mode [1] on a web browser appeared 2005 or so. Give the phones a little more time, and it will get there too.

[1] mozilla had multiple profile support since forever, but it required you to restart the browser with a command line argument, or requires you to pick a profile every time, and even then it's not "guest" profile -- it's another profile with history and all. When I needed multiple profiles, it was always easier to set up another user on Linux. [On windows, at least in the 2000 days, the new browser would defer to the old one that was already on screen even if they were RunAs different users -- a different "desktop session" was required for separation. bleh]

badclient 4 days ago 0 replies      
Yes, yes from a guy who has to nervously hope that as his Dad looks up something on his phone while having family dinner, he doesn't end up in my SMS or Photos app. It'd ruin the dinner. And some.
conradev 4 days ago 1 reply      
I was going to write a tweak for iOS to do something like this, with behavior similar to that of the built in Camera shortcut from the lockscreen.

1. You are using an app

2. You activate 'Guest mode' using a button press, swipe, tap, etc. (configurable)

3. If the user hits the home button, it redirects to the lockscreen instead of the homescreen (much like the Camera application does in lock-mode)

4. Instead of the camera icon on the lockscreen when you double tap, it is the icon of the locked-in application. (You can tap it to resume use of the locked-in application)

5. To disable this guest mode, you simply unlock the device with your passcode.

So, when a friend asks "Hey can I check my email?", you can open Safari, enable this guest mode, and hand the phone to him, no worries.

What do you think?

Zarathust 5 days ago 0 replies      
The reason I don't log on someone else's phone is not because they don't want me to, is because I don't want to! Just the same reason why I usually don't log in on an untrusted computer.

Maybe just for browsing the internet it would be allright, but I won't hand over my passwords. Isn't there any keylogger yet for android/ios? You don't even need to go by the store/marketplace, just local, developper stuff and there you go. Do you want to log on my machine?

jiggy2011 4 days ago 2 replies      
Smartphones seem to have mostly sacrificed some of their security for convenience.

Take Windows for example, sure you can setup multiple user accounts with different levels of privilege , access to website and apps etc but how many people outside of a corporate or academic setting actually use this?

Whenever I borrow someones laptop they just use their own login, sometimes I find porn in their Internet history but at the end of the day who cares?

Perhaps this is more of a problem for people with kids who might want to use the internet themselves but when their child uses it they don't want them to have access to certain sites or see that their parent has accessed certain sites.

One issue I have with android is that when I clear the history in the browser and delete all cookie etc etc.

If I hit the back button it still goes back to whatever I visited last , also if I goto google and tap the search bar all my previous searches come up. It's not really very privacy friendly.

Hopefully this problem will pass once everyone has a smartphone so they don't need to borrow someone elses.

rocketsfan 5 days ago 1 reply      
I'd benefit from a "Driving Mode" on my phone. If John, Rachel, or Stan calls, auto-text them: "I'm driving, can't talk". Everyone else goes straight to voicemail. If they send me a text within 5 minutes of that call (must be serious), make the font huge so I can read it in .5 seconds on my console. Hide all other texts.

I'd like to be truly responsible and just turn my phone off, but I don't to allow for those few times when there actually is something important.

nextparadigms 5 days ago 0 replies      
The guest mode is a great idea. But for now, if you have very private stuff on your Android phone, you can lock down on an app-per-app basis. This could be a little inconvenient, though, and either you always keep them password protected, or you have to remember to protect them before you give the phone to someone.
buster 4 days ago 0 replies      
Users can, when choosing the right ROM.. hooray for choice!

Guest mode: enable the “Guest Mode” toggle in the panel, and your calls and text messages logs will be hidden, and all installed applications cannot be removed. You may have a try when you need to show your phone to guests or children.


nl 4 days ago 0 replies      
VMWare has virtualization working on Android, which supports this in a heavy-weight kind of way. See http://www.engadget.com/2011/02/15/vmware-android-handset-vi... and http://arstechnica.com/business/news/2011/09/samsung-boosts-...

The use-case for it usually suggested is one VM for work, one for personal use, but it could be used for this scenario too.

fierarul 4 days ago 0 replies      

Which has revealed a feature that the Tab needs: a button in Gmail called “in strange hands”. The device is profoundly shareable, but mine has my Google email, full of threads that are distinctly not for public eyes. So I need to switch to disable that while letting people look at interesting web sites or play games or check stock prices or whatever.
End Quote

jwallaceparker 5 days ago 1 reply      
Interesting idea, but I don't see many use cases.

Are people really handing their phones out that often?

I only hand my phone to someone else when:

* I've asked them to take a photo of me.

* They're riding shotgun in my car and need to call a contact or navigate with info readily available on my phone.

Neither situation is risk for people snooping around.

pinaceae 4 days ago 0 replies      
...and this is why developers should never be in charge of usability/design.

simplification enhances usability. the vast majority of smartphone and tablet users are happy that all that complicated IT/nerd stuff went away on their devices.

the complications you would introduce by user switching are big. you need to add UI elements to tell the user at all times in which mode they are, you need new dialogs to switch, etc etc. the android status bar already looks like a badly maintained win xp install with all that crap in it.

built by developers for developers. brrr.

unabridged 5 days ago 0 replies      
i love that almost everything in this thread would be added shortly if we had control of our phones. why isnt there a bigger open hardware phone movement? how about a new GPLv4? GPLed software can only be shipped on GPLed hardware. it can be installed later but the user gets to see an ad explaining what they cannot do with their phone, and possibly alternate carriers that support open hardware.
sherwin 4 days ago 0 replies      
This is something I've wondered quite a bit also.
ChromeOS already has this feature -- it's the idea of the device simply acting as a terminal, with all user data stored in the cloud.

Also, I'm a bit afraid implementing full-featured multiple user sessions (similar to a desktop OS) would lead to a lot more bloat.

hsshah 4 days ago 0 replies      
Seems like Apple is planning to implement multi-user mode in iOS with face recognition based login ie a user just enter his PIN, however, the camera detects which account to load.
(IMHO, more secure than the current Android implementation)
Article talking about related patent:

I would imagine at that time, they might support Guest logins.

EDIT: the implementation detail of Face recognition talked above is my own take on how it should be done. Not suggested by the referenced article.

gulbrandr 4 days ago 0 replies      
On Android there is an app called "Hide it Pro" [1] (aka Audio Manager) that allows you to hide pictures and videos. The app disguises itself as an audio manager in the app drawer. To access the hidden files you have to type a PIN code. There is also an escape PIN if you get caught hiding files. Clever idea.

[1] https://market.android.com/details?id=com.smartanuj.hideitpr...

Too 3 days ago 0 replies      
Why don't computers have a "party mode"? (locking everything but youtube and spotify).
bockris 5 days ago 0 replies      
And this is why me and my family get way more use out of a Chromebook rather than our Android tablet.

Please make Android grow multi-user capabilities or give me ChromeOS in a tablet format.

dutchbrit 4 days ago 0 replies      
I've been thinking about this a lot recently. Guest account too, but mainly other user accounts. Not for phones but for tablets, these tend to get shared more - there's a way to have multiple user accounts on iPad but this requires jailbreaking, something I'm not too fond of. It'd be nice that each family member can use their own instances of mail and safari etc...
Gustomaximus 4 days ago 0 replies      
I would take this one step further and have smartphones/tablets with cloud based "login" for your accounts, apps, preferences etc. While you would probably only use it a few times a year it would be great when getting a new phone, swapping phones with friends to try them out or to borrow a phone if you are out of juice.
BadassFractal 5 days ago 0 replies      
Probably for the same reason a lot of other good features don't get implemented: there are higher more impactful features to be implemented first, a bigger bang for the company's buck.
Helianthus 5 days ago 2 replies      
Hell, I want a guest mode on my computer. Instead I need to just have netbooks available for when company wants to check their email.
AndrewWarner 4 days ago 2 replies      
My Mac has a guest mode, but I never use it. Do you?
industrialwaste 5 days ago 0 replies      
The MIUI rom for Android sort of does this. It has a privacy mode which hides calls and text messages and locks down the homescreen.
ravivyas 4 days ago 0 replies      
The idea sounds awesome... but how many on us even have the guest account enabled on our laptops?
aen1 4 days ago 0 replies      
For the guy with friends that he doesn't trust. Actually, for the guy who thinks he has friends.
gcb 5 days ago 2 replies      
a phone in guest mode would be totally useless.

case 1: no apps. guest has to install apps. will guest have a itunes/android market account? does he enter his Credit card to buy paid ones he want to use?

case 2: apps with no data from real user. He opens up foursquare/yelp to look for a restaurant... has to create profile

benvanderbeek 5 days ago 5 replies      
Privacy is important. But why not just avoid keeping weird stuff on your phone? Keep it somewhere else. Or say, "hold on let me log out of my bank app" or something.
California State Senator Proposes Funding Open-Source Textbooks slashdot.org
231 points by llambda  4 days ago   49 comments top 12
breckinloggins 4 days ago 6 replies      
I think the whole CONCEPT of a "textbook" needs to change:

1. It should be open-source or available on your nearest "App Store" for a REASONABLE price

2. It should be interactive. If I have a history textbook describing a battle, I want to be able to watch the battle unfold (even if it's just a diagram). If I am reading a chemistry textbook, let me play with the molecule. When I need to learn about the D3 group in Abstract Algebra, show me a triangle rotating and flipping as the group operations fade in and then drop to the bottom in a chain illustrating a composition. Let me swipe over to the Cayley table and touch a composition cell and watch the triangle dance. Whatever.

3. Textbooks should share a common ontology that can be extended for each book. But if I have two textbooks on my device and each has registered its ontology, I should then be able to cross reference concepts from one book to the other, or to appropriate entries in Wikipedia, for example.

4. All Chapters, headings, subheadings, and definitions should link to global, school, and class-level discussion forums about the topic where everyone can ask questions and have good answers upvoted in a stackexchange-like manner. These discussion nodes should be linked to the ontology, rather than the brand of book. That way ANY textbook with a section on "Limit Points in Rn" or "The Three Branches of US Government" would link to the same discussion node.

5. When appropriate, texts should be constantly updated, classes should always use the "latest stable version", and that update should be free after initial purchase (like an App).

heydenberk 4 days ago 1 reply      
In some Philadelphia schools, students share textbooks -- 2, 3, or even 4 kids to a book -- and homework can't be assigned out of the book because there aren't enough books for kids to take home -- god forbid they lose another! It creates a lot of extra work for teachers, who have to make extra photocopies of readings and assignments. And it kills me, because it's an artificial scarcity. Instead of $5 to $10 per book, the cost of its materials and manufacturing, schools pay upwards of $100 a book, because of the enormous premiums paid to the content creators and publishers. For the cash-strapped Philadelphia schools that is an excessive burden. You can replace "Philadelphia" here with another rust belt city or even, say, a city in California or Nevada, but the story remains the same. And it kills me even more, because there are academics, experts and writers the world over who'd love nothing more than to freely provide high-quality educational content to students. There is no better evidence of this than the hard work done by Wikipedians, but there is plenty evidence besides. Sorry for the rant, but I think it's important to recognize what an utterly simple and necessary step the open-sourcing of textbooks and curriculum is. Good for State Senator Steinberg, and although I'm sorry it's just for colleges and that the K-12 initiative failed, I hope that this program passes, it is successful, and its success forces districts all over the country -- cash-strapped or otherwise -- to consider open-source textbooks. They'll switch because they're cheaper and stay because they're better.
jonhohle 4 days ago 2 replies      
This seems so obvious that it's painful to think that it hasn't already been done.

It would be awesome to see a non-profit started which provided a repository for textbook content, a platform for mixing and matching content to meet the curriculum of a particular district, and a toolchain to produce digital copies of the books in the format used by the district - all open source and released under broadly permissive licenses.

If even a handful of school districts funded a project like this instead of purchasing moore textbooks, I would imagine this could be sustainable.

ivan_ah 4 days ago 0 replies      
I missed the "Funding" details....
How will the textbook writers get paid?

One-up contract? Write me a book for $100k (one year's worth of work) and keep it updated every year for $20k with typo fixes and new exercises?

This would create the right incentives, since 100k is probably more than any textbook publisher will give you -- even if you make it big, and your book is used in many universities.

gringomorcego 4 days ago 2 replies      
The state of textbooks is so fucking sad. I still don't get how Bill Gates or another richy-rich hasn't realized how fucking great it would be to pay 100k to an awesome professor for writing a textbook and publishing it under a CC license. If you did that with all subjects, and paid for translations, and made it all digital, it would cost next to nothing in the large scheme and be more beneficial to humanity than the cure to polio or malaria or heck even cancer. It would have an exponentially awesome effect.

Accelerating the rate at which humanity is educated is fundamentally more important than anything going on today, and it's always pushed back because the generation that's currently being educated doesn't have a fucking say in the matter.

Someone should take some of their money out of their hedge fund and drop it on this shit pronto.

nyellin 4 days ago 0 replies      
Israeli universities don't usually use textbooks, partly because Israelis go to university after their mandatory army service. Some students are already married with kids and can't afford to buy textbooks. Every course has an official textbook, which the school has copies of.

The system works because (at least at my university) all lectures and recitations videos are available online. Good luck doing that in K-12.

maratd 4 days ago 1 reply      
New Jersey resident proposes California State Senator stay out of education and focus on reducing his state's budget deficit.

Open-Source Textbooks ARE a good idea. However, just like Wikipedia didn't need the government to get started ... this gem doesn't require the government either. It'll happen once eBooks become more prevalent and there is nothing the government should do to help or stop it from happening.

lukejduncan 4 days ago 2 replies      
Wait, What? Anyone know what this might mean?

FTA: "In some ways these guys are looking outdated. File-sharing as a means to pirate content is becoming yesterday's technology,"

sschronk 4 days ago 1 reply      
I started working on a Computer Science textbook about a year ago.

I found out that people were not interested in using it.

This is what I had made so far:


Interestingly enough, I posted this info on Slashdot and it was removed almost right away.

dreamdu5t 3 days ago 1 reply      
The solution is stop enforcing this dogma of requiring a specific book for subjects which clearly do not require the latest annual edition of a specific textbook. Teachers would instead recommend books they feel are good to use to pass their course. Without the exclusive book contracts, publishers couldn't easily and blatantly maintain a cartel on textbooks.

The basic economics of why school textbooks are so expensive is dead simple: The teachers and the schools grant publishers a cartel by forcing kids to purchase their specific new editions every year. Why anybody is suprised that prices are so high is beyond me.

j45 3 days ago 0 replies      
Standardized textbooks for standardized curriculum. What a novel idea. :)
justindocanto 3 days ago 0 replies      
Wouldn't this essentially just be WikiPedia? Granted, text Books have more of a narrative.
App Engine charges $6,500 to update a ListProperty on 14.1 million entities google.com
218 points by branola  4 days ago   141 comments top 13
dangrossman 4 days ago  replies      
> it cost me a few thousand dollars to delete my millions enities from the datastore after a migration job (ikai never replied my post though...) and im still paying since the deletion is not completed yet (spending 100-300$ a day for the past 2 weeks now!!).

I don't know much about GAE, but a datastore-as-a-service that takes 2 weeks to delete your data and charges $300 a day to do so just seems... absurd.

stickfigure 4 days ago 1 reply      
The details have finally been posted in that thread. And while $6500 is a lot of money, we have to realize that this is a lot of writing - the headline doesn't give the full sense of it.

For those unfamiliar with GAE, a ListProperty is really a collection of properties. The author is using the property as a geohash with a significant number of values, plus he has additional multiproperty indexes defined, plus he's doing a rewrite (delete + write). All combined it appears to be ~460 writes per entity.

So what we're talking about is $6500 for 6.5 billion writes... exactly what is printed on the sales brochure. Is that a lot? Most datastores don't charge by the operation so I don't have a lot to compare it to. It seems expensive but not crazy, especially considering that the data is replicated via PAXOS to 3+ datacenters with automatic loadbalancing and failover.

ajross 4 days ago 6 replies      
Reading the thread (I'm curious about GAE, not an expert), it seems like the details aren't clear at all. Neither the original poster nor the Google rep seem to have a clear idea of what I/O operations are being generated.

But this bit stood out: $0.10 per 100k writes. That price seems to be far too high. The poster is doing (something like) a reindex of 10M entries (that kind of data is pretty small really: it's the kind of database you might use as a test set on your laptop interactively). Figure each modification is atomic, and that the b-tree height of the storage is ~4. So that's 40M writes to create an index, or $400!

Seriously? Again, this is the kind of task you'd expect to do quickly and interactively on your development box, and it costs a price of the same order as your day's salary (!) to execute in the cloud?

Looking at this from the perspective of the underlying I/O device: this index consumes just a tiny, tiny fraction of a hard disk drive's capacity. Yet creating it costs enough to buy the device several times over?

Something is wrong. Is that a misquote or have I misunderstood?

latchkey 4 days ago 4 replies      
A lot of these AppEngine costs too much notices have been coming up recently, but upon further inspection, they all tend to boil down to operator error.

Unfortunately, AppEngine isn't forgiving of that and there is a real monetary value associated with questionable engineering design. Or, design that wasn't thought through enough in the context of a service like AppEngine.

This leads to a few people getting upset and making a lot of noise when the reality is that AppEngine is actually an amazing service.

So, to boil down the operator error from a quote in the thread:

"We're running a mapreduce to change the geobox sizes/precision for a large number of entities."

That is the real source of the problem. Instead of using geoboxes, they should be using geohashes, which allow arbitrary precision.


Instead of an indexed property that looks like this (what they currently have):

[u'37.3411|-121.8940|37.3395|-121.8926', u'37.3411|-121.8929|37.3395|-121.8916', ...]

They would have an indexed List<String> property that looks like this:

[8, 8f, 8f1, 8f12, 8f12a, 8f12ac, 8f12ac6, 8f12ac60, 8f12ac605, 8f12ac605f, 8f12ac605fb, 8f12ac605fb3, 8f12ac605fb34]

Finding if the location is in a box would be computing the hash from the lat/lng (there is free code out there to do that) and then doing an indexed 'in' query. The indexes would only need to be updated if the location of the entity changes, not when they want varying levels of precision.

endlessvoid94 4 days ago 5 replies      
GAE has become completely infeasible as a hosting solution for me (ThatHigh.com). My hosting cost increased by 90x, and I did not get nearly enough notice.

I don't have the time or resources to move the site, so I'm forced to shut it down. It really, really sucks.

Personally I'm more disappointed by the lack of notice (1 month is nowhere near enough time) than the actual increase. I totally understand the need to charge.

tuhin 4 days ago 0 replies      
For those questioning the use of Google App engine as a serious platform for applications, we at Pulse use Google App Engine: http://googleappengine.blogspot.com/2011/11/scaling-with-kin...

So, yes you can build serious applications on GAE but like everything else it boils down to, it depends on what you really need.

6ren 4 days ago 0 replies      
I like the spot price idea (in the comments
http://groups.google.com/group/google-appengine/msg/fe9a05c6...). It's similar to adwords' automatic auction for how close to the top your ad is, with the same benefits of getting the best market price (for buyers and sellers) of a limited resource. If no one else is using it, it could become close to free.

It also casts the other users as the opponent, instead of google.

dextorious 4 days ago 0 replies      
With Amazon AWS you can handle the scaling yourself, when you need it, with components tailored to your use cases, and better latency.

And with Heroku you can have it taken care for you, following a few simple rules.

So, why exactly would one use the crippled GAE platform, that constantly breaks its promises (re: reliability),
forces you to code with very little flexibility (and, no, not every app that needs to automatically and massively scale "has to be coded exactly like a GAE app anyway"), costs a fortune (and sometimes an unexpected fortune), and breaks for you as soon as you need a technology not on offer?

j45 4 days ago 2 replies      
I wonder what a managed or dedicated server would cost to perform the same calculations.

Sometime's it's still cheaper to have your own managed / self-managed gear... and from the looks of this pricing, even hire someone fulltime/freelancing to manage it all for you.

tszming 4 days ago 1 reply      
Besides the cost, if your startup can survive without SSL support on your own domain, go for App Engine.



People requested custom SSL support at 2008, and today is 2012, if you still believe in App Engine, good luck!

seanp2k2 4 days ago 1 reply      
Google has a great platform here with lots of potential if they opened it up more, but they're pricing themselves into a corner for this already-niche service.

Sadly, this is kind of "typical Google" -- great product, decent execution, but a bad identity problem -- it really feels like they're not sure yet what they want to do with this.

IgorPartola 4 days ago 2 replies      
GAE is a mistake. By that I mean that it's got a big design flaw that's bound to cost Google money, which means it'll always be expensive than alternatives. Consider shared PHP hosting: a request comes in, apache finds which PHP file is responsible for it, then directs the request to the PHP interpreter. The PHP interpreter will parse the file (or more likely load the parsed bytecode from a cache) and return a response, which apache will then forward to the user agent. Notice that aside from the cache the PHP interpreter is stateless. As soon as it is done serving a request from site foo.com it can immediately jump on a request from bar.com and the context switch doesn't cost anything (once again disregarding finite cache size issues).

Contrast this with running a stand-alone application server for each site, which is what GAE does. Here, even if your code is not serving any requests it's still waiting to get them. Now, GAE has powerful magic in it to retire request handlers which aren't frequently used. This way if site foo.com is getting 1 request/minute, it only really needs one process/thread/hander abstraction at a time. However, it is expensive to start/stop these "processes", so instead GAE is forced to keep this "process" around for a while after a request has been served hoping that the cost of keeping it alive would be justified by a second request. Thus these stateful, slow-to-start processes are always taking up resources that could be used to serve other requests.

Disclaimer: all my knowledge of GAE has been from reading their docs/blog, not from deploying projects to it.

Disclaimer 2: I am not saying that PHP is better/worse than GAE in any way. However, I am saying that the model that GAE uses is more costly for a typical application. This can be easily seen by comparing the cost of running a basic site on GAE vs $2/month shared hosting.

salimmadjd 4 days ago 2 replies      
They jacked up our price by 5X, here is a nice graph of it: https://plus.google.com/114790424055754975707/posts/eUMhYDVf...
How Yoga Can Wreck Your Body nytimes.com
213 points by georgecmu  3 days ago   118 comments top 34
kamaal 3 days ago  replies      
Ok, firstly. I am an Indian.

What is wrong with Yoga? Answer : Wrong question!

The right question is, What is wrong with our understand of Yoga?

As per most people and if you ask them, they would reply Yoga means twisting, bending and turning your body in crazy ways to heal/medicinal use. Nothing would be further from the truth. Unfortunately things have come down to a level where people only give ritualistic definition of Yoga! Yoga also has many branches.

To understand Yoga in its essence I would advice you to read Swami Vivekananda's complete works.

I practice Yoga. Yoga is not a 2 hour exercise session. Yoga is a way of life. I practice Yoga, Its a branch of Yoga called Karma Yoga! So what does Karma Yoga mean? Its exemplified from a verse in Gita:

You have power to your actions only, not its outcome. Act therefore forth right without succumbing to inaction

This is to dedicate yourself towards a goal, consciously iterating and eliminating your faults in moments of self reflection improvising and not giving up until you reach your goal.

This is easier said than done! The key here is self reflection. I felt that David Allen's Getting things done took me to a better enabler to following Karma Yoga! I started following these techniques since last February.

I started taking one day a time, trying to most productive in a day. Eliminating distraction. And working towards a larger goal. The results have been astounding to me.

Karma Yoga! for westerners can be explain by a poem by Rudyard Kipling - http://en.wikipedia.org/wiki/If%E2%80%94


If you can keep your head when all about you
Are losing theirs and blaming it on you;
If you can trust yourself when all men doubt you,
But make allowance for their doubting too:
If you can wait and not be tired by waiting,
Or being lied about, don't deal in lies,
Or being hated don't give way to hating,
And yet don't look too good, nor talk too wise;

If you can dream"and not make dreams your master;
If you can think"and not make thoughts your aim,
If you can meet with Triumph and Disaster
And treat those two impostors just the same:
If you can bear to hear the truth you've spoken
Twisted by knaves to make a trap for fools,
Or watch the things you gave your life to, broken,
And stoop and build 'em up with worn-out tools;

If you can make one heap of all your winnings
And risk it on one turn of pitch-and-toss,
And lose, and start again at your beginnings
And never breathe a word about your loss:
If you can force your heart and nerve and sinew
To serve your turn long after they are gone,
And so hold on when there is nothing in you
Except the Will which says to them: ‘Hold on!'

If you can talk with crowds and keep your virtue,
Or walk with Kings"nor lose the common touch,
If neither foes nor loving friends can hurt you,
If all men count with you, but none too much:
If you can fill the unforgiving minute
With sixty seconds' worth of distance run,
Yours is the Earth and everything that's in it,
And"which is more"you'll be a Man, my son!


There are also other forms of Yoga! My mother practices Pranayama. Which is basically meditation and breathing practices.

You also need a good teacher. Who knows Yoga! Else you will end up making mistakes which can be dangerous.

Yoga is a way of life. Stop thinking it in terms of gym sessions.

Ultimate aim of Yoga is to make you bring you to a state of self actualization. Like what Buddha was! And healthy body plays a important role in that. So Yoga helps you build that too. But people tend to understand Yoga only as some form of medical exercises.

danso 3 days ago 3 replies      
It's "no-duh" that yoga can hurt you. But what makes the exercise particularly dangerous is that people go into it because it is seen as a recuperative, healing exercise. And the nature of it makes it easy to get into and possibly go too far.

Compare it to swimming, which is also seen as a recuperative exercise. But in swimming, it is very difficult to accidentally over-exert yourself...you'll get too tired. So the danger of someone who is completely out of shape going too far is minimal. However, in yoga, it is very easy to go too far because just entering or holding (what seemed easy to get into) the poses may overstrain a muscle or joint.

And let's not discount the mindset of many yoga practitioners, novice and expert. Swimming may be a healing sport, but it has the connotation of being a sport. Yoga is seen as not just a physical activity, but as a way to connect spiritually, be at inner peace, and not worry about competition (even if it implicitly happens, as demonstrated in the article). So there is additional danger is in the naive mindset of yoga practitioners...comparatively few people go into long-distance running with the belief that it won't have impact on their knees or back.

* Another way to look at it...speaking from personal experience...there is a high correlation between people who are really into yoga and people who are really into doing periodical "cleanses"...that is, diets in which they spend $200 (no exaggeration) for three days of juice-only servings. This may also be a peculiarity of living in Manhattan...yet I know of other athletes in the city who would never consider doing a juice-diet, or who believe in the "science" of cleanses.

The point is is that yoga attracts people who want a less rigorous way of being healthy, and these people may not realize that yoga can be as damaging as standard weightlifting.

stiff 3 days ago 1 reply      
Most of the problems described have more to do with human nature then with yoga in particular. If you are 100 pounds overweight and live a sedentary lifestyle, then one day try to run a marathon just like that, there are high chances you will get injured. This is a bit of a hyperbole, but for many people going into sports is exactly this way, after years of inactivity there is some sudden abrupt strike of enthusiasm (e. g. a new years resolution), which leads people to apply too much intensity to a body that isn't prepared for it, ultimately ending with an injury. I have seen plenty of examples of this just among friends and relatives.

I haven't been in a yoga class and I am not a practitioner, but as far as I know from secondary sources the kind of instruction one will receive in yoga is in fact much wiser in this respect then in almost any other sport. Most of books written about yoga I have seen are full of precautions about not rushing things on yourself, starting with the simplest positions, going into the positions very slowly, getting out of the position as soon as you experience the slightest discomfort, warnings about not doing the inverted positions without consulting a doctor and so on. I don't think the article does justice to this. The example with the men kneeling each day for hours is especially absurd and I fail to see what it has to do with yoga.

Of course I don't doubt some of the more unnatural positions might really be doing more harm then good to the body even for experienced practicioners, the set of yoga positions as far I understand was invented very long ago and there is no reason it shouldn't be revised using modern knowledge of anatomy etc. I just don't believe most people would experience any of the problems described in the article if they actually followed the teachings, especially beginners just looking to improve their health, who are advised to use really simple positions and are in fact unable to perform the advanced ones according to the principles outlined above.

saalweachter 3 days ago 3 replies      
"The naturalistic fallacy", sometimes with a dash of "argument from antiquity".

I think Yoga is more subject to this than some other forms of exercise, except maybe running. When you're wobbling around on top of a bicycle or have strapped yourself to a plank of wood on a mountain side, I hope something in your head tells you you're doing something unnatural. But a lot of people tend to take the line of argument that exercise is NATURAL is GOOD is SHUT UP.

Just because something is passed down through the ages or "natural" to humans doesn't make it _good_. It just makes it _old_. Something being practiced for hundreds or thousands (or in the case of running, hundreds of thousands) of years may give something a baseline plausibility that makes it worth investigating, but it itself is not scientific evidence.

Many people have run regularly over the years and most of them didn't instantly burst into flames, but that doesn't mean we shouldn't be conducting long-term studies of the health benefits and risks of running at various intensities. Just because yoga is considered "ancient wisdom" doesn't mean we shouldn't test it rigorously and without preconceived notions of its efficacy or inefficacy.

Science is the only way to distinguish ancient wisdom from ancient hogwash; anecdotes and arguments only confirm pre-existing biases.

suprgeek 3 days ago 0 replies      
"How cycling can wreak your body" or "how exercise can wreak your body" may not have the same catchiness to it but it is perfectly plausible headline.

Yoga needs to be done under expert supervision just like almost any activity that puts your body thru a range of motions not encountered in daily life.

Having personally experienced both Indian and American Yoga lessons - there is a fascinating aspect that comes up.
In the US almost always the discussions devolved into "I can master X pose for Y minutes without breaking a sweat" type ego stroking - exactly like "I can do 20 reps at 100 Pounds" boasting in a Gym. the whole mindset was Yoga was something that you had to master to beat in some sense.

In India (personal anecdote) the yoga teacher always emphasized "FLOW" - how smoothly can you transition between a set of fairly simple poses with maximum awareness. It almost felt like a totally different thing compared to the US style.

itmag 3 days ago 2 replies      
In the weight training community, yoga is seen as problematic because it involves a lot of spinal flexion (ie bending the spine forward). This is seen as a general no-no (which is why sit-ups are generally viewed as bad as well today).

Stuart McGill is often quoted in these matters, as he has done extensive studies on the mechanics of the spine.





noonespecial 3 days ago 0 replies      
Yoga can be harmful, but not as harmful as sitting on your couch all day, but not as harmful as sitting on your couch all day and then thinking an hour of magic postures will fix it.
tripzilch 2 days ago 0 replies      
I think this is mainly a USA thing. I've practiced Yoga for years in the Netherlands, and if anything, it is about not straining yourself, or if you do stretch something, to only stretch it when you can be completely feeling and aware of the thing you're stretching. You need that awareness first and foremost, and then the posture.

It's incredibly hard, nearly impossible, to feel and be aware in a body part when it's in pain from overstretching or tension. Consciousness doesn't like to go there, as long as the nerves are occupied with sending pain signals, they're not doing much feeling. If you ignore or block the pain you're not being aware, but if you do, the pain is "louder" than anything else, so you're still not getting much.

It's stupid and useless. The goal should be the awareness, so you're much better off doing simple postures, or simplified versions of complex postures, or just see how far you can go while still being comfortable and aware.

If you practice it this way, you'll know when you're going too far, because your awareness will fade (you'll often just realize it in hindsight, though, in the moment, you're not aware that you're not aware, just like Dunning-Kruger) and if you don't, that's what the teacher is for. S/he will pay attention to the students and notice when they're more involved with doing a posture than with paying attention to what all there is to feel inside their bodies.

I just can't get my head around this, to get all the benefits of Yoga, you can just stick to the simplest postures and do them a lot (unless you're injured in which case you do them even simpler, the Sawasana is just lying down flat on your back, so there's always that one). If you try postures that are too complicated or straining for your body-flexibility, you'll get nothing! Except injury! It's just stupid, these supposed "experienced" Yoga practitioners, "advancing" to more and more complicated postures, I suppose every time they feel "comfortable" in some posture they move on to something new! They're missing the whole point! Feeling comfortable? Good. Everything you did before was not Yoga, but warming-up and stretch exercises. It's Yoga when you can relax in a posture, without strain, without pain. And if there's some posture for which that seems impossible to you, do a different one. It's okay, they're not "better" than the ones you're comfortable in.

dugmartin 3 days ago 1 reply      
I've been going to a yoga class once a week for the last nine months or so. I guess I'm lucky that I have a very gentle instructor who repeats something like this many times in each class: "let go of any preconceived notions and judgments of what you should be doing and pay attention to yourself". I've stopped looking around the room to see what others are doing and just try to push myself a bit more each week. Its been slow but I think its paying off.
_debug_ 2 days ago 0 replies      
Well, exercise injury is an entire field of study, and hence the existence of the profession of physiotherapy. Yoga is just one more way you can hurt yourself and need a physiotherapist.

There was a great comment on the NYTimes article by someone called Stevi that I would like to quote here, "Yoga doesn't wreck the body. People wreck their bodies by practicing yoga with a lack of awareness and by taking classes from instructors who don't have enough experience. Yoga is an ancient discipline--a tool for self-realization. It's unfair to hold yoga responsible for our misuse of it. Yoga involves an eight-fold path of which asana is only one tenant. If you are practicing asana without without the other aspects of yoga such as ahimsa (non-harm), santosha (contentment), aparigraha (non-greed), etc., then you are destined for problems. Find a good teacher, and yoga is the greatest gift."

sbarre 3 days ago 1 reply      
The article states something that a lot of us yoga practitioners already take for granted:

"Yoga is for people in good physical condition."

If you're overweight and/or in poor physical condition, yoga is not for you, at least not at first.

blrgeek 3 days ago 0 replies      
Yes, Yoga practiced incorrectly can screw your body. Even the breathing exercises if done incorrectly can screw your body. Tip: Do NOT practice Yoga from a book.

A close friend of mine started breathing exercises & yoga from a book. He's been doing some forms of these for many years, and this was the first time he was doing them from a book, and doing newer things.

He did or overdid something, and some balance in his body was disturbed. His weight dropped from 85kg to 54kg within a couple of months, becoming almost literally skin and bones.

He had to go for some intensive treatment to get his body back in line.

And this is a guy who I've known personally for 8 years now - not an anecdote I've heard.

So stick to the basic exercises, don't tie yourself up in knots, don't do any crazy breathing exercises, and certainly don't over do anything.

senthilnayagam 3 days ago 1 reply      
I studied in Kendriya Vidhyalaya(central school) and we used to have yoga classes weekly.

my observations,

your body needs flexibility and it needs practice to loosen your body just like warming up.

it is easier for kids to begin yoga as their bodies are already flexible.

based on your fitness, flexibility and comfort levels you can discover newer levels of asanas, just like all those poses in Kamasutra.

let us be clear, yoga is for relaxing mind and body, not acrobatic displays as it has been marketed in america

akuchling 3 days ago 4 replies      
An author (who does yoga himself) on the Knight Science Journalism Tracker argued that this story is sensationalized and somewhat unfair: http://ksjtracker.mit.edu/2012/01/05/ny-times-unfairly-trash...
rs212 3 days ago 0 replies      
Ok, firstly, I am Indian too. I have been doing yoga for the past two decades.

At one point I wanted to take my yoga "to the next level", whatever that meant. So I asked my teacher to teach me something more elaborate. She did (a variant of shoulder-stand), and I got a back pain that lasted for two weeks. From then on I have been sticking to my routine - two quick surya-namaskars, followed by 8 simple postures. This is all I have done for the past 2 decades. It makes me feel energetic during the day. I ask for no more.

If your job is sedentary/indoors, do a little yoga and see if it helps. Start small, and stick with what is comfortable. There is no need to compete for higher levels of achievement. If you feel good that's all that is important.

About Swami Vivekananda - I have read his complete works, it is an interesting read, very inspiring (helped me through a bout of depression in my late teens), and for history buffs, it offers some nice historical views of India, Europe and the US at the end of the 19th century. Vivekananda was a philosopher who explored the deep questions of life, and a social commentator with a keen eye for detail.

So read his works by all means, but you don't need that to benefit from some simple exercises.

InclinedPlane 3 days ago 0 replies      
Yes, you can hurt yourself doing Yoga. More so if you do it incorrectly.

See also: running, weight lifting, swimming, biking, walking.

You can also hurt yourself while doing nothing.

Should that mean you should stop doing yoga? No, you should just be careful.

api 3 days ago 0 replies      
It's just like any other form of exercise: do what you can do, and be careful. Some types of Yoga can be quite heavy, almost like heavy weight lifting, and similar caveats apply.
kamakazizuru 3 days ago 0 replies      
It's sensationalized headlines like this that ruin something that is inherently good but has been bastardized by peoples needs to be super good at everything they do!

Yoga will not wreck your body - doing it wrongly will. Just like driving drunk can get you killed - doing yoga without understanding it - and knowing what your bodys own limits are will get you killed too.

Anything powerful is always double edged. The author in fact highlights example that prove just that - people who overdo their yoga (the kid who sat in a pose praying for world peace for days) - or jump into it to quickly without any checks or training (the guy who popped his ribs) will definitely wreck themselves.

BUT - so will first time swimmers who decide to try swim across the english channel. Or amateur weightlifters who decide to benchpress twice their bodyweight on the first go. Putting out an article like this just scares people off from something that is inherently good - rather than making them more aware of the fact that its good - but ONLY if used correctly.

I started yoga in India as a kid. The ashram I went to is in Bombay and I was not allowed to start anything without a certificate from a doctor saying I was physically sound - the ashram itself also had a doctor at hand who did yet another check - specific to yoga and had me fill out a full medical history. Based on this history the doctor selected very basic exercises and marked them out in a little book that I was provided. The trainer had me do just those exercises (relaxation exercises, simple leg raises and basic stretches) for almost a month - before I could do them without any trouble - before he moved on to slightly more challenging positions, also again with the approval of the inhouse doctor. Those years of yoga helped me tremendously to overcome some health issues I had - and I am sure there are plenty more out there who's lives have been enriched by yoga.

This is how yoga should be done - and was done through the years - there were people who knew what it was about and had practiced for decades before they started teaching others.

However, as is typical to the consumerization of anything in this world - people try to industrialize things and take short cuts to make a quick buck. We have fancy sounding forms of yoga like hot yoga or power yoga that try to create the fad of the season. Folks do a few months of training in yoga and become "instructors" and charge money to train people in exercises that they really should not be training.

I'd rephrase that article - and say that yoga is great and if done correctly can actually save lives (especially in the overstressed obese and sedentary societies we live in these days). However being the powerful skill that it is - it must be handled with care by people trained and experienced.

TL;DR - Yoga is not bad, people who are doing too much too fast or "teaching" new fancy forms of yoga with no real sound backing are ruining the experience for over enthusiastic beginners who dont get that it has to be taken slow. Do yoga its good for you - but make sure someone who knows what your conditions are and what yoga is all about is teaching you!

carlsednaoui 3 days ago 0 replies      
Makes total sense.

The reason Yoga was invented (if I'm not mistaken) was to allow Yogis to meditate for long periods of time - often hours or days. In essence, Yoga was used to ensure that your body could stay still for long periods of time.

It feels that people here in the West use Yoga as a "workout". Which is kind of crazy since, in my opinion, you're supposed to do Yoga to be in tune with yourself, bring awareness to your body and calm your mind (with the ultimate goal of being able to meditate).

Whenever I go to a Yoga class I personally prefer to stay in the back and do the poses at my own pace, and only focus on those where I feel comfortable - if a pose is stopping me from breathing properly I know that something is wrong.

lnanek 3 days ago 0 replies      
I do contemporary US fitness oriented yoga quite often. It isn't my first choice for a sport, personally, but it works great as a compromise when I'm with my parents, their friends, or with girls. I'd rather do something other than my first choice if it can include more of the people I'm trying to socialize with at the time.

Anyway, for some reason, I look like I'm really struggling when I do it. My arms shake, etc.. This despite being able to run 14 miles throwing myself forward each step, do 30 pull-ups in a row, 100 sit-ups, etc.. Seeing me seemingly suffer, the yoga instructors are constantly telling me things: just do the poses that are within your practice, focus on your breathing and relaxing and not copying the poses, go into an easy child's pose or down dog pose whenever you feel things are too much, don't muscle yourself into a pose, do a few more sun salutations to warm and loosen your body before continuing, do you have any injuries I should be aware of, here is a modified pose that is easier, here is a pose to increase your upper body strength before doing inversions, etc..

Long story short, most people seem to try really hard to copy poses and force their body. That's apparently not the way to do it and teachers try hard to make that clear. I've never been injured, but I imagine it is much less likely doing it their way, which focuses on relaxation and breath.

netmau5 3 days ago 0 replies      
Trust yourself. In most forms of physical activity, if you are uncomfortable doing it, there is probably damage being done. But that doesn't mean damage isn't a good thing. In weight training, you purposely push yourself to the edge to break down your muscles and build them back stronger. The edge is an undecipherable gray for most novices so don't travel anywhere close without the advice of a trusted advisor. I learned that lesson the hard way when I first started lifting, "push as hard as I can to see the best results."

An experienced advisor makes all the difference in the world. Some things in life just never change: from startups to fitness, seek wisdom for great justice.

danbmil99 3 days ago 1 reply      
I've done yoga with an excellent teacher for years and never had a problem. One day with a substitute was all it took to put my upper vertebrae in a bad state for two years.

There is wide variation in teacher knowledge and experience. Maybe they should be licensed, or, if you prefer the libertarian approach, caveat emptor.

BTW I am in my 50's, most of the class was 40+ yrs old

georgieporgie 2 days ago 0 replies      
This article is inflammatory and poorly written. 20 million practice in the US but a handful of anecdotes and second-hand claims of injury are mentioned? Sounds like good odd to me.

How many are injured by ego, ignorance, or bad advice in gyms, on tracks and fields, or in pools every day? Lose the ego and be selective about your coach.

GigabyteCoin 3 days ago 0 replies      
I don't doubt you can get hurt badly in a Yoga class and I never have.

That's why I only generally attend the less intense classes. I know I'm not lance armstrong.

My girlfriend manages a studio and has seen her share of nasty injuries from exactly what this article warns about: "Now urbanites who sit in chairs all day walk into a studio a couple of times a week and strain to twist themselves into ever-more-difficult postures despite their lack of flexibility and other physical problems..."

Shenglong 3 days ago 0 replies      
I think it's worth pointing out that physical yoga, much like any sort of physical exercise, can damage the body. Yet, if you're young and in good physical condition, it can strengthen your body a lot. The article has a strong point: lots of people shouldn't be doing these intense exercises.

I took three months to train in Shaolin Kung Fu, near the Shaolin Temple in China about two years back. I trained for 7-9 hours a day, 6 days a week. I ate over 5,000 calories a day, and ended up losing 16 pounds by the end (and I was decently fit to begin with).

The stretching was intense and almost made me cry, I cut myself with swords, bruised myself with meteor hammers, and even lashed my own flesh with whips (by mistake, of course). Yet, I easily doubled my explosive strength, multiplied my endurance by fifteen times, and even managed to learn to throw a sewing needle through glass.

Everything has a downside if you do it wrong, but you're not supposed to do it wrong.

barnaby 3 days ago 0 replies      
Interesting that Yoga is marketed heavily for people who sit in front of a computer for hours a day, even though the article points out that it's more dangerous for them because they're not already exercising the way that the people for whom yoga was invented for did.
ahoyhere 3 days ago 1 reply      
I've attended quite a lot of yoga classes in different parts of the country, and none of them have included any kind of inversion -- no head stands, shoulder stands, or "bridge" (aka wheel). For that matter, none have included the leg extension done by the guy in the green shirt, either.

This article is both factual and sensationalist at the same time.

jonstjohn 3 days ago 0 replies      
I practiced yoga for several years on a very regular basis. Although I personally did not experience any significant injury, I can really understand how people can get caught up in pushing their body beyond its means, even through pain. Despite the fact that teachers often emphasize staying within your ability and focusing on your own practice, the ego often creeps in. Either between students or even w/i yourself, struggling to further 'perfect' a pose or match what you did last week, is too easy to fall into.

I think it is probably similar to other pursuits, whether it be running, weight lifting, or swimming. It's easy to over do it, and you have to keep your ego in check.

Yoga is an amazing practice with a lot of benefits. The take away that I get from this is to not assume that yoga is always harmless, and to check your ego at the door and really pay attention to your body. Sometimes easier said than done (especially as I currently nurse a knee injury from a long run last week, which I really knew I shouldn't have done, but badly wanted).

md1515 3 days ago 0 replies      
My takeaway from the article is that yoga, like any other physical activity, can be dangerous when one does not know how to do it properly, but more importantly, has too large an ego to know when to quit/pause.

I've been doing yoga for only a little over a month, but I go at my own pace at home. I'm not in a class where I force myself to "keep up" or whatnot.

hackermom 3 days ago 1 reply      
I'm now eagerly awaiting NY Times' revelational "why jogging or any other physical activity can hurt you if you are not in adequate physical condition for it" article.
rokhayakebe 3 days ago 0 replies      
This applies to people who lift weights too. "I bench 7564550969 pounds. You?". Ego.
rohitarondekar 2 days ago 0 replies      
Doesn't this apply to any form of exercise though?
deepkut 3 days ago 0 replies      
"With power comes great responsibility." Yoga is powerful, use it wisely.
adrianwaj 3 days ago 0 replies      

Do you do Yoga?

I do the asanas.

Do you attain enlightenment?

I attain injuries.

Complete, stand alone Stanford machine learning course notes holehouse.org
214 points by alexholehouse  17 hours ago   19 comments top 8
nosignal 7 hours ago 0 replies      
Here are my notes (on github). Nowhere near as polished as this version, and probably reveals more about my process of understanding than machine learning itself, but if we're sharing: https://github.com/mechamoth/ml-class/blob/master/ML_Notes.o...
denzil_correa 12 hours ago 2 replies      
Thanks for the great resource. I wish there was a way every student could share notes with everyone.
mavroprovato 12 hours ago 1 reply      
Just something that caught my eye: In the introduction, you have written "clarification problem", which of course should be "classification problem".
capkutay 3 hours ago 2 replies      
What math preliminaries are necessary to understand machine learning? I'm taking a basic linear algebra and probability course in the Spring...I'm wondering if that would be enough.
pigs 12 hours ago 0 replies      
Thanks for this, especially for annotating the lectures. It's much easier to skim/review this way. I was rewatching the computer vision pipeline lectures over the weekend when it occurred to me that they might not be available when the new class starts.
coho 11 hours ago 0 replies      
Thank you good sir, wish more people shared their quality notes like you!
metaobject 13 hours ago 0 replies      
Wow! What a great resource, thanks!
ya3r 11 hours ago 1 reply      
Why not a git repo on Github? So people can contribute.
Alexis Ohanian and Dan Kaminsky will address Congress on Jan 18th forbes.com
209 points by nextparadigms  7 hours ago   54 comments top 13
d_r 6 hours ago 5 replies      
Is anyone else irked by Forbes' need to use a "revenge of the nerds" picture there? I feel like the SOPA argument is inherently skewed for most Americans, and it is bitterly unfair.

Pro side: "we're stopping evil foreign counterfeiters, we're helping save American jobs, we're looking out for your safety."

Con side: "complicated sounding tech mumbo jumbo, this will break the internet, and some references to Libya"

Which side would you support if you didn't know any better?

SOPA affects more than just the "nerds." How can the messaging be improved? How can it be made more compelling to resonate more with laypeople?

Why aren't the "influential" people focusing on the message?

scott_s 4 hours ago 0 replies      
Alexis, please consider explaining why Congress has not heard what you and the other experts are there to say. If I was to say it myself, I would say "I'm sorry for putting you in this position. You're in this position because Washington does not undertand technology. And that is because technology does not understand Washington. We need to change that."

Part of the problem is that the RIAA and MPAA have active lobbying efforts. We don't need to frame it as "buying influence," just that if one set of people are the only ones around explaining a problem and its solutions, that's all they're going to know. The technology industry needs lobbyists heading off these sorts of issues by actively explaining to Congress people the implications of doing this sort of thing.

I imagine that something they will think is, "If what these people are saying is true, and the consequences are so dire, how is it possible that I didn't hear this before?" This explanation answers that question, and, I think, makes the technical explanations and their wider implications more believable.

aspir 6 hours ago 3 replies      
This is a step in the right direction, but this level of action should not stop after SOPA. The tech industry is so large and powerful in this current era that it's due time that it begin to develop a more powerful voice in Washington.

SOPA has made it this far because our congress does not have a reliable technology lobby to educate our lawmakers. SOPA would have been killed already if this lobby existed in full strength; and this industry has the funds to have actually created this presence many years ago.

We should focus on stopping SOPA, of course, but after this episode, something needs to be put in place to prevent this from happening again.

tmcw 6 hours ago 1 reply      
> Opponents of the Stop Online Piracy Act, the bill that threatens to block large swathes of foreign websites for alleged copyright infringement, have complained that Congress has yet to hear their voice.

Foreign websites? This, combined with the fact that they're referred to once as 'haters' and twice as 'nerds', makes me think that Forbes is worthless at writing about anything except how rich blue-chip CEOs are.

IgorPartola 1 hour ago 1 reply      
What will happen if SOPA passes? I don't mean the legal consequences, but rather: will we just create a new way to exchange DNS information, such as a giant hosts file distributed over BitTorrent that contains the addresses of most popular websites? Or will the geeks shrug this one off and move on, just with half of the Internet going dark?

The way I see it, the internet has always found a way to adapt in the past, and the greater the threat, the more ingenious the solution. Currently, bunch of people on Reddit are trying to build an (IMHO) hopeless mesh network, but the real need is not there yet. What happens if SOPA goes through and we can no longer use the internet as is and the need becomes urgent?

herval 5 hours ago 1 reply      
On a totally off-topic note: I don't know a large number of successful individuals, but I have to say that Mr Ohanian is among the most approachable, good people I've met so far.

I wish some of the "successful" individuals I know back home would learn a lesson or two from people like him...

(brace for the downvotes)

walru 1 hour ago 0 replies      
What needs to be addressed more than anything is the capricious wording of the legislation, and how it puts an extreme amount of power into a very select few individuals who remain hidden behind drawn curtain.

More than any inconvenience this provides for a company which operates on the web, this is censorship in its highest form.

clebio 2 hours ago 0 replies      
While it's nice that opposition to SOPA is getting some traction, the passage of the 2012 NDAA slipped by with little fanfare. Criticism and debate of that legislation are moot now. though NDAA is not a technological issue of itself, sections 1021 and 1022 still diminish our civil liberties much more effectively.

I'm glad to see the knowledge-worker communities rallying around a topic peripheral to our basic freedoms, but I fear we've missed the boat on this one. Regrettably, pizza sauce in school lunches was not the only bit of smoke and mirrors foist upon us.

rythie 5 hours ago 0 replies      
Someone [a designer probably] needs to make one of those really nicely designed micro-sites with a really clear explaination of why SOPA is bad.

For example this is nice: http://rogerdudler.github.com/git-guide/ but what if the same effort could go into explaining SOPA to lay people (and politicians)?

doki_pen 4 hours ago 1 reply      
I find it interesting that technical arguments will be heard but there will be no debate about liberty and the 1st amendment.
xtc 1 hour ago 0 replies      
Dan needs to maintain his composure when talking about DNS.
dicroce 4 hours ago 1 reply      
Ask them if they've ever seen one of these:

Then tell them that if THEY have seen IP addresses, then the pirates that are trading copyright material online certainly have, and that with just an IP address, SOPA can be circumvented.

dimitertg 3 hours ago 0 replies      
I believe this video explains it very nicely in businessman's / lawmaker's terms: http://www.youtube.com/watch?v=JhwuXNv8fJM
Color Thief, script for grabbing the color palette from an image lokeshdhakar.com
206 points by tortilla  2 days ago   40 comments top 20
GBKS 2 days ago 2 replies      
I built a similar tool for this purpose recently. It uses Canvas, but falls back to Flash if Canvas is not supported. Here's an example - hover and click the image - http://www.imagecolorpalette.com/image/40
wtvanhest 2 days ago 1 reply      
I'm not a programmer, but I see an opportunity here:

Go to istockphoto.com - this is a site where you can buy images for use in any type of publication, advertising etc.

The opportunity I see would be to offer to write software which indexes their entire collection by color.

Then when someone wants to buy an image for a publication they could put their colors in and have istockphoto only show them images which fit the color palette.

This would save designers a ton of time.

AndyNemmity 2 days ago 0 replies      
Wow, I can use this. This is great. I run an online football game http://deeproute.com and players upload helmets to go with their team.

I can use this to check that helmet image they are using, and grab the color palette and then use those colors to drive their color scheme.

Brilliant! Thanks!

jakejake 2 days ago 0 replies      
This could produce an interesting and possibly strange image viewer if you use it to control the color scheme of the page. For example, you upload an image and the css of the page itself updates to be complimentary to the photo.
brador 2 days ago 0 replies      
Could you make it show the RGB of the color of the square color block I'm hovering over in the palette area?
mark_story 2 days ago 1 reply      
You can build a similar thing server side using Imagemagick. It has a great suite of tools for doing image quantization and other manipulations.
andrewcooke 2 days ago 1 reply      
what does it mean when the colours get bigger as i mouse over them? is something else meant to happen? i guess that should mean they are clickable, or that something else is changing, but i don't see anything else change and nothing happens when i click. is something broken (chrome latest stable, linux)?

[edit: and if not, please don't do that.]

simplify 2 days ago 0 replies      
http://colorapi.com/ is similar but better suited for finding color theme inspiration.
drpancake 2 days ago 0 replies      
Clever use of <canvas>. I made an Android app that does something similar:


callmeed 2 days ago 1 reply      
FYI Mobile Safari on iPhone 4 and iPad 1 crashes every time for me.
sparshgupta 2 days ago 0 replies      
Very nice. I would expect a provision to upload (or add URL of) an image and test it on the demo page before downloading it and using it on my website.
Dylanfm 2 days ago 0 replies      
Clusterfck is a nice JS library for hierarchical clustering: http://harthur.github.com/clusterfck/

I put together a tiny tool like the posted link for playing with clusterfck:


Kind of handy for getting a feel for what you can do - e.g. trying different distance metrics and linkages. It too uses canvas.

daltonlp 2 days ago 0 replies      
That is rather nice! http://www.colr.org has something similar, but it relies on server-side code. An all-javascript solution is a cool thing.
alexkearns 2 days ago 1 reply      
I wonder if it works with cross-domain images. I could not see in the documentation if it does.
manojlds 2 days ago 1 reply      
Is white not considered for dominant colour? In the apple logo pic, white is clearly the dominant...
axx 2 days ago 3 replies      
Can someone please write this in ruby? :)
mikeleeorg 2 days ago 0 replies      
This kind of reminds me of http://www.pictaculous.com/
Mavyrk 2 days ago 1 reply      
It would be interesting to see if you could use a system like this to automagically derive background colors for image display, picking muted complimentary colors to make the dominant color in an image "pop", so to speak.
g3orge 2 days ago 0 replies      
I always wanted something like this and I even thought of building it, but I didn't have time to learn javascript.
mnemosyne51 2 days ago 0 replies      
Adobe Kuler also has this feature.
Web Giants Consider 'Nuclear Option' Blackout to Fight SOPA talkincloud.com
203 points by SRSimko  4 days ago   60 comments top 22
axefrog 4 days ago 4 replies      
It amazes me how many commenters here seem to be missing the point. The point is not to take these sites offline in a kind of "do what we want or you can't have our services" move, but to bring the issue to the attention of everyone who is unaware that this may affect them. These sites have the eyes of millions of americans who are completely unaware of the SOPA threat and turning the sites off for a day, or even showing a "stop censorship" notice will spread the awareness that previously was missing.
nickolai 4 days ago 3 replies      
I dont like the term "nuclear option". The fact that there is no "mutually assured destruction" if they follow-up with this makes this so called "nuclear option" much less scary. Besides it is never been done before, so no one even knows what would be the result.

Saying "Please stand by for a demonstration of relevancy" and doing it would be way more effective

Speaking of "nuclear options", one of the reasons the bombs were dropped on japan in WW2 instead of just sending an "or else!" telegram was that threats would not have been taken seriously until the effect was confirmed - an there were even some doubts on whether it will work at all as designed. Unfortunately it did.

JoshTriplett 4 days ago 1 reply      
I keep seeing talk about this, but it never seems to go beyond talk. It doesn't seem necessary to disable services entirely to get people's attention. Just adding a banner or link would have a huge impact. Consider the impact of adding a link to Google's front page or the Facebook top banner, or even a modified logo, with a link to a page which makes it easy to contact Congress (and which can handle the load).

Why does this require so much talk and so little action? Why do we keep seeing headlines of "consider", rather than the headlines we hope to see of the action taken and the resulting impact?

farinasa 4 days ago 1 reply      
I understand the negative response to calling this a "Nuclear Option", but I don't understand everyone's negative reaction to the idea. How many 12 - 17 year old kids have any idea what SOPA is? If for the next two weeks all they saw was a "simulated SOPA" on facebook and google, how many do you think would complain to mom and dad? I'm sure plenty of kids of wealthy people have gotten things changed just in the name of shutting them up.

Why hasn't anyone suggested boycotting the media industries? Perhaps I missed it, but are we that materialistic to where no one even considered it? Stop going to theaters, buying from iTunes, cancel netflix. You vote with your dollars.

nestlequ1k 4 days ago 1 reply      
All these services have huge audiences. Audiences that money can't buy.

Every one of these services should have a splash page that every user sees at least once. It should explain in simple terms, what SOPA is, why it is on the verge of wrecking the US internet economy.

Time is running out. If these services don't act, they'll eventually be taken down by the political class who can't stand the fact that their power has diminished by the next wave of technology.

No one needs to black out anything, or "go nuclear". Just spread awareness. ASAP

gersh 4 days ago 0 replies      
In 1996, many websites turned black to protest the community decency act. It was passed but invalidated by the supreme court. See http://en.wikipedia.org/wiki/Black_World_Wide_Web_protest. Far fewer people were on the internet then, so today, something like that would have a far bigger impact.
firefoxman1 4 days ago 1 reply      
Seems pretty reasonable to me. It's obviously bad business to get involved in politics, but for these companies it's either "Take ourselves offline for temporarily or face the chance of getting put out of business forever."
rmc 4 days ago 0 replies      
This is a rehash of old news, without actually providing anything new.
tsantero 4 days ago 4 replies      
I was disappointed when Time magazine named "the Protester" person of the year for 2011. A blackout of major web services would amount to little more than a stunt. Sure, the mainstream media will run the story for the first day...but for how long will these services remain willfully unavailable? Who will cave in first and go back online without resolution?

It seems to me that the popularity of activism and protesting do little to affect change, whereas more commonly yes than no they simply represent an inconvenience to everyone else who can't be bothered with another struggle/burden in their lives. There must be more mature and effective means of defeating SOPA than having a group of web services throwing a temper tantrum.

huhtenberg 4 days ago 1 reply      
Does http://netcolation.com look fishy to anyone? It has no formal list of members, but instead claims to "represent" Google and others without elaborating as to what this means. It also looks like a part-time operation run by a pair of lawyers.

I am all for a coalition, but this looks odd at best and may easily backfire. If they are assigning themselves to be Google's representatives on the matter, then Google will have no choice but to distantiate from this entity, and this will inevitably be picked up by the media as "Google breaks away from anti-SOPA coalition."

bwb 4 days ago 1 reply      
We plan to have a splash page up Jan 23rd with info on Sopa and explaining why it's so vital people call their congressional rep.

Site5.com frontpage will be gone for a 24 hour period for it,
Thanks, Ben

davidu 4 days ago 0 replies      
FWIW, OpenDNS will not ever shut down our service and I doubt most of those other sites will either.

I keep seeing this "nuclear option" story and it's annoying. We will keep fighting against SOPA, but we won't shut down our service in protest, that would be far worse (and not effective).

JacobIrwin 4 days ago 0 replies      
First, construct a phase 1-blackout. Where any users sees a large screen with info to contact their reps (and then allows them to proceed to the app).

The outcome of this less-abrasive approach may be enough - and if not, Plan B can then be implemented; a complete blackout.

Joakal 4 days ago 1 reply      
That's the equivalent of USA blowing up an USA base with nuclear bombs to defend against the invaders. Please take it to them, blow up the invaders in their own bases.

Instead, promote Internet Freedom to replace and outlaw SOPA, DMCA, PROTECT-IP, COICA, CEST, OPENA, ACTA and more.

The pacifist nature of the SOPA movement sucks because it targets one bill, when there's a tsunami of anti-Internet bills.

megaframe 4 days ago 0 replies      
I'd like to see it if nothing else I think it would force those of us who have been to lazy to do something that day... as in "Well I was going to browse around for an hour before doing actual work but with all my sites down guess I'll do this SOPA letter to my representative thing that's been on my ToDo list"
mseebach 3 days ago 1 reply      
They shouldn't do a blackout, they should "flag" links to/pages/accounts of politicians who hasn't pledged opposition to SOPA. If they are in favour of destroying the Internet, they shouldn't enjoy the privilege of having Google and Facebook assist their campaigns.
chrisacky 4 days ago 0 replies      
I would definately support a permanent blackout of Paypal. Please turn off and don't come back.
kondro 4 days ago 1 reply      
I really don't think this will work because the Government will see it for the empty threat that it truly is.

A Google or a Facebook prove they have the guts to throw their off-switch for anyone to take this seriously.

tintin 3 days ago 0 replies      
They could also just block all SOPA voters from access to there services. Most of the pro-SOPA companies have knows IP-ranges.
sdoowpilihp 4 days ago 2 replies      
When I read about this "Nuclear Option", I can't help but feel that it is nothing more than a PR ploy. How much money would be lost by companies like Amazon, Google, etc. by shutting their sites down for even a single day? Even more, this sort of stunt would be a Customer support nightmare for any of these companies. Though an interesting threat, it comes off as completely impractical from every angle.
pfisters 4 days ago 0 replies      
I, for one, would love to see a day (1) without Google. Almost like a moment of silence to realize how far the internet has come since '96. Would bing suddenly gain mass users? Would we rediscover dogpile?
marichyasana 4 days ago 1 reply      
Instead of a blackout, why not have a period of "IPV6" only?
Feynman on explanations lesswrong.com
197 points by gwern  1 day ago   53 comments top 21
shaggyfrog 1 day ago 6 replies      
"But it's in 240p! Nobody likes watching 240p videos. So I transcribed it."

I've watched and shared this video several times. The video is just fine in 240p. You miss out on Feynman's delivery and style when it you just read it as text.

I think it's from a BBC documentary; the other parts are on YouTube as well. The discussion about how humans model or understand really big/really small numbers is especially interesting.

5teev 21 hours ago 0 replies      
A professor told me once, "Physics is about what happens. If you want to know why, maybe try going to church."
dirtyaura 1 day ago 0 replies      
If you haven't watched these "Fun to imagine" with Feynman videos from YouTube, I really recommend them. You just can't capture his joy and passion with a transcript.

"Fun to Imagine" playlist:

Jun8 1 day ago 1 reply      
Feynman, I guess because he interacted a lot with laymen (an lay-women) knew that the knowledge frame of the audience is very important. If you think this is obvious, wait till you try to explain internet addresses, cloud storage, etc. to your mom (or grandma), or as in the well-known case (http://tomayko.com/writings/rest-to-my-wife) the REST protocol to your wife.

It's very hard to estimate the level of explanation that will actually convey information to the person asking teh question while at the same time keeping them interested.

Retric 1 day ago 0 replies      
Your missing why he is doing this. He is acting like a professor giving a lector in that interview and being redundant. The important take away is how to talk to the slowest person in the room or in this case the million+ people watching that interview.

PS: I wish more scientists would act this way when interviewed. Global worming, simplest explanation for the 100+ million direct and indirect measurements of atmospheric chemistry and temperature we have taken that fits in with the basic physical laws. Don't agree with it? How do you discount the discrepancy of absorption spectrum as you change atmospheric chemistry etc?

endlessvoid94 1 day ago 0 replies      
By far the best video of Feynman is "The Distinction of Past and Future", which is one of his lectures in the cornell messenger series in 1964 (i think).


richardburton 1 day ago 1 reply      
Another amazing line: "So I am not going to be able to give you an answer to why magnets attract each other except to tell you that they do."
jsilence 1 day ago 1 reply      
"Because some things are, and some things are not!"
Louis CK does a hilarious job describing how it is digging down the "why" hole:
richardburton 1 day ago 1 reply      
I love how he covers everything from:

"For example, Aunt Minnie is in the hospital. Why? Because she went out, slipped on the ice, and broke her hip."


"You know you can't put your hand through the chair; that's taken for granted."

What an incredible mind.

ilitirit 14 hours ago 0 replies      
I think that people's tolerance for simple metaphors is related to their level of curiosity. I'm pretty sure that many people would be satisfied with a "rubber band" explanation even though it doesn't fit. The more curious person though would probably, as Feynman said, want to know why rubber bands behave in the way that they do, and then the metaphor would break down.

This to me tells me two things about Feynman:

1) He was a man of great integrity

2) He wanted people to be more curious about the world

wizard_2 1 day ago 0 replies      
I should refer you to the Feynman Series (from the Segan Series creator) http://www.youtube.com/playlist?list=PL92F9FC91BBE2210D&...
javajosh 1 day ago 1 reply      
Excellent. But there is another important situation to deal with, and that is when the interrogator is asking dishonestly, usually to reenforce some prejudice. Personally I have found the best way to deal with such discussions is not to have them, for the simple reason that my contempt for willful ignorance compounded by dishonesty ultimately outweighs my love and joy at explanaition.

Practically speaking, the impact of walking away from such loaded discussions is minimal, because in a healthy society generally these dishonest interrogators' views and opinions simply don't matter (apart from the odd grade-school curriculum debacle). They don't matter for two reasons: first, normally the point of understanding (e.g. evolution, or even magnetism) is not necessary to the persons practical day. Second, a healthy society tends to disregard the views of the dishonest.

This is an argument from practicality. Know when to walk away from some debates.

losvedir 1 day ago 1 reply      
Yay, Feynman!

If this has whet your taste for his wonderful explanations, I highly encourage you to take a look at his lecture series made available by Microsoft Research on Project Tuva[1].


chetan51 1 day ago 0 replies      
Reading a transcript is just not the same as watching Feynman talk, which is such a delight. 240p or not, I encourage everyone to watch the video.
pica 22 hours ago 1 reply      
I have an off topic question. I'm not a native English speaker, and I find the way Feynman is pronouncing t, d, k, g, p and b consonants very interesting. He uses hard attacks and hard stops. Does anybody know if there is a name for that ? Maybe a regional thing or just his way to speak ?
herTTTz 1 day ago 0 replies      
While that we are touching on Feynman, I thought this bit was interesting (just 1:26 long)

Richard Feynman on Computer Science - http://www.youtube.com/watch?v=lL4wg6ZAFIM&feature=relat...

I believe he has a point, I don't know if term Computer Science is the best choice of words.

agumonkey 1 day ago 0 replies      
I dig his neverending questionnings and explicitness.
mbq 1 day ago 1 reply      
Well said, except it is not true about the ice melting under pressure -- a weight of a human is not enough (same holds for skating). The ice is slippery because of its anomalous behavior on the boundary, which is still not fully understood.
mattiask 14 hours ago 0 replies      
This is why scientists don't get invited to cocktail parties
endlessvoid94 1 day ago 1 reply      
Does anyone know where I can find the entire talk he gave?
lucianof 1 day ago 1 reply      
Can anybody explain me how to make an apple pie from scratch?
Reddit successfully pressures Rep. Paul Ryan (R-WI) to back off support of SOPA reddit.com
193 points by chaosmachine  11 hours ago   67 comments top 6
jerfelix 8 hours ago 2 replies      
This headline is pretty misleading.

Ryan never supported SOPA. He came out against it. And this event came after Reddit guys said they should pressure him. And then clueless Reddit guys take credit for successfully pressuring him.

I would hope this HN crowd knows about correlation and causation.

danso 10 hours ago 1 reply      
It's not clear that he ever supported SOPA, just that his form letter wasn't explicitly against SOPA when Reddit decided to work against him:
OstiaAntica 9 hours ago 0 replies      
Rep. Ryan's statement is significant and helps the cause in both the House and the Senate. Ryan is a widely respected policy leader for Congressional Republicans. It is also a strong stance for him to publicly oppose another Republican's legislation, while the bill is still being considered in committee.
rbanffy 10 hours ago  replies      
Online piracy is not a legitimate problem. It's an unavoidable side-effect of having easy and cheap duplication and transport of digital goods. Industries have to innovate to adapt to new technologies and circumstances.
iso8859-1 10 hours ago 2 replies      
I think sad how much of a popularity contest politics are. He doesn't really respond to the arguments, just uses the boilerplate "freedom" stuff. You can turn that statement right around, and it'd still make sense. I wish politicians would actually have the time and commitment to know what they were legislating. This system is broken.

Turned around:

> The internet is one of the most magnificent expressions of freedom and free enterprise in history. It should stay that way. In order to do that, we must close those evil sites so that we can have better conditions for the corporations and they will continue to provide jobs and security to our economy.

ward 9 hours ago 1 reply      
Must we have politics on Hacker News...

Edit: It always ends up in bickering about viewpoints anyway.

Open Source Visitor.js github.com
190 points by codejoust  3 days ago   52 comments top 24
bradly 3 days ago 1 reply      
Here is a live demo showing your own information.

Fyi: I am not storing the information.

gojomo 3 days ago 3 replies      
The original visitor.js identified my city correctly; this only put me in the USA.

Is there a free reliable precise geolocation service that can take as many hits as a script like this could throw at it?

dsl 3 days ago 0 replies      
Damn, you beat me to it. After I saw the original visitor.js was a paid service (which blew my mind), I started hacking together the JS implementations of most of the functionality I had laying around already.
memnips 3 days ago 0 replies      
It is now apparently Session.js https://github.com/codejoust/session.js
peteretep 3 days ago 0 replies      
I'm glad you've done this, because I'd have wasted a few hours on it I didn't have otherwise :-)
sbarre 2 days ago 1 reply      
location is either "null" or "err/google" for me all the time.

Although I am probably an edge-case, I'm tethering from an iPhone on Rogers in Canada.

Visitor.js (the paid service) correctly positions me in Toronto, Canada though.

latchkey 3 days ago 0 replies      
The best part about this whole thing is the location lookup. Seriously nice job.
josscrowcroft 3 days ago 0 replies      
I'm super impressed you turned this out so quickly. I think that really sums up the spirit in the HN community...

When you look at something that seems overpriced (or wrongly-priced) and you say "hey, I bet I could do this"

I still see value in potentially paying for a service like this when it's a big enough pain-point. But I really think they'd have had more traction with a open-source-to-paid model, where anyone can use the client-side code for free, but the extra stats and support provided are worth paying for.

grantjgordon 3 days ago 0 replies      
I don't think there are any ethical issues here. The paid service is doing something that was mostly, if not completely, available in other open source projects such as piwik and OWA in the first place. It's very educational to look at the differences in the way codejoust implemented his javascript vs. these other projects, and very convenient that you don't have to dig through a gigantor open source code base to do it.
tonywebster 3 days ago 0 replies      
I love when disruption disrupts disruption.
jpulgarin 3 days ago 2 replies      
Localization doesn't seem to work very well. I'm in Waterloo, Canada. This is what the script outputs for me:

> session.locale.country


> session.locale.location


slavin 3 days ago 0 replies      
I don't understand the pricing model behind visitorjs, and we had to implement a similar solution at my company. But the fact is - they created something and shared it here. If you think you can do a better job at it - fine, but why haven't you done it before, or at the very least named it differently. I don't mean to exaggerate, but it just doesn't feel ethical to me.
mise 2 days ago 0 replies      
Having a "first session" and "current session" exposes very interesting functionality. It suddenly provides a quick way to keep track of what search keywords they used to get to the site, and could be later linked to an account if later created.
dchuk 3 days ago 0 replies      
well...that didn't take long
DannyPage 2 days ago 2 replies      
What are the ethical concerns about using this and storing the data? If I wanted to use this on my site, should I let visitors know, or is this data fair game to store? I rather not use the location data (or any of it) if there could be an issue.
Flimm 3 days ago 1 reply      
Is this version created or endorsed by the authors of the other Visitor.js implementation?
wehriam 2 days ago 0 replies      
Outstanding! I also was going to have to re-implement this.
kmax12 3 days ago 1 reply      
where's the server stuff? is google providing everything that the pay service did, but for free?
dlitz 1 day ago 0 replies      
Visitor.js should be the new FizzBuzz
tomhallett 3 days ago 2 replies      
i'm curious about the timing here.

did you see vistor.js hit HN and rewrite it in a few hours? or were you working on this in isolation and when you saw it on HN decided it was the perfect time to ship?

alpb 3 days ago 1 reply      
Gives 404?
desireco42 3 days ago 1 reply      
The only thing that would make this better is to have it in coffeescript... :) which I might do for you if you don't.
necenzurat 3 days ago 1 reply      
after reading visitorjs.com thread i asked myself WHY

Question: who would pay 10 bucks a month for using a js file for 30K requests?

buremba 3 days ago 1 reply      
Introducing "Python for Android" txzone.net
188 points by moreati  1 day ago   11 comments top 7
maciej 1 day ago 3 replies      
How is it different from ASE (http://code.google.com/p/android-scripting/)?
jorgecastillo 21 hours ago 0 replies      
If you like ruby there is a similar project for JRuby and I believe you can access the whole Android API:


tworats 23 hours ago 0 replies      
Very interesting. I wonder if it allows interaction with existing Android libraries / capabilities (eg. for building UIs) or if it's separate.

Also, would be great if there was a sample app to download and try so one can get a sense of what the final product looks / feels like.

robolaz 22 hours ago 0 replies      
Does this run on all versions of Android?
shreeshga 14 hours ago 0 replies      
I am curious to how fast/slow python interpreted apps will be on mobile. On the desktop at-least, Java code runs much faster than python code.
mjcohenw 22 hours ago 1 reply      
I was hoping that this was a version of Python that could run on Android (like awk can).
y4m4 1 day ago 0 replies      
So awesome! thank you :-)
       cached 10 January 2012 05:11:01 GMT