HNHacker News
TopNewBestAskShowJobs

nwhitehead

436 karma · joined April 6, 2011

Amber Whitehead shimmermathlabs.com
submissionscomments
nwhitehead··on Animated Algorithms
Feature plea: it would be awesome to have legible YouTube screencast videos of all the algorithms from sites like this for lecture purposes.

I teach various CS classes and love using these kinds of sites. It really is a powerful way to demonstrate concepts. Usually what I do is go to the site, choose an algorithm, then show the algorithm working with the default options. Then I'll change a few options and try it again. Then I might pick a different algorithm and do another demo. Then I'll share the link with the class and encourage students to experiment on their own to really understand the algorithm.

It would be convenient to have screencast demos doing the exact same thing as a backup for lectures in case there are any problems. Problems I've encountered: general Flash/JavaScript failure, projected screen resolution so bad that the site is unusable, site temporarily slow or down, sites with ads showing inappropriate content for classroom use. Video backup lets me not worry about any of that.

nwhitehead··on λ Lessons
Doesn't appear to work on ipad.
nwhitehead··on How I ended up conducting successful tech interviews with just 1 question
If you are limited to one short question, a better choice is to ask them: "Teach me something technical you've learned recently." You can evaluate their answer on technical depth and correctness, communication skills, and timeliness of the topic. And if they can't think of anything they've learned recently, that tells you something as well.
nwhitehead··on The Art of Computer Programming: Random Numbers
Once you've got pseudorandom bits working, the next step is generating variates from different distributions. Luc Devroye has a nice book on this freely available online, "Non-Uniform Random Variate Generation". http://luc.devroye.org/rnbookindex.html
nwhitehead··on Some small suggestions for the Intel instruction set
The idea is that you can use guard digits instead of full products and get correct rounding (as if to infinite precision). For IEEE-754 math you need 3 guard digits, typically named Guard, Round, and Sticky. The trick at the hardware level is that Sticky represents the OR of a bunch of bits. Instead of keeping the full 106 bit partial product at each step you only need to keep the 53+3 bit product. As you shift+add the partial products you use special rules to keep track of the Sticky bit and you will still get the right answer.
nwhitehead··on Ask HN: What's the best programming book you've read recently?
"Programming in Lua", by Roberto Ierusalimschy. This is a gem of a programming book. Some of my favorite chapters: coroutines, metamethods, weak tables, threads and states. Similar in tone and clarity to K&R "The C Programming Language". I learn something new every time I flip through this book.
nwhitehead··on Lectures Aren't Just Boring, They're Ineffective, Too
I'm a lecturer and I think clickers are great, for large classes especially. Clicker questions and small group discussion about the answers gets students thinking rather than just sitting there with eyes glazing over. It works well. By giving a small amount of real credit to the answers you even get all the slackers discussing the topic and arguing about which answer is right.

Technologically clickers are impressively easy to use as well, you just need to put in slides with questions into the main presentation. The biggest disadvantage is students who forget to bring their clicker or have endless excuses about why they couldn't be in class on a certain day.

nwhitehead··on Making ad-hoc polymorphism less ad hoc
Cool! I've used type classes in Haskell but had no idea how you could even start to implement them. It's like learning about vtable pointers for a C++ programmer.
nwhitehead··on Sorting Out the Law Behind Phil Ivey's Edge Sorting Debacle at Borgata
If you're interested in the mathematics behind this kind of stuff you should check out Eliot Jacobson's blog [1]. He does mathematical analysis of edge sorting, hole carding, card counting, loss rebates, etc.

[1]: http://apheat.net/

nwhitehead··on The Littlest CPU Rasterizer
Fun! When I saw spherical harmonics I was confused about why spherical harmonics would come into play in a voxel universe (isn't everything flat?). Digging into it a bit I found out more about spherical harmonic lighting: http://www.research.scea.com/gdc2003/spherical-harmonic-ligh...
nwhitehead··on Mandela was right: the Foreign Language Effect
1 mile = 1760 yards
nwhitehead··on 3D GIFs Created with a Simple Visual Effect
This would be pretty easy to do in games since you have all the z-buffer info already. I'm thinking of a HUD that has multiple horizontal "monitors" that show you the action. Then when things get close, they pop out of the monitors for the 3D effect. That would be awesome!
nwhitehead··on Computer Modern on the Web
I prefer Palatino when typesetting mathematics using latex. It looks nicer than Computer Modern and is super easy to use. Nowadays I use xelatex and actual fonts instead of staying stuck in the tex font ghetto.

http://www.tug.dk/FontCatalogue/palatino/

nwhitehead··on Elsevier steps up its War On Access
Academic publishers generally do give explicit "consideration" to make the contract valid. I don't remember what Elsevier does exactly, but the "consideration" is typically discounts on copies of the journal or conference proceedings where the article will appear or other types of discounts on the publisher's products. Yippee. The contracts typically don't actually promise to publish anything (they don't want legal liability that way).
nwhitehead··on What if successful startups are just lucky?
You could also accept groups with good interviews in the experiment batch, but not include them in the experiment.
nwhitehead··on What if successful startups are just lucky?
I would absolutely love to see a double-blind randomized experiment with controls for YC applications. In one batch, randomly and secretly assign CONTROL or EXPERIMENT to each application (in whatever proportion you are comfortable with). Of the CONTROL batch, do regular reviews. For the EXPERIMENT batch, randomly accept the same percentage of groups as the control. Then have people outside of the reviewers try to label each group correctly at different stages and see how they do. These people could be: YC alums, YC staff not on the interview loop, VCs making investments, outside experienced CEOs, successful startup founders.

For full double-blindness you could even do interviews with the EXPERIMENT group, then use a program to automatically either use the interview result or not. This might be aggravating for reviewers, though, seeing their work wasted by random choices.

nwhitehead··on Visual Cryptography
Visual cryptography is fun! I used the idea to make wedding invitations when I got married. We printed out black and white patterns on transparencies along with some other graphics, then when you overlapped the "his" and "hers" transparencies you got the secret message.

It took some fiddling to be effective. I originally wanted a high-resolution image but that made alignment really hard. It ended up being larger pixels at maybe 8 pixels per inch.

nwhitehead··on Apple Says New OS X ‘Mavericks’ Will Be Offered for Free
That article agrees with Touche, unless I'm missing something.

EULA: "[you are free] to install, use and run up to two (2) additional copies or instances of the Apple Software within virtual operating system environments on each Mac Computer you own or control that is already running the Apple Software."

nwhitehead··on Future instruction set: AVX-512
There aren't a lot of advantages to putting quadruple precision into the hardware. Typically with numeric code you don't run out of exponent space you run into precision limits. To increase precision you can use software techniques like double-double representation. This doubles precision and keeps the exponent range the same at the cost of increased numbers of instructions.

The real action is in FMA (fused multiply-add) instructions. These instructions do two operations then a correct rounding of the result (e.g. round(a*b+c)). FMA in hardware is great. It lets you write functions with provably tight errors or even provably correct rounding of the result. More and more platforms are providing FMA [1].

[1]: http://en.wikipedia.org/wiki/Multiply%E2%80%93accumulate_ope...

nwhitehead··on How American Homeschoolers Measure Up
Interesting link!

I think the explanation is that homeschool parents are not providing "tutorial instruction" to their children most of the time (that's the 2 sigma effect). I don't know of good statistics of actual parent behavior but from my homeschool readings it seems like parents often provide something like "reinforcement", "cues and explanations", and "student time on task". Those are 1 to 1.2 sigma effects.

nwhitehead··on Apple’s iPhone 5 touchscreen is 2.5 times faster than Android devices
It's fun to measure these sorts of numbers for all kinds of devices. You don't need equipment that is too fancy, a Casio Exilim EX-ZR10 (cheap!) is good enough to get numbers within 4ms by framecounting the high speed videos. I personally find input lag on Android devices infuriating, I wish more attention were devoted to fixing it.
nwhitehead··on Apple's A7 is Made By Samsung
I've always heard "vertically integrated" as a separate category from "IC design house". Supply chains are long and the endpoints vary depending on the context.
nwhitehead··on The Commodore 64 Spike: A Freakonomics-ish Theory of CS Education
That is seriously cool. I'm jealous, I want to put on an event like that!

Looks like the code is available at: https://github.com/kgrandis/teentechcamp

nwhitehead··on The Pernicious Myth that You Don't Need College to Be an Entrepreneur
Colleges and universities are great places to do projects with people and build social networks. Doesn't require paying tuition!
nwhitehead··on Why U.S. News' college rankings hurt students
I agree with everything in the article, U.S. News' rankings are terrible and have hugely bad effects. There are better lists. For example, Affordable Colleges Online has a list of the best return-on-investment CS degrees [1]. It has it's own questionable methodological choices but it's a much better start for anyone thinking about getting a degree.

[1]: http://www.affordablecollegesonline.org/college-rankings-onl...

nwhitehead··on Why hardware development is hard: Verilog is weird
MyHDL is great, more people should use it. I find it especially powerful for building test frameworks. I love using the power of Python for all the verification logic.
nwhitehead··on How Poverty Taxes the Brain
This is a good paper but I believe it is misinterpreting the results. There is strong evidence that people have a limited capacity for making tough decisions. This "willpower" or "bandwidth" gets used up as decisions are made. I think the right interpretation of the results of the experiments is that fixed price decisions are tougher decisions for poorer people than for richer people. This interpretation would differ from "poverty impedes cognition" in the decisions of richer people to bigger price tag scenarios. I would expect asking richer people about what they would do if their house were destroyed in a plausible way not covered by their insurance would induce a similar cognitive impairment.
nwhitehead··on I'm Building a GitHub for Writers
An idea is to think about rendering/typesetting as a feature. For many, getting an environment set up to turn the project files into final files of whatever form is a huge barrier. It would be great to have a bunch of back-end rendering be just a click: Markdown->HTML, Markdown->PDF, Markdown->epub, Latex->PDF, Latex->HTML.
nwhitehead··on I'm Building a GitHub for Writers
The intersection of git and wikis is interesting, it's one of those things that sounds compelling but then the details usually end up making it hugely complicated. Worth thinking about.

For general writing collaboration I would seriously consider not allowing arbitrary branches. Most people just get confused managing multiple independent outstanding branches that potentially branched from different points in the history.

One restriction could be that each user gets a single branch (their suggested change). As changes get merged into HEAD each user's branch must be rebased (with a click) before they can add more changes to it. From a programming point of view this is restrictive; why can't I suggest two independent features? But keeping track of dependencies is precisely what's hard for people.

nwhitehead··on Paul Graham on Building Companies for Fast Growth
Coming at it from the teaching side there is definitely a high correlation between lack of foreign accent and good teaching skills. In school I used to help assign graduate TAs into math sections. We would go through and rate all the graduate students by teaching skill and then use that to divide up teaching and grading assignments.

The data showed unambiguously that TAs who lost their accent were much better teachers than those who didn't. It wasn't about not being able to understand the words of the TA; there was an English qualification test that weeded out anyone who couldn't be understood clearly. I think the lack of accent was a proxy for other changes, like being adaptable and willing to alter one's behavior. The bad TAs with accents tended to use ineffective teaching techniques and not change while the good TAs updated their teaching methods based on feedback.

← PreviousPage 2 of 5Next →