News for hackers. Stuff that matters.

MTGandP

Re:Go vs C++: Ray tracer (part 3) on Saturday October 05, 2013 @01:22AM (#6499516)
Can you elaborate on why -O3 often generates slower code? I've never heard that before.
Re:WTF Is Calico, And Why Does Google Think It Can Defy Aging? on Thursday September 19, 2013 @07:43PM (#6415056)
It's nice to see some big names focusing on anti-aging research. It seems obvious that anti-aging research is a good idea, but surprisingly few people are actually pursuing it.

This video (http://www.youtube.com/watch?v=Pm-5s__aZE0) has an interesting debate about whether immortality would be a good thing. I'm still uncertain about this; but I think it's fairly straightforward that our healthspans have not yet reached optimal length. Heck, we currently spend the first 20-30% of our lives just getting the ball rolling.

Re:Hacker News All-Time Top Links on Sunday September 08, 2013 @11:32PM (#6351686)
"The Dennis Ritchie of this generation was just born."
Re:The keyboard layout project on Sunday October 28, 2012 @04:46PM (#4709927)
Then I'll make sure my test subjects continue to practice QWERTY.
Re:The keyboard layout project on Sunday October 28, 2012 @04:13PM (#4709847)
Thanks, that could be valuable. Is the data separated by keyboard layout?
Re:The keyboard layout project on Sunday October 28, 2012 @04:02PM (#4709813)
You can use a new keyboard layout and still remember QWERTY. It's just like learning a second language (only it takes a lot less time).
Re:The keyboard layout project on Sunday October 28, 2012 @03:44PM (#4709769)
You can use [my keyboard layout optimizer](https://github.com/MTGandP/Typing) to create your own optimized keyboard. I provide a corpus of programming text you can use, and you can change the weightings to increase the significance of the programming text. (I don't remember if I wrote documentation explaining how to do this; if you want to do this but can't figure out how, remind me and I'll write up some documentation.)
Re:The keyboard layout project on Sunday October 28, 2012 @03:41PM (#4709759)
The [Kinesis](http://www.kinesis-ergo.com/) Advantage is a cheaper alternative to Maltron that follows the same design pattern. It's the keyboard I use, and it's definitely more comfortable than a typical staggered keyboard, or even a simpler ergonomic keyboard.
Re:The keyboard layout project on Sunday October 28, 2012 @03:36PM (#4709749)
Author of The Keyboard Layout Project here. I'm familiar with Workman; it's a reasonably strong attempt, but I think it has a number of problems and fails to perform as well as Colemak or my own layouts.

If you compare Workman and MTGAP 3.14 (shown [here](http://mathematicalmulticore.wordpress.com/the-keyboard-layo...) using [my keyboard evaluator](https://github.com/MTGandP/Typing), MTGAP 3.14 performs better on every single statistic except finger work. (You can see all of the different statistics explained on [my GitHub page](https://github.com/MTGandP/Typing/blob/master/Fitness). I didn't post them all here because it takes up too much space, but if you want, you can pull the program and to the comparison yourself.)

Re:The keyboard layout project on Sunday October 28, 2012 @03:26PM (#4709723)
IIRC, Dvorak has about 500,000 users worldwide.
Re:The keyboard layout project on Sunday October 28, 2012 @03:23PM (#4709716)
I'm not trying to design yet another standard. I recommend that people use [Colemak](http://colemak.com/)—even though it's not as popular as Dvorak right now, it's easier to learn, so I think it has a better chance of overtaking QWERTY in the long run.

I design keyboard layouts because it's fun. I want to discover what it means for a layout to be the best. It's more of a scientific curiosity than a desire to make things better—although I do think QWERTY is in need of replacement.

> qwerty might be 1 to 5% less optimal than something else - let's even say 10%.

It's definitely a lot worse than that. If you're just talking about finger travel distance, for example, most modern keyboards (Colemak, [Arensito](http://www.pvv.org/~hakonhal/main.cgi/keyboard), my keyboard) do about three times better.

Re:The keyboard layout project on Sunday October 28, 2012 @03:18PM (#4709697)
That's why my keyboard layouts try to optimize for rolls more than any other layout I've seen. The most recent version has a number of very nice rolls, TH, IN, ST, and some other less-frequent digraphs.
Re:The keyboard layout project on Sunday October 28, 2012 @03:15PM (#4709688)
Hi, writer of The Keyboard Layout Project here. I'm well aware of the limitations of scoring a layout based on crude heuristics, and I'm trying to collect some good data. Right now I have some data from a few layouts that I've collected using [Amphetype](http://code.google.com/p/amphetype/), which records speed and accuracy for characters, trigraphs, and words. I'm curious, what program did you use to collect typing data?

If you or anyone else has typing data or is willing to collect some, please post a comment on my blog (preferably [here](http://mtgap.wordpress.com/2010/01/16/wanted-typing-data/)) and I will email you.

Ideally, we would have typing data not just from QWERTY and carefully-designed layouts, but randomized layouts. All the layouts people use (except QWERTY) share design patterns—putting the most common keys on the home row, etc. We can get more accurate data if we know how people type on random layouts.

I plan on using a little grant money from my school to pay some people to learn randomized keyboard layouts and then record typing data. If anyone's willing to do this for free, I'd love to have your help; again, you can contact me by leaving a comment on my [blog](https://mathematicalmulticore.wordpress.com/).

Data collection with a web app is also a good idea. I don't plan on writing such a thing any time soon, but if anyone does plan to, I think it would be very useful.

Re:Our Magic on Friday October 26, 2012 @06:32PM (#4704571)
The entire purpose of the modern economy is to pay other people to do things so you don't have to do them yourself. Did you build your house from trees that you chopped down yourself? Do you grow all your own food? Do you cut your own hair?

If you think it's worthwhile to do your own grocery shopping, then you may do so. But there's nothing wrong with paying someone else for a service.

Re:Some advice from Jeff Bezos on Friday October 19, 2012 @06:13PM (#4675601)
Maybe it's obvious, but I think the observation resembles an NP-complete problem: it's easy to verify that it is true, but finding it is difficult.
Re:The Zeroth Rule of Presentations on Wednesday October 17, 2012 @08:39PM (#4667031)
You shouldn't even have text at all on the bottom half of the slide. Text on a slideshow presentation should be minimal. The audience should be listening to you, not reading your slides.
Re:International Obfuscated C Code Contest Winners on Wednesday October 17, 2012 @08:18PM (#4667005)
A lot of your commit messages don't make any sense. Is there any point at which the program was fully functional but non-obfuscated?
Re:What I Hate About Working At Facebook on Wednesday August 15, 2012 @12:51AM (#4384639)
It took me until I read the comments on this thread.
The program outputs your site-specific password to stdout. Is it possible for an attacker to get your stdout history?
Re:Sorting and searching at the library on Sunday August 12, 2012 @11:38PM (#4374502)
> It's my life's dream to do a real-life process vs. algorithm design comparison like this one.

I've done some simple analysis of card sorting. I've timed myself vs. other people sorting cards, where I use bucket sort and they use whatever they want. I usually beat them by about 20%, but that may just be because I've practiced more. I think bucket sort would have a clear advantage over naïve sorting if the deck had about 100 cards or more.

I've also tested bucket sort against merge sort, and they're about the same speed.

For my bucket sort algorithm, I use two iterations. First I sort the cards into three buckets, where the first contains cards 2 thru 5, the second contains 6 thru 10, and the third contains face cards. Then I do insertion sort on the buckets. On mergesort, I switch to insertion sort for sufficiently short lists.

Re:Sorting and searching at the library on Sunday August 12, 2012 @11:17PM (#4374450)
This was a fascinating article. I do have a small correction: bucket sort is more similar to quicksort than merge sort.

merge sort bucket sort

1. divide (in half) 1. divide (in bins)

2. sort halves 2. sort bins

3. merge 3. done!

(Edit: Sorry, the formatting isn't great. I don't know how to do fixed-width text.)

The big difference here is that for merge sort, dividing the lists is trivial because all you have to do is split it into the first have and the second half. But for bucket sort, you have to actually look at each element to decide which bin it should go in. This is more like quicksort's partition step.