HNHacker News
TopNewBestAskShowJobs

etal

885 karma · joined February 4, 2008

http://etalog.blogspot.com/
submissionscomments
etal··on The Short Talk
When was this written? I don't see a date, but the phrasing suggests he's discussing slides printed on transparencies, rather than PowerPoint/Keynote/etc.

To the author's credit, almost all of this advice is still relevant, but here's a nit: for academic work, if you have a series of steps to reveal to the audience, the "peek-a-boo" style is fine. It's only cheesy if you actually have to lay a piece of paper over the transparency and physically slide it down. (For more persuasion-oriented presentations, it's still better to avoid text-heavy itemized lists altogether.)

etal··on The Secret Cult of Office Smokers
An office can get nearly the same effect by installing an automatic espresso machine someplace not too close to close to the desks. Unlike the default American coffee, it's not quite enough liquid to be worth taking back to your desk; you don't waste time preparing it manually; you still need to wait a minute for the sugar to dissolve and the drink to cool off a bit, and then sip on it for another minute or so; and the caffeine content is moderate enough to justify several trips a day.

It also pairs well with cigs, so a smoker and a non-smoker can take a break together without it being awkward.

etal··on Open source R in commercial Revolution
Somewhat surprisingly, Revolution's enhancements have been packaged for Ubuntu since sometime last year:

http://packages.ubuntu.com/karmic/revolution-r

So it looks like they're committed to playing well with the open source community.

Getting R to work with data sets larger than available RAM is going to be a huge help, too.

etal··on Google Python Style Guide
I had thought the main difference was indenting with 2 spaces instead of 4, but this style guide says 4 spaces, too. I guess Google deliberately brought themselves in sync with the Python mainstream.

This style guide looks like a superset of PEP 8 -- where PEP 8 describes what Python code should look like, this guide goes through every Python feature and lays out exactly where a sizable group of top-notch Python hackers were willing to draw the line on maintainability vs. whipupitude for large, long-running projects.

etal··on Google Python Style Guide
Some text editors have a function for sorting text in-place. Vim does, and I assume Emacs does too.

Sorting makes it easier to recognize a common grouping of imports (e.g. some recurring functionality that requires three particular modules) without inspecting the words carefully.

etal··on Single menu bar for Ubuntu
KDE has had the option of a global menu bar for awhile:

http://en.wikipedia.org/wiki/File:KDE_Global_menu.png

It's not very consistent across applications, though. Hopefully Ubuntu's work here will also help more applications work with other implementations of it.

etal··on Why aren’t you contributing (To Python)?
Thanks for that. A project I contribute to recently had a discussion and policy change about what the right threshold is for adding someone to the official list of contributors (which also means a mention in the release notes and blog post accompanying a new release).

On advice from a Sage (sagemath.org) developer: anything. The core devs gain little by withholding the "contributor" merit badge, and simple recognition is usually the main thing that motivates a newcomer to follow through with a patch and stay with the community. So now, if a new developer helps us with any contribution -- one-line patch, test case, documentation -- we offer to add their name to the contributors list and news file.

etal··on Python IAQ: Infrequently Answered Questions
It's cool how many of these kludges are fixed in more recent Pythons, especially Python 3 (and its features backported to 2.6 and 2.7):

Q3. Polymorphism, and the lack of sequence and number types -- there are now abstract base classes for Iterable and Number types, etc.

Q6. printf function -- print() is indeed a function in Python 3

Q8. object syntax shortcut -- collections.namedtuple in Py2.6 is similar, acting something like a factory for anonymous classes

Q9. syntax for updating objects -- in recent Pythons, this works: obj.__dict__.update(foo=1, bar=2)

Q10. dictionary with default values -- collections.defaultdict

Q13. abstract base classes -- hilarious, but now there's a decorator in the abc module that does the right thing

Q18. missing queue types -- collections.deque is a good double-ended queue, and the heapq module can turn a list into a heap queue.

You can also see how many of his other wish-list items came true, especially via the itertools module, in his personal 'utils' module:

http://aima.cs.berkeley.edu/python/utils.html

etal··on Will Wall Street require Python?
Maybe so, but first we need to consider the requirements:

- There's a reference implementation, because the whole point is that the asset specification is executable

- At least one implementation is open-source, so it can be validated independently (could compromise here, but why bother these days), and cross-platform

- Financial-industry programmers, including investors, are already familiar with it and want to use it

- More readable and concise than legalese (since the goal is transparency)

- Has a built-in XML parser, or simple bindings for one, since XML configuration is another part of the proposal

I'm not sure how important type-checking or automatic code verification is here, but since Python was even mentioned in the proposal, it must not be crucial -- the main point is that investors can download the code and play with it. If the emphasis was more on creating a rigorous specification of how things work, I'd expect SML or maybe Prolog would be at the top of the list.

etal··on The Future of Computer Science, and Why Every Other Major Sucks By Comparison
This viewpoint seems to go against the HN zeitgeist -- a lot of programmers are self-taught, especially in the sciences. Just by necessity, students in molecular biology and genetics learn some scripting and how to push data around on the command line, and from that point a fair number of them really get into it and start studying the finer points of software engineering on their own.

(NB: Nearly everyone in bioinformatics has to accept some gaping holes in their education -- who has time to become an expert in each of biochemistry, medicine, computer science, and statistics?)

etal··on The Future of Computer Science, and Why Every Other Major Sucks By Comparison
Slide 6 shows a college-age girl who doesn't match the CS stereotype uploading her brain to the great interbot -- it shows that tech is for everyone, not just unattractive and friendless geeks.

Slide 13 compares CS at MIT to steak at a steakhouse, and salad to any other major. As far as I can tell, most women prefer steak to salad, given the choice and no strong social pressures either way.

I'd say this slide set is much more encouraging to women in CS than discouraging.

etal··on Scientists discover first multicellular life that doesn't need oxygen
The organelles they use for anaerobic respiration are found in other unicellular eukaryotes (single-celled organisms that aren't bacteria, like some fungal pathogens). The interesting thing here is that they're multicellular, not that their cellular biochemistry is unique.
etal··on Scientists discover first multicellular life that doesn't need oxygen
They use hydrogenosomes, or something similar, instead:

http://en.wikipedia.org/wiki/Hydrogenosome

It looks like the metabolic reaction is somewhat similar to the aerobic one used by mitochondria, but uses hydrogen ions instead of oxygen molecules. Hydrogenosomes may or may not be evolutionarily related to mitochondria.

Here's the original journal article (open access):

http://www.biomedcentral.com/1741-7007/8/30/abstract

etal··on Window Farming: Do it yourself veggie garden in your window
I think it's just hydroponics, but DIY with used plastic containers.
etal··on Unemployed, a grad student rethinks the world of work
The definitions are from the Cold War: industrialized capitalist nations in the West, communist nations in the East, and none of the above, where the proxy wars were fought. So the definition is fixed by history, and also somewhat obsolete.

Note the amusing parallel between assuming the US is turning into a "third world" country, since the gaps in industrialization worldwide are closing, and the article's original assumption that an educated middle-class girl would never have to do the same work as a Spanish-speaking working-class woman.

etal··on U.S. Obesity Trends (Maps/Infographics)
When I moved to Georgia, I was surprised by how many dialysis clinics there are. Like, half the strip malls in my current town have one.

Obesity is the main risk factor for adult-onset diabetes; diabetes and high blood pressure are the main risk factors for chronic kidney disease, and when your kidneys finally fail (whether it's under the strain of sweet tea and biscuits & gravy, or Pepsi and Big Macs), you need dialysis.

It's getting so bad now that we're seeing adult-onset diabetes, the diet-inflicted kind, appearing in kids -- not to be confused with juvenile-onset diabetes, the kind that's normally genetic.

etal··on Distributed Version Control is here to stay, baby
Other than Bazaar. But Mercurial might be the only one to support both styles fully -- each changeset gets a hash and also a revision number for the branch.
etal··on Going to America: A Ponzi scheme that works
It would cause quite the housing/employment bubble at first, and I wouldn't want to be there when the immigration flood stops and the bubble bursts. Slow, incremental changes are easier to adapt to (in a lot of relevant ways), and that's probably the best reason immigration is currently throttled -- although it doesn't justify how quotas are currently distributed.
etal··on Using bpython shell with django (and some Ipython features you should know)
Well, depending on what you want from it -- the curses UI and autocomplete implementation are very nice, but ipython has a lot of additional features that bpython isn't interested in implemented. I miss the ??function_name feature in ipython that shows the complete source code for a function or class, since the function header isn't always informative enough; I tend to use ipython's bash emulation pretty frequently too.
etal··on Why I chose Common Lisp over Python, Ruby, and Clojure
Word on the street is that the 2to3 tool is magical. Just run the Py2.6 interpreter with the "-3" flag for warnings, fix the warnings, and run the 2to3 tool to get your port.
etal··on Climate change cover-up? You better believe it
Overcoming Bias gets the gist right:

http://www.overcomingbias.com/2009/11/its-news-on-academia-n...

The links from that post are other reasonably unemotional commentaries.

etal··on Eric Raymond on "Hiding the Decline, Part 1"
Physics and math software is usually fine, sure, since the performance and reliability of the code matters in the experiments. I mean traditional biology and the less computer-oriented sciences, where they tend to just use scripts to filter data into a usable form, crunch some numbers, and generate visualizations. There, unless the software is the point of the research, writing code doesn't get the same priority (or respect) as traditional experiments. A lot of those professors just don't care about writing maintainable code; I'm guessing Dr. Briffa is one of those.
etal··on Against Camel Case
Only if it's used casually as a generic term. Keeping it uppercased proper noun (Frisbee) respects the trademark as far as the law is concerned, so that was the Associated Press guideline. Adding [TM] lets the owner emphasize that the trademark was applied for, (R) means it's fully registered, but neither symbol is required for mentioning the brand in print -- just simple capitalization is enough to respect the trademark.
etal··on Eric Raymond on "Hiding the Decline, Part 1"
Notes:

1. The fudge factor is flat after 1970. The hockey stick we care about is after 1980 or so, sharply increasing in the 1990s and 2000s.

2. The fudge corresponds to problems with recent tree-ring data that were discussed in previously published literature (I don't have the citation). The phrase "very artificial" almost certainly means it's a crude estimate based on some model that's simpler than the author would prefer -- hence, the flat line for recent values.

3. If this was an open-source project, you'd see a reference to the article that explains where the fudge came from, but it's not. Natural scientists tend to not really believe in software engineering, they just write a procedure and munge it until it works, leaving dead code and mysterious comments in their wake. (Source control? That sounds like fluffy industry stuff...) As JCG pointed out, yearlyadj isn't used in the copy of this script that we have, although it might have been used in an earlier draft of the script.

etal··on Against Camel Case
A press release from a typical company will throw as much glitter on their own brand name as possible, and usually butcher the surrounding language a bit too:

"the new FRISBEE [TM] brand Flying Disk..."

If a writer takes this literally, a copy editor has to tone it down or else the brand name will dominate the article text and make it look like an ad, too: "It's a Frisbee." Fun variants include meaningless alternating caps, or a single lowercase 'i' inside an otherwise all-caps word.

Newspapers want to use the brand name, not the logo or an ASCII attempt at one; and in decades past, fixing the caps helped comprehension rather than hurting it. They considered capitalization part of presentation, not content. (Shouldn't a brand name survive an all-caps typeface?)

etal··on Apple's Mistake
"Killer app" usually means the app that motivates you to switch platforms. For PS3 or Xbox 360, it's the game that made you want to buy the console. For Windows in the '90s, you needed MS Office to get your work done, so you bought a PC. All other things being equal -- i.e. assuming the system has a web browser and the other essential software has cross-platform equivalents -- the killer app is what kills off rival platforms.

When I hear someone say "I wish I had an iPhone right now", it's usually because they're either (i) lost, or looking for something, and want access to Google Maps, or (ii) in the throes of gadget envy. The App Store addresses (ii), but not with any single app -- it's just the idea that there are thousands of fun toys that only iPhone users get to play with.

So there are a couple of killer features, but nothing that can't be replicated on other phones. Not necessarily as well, but that's not the point: without exclusivity, the iPhone will not get the same kind of dominance Windows has.

etal··on How Neanderthal Predation Created Modern Humans
They lived and hunted in dark forests, so black would have been good camouflage. Cold doesn't have anything to do with it as long as the creature can get enough vitamin D through its diet.
etal··on Something simple I wish I learned 17 years ago
It's common in C where functions return an error code instead of a value that you would use again. Then the conditional just checks that you're OK to go ahead, and you don't need to declare another variable to store the error code. (If a language has exceptions, then this isn't as useful.)
etal··on Hivelogic - Top Programming Fonts
If you code in a style that uses data literals (lists/arrays and dictionaries/hash tables) to represent how an important part of the code is going to work -- e.g. a table that maps letters or keywords to argument lists used in some corresponding function -- then monospace fonts and block selection go well together. You can tweak one column at a time without upsetting the others if you set it up properly.

(Python's PEP8 is meant to take care of abuses, like lining up all the equal signs in a series of assignments or keyword arguments -- you wouldn't think of those as columns of data in a table, so there's no point in formatting the code that way.)

Also, monospace makes punctuation more prominent. Bjarne Stroustrup's C++ reference book uses a mixed font in its code examples, with monospace punctuation characters and proportional-font identifiers. It's weird but effective. I suppose if your code doesn't do exciting things with punctuation characters, and doesn't embed tables of data, then a proportional font would be just fine.

etal··on Ask HN: Statistics for hackers?
Try this:

http://www.bmj.com/collections/statsbk/index.dtl

The examples you gave make me think you've done some applied things with those specific techniques, but haven't covered the theory and related areas in depth. That's fine; the Square One series is simpler but comprehensive, so you'll be in good shape after that to investigate more on your own.

← PreviousPage 3 of 12Next →