skysight-inc/HackerNews huggingface dataset:
A comprehensive slide will make the perceived value of the lecture and the slides equivalent. Hence you will skim over a slide and say, "oh, they're talking about this thing now" and then go comatose for the next few minutes. Leaving a single fact as an open question acts to raise the perceived value of everything else.

The slides aren't useless afterwards because the version put up afterwards may contain all the words.

Saying this is lazy is like saying that giving students problem sets without giving solutions simultaneously is lazy. It's the same principle - if you give out solutions, you are asking the students to not cheat by working backwards from the answer, to have 100% motivation to understand the problems on their own. No student is always that motivated all of the time in all of their coursework, but tricks like that will induce them to the extra effort.

Teaching has both "hard" techniques and "soft" ones. Using both will speed learning.
Claiming that windows and mac laptops have more trouble working with a projector than Linux is bold indeed, and I think very misleading.

Strangely, in all the time I've been to talks, I've never seen a single Windows or Mac laptop have any trouble with a projector. In contrast, I've seen a few Linux machines have trouble to the point where the presenter gave up and used a different computer.

Granted that was a few years ago, it's nice to hear that Ubuntu has improved so much in recent times. I remember just three or so years ago getting a second monitor enabled would often require quite a lot of effort on Linux.
Developers are hereby invited to participate in this open source project with the aim of creating a version of Civilization which can be played online in a browser!
Because dictionaries, object-arrays, strings and other fundamentals are way more verbose than they should be:

someDictionary["bla"][3] vs. [[someDictionary objectForKey:@"bla"] objectAtIndex:3];

someDictionary["bla"] = 5 vs.[someDictionary setObject:[NSNumber numberWithInt:5] forKey:@"bla"];

"%@ - %@" % (date, name) vs. [NSString stringWithFormatString:@"%@ - %@",date,name];

Smalltalk is a lot better than objective-c even, because you can define binary & unary operators with singular symbols to make a far more concise syntax. You think you have done alot of work sometimes in objective-c when you find out that you were just extracting some values out of variables and putting it into this or that dictionary or array.
Indeed -- biz plan competitions are both fun and useful exercises. I did the 50k (now 100k) at MIT years back and it really took us from idea to...well...a plan.

[Sorry for not naming the university -- just didn't seem appropriate quite yet as it is still up-in-the-air.]
The classic C book is The C Programming Language by Kernighan and Ritchie (http://www.amazon.com/Programming-Language-2nd-Brian-Kernigh...).
This post inspired me to re-check my app on Safari & IE, and discovered it no longer worked on either. Reason: if you say "thingy.attribute === undefined", and thingy itself happens to be undefined, then it works on Firefox only. Ooopsie.
If you want to learn x86-64 assembly language, I recommend a historical approach: Start by learning 8086 assembly language, then learn 80386 (i.e., 32-bit x86) assembly language, then learn MMX/SSE assembly language; and only once you've mastered all of those, start on x86-64.

The x86 instruction set is kludges built upon kludges, and you're never going to understand it fully if you try to jump in at the end without seeing how it developed.
world's finest engineers? ;)
Certainly there are countless examples of faculty serving on SABs of start-ups using technologies coming out of their labs. [I agree faculty rarely leave jobs for this, but then, they're not typical operational people anyway...]

I agree regarding metrics: if it's absolute returns, there's little hope for the univ-associated incubator model. This is at least partly because you might be obligated to spend time with teams on which you would otherwise pass.

But, clearly the university has numerous metrics including faculty/student retention & opportunities, community development, publicity, etc.

May I ask -- is your negative perception rooted in experiences with incubators?
what's wrong with pulp fiction?
Yes, they're certainly faster than HMAC.

I've found that OCB is faster than CCM or EAX because it's only one pass, but unfortunately is patented. It can be used under the GNU GPL, though.

Phil Rogaway considers EAX to have been "supplanted by SIV". I'm not sure if I agree with that, but do like SIV for applications requiring deterministic, authenticated output with tight length overhead.
Adds are coming to your operating system.
The Lincoln Highway was built to coincide with the Panama-Pacific International Exposition in San Francisco in 1915, and was the inspiration for the Interstate Highway System.

Modern, riveted, blue jeans were invented in California.

Altavista was invented at Digital Equipment Corporation's Western Research Laboratory, in Palo Alto, CA.

iPhones were invented in California. Credit for mobile phones is spread throughout much more than Finland, with Motorola and AT&T playing significant roles.

Marx is just a non-sequitur, as far as I can tell.

Which is all beside the point, as that sentence is literary device meant to evoke a sense of place.
Do you have any documentation you'd recommend for this, I'm not sure what to read/study.

Thanks for your help cperciva.
For assembly I can recommend Lance Leventhals books.

80386 Programming Guide

And the intel reference manuals.
Looking for feedback for my new web app w3frm.com
Sorry its very minimal - I wanted a proof of concept before I
started adding more features.

I suspect that 99% of you will think its idiotic, but that leaves 1%,
and its got viral built in, so it might develop a happy user base.

There are two ways a new user will approach this app. They could hit
the front page, where they are asked to create a new accout, that's http://w3frm.com

Or more likely they could have been invited by somebody else with
an invitation URL, inviting them to a specific "group". I've
created a group called "First impressions". The invite URL is here
http://w3frm.com/invitation/bcc74050-fa63-490a-a8c9-8ce735cb9b81

You don't have to enter your real email address if you don't want, that
would only be required for forgotten passwords and notifications.

Don't overlook the bookmarklet, I think its critical to the user experience.

There's a very minimal api for browser plugins if anybody is interested.
Agreed, the biggest switch is probably from 286 to 386.

486 and Pentium didn't really do much instruction set wise (sure there were changes), then the next big change is the 64 bit systems.

edit: What do you mean kludges ? It's the most orthogonal instruction set known to man!
I'll offer one useful alternative: better software integration, and use their scale to push MS into tighter integration with HP's own software. This advice applies to Dell as well.

Suggesting that HP should build its own OS is a pipe dream, and completely unrealistic. They will be running Windows for the foreseeable future. The question is: why do they have to run the same shitty old Windows that everyone else is running?

I just had the fortune of happening upon a decent Gateway desktop at a bargain-basement price, and the sheer lack of software integration is appalling to someone who's been using a Mac for the past 4 years.

Let me enumerate some concrete examples:

- Display settings are handled by vendor-specific utilities that have zero UI consistency between Windows and the actual computer manufacturer (Dell, HP, etc).

- Sound settings are handled by vendor-specific utilities and drivers that are also not configurable in a consistent way. On a HP machine practically nothing is badged "HP" except the box itself - and certainly the usability reflects this.

- Complete utter reliance on third party (both in brand and design) software that fails to integrate deeply into the OS. The whole experience feels very jarring - because it's really a bunch of code haphazardly stuck together without any thought or concern.

Imagine if you buy a Windows laptop from, say, Dell, and out of the box you get a nice Dell splashscreen, and a streamlined setup process that takes care of all your basic configs transparently (as opposed to default Windows, which loads a ton of setup upfront for clueless users)? How about the ability to use your hardware volume up/down buttons without terrible screen flickering (bad drivers)?

There are a bajillion ways that all of the standard PC manufacturers can use software to compete in the marketplace - they simply aren't doing so right now.
Did you ever stop to consider why Apple "fanbois" are? And why, for example, there aren't such people for other hardware or software manufacturers? (Microsoft has a good few, actually, and Linux certainly has some, but the numbers of fanatics for both combined are easily dwarfed by Apple. And no PC hardware company has anything like it.) Certainly many people will buy Apple just because it comes from Apple, but the point is that there was something about Apple that attracted them in the first place; hardware and software coming from a company that actually cares about good design and isn't as tonedeaf as Microsoft's attempts at it have been. There was & is actually koolaid to drink. In any case, Gruber is talking about industry conformity, not consumer conformity, which is a whole 'nother pigeon.

edit to reply to edit:

"The conformity is what makes Apple stuff work."

To a degree, yes. Or rather what makes Apple stuff "Just work." It certainly wouldn't be past Apple technologically to make OS X run on commodity standard boxes, but it wouldn't be a very good business decision. They're a hardware company.

"Running Linux or Windows on Apple hardware is hard."

No, not even a little bit. Well, Windows on PPC would be impossible (unless we're talking about maybe one version of windows NT, I think?) but that's Microsoft's thing not Apple's, in only supporting Intel. Apple's OS these days comes with a utility that makes installing Windows dead easy if you want to, and even if you don't use that it isn't any harder than installing it on any standard PC.
Sure he did:

> HP made news this week for unveiling a Windows 7 launch bundle at Best Buy that includes a desktop PC and two laptops, all for $1199. That might be great for Microsoft...

The OS vendor wins when computer hardware becomes a commodity. The implication is that HP (or a company like them, HP is just being used as an example here) should make their own OS. Actually, in the preceding paragraph, he more than implies that. He pretty much states it explicitly. We need more players willing to make desktop OSes to force the existing players to innovate more.
This is a really misleading article. I think people wanted to Apple to license it's hardware in the days of Macs. Then Apple stopped producing original hardware for the desktop/laptop and people wanted them to license their OS for the nearly identical hardware that other manufacturers were making.

The iPhone is a mobile device and lots other companies have produced their own mobile device and OS (or more likely heavily customized from another base). Microsoft itself have produced the Zune and Xbox. Palm has it's line. Nokia uses symbian, which it now owns.

Apple have made good hardware and software, but this is fanboy drivel.
'Z' is pronounced 'zed' in some countires. Could that be it? The "Zed FS" is dead?
The K&R book is the classic C reference. I'd also recommend the K.N. King book ... C programming: a modern approach.
Another useful laptop feature is the option to use duplicate blocks as a poor man's RAID (zfs set copies option). Could be used for system files or other critical data.
The thing about HP, is they have always made commodity crappy consumer systems as long as I can remember. Compaq, which they devoured, was the quality system maker.
Brilliant marketing testimonial method you need to test . . . from MSFT?
I just noticed on Microsoft's site that they are using a novel idea I haven't seen before in mass marketing - sticking twitter / feed comments from real users tagged with today's date onto the homepage, then linking into a full social queue.

EG - Check their landing page http://www.microsoft.com/en/us/default.aspx

I have managed hundreds of A/B and multivariate tests and i have a feeling that this strategy would be a BIG winner - relevant, recent, 3rd party, and pulling in a buzz brand.

Any other good examples of this?
That violates the DRY (don't repeat yourself) principle. Repeatedly entering the same parameter declarations is busy-work, wasting labor and valuable screen space.

A better way is to use nested functions. Long-lived state goes in the outer function's variables, so you do not have to repeatedly declare them. Ephemeral variables go in the inner functions. Sub-tasks get encapsulated with zero boilerplate.

If your language does not have nested functions, use a worker class. The algorithm-wide state goes in member variables, initialized from constructor parameters. The sub-tasks are methods. A benefit is that sub-tasks from different jobs can be batched to better use the instruction cache and branch prediction information: a.do_step_1(); b.do_step_1(); a.do_step_2(); b.do_step_2(); ...
> Did you ever stop to consider why Apple "fanbois" are?

Some of them appear to need to follow the underdog, conform but not conform, or are spoken to through the marketing.

> In any case, Gruber is talking about industry conformity, not consumer conformity, which is a whole 'nother pigeon.

The industry is conforming to follow Apple. HP through marketing. Dell through design. MS through marketing/Zune/Pink. Google through Android.

edit: You jump through additional hoops to get Linux working properly. Video drivers and sound drivers are poor, sound quality is poor. Getting used to the synaptics driver for the glass trackpad was hard. And you need the drivers from Apple for Windows, which they tend to take their time with.
No I am arguing that setting up a route based on an agent does not require custom logic and therefore removes the problem from a development issue.

It would be just as valid to argue that a fire-walled web environment is more complicated than one that is not fire-walled, while true it ignores a host of realities, but it is accepted that the advantages of security outweigh the complexity of a firewall.

What I am saying is that much like a firewall, it is a task of configuration and not custom development and therefore given its ease of implementation, the advantages outweigh the marginal complexity (I am arguing that it is marginal) that it brings.

As well, I am arguing that much like a firewall ejecting this problem domain out of the application, creates a simpler solution. You can implement access security in your application, but it is commonly accepted that rolling your own is a bad idea. The advantages of dynamic user applications are clear and I am arguing that those advantage clearly outweigh the need for this simple solution, if SEO is even a problem domain of your application, it is not for some.
Forget everything about the code, data, and stack segments.
I highly, highly recommend the book "Programming from the Ground Up". It is freely available, and full of small asm sample programs to try out yourself.

Here's a link:

http://savannah.nongnu.org/projects/pgubook/
Although not biotech/chem/life sci, Stanford's incubator might be worth looking at:

http://newsse.stanford.edu/

Note: this is separate from their BASES competition (equiv of the MIT $100k) They take business ideas/biz plans from students, fund them, and let those students run them. I had a great experience learning how to start and run a business through there. However, these companies are VERY MUCH tied to Stanford, and the goal is to give students hands-on entrepreneurship experience rather than to necessarily grow these businesses to become the next Google. Afterall, because these are entirely student-run businesses, turnover is constant!

Harvard has an equiv incubator: http://www.harvardstudentagencies.com/
What, again? I remember thinking of this ~35 years ago, when I was 9.
I second the choice of K&R for learning C -- where better to learn C than from the authors themselves.

For assembly I've had a good experience with K. Irvine's Assembly Language for Intel-Based Computers, available on Amazon here:

http://www.amazon.com/gp/product/0132304686?ie=UTF8&tag=...
There's also the Polskey center at Booth. http://www.chicagobooth.edu/entrepreneurship/
That page is faked; I just see the same entries come up again and again after I refresh.

Brilliant marketing technique, indeed.
My favorite C book is "C Interfaces and Implementations" (CII) by Hanson. It's an excellent bridge from Perl/Python to C; in particular, it gives you resizeable arrays and hash tables, which are the two things you will miss most from high level languages. My advice is, learn to code C for a couple months using CII, then tackle assembly. When you see how C programs are decomposed into functions, and how arguments are passed to functions, you'll understand much more about how assembly should work as well.

I've taught a couple people basic x86 assembly using a programmable assembler we wrote in Ruby. A really great place to start with assembly is to be able to define a array of instructions and be able to "jump in" to them and see what they do.
Gray code at the pediatrician's office
See http://blog.plover.com/math/gray-codes.html for the Perma-Link.
check with Lance Weatherby - twitter @lance
http://blog.weatherby.net
Lance ran marketing at MindSpring then Earthlink.
Stephen Fleming running Venture Lab has significant experience as a VC - http://academicvc.com/
CII looks like it'll be an amazing book! Shame it's not available online, I wish it were, I wouldn't sleep tonight!

I'll probably make a purchase when I get my paycheck though, thanks!
Oh, I've been missing out, haven't seen this one, thanks!
What about Dotnetnuke? As one of the biggest and most popular open source asp.net projects out there, I imagine their architecture to be very good.
Interesting how everybody is positive about something they haven't really had a week to use. No hey, my scanner won't work, or how much did you spend on your memory upgrade ?

Let's wait three months, when the inevitable clamoring for service packs and the first complaints about slowdowns happen.

second evdawg, it's as fake as a $3 bill. The tweets are real but they've definitely been selected to give an impression, and you don't know whether the authors of the tweets are 'real' people either, or just legends.
I'd like to second the K&R book.

In addition, I've found if you're taking an engineering approach, "Applications Programming in ANSI C" by Johnsonbaugh & Kalin was to me a very valuable learning tool.

Do not go without the "C: A Reference Manual" by Harbison & Steele, which to me has been the most valuable reference book to have on my person if I couldn't get or chose not to fancy a good Internet reference.

For Assembly, my coverage has been limited to MIPS, which was in comparison to Intel's version, a lot easier to understand and thus learn from. Check out "Computer Architecture and Design" by Patterson & Hennesy. While of course mostly a book on architecture, it's rooted in learning MIPS to understand architecture and comes with the SPIM simulator software(which I assume could be had online). I also own the book by Bryant & O'Hallaron, "Computer Systems: A Programmer's Perspective" and personally I found that learning MIPS first brought home Intel's ASM a little softer.
For C, absolutely K&R.

For Asm, I concur with cperciva that the best way to go is to start at 8086 and work your way towards more modern assembly.

For 8086 I highly recommend "The 80x86 IBM PC and Compatible Computers (Volumes I & II): Assembly Language, Design, and Interfacing". I learned from this book and thought it was very helpful.

For more modern stuff I really enjoyed "Computer Systems: A Programmer's Perspective". It will be most beneficial after reading through K&R and being familiar with ASM. It focuses a lot on programming techniques, tips, and tricks so that compiled C/C++ code is turned into efficient assembly.

Finally, if you'd like to build a whole system end to end, the Motorola 68HC11 microcontroller is a fun little piece of hardware to play around with. "MC68HC11: An Introduction to Software and Hardware Interfacing" is a good book for this purpose.

Best wishes on your journey into the low-level programming world!

PS. I'm biased. I have read and own all of the above mentioned books. Thanks for getting me to brush off the dust again ;)
I think the point I'm really trying to make is that you can't just load a program into the cloud. The cloud is more like a software based mainframe if anything, but it requires a whole new set of architectures and a different way of thinking--and has radically different economic forces.
Here's the problem with oversimplifying it to client/server mainframe terminology - people get all caught up in the fact that client/server stuff isn't "new," and thus since it went out of vogue some time back, it's disproven technology.

The fact is, whether or not the "average user" doesn't understand the difference doesn't mean there isn't one.

The average user doesn't understand the difference between a lithium ion battery and a nicad battery.. The average user doesn't understand the difference between an internal combustion engine and a hybrid electric engine. Just because different technologies appear different on the surface doesn't mean that there aren't fundamental differences under the hood.

It's important to clearly define these differences, particularly for those who are choosing to participate in cloud punditry but can't be bothered to look up the wikipedia entry on cloud computing.
Let me put it another way. Apple has stopped making unique hardware for the PC. Yes it sells PCs, but it doesn't innovate on the PC hardware anymore. It innovates on the cases and configurations, but these systems could all run windows or linux. Essentially Apple did start making its operating system for PCs, it just makes it a requirement that you buy the PC from them.

As for the iPhone and mobile market, any number of manufacturers have built hardware and software for mobile market. Apple simply did this by far the best.
They're actually 0.24p each :P
Totally with you on this. And the herd votes you down (maybe me now too).
Realistically, disk filesystems have to be linked into the kernel (FUSE isn't going to cut it: too slow, and can't be used on boot), and Apple isn't going to link GPL code into their kernel. All the stuff you listed is userspace.
Mine have had all math operations for the past few decades.
Until the 1964 Civil Rights Act, women and racial minorities had their rights curtailed by law. The Family Laws of the earlier Progressive period had established that women should be paid less than men, the nominal goal being to raise men's wages so they could support a family. Women didn't get a nation-wide right to open a mutual fund till the 1970s ("nation-wide" meaning some states allowed it, and some states didn't).

It would be tough to pick out a year when America was ever really free. The best it can claim is that, for a long time, it was doing better than other countries. But it seems to me that Europe caught up a long time ago.