Skip to content

Archive

Category: Geekery

I’ve been playing some flash games recently. Here’s one I kinda like. It’s called light-bot. The goal is to program a robot to move around and light up certain squares. The only things the robot can do are walk forward, turn left, turn right, jump and toggle the light (for whichever square it currently occupies). You can make two functions, but there’s no branching, and the robot has extremely limited memory.
continue reading…

I came across a very interesting article today.

Not only does this finding help explain why the brain is able to work properly when the body’s demands for fuel and oxygen are highest, but it goes a step further to show that the brain actually shifts into a higher gear in terms of activity. This opens doors to entirely new areas of brain research related to understanding lactate’s specific neurological effects.

Federation of American Societies for Experimental Biology: During exercise, the human brain shifts into high gear on ‘alternative energy’

Very interesting. I had read speculation that the brain could run off of lactate in an emergency, but I’d had no idea it was common during exercise. It’s also interesting to note that the brain operates at a higher level of activity while burning lactate. I wonder if this might play a role in exercise induced neurogenesis.

What a great week for progress! Right on the heels of China’s first extra-vehicular activity in space, the privately run SpaceX has made history!

SpaceX’s Falcon 1 became the first privately built liquid rocket to orbit the Earth tonight, following in the footsteps of SpaceShipOne which became the first privately built crewed spaceship to fly suborbitally in October 2004. One other thing they both have in common? All the people who said it was impossible.

Wired:Space Visionaries Prove Naysayers Wrong— Again

Tracking how well your investments do is important. Without a clear idea of what kind of returns you’re getting, you’ll have no idea of whether you’re crushing the market or fettering your money away to those who are. As a long term investor, it isn’t necessary to panic about losing against the market on occasion. If I’m losing year after year, though, then it might be time to abandon active investing in favor of an index fund which will at least guarantee you’ll match the market (minus a modest management fee).

For a one-off investment, it’s easy to calculate annualized returns. Annualized growth of capital (or anything for that matter) is

((Current Value / Initial Value) ^ (1/years passed)) -1

For example, if you’ve doubled your money and it took three years, then your annualized return was 2 to the one-third power minus one, or just under 26%. This same formula is useful for calculating revenue and earnings growth of individual companies.

For an entire stock portfolio on the other hand, it isn’t possible to use such a simple process. As soon as you start adding money, which investors should be doing regularly, it becomes necessary to calculate a Net Asset Value before and after the addition of funds and dilute your asset growth calculation accordingly. It’s a messy messy process and the easiest way to deal with it is probably using the XIRR function on a Google spreadsheet.

I caught this on TED.com the other day, and it really reminded me of my friend Thomas. At least last time I met up with them, he was a programmer by day, and literally built a working spacecraft in his garage. The speaker Peter Diamonds is behind the X-Prize.

Recently, I’ve been getting more and more bogged down in my EFL curriculum work. It’s a very rough process, but even so it’s become unwieldy. The problem is the way I’m keeping track of vocabulary words.

Frequency is key

Whenever I create a new lesson, I have to choose vocabulary items to introduce. Rather than do so on a strictly topical basis, I’ve opted to focus on usage frequency. In particular, I do everything within reason to teach the headwords used for the Oxford Bookworms series of graded readers. Extensive reading is possibly the single most important part of our program, and it’s worth it to make a few sacrifices to get the kids reading actual books as soon as possible.

Spreadsheets can save time

In order to keep track of everything, I’ve made a big spreadsheet for all the vocabulary items in the curriculum. One field is the word itself, another field represents which lesson I teach it in, another is the Bookworms level in which it first appears. The Chinese translation is in still another field, and there’s one final one for any notes I might have about the vocab item. I can sort this spreadsheet by column headers to see the words taught in a given lesson, or all the adjectives taught between any given lessons, or any number of other useful combination. It’s great for making review sheets for my students.

Spreadsheets still aren’t perfect, though

So what’s the problem? The problem is that I started the list with only level one Bookworms words. Before, when I made new lessons, I used to look through the remaining level one words and choose the most appropriate group of them I could. After exhausting the level one list, things got a bit tougher. Now, when make a new lesson, that means adding new words to my master spreadsheet. Obviously, I want to add level 2 words, but sometimes there’s a word that just has to be added regardless of where it appears in the Oxford frequency lists. When that happens, I have to hunt through the list of words that appear in level two readers. If the word I’m looking for isn’t there, I have to look through the level three list, and then the level four list. It sucks.

Worse still, if I were to just copy the entire level 2 list into my master spreadsheet, there would be hundreds of duplicates, which would take hours to remove by hand. No good. Especially since the task would just become all the more unmanageable when it was time to add the level 3 list into my master spreadsheet.

Aha! I’ll just whip up a quick program to parse my excel file and remove duplicates!

Ha! What a fool I was! After spending hours pounding my head against my computer desk, I came to the realization that the excel file format is pure evil. It has decades of cruft that hark back to the days in which desktops had less computing power than my sports watch! And it won’t yield its information gracefully! Had the .xls file format been the result of one particular person, I’d have said his decision making skills rivaled those of Easter Island native who said, “I know! Let’s cut down the last tree and commit suicide because we need more identical statues!“.

Finally, I came to my senses, saved the list as text file and wrote a quick python script to read the vocabulary list into a few big arrays of strings, and then it was easy to remove duplicates:

for i in range(0, len(b2words)-1):
	for w in l2words:
		if w == b2words[i]:
			del b2words[i]
			del b2pos[i]

Then I output my list of level two bookworms (that aren’t duplicates of any words already in my curriculum) into a simple text file, and the part of speech information into another text file. Finally, I used my good friends cut and paste to add them into my master spreadsheet and I set the Bookworm level for the whole group to two.

Why, oh why couldn’t I have thought of that solution before 4 a.m.?

I found this sentence on a social aggregator the other day:

James while John had had had had had had had had had had had a better effect on the teacher.

The sentence is grammatically correct, but only madness would lead anyone to diagram it. Even with punctuation it’s a bit difficult for some to parse:

James, while John had had “had”, had had “had had”; “had had” had had a better effect on the teacher.

John wrote “had” and James wrote “had had”. The teacher liked “had had” more.

It strikes me as sorely unjust that this kind of madness parses, but harmlessly nesting a few parenthesis is taboo.

Muninn has made my Pinyin Tone Tool into something more useful– an OS X dashboard widget!

I’m happy to announce the results of a few hours of tinkering: The Pinyin Tone Widget. This OS X dashboard widget will take a series of Chinese pinyin words with tone numbers appended at the end of each syllable and will add the tone marks where appropriate (e.g. zhong1guo2 becomes zhōngguó).

Get it while it’s hot.

Juan Enriquez is the founding director of the Harvard Business School Life Sciences Project, a widely published expert on topics from the technical (global nucleotide data flow) to the sociological (gene research and national competitiveness), a former member of Celera Genomics founder Craig Venter’s marine-based genetic data collection team, and former CEO of Mexico City’s Urban Development Corporation and chief of staff for Mexico’s secretary of state. In the past, he played a role in reforming Mexico’s domestic policy and helped negotiate a cease-fire with Zapatista rebels. Here’s his TED talk on genomics. I enjoyed it.

This is a demonstration of David‘s new Adsotrans plugin. Below is a copy of 85度C’s drink menu. Click on any Chinese words you can’t read to see a popup with both pinyin and an English translation. You can also edit translations. I’m interested in hearing how you like these popups compared to those previously on my blog. Unfortunately, while this plugin is installed, my old pop-ups will be broken. There’s one on my Chinese blog to see for comparison, though. Hover your mouse over the English words in this post.

冰咖啡

招牌冰咖啡
美式冰咖啡
冰巧克力牛奶
冰拿鐵
冰卡布奇諾
冰摩卡可可
冰焦糖瑪琪朵
冰法式榛果拿鐵
冰法式焦糖拿鐵

熱咖啡

招牌熱咖啡 美式熱咖啡
熱巧克力牛奶
熱拿鐵 
熱卡布奇諾
熱摩卡可可
熱焦糖瑪琪朵
熱法式榛果拿鐵
熱法式焦糖拿鐵

冰茶

烏龍煎茶
茉莉鮮綠茶
大吉嶺紅茶
蔓香梅果釀
多多綠茶
梅果綠茶
葡萄柚綠茶
韓式柚子茶
健康梅果醋
檸檬梅子
鮮桔茶

熱茶

烏龍煎茶
茉莉鮮綠茶
大吉嶺紅茶
梅果綠茶
韓式柚子茶
檸檬梅子
鮮桔茶

冰奶茶

英式奶茶
布丁奶茶
杏仁牛奶
鮮奶茶
阿華田

熱奶茶

英式奶茶
布丁奶茶
杏仁牛奶
鮮奶茶
阿華田

冰沙

芒果雪泥
卡布冰沙
拿鐵冰沙
摩卡冰沙
黑炫冰沙
香橙抹茶冰沙

What do you think of the adsotrans plugin? What would you change if you could?

Note: Todd’s got this drink menu up on his blog (where I found it). It’s straight text, and it’s not undergoing constant revisions!