skysight-inc/HackerNews huggingface dataset:
What I've found is that I do not remember that, say, a tree map or heap have logarithmic insertion time, but rather have a vague mapping of general concepts to behavior: something like "tree" => logarithms, "list" => lines (linear), "array" => magic (constant). Then I think something like "a hashmap is like an array, so it can be accessed in constant time".

If you're a visual thinker, the "shape" of an algorithm or data structure can be very helpful as well. Imagine it geometrically and think about how, say, the height of a tree compares to the length of a line with the same number of elements.

Of course, practice also helps. I'm lucky enough to get plenty of practice in school, but I think doing various condensed but nontrivial problems (think programming contests/project Euler) is probably both more fun and more practical for somebody out of school.

Ultimately, knowing running time of algorithms and behavior of data structures isn't really what's important; rather, it is just a "symptom" (in a good way) of having a solid grasp of what's going on. Just memorizing the times with flashcards is basically faking it--it might not be completely useless, but you'd be better off actually understanding everything.

I used to not have any idea about this sort of thing. My code worked fine, and I had no problems--I also never thought "hmm, I could have made this more efficient if only I knew about tree maps!". However, I now realize that the reason I never saw this was because I didn't know enough--I didn't even know enough to know I had a problem!

In short: you should learn how the algorithms and data structures work, not just for running times or interview questions, but to make you a better programmer. It definitely won't make you worse!
His main point is that Common Lisp is better than Scheme when you need to get things done. Scheme may be more elegant, but it's not developed with a focus on practical utility (i.e. no sort function in the standard).
"Rules" are human mental constructs that the universe cares nothing for.

If you want to live your life chained up because somehow that proves or validates your ego, it will only impress similar minded individuals. You're still playing this game, yet win nothing at the end.

Realize that the only way you're going to get ahead is via advantages. And they are not going to come to you, you create them.

You can work hard or you can work smart...
How to Plan the Best Holiday Sale in History
"The goals of the advertising business model do not always correspond to providing quality search to users," so let's make some more money. Let's not send visitors to sites anymore! Brilliant!
Just because I own an ebook reader doesn't mean that I don't visit my library. My budget will only take so many ebooks monthly—so, it's often cheaper to only buy what I really need and get the rest from the library.

I'm mildly disappointed that it'll be LCD just because I find eInk to be the coolest tech around.
Iphone 4
I coded up the easiest version of each algorithm, rather than the most efficient. (Quicksort uses the first element as a pivot, rather than something more intelligent) Feel free to email me an algorithm if you think it should be there/is better than what I wrote. The pre-written algorithms weren't exactly my focus.
Any thought about what to do if you didn't follow the advice? Our startup is 10 months in trying to convince a non-early adopter to buy our enterprise product. They want the product, but like the article claims, they are too risk adverse to just buy it without months of testing.

Should we stick it through to make it as main stream as fast as possible (we chose the client for their effectiveness as a reference) or backpedal and look for early adopters?
JQuery Mobile vs Sencha Touch
speaking about value of the online anonymity :)
Fair enough. I'll try to write one if I can learn coffeescript right now :)
1 Semester Startup - 77 students and 20 startups
It looks like it should stay up now - the traffic from this is much more than we usually get, but it's doing fine now that the server has more resources available to it.
Agreed. Nice work OP!
I'm definitely a jack-of-all-trades but a master-of-none. Sometimes I wish I were much better at certain things, but for the most part, I enjoy having a wide range of competencies.
It's not prefect yet.
Chrome App - HTTP REST Console for complex requests
You have to show the tiers of socioeconomic status when showing life expectancy. Your life expectancy is quite different in the US depending on your race, earnings, and occupation, much more so than many of those other countries
Changed to a darker purple. You're right, it was pretty jarring.
Early adopters may not necessarily be programmers but I would be surprised if they were not techies (in majority). I have rarely heard of cases where an average user has tried out something new. Exceptions exist depending on the product of course. Also my definition of a "techie" may be a bit loose here.
I am a strong believer that hackers need a portfolio of work for potential employers.

I am not convinced that such a portfolio must exist in an online and easily discoverable package for potential employers.

Having a strong and trusted personal network is probably a stronger signaling system.

Of course, having both a meaningful online presence and a strong referral network is best.
Red alert: HTTPS has been hacked
I want to clarify here that feature complete and "done" are two different things. The app was not finished when it leaked and is still actively being worked on.

I also really want to emphasize that my time at Facebook was incredible and my reasons for moving on were remarkably complex, none having to do with any dislike for Facebook or ill feelings. The number of hours I put into the project were out of genuine passion for the product, not because anyone was forcing me to do so.
Awesome. At least ad a donation bottom at the bottom of the email. I don't mind supporting at the rate of $5/month so long as the quality is decent.
Tumblr was founded in 2007. That makes it nearly 4 years old.
Twitter was founded in 2006. That makes it nearly 5 years old.

At what point in their "Humble Beginnings" do you suggest they start thinking about making some money and becoming self-sustaining?

Somewhere along the way they need to focus on being able to provide for themselves. Otherwise it's a giant ponzi scheme where all you get are investors investing in a product that won't return their investment.
You're agreeing to terms which they can change without notifying you. There may be nothing in there now, but they're getting permission to put something in there whenever they feel like it and have you bound by it.
Did you read the article? They're suggesting that Amazon will open its ebook library to Amazon Prime Accounts to check out books to read thus killing off the public library.
Forgot to mention: source at https://github.com/thedufer/VisualSort
Normally I don't think companies should focus on making tablet specific versions of their site (normal desktop pages work just fine), but Facebook relies too heavily on Javascript for the limited power of today's tablets.

Edit: I have an iPad version 1
Search makes no money at all. But adsense does.
I didn't do CS as a major in undergrad (I found it too easy... that sound pretentious, but the program at my college simply wasn't difficult enough for me), but I did do a MS in CS afterwards.

It helped a lot with basis for algorithms (terminology so you can understand what you are reading), but it didn't really teach me all of the data-structures and algorithms that I know. (There are really too many to cover everything properly/thoroughly in the extent of a course or two, even at graduate level). Also, I would have been sunk if I hadn't known a lot of it before applying to the program.

So I learned a lot of it through my own natural curiosity.

Everything concrete that I learned about data structures and algorithms started by reading Wikipedia. The CS articles are fairly accurate (it is hard to gain anything by spreading misinformation in them) and there are often times links at the bottom to the actual papers and code describing and implementing them. Start with the overview article and then read the paper. Look up any terms you don't know. Try implementing it in a language you like.

You can also Learn about data-structures in languages that you like (looks like ruby/python for you; you are in luck... those are both open source). Figure out how they are implemented, and performance characteristics. Go ahead and download the source tree and read the code.

Implement naive versions of various datastructures/algorithms yourself. See if you can play with them and improve them for various tasks. (Can I make this hash table use less memory? Give it a faster hash function? Make it a game).

I think flash cards would be a bad move, because then it starts to feel like a chore. Programming and reading and learning shouldn't be taken to like chores, they should be enjoyable and rewarding.
Definitely just waiting until iOS5...
NOKIA 500 AZURE SMARTPHONE SYMBIAN ANNA REVIEWS | OnlineGadgetBox
Motel miami beach
I do not usually visit many websites, when I need to know about tourism and travel motel miami, which are my favorite subjects, always choose this site. I realized this email address by visiting web directories that include links on the issues I mentioned and I was immediately attracted to his name.
I've implemented 256-color support (if XTerm is requested), and the scrollback can be set to any size though I am working on some other options to make it more flexible.

I haven't optimized for memory usage, but that's a good point. I did compare my launch state against Apple's Terminal using "top", and found that I used roughly the same real memory size but only 1/3 of the virtual memory. There could be many reasons for the difference of course.
Thank you, this is a great answer that confirmed some of my suspicions. I'd be interested if anyone could recommend other good resources such as Project Euler. Perhaps the book Data Structures and Algorithms ought to be higher up on my reading list? I would feel a lot more enthusiastic about getting a copy and diving into it if someone with the context of my OP question could confirm that it's a relevant resource.
Ah, I've been missing the functionality to auto-complete symbols from other files in the project (or libs).

Mind sharing your work?
I am not sure if it's as clear cut as that.

"The disappearance of Sony’s movies resulted from a clause in the Starz agreement. According to people familiar with the matter who spoke on condition of anonymity because contract terms are confidential, it includes an undisclosed cap, which has recently been exceeded, on the number of people who can watch Sony movies online."[1]

So perhaps Netflix could tweak their algo to avoid recommending movies that might have said caps. I have no proof they're doing this specifically though. Though maybe this cap was on total users rather than on number of views per title. I do know they would hide high demand new release DVDs in effort to reduce the demand on the movie, which in theory would allow them to purchase fewer copies.

[1] http://latimesblogs.latimes.com/entertainmentnewsbuzz/2011/0...
You might be right. The problem with software I suppose: if it grows, there will be pain. If it doesn't, well, let's just hope it won't stall and die quietly.

I don't mean to compete or fight against Linux in that sense. I suppose I just want to see more things happening in BSD land (Amazon instances, VirtualBox, native Java) but if that happens, could potentially disturb the stability of *BSD itself.

And yes, I do know (a bit) the principal behind OpenBSD that may not work well with other BSDs. Different goals that lead to different software development process.
I can't speak for the guy above, but I certainly recognize some valid technical reasons. If Spotify wanted to offer a Pandora-like limitation whereby each free account only gets X hours of music, they have a strong reason to inhibit users from creating multiple accounts. Perhaps it's just too easy with local logins; yes, people can create multiple Facebook accounts, but maybe this adds enough friction to the process to reduce the violation rate to acceptable levels.

The "14-days abroad" limitation for free users might be the issue. Perhaps people were just creating 2nd and 3rd and 4th etc accounts.

Aside from this, there are still valid technical reasons to abandon local login. Just because you have a capcha, forgotpw, etc system written doesn't mean there aren't benefits from getting rid of it - including the portion of the support staff responsible for "I can't log in" problems. And if they used multiple OpenID providers? Expect to hire more.

I'm not saying that this is the reason Spotify is doing what they did - I don't work for them. But it's certainly plausible that going FB-only is being done for technical reasons, and I expect they have a pretty good idea of what they're gaining and losing by making this decision.
What about people who don't use their real name online? Do people really give recruiters their reddit username?
If you want to be an entrepreneur you have to be good at as much as you can handle. Not just your technology stack, but marketing, sales, design, finance, recruitment, training, writing, etc.

If you want to be an employee, then by all means, be top 1% of whatever technology you want and you'll always be able to find a job.
>My main problem is that I don't seem to need this information to do what I do. I work predominantly with server-side, interpreted languages, and I just don't run into the bottlenecks and performance problems that Big O-knowledge seems to mitigate. Maybe I've been lucky.

if you don't know the time it really should take, then you just don't know what you have a performance problem. Dunning-Kruger in application to software engineering. Too typical a situation in the industry.
I'm not trying to be deliberately obtuse, here, but would you please clarify where the money is, there?
... or you could just forget about O(n) questions in interviews. I know those got really popular with Google, but as an R&D software developer, I probably had to worry about complexity maybe about 0.1% of my time.

How clean is your code? Do you have good coding habits? Do you get lost inside complex data structures? Do you understand concurrency issues?
This is cool, i'd use it. Its quick to get an idea of what font to use. A few improvements (using chrome):
1) Didnt know I can change the text that says 'Logo.' Took me a while to click the text and change it. Indicate that somewhere.
2) It would be cool if I was able to change the background as well.
3) In the drop downs, it would be awesome to see images of sample text of that font.
4) Letter spacing would also be awesome.

That's about it for now. Keep up the good work! Looks cool!
Anyone think about the fact that Google has spent years becoming a minimalist for search effort and user experience, making results faster, more accurate, predict better, and be more painless... In short, they make a users experience and interactions with the site quick, almost transparent. Get in get out! Predict and find my results before I'm even done typing and show me the entire site before hitting "search". Now take other sites, how long does it take to find anything on facebook?... for ever, you have to dig and filter, and look and check... Its painful. I know it does not amount to much more than an observation but all that extra time spent does not reflect usefulness or effort on the users side. Id like to see a CPM comparison chart for popular sites!
Maybe the public library can survive by lowering their rental rate to zero, too.
You can turn your back on the social networks that matter in your field and be free and independent running your own site on your own domain. But increasingly that freedom is just the freedom to be ignored, the freedom to starve.

Uh. Anyone else remember the days of curated Internet directory sites? Yahoo was just a huge, organized database of links. Didn't make it to a good standing on Yahoo's directory? Too bad for you. Luckily, search technology matured and (largely) freed us from that.
Seasonal Affective Disorder – The Basics
Great article about this
http://ycombinator.com/munger.html
2012 AD and Beyond: Tarot And Reading - The Art Of Reading The Tarot Cards
I'm an engineer. I'll worry about the time my code takes once it's notieably slow. If everything I write runs in a fraction of a second, why would I waste my brain optimizing it to make it faster, when all I'd achieve is introduce tricky bugs.

Coding is an engineering discipline: it's all about tradeoffs. Bugs and reliability. Performance. I know to focus on what is important to get a working product.
Google has G Analytic and now G+. Logged in or not they have the IP.

But the chart is about time spent online
Something that crossed my mind, maybe you can help me answer. Are there cases where it would be easier to create a GTK application than a javascript application? This whole concept seems like it opens up a lot of opportunities for websites to provide rich interfaces, but then I think, wait, aren't people thinking of going the opposite direction? For instance, the high level GUI programming for Gnome Shell is in javascript.
Amazon isn't in the habit of moving my files around, or even changing their API's. It's also far from rent-free. I enjoy having "my mom" clean my room. It means I don't have to run my own IT infrastructure in a company of 4 with barely any cashflow. One click... deploy to the world's most advanced Web infrastructures (EngineYard, Heroku, Amazon, Etc) and for relatively little cost.
Google celebrate its 13 birthday with Google Doodle
SpeakerDeck is open
Related: What books or other resources would HNers recommend for someone with limited algorithm and data structure experience who wants to beef up via self-study?

I'm specifically interested in books/other resources that lend themselves to self-study. It's easy enough to look up what MIT is using for their Intro to Algorithms course, but it's harder to gauge if a book or other resource is suitable for usage outside of a classroom setting. Bonus points if it has a practical focus so that I can quickly add the gleaned knowledge to my real-world toolkit.
Thank you for the Wikipedia suggestion; I hadn't really considered using it as a learning resource because I've had bad experiences trying that with other fields. (For example, I think Wikipedia is an abhorrent place to learn mathematics, though it clearly functions well as a reference for people who already know what the hell is going on.) Perhaps being already fluent in the fundamental concepts of programming and computer science will make the Wikipedia articles on data structures & algorithms more useful from a learning perspective.

Tinkering with the source code for $language is also a great idea! That meshes with my empirical experience that the best way to learn is to "play". These days, it's rare for me to write code that isn't related to some specific personal project or business goal; maybe bringing back a bit of the "play" aspect is one of the keys to improving fluency.
Needs a shuffle() function - can't bogosort without it.
Huh? Fb works just fine in my iPad browser (except for the flash games, but that's not related to java script).
The real way to make it undetectable would be to somehow distribute your package so that its own .pyc file has the code to infect others, but the source file doesn't. Otherwise, it just takes a glance at the code to see what's going on.
The Green Belt Movement
That's the old Google you're talking about.
Sorry - can't find your email in your profile. Feel free to drop me a note at <my username> at gmail.com
Anyone can balance a nickle, but can you balance a quarter?
Keep on the lookout for a SpaceX launch to the space station in December or January (unfortunately delayed by recent Soyuz failure).
There aren't too many things to remember in order to be useful:

- Operations that take the same amount of time regardless of the input are O(1). ie: 1+1 takes just as long as 10000+10000 (okay, not really, but it's a reasonable assumption.)

- Doing a small sequence of operations runs in O(maximum of all operations). Doing 5 adds (which are O(1)) runs in O(1). Doing an O(n) operation followed by an O(k) (where k > n) runs in O(k) time.

- Looping n times over O(k) operations runs in O(n*k) time. (Assume n is fairly big.)

- Due to the structure of a tree, accessing a node is generally O(depth of the node). Max depth = log_m(number of nodes) for a full tree. (Where m is the number of children each node has. For a binary tree, m=2)

- From there, you can pretty much combine these rules to analyze many algorithms. These aren't by any means all of the rules, but they are some of the most useful in my experience.
For As It Is Written - George M Dillard : Trafford Book Store
"Feature complete" is subjective. Facebook has had the option of scaling the iPhone app to the iPad resolution and releasing it with feature parity for probably at least a year.

Of course a better iPad experience comes from an app designed for that form factor but there's nothing to stop you releasing one version and then iterating on it.

So one can quite reasonably argue that Facebook has been holding back the iPad app, which raises the question of why.

I can't believe Apple doesn't want this app released given the popularity of Facebook. The original version of Ping was also integrated with Facebook that was pulled at the last minute due to "onerous terms" [1] (according to Steve Jobs).

The prima facie evidence is that there is some kind of tussle going on between Apple and Facebook. Perhaps Facebook's "onerous" terms included demands on the iTunes service and Facebook integration (which is lent more credence given Facebook's recent moves into music)? Perhaps Facebook wanted Facebook login to iTunes and other Apple properties? I don't know.

What I suspect is the iPad app is another bargaining chip.

To argue it's not "feature complete" is disingenuous. This is a subjective measure of simply deciding "that's enough".

[1]: http://news.cnet.com/8301-13579_3-20015402-37.html
Amazon to Relaunch California Associate Accounts
I agree with you, and my great hope is that there is (or will be) enough of a market opportunity for someone to exploit. The market would be for a productized distributed cloud solution that's simple to set up and maintain.

The target demographic would be people who are concerned enough about privacy, ownership of online identity, and government access to corporate cloud data to pay for a self-operated solution.

The prerequisites for this to be viable as I see it are: cheap enough hardware; cheap enough full-access pipes; enough demand; good enough UX. The first two seem fairly obviously on the right path. The third I'm not sure, and the fourth is under the control of the vendor.

[Edit: Maybe wide publicization of stuff like this: http://news.ycombinator.com/item?id=3036157 will help with the demand? Hey, a guy can hope, right?]
On like the very first day of algorithms class there was a table with a bunch of data structures down the side and insert, lookup, delete across the table with a bunch of n's and lg n's in the cells. There was also a table very much like it on the first exam, except the cells were empty.