OOPSLA 2009 happened a few weeks ago. OOPSLA stands for Object-Oriented Programming, Systems, Languages & Applications and I've always been quite interested in the conference. The proceedings of the conference aren't put online, but I've managed to find two interesting papers:
A Market-Based Approach to Software Evolution (PDF) tries to imagine an open market which is targetted around fixing bugs and improving software. It's quite interesting as it's quite similar to a proposal from Nicholas on spending other people's money. The authors point out many potential flaws.
The Commenting Practice of Open Source (PDF) analyses projects on Ohloh and tries to spot commenting trends. "We find that comment density is independent of team and project size", but they find that it varies from language to language. "Java has the highest mean of comment lines per source lines at.. one comment line for three source code lines" and "Perl has the lowest mean with.. one comment line for nine source code lines". They list as future work to find out why this might be the case.
頭の痛い仕事でひとしきり唸り終えた後は、「インドアトレーナーに最適な負荷装置」はどんなもんなんだろう?とか優雅に思索を巡らせたりする今日この頃のメモ。全然優雅じゃねー。
- 空気抵抗
- 転がり抵抗
- 勾配抵抗
空気抵抗[N] = 0.5 x 大気密度[kg/m^3] x 空気抵抗係数 x 速度[m/s]^2
転がり抵抗[N] = 質量[kg] x 重力加速度[m/s^2] x 転がり抵抗係数
勾配抵抗[N] = 質量[kg] x 重力加速度[m/s^2] x sin arctan(勾配[%]/100)
- 質量(ライダー+自転車+装備品): 75[kg]
- 重力加速度: 9.81[m/s^2]
- 大気密度: 1.226[kg/m^3]
- 空気抵抗係数: 0.295
- 転がり抵抗係数: 0.005
- マグネットやブレーキを電子制御する方式
- フルード(空気抵抗)と切り替え式マグネット(勾配抵抗+転がり抵抗)のハイブリット
Go forth and fill your libraries with media.
Seriously, thanks to everyone for being so amazing and patient. You are the reason I love Vox.
I was just told that the Amazon Conduit will be fixed by tomorrow. I will post here as soon as I get word that it's back up and running.
I know this has been frustrating and I am sorry there wasn't more I could do to make it less so. I really appreciate your patience though.
Cheers,
負荷装置の"パワーカーブ"っておかしいな。そして"カーブ"じゃなかったし。まぁいいや。
- y = x * 2.910521 - 13.016121
- y = x * 4.788010 - 16.618479
- y = x * 7.102833 - 20.240541
- y = x * 9.215352 - 29.896671
- y = x * 10.903862 - 34.162059
先月のバイシクルクラブでポジションごとに前面投影面積を計算したわけですが、紙面とは別に私なりにザックリと結果を纏めてみました。
- フライホイールの質量
- フライホイールの径
- 駆動ローラーの径
M = (1/2 x m x r^2) / R^2
M: 相当する慣性質量[kg]
m: フライホイールの質量[kg]
r: フライホイールの半径[m]
R: 駆動ローラーの半径[m]
F = m a
F = 63[kg] x 1[m/s^2]
F = 63[kg m/s^2]
F = 63[N]
ω = a / r
ω = 1[m/s^2] / 0.03[m]
ω = 33.33333...[rad/s^2]
T = F r
T = 63[N] x 0.03[m]
T = 1.89[Nm]
I = T / ω
I = 1.89[Nm] / 33.33333..[rad/s^2]
I = 0.0567..[Nm / rad/s^2]
I = 0.0567..[kg m^2]
I = 1/2 x m r^2
m = 2 I / r^2
m = 2 x 0.0567[kg m^2] / 0.1[m]^2
m = 11.34[kg m^2 / m^2]
m = 11.34[kg]
F = m a
F = m a = T / r
F = T / r
F = (I ω) / r
F = ((1/2 x m x r^2) x (a / R)) / R
M = (1/2 x m x r^2) / R^2
M: 相当する慣性質量[kg]
m: フライホイールの質量[kg]
r: フライホイールの半径[m]
R: 駆動ローラーの半径[m]
- Kurt Pro Trainer(6+12 lb): m=8.16[kg], r=0.0975[m], R=0.0275[m]なのでM=51.28kg
- Kurt Pro Trainer(6 lb): m=2.72[kg], r=0.0825[m], R=0.0275[m]なのでM=12.24kg
- 1up CPR A-2000: m=3.4[kg], r=0.0762[m], R=0.0381[m]なのでM=6.8kg
- Elite Crono Mag: m=1.7[kg], r=0.065[m], R=0.015[m]なのでM=15.96kg
M = 3 (1/2 x m x r^2) / R^2
[I] = m (v / ω)^2
[I]: 直線運動を回転運動に換算した慣性モーメント[kg m^2]
m: 直線運動する物体の質量[kg]
v: 直線運動する物体の速度[m/s]
ω: 回転運動の角速度[rad/s]
Bad news. As many of you have probably noticed, the Amazon Conduit was not fixed in the last week's release. Unfortunately, there was an undetected bug that is preventing the conduit from working.
We are working on this bug fix and hope to have the Conduit back up and running this week.
I will keep you posted.
Thank you for being so patient.
A few weeks ago I was up in the hills about Geneva reminiscing with my sister about all the things we used to enjoy when we were smaller. When I was younger I used to really enjoy programming computer games, first on my 48K Spectrum and then later on in STOS BASIC and then 68000 assembly language on my Atari ST.
I haven't programmed a game in a very long time. However, I'm an avid gamer, playing games while travelling on my DS and at home on my Xbox 360. I almost enjoy reading Edge magazine more than I like playing games.
At YAPC::Europe in Lisbon, Domm pointed out that the Perl SDL project (which wraps the Simple DirectMedia Layer) was languishing and that we should all programs games in Perl.
A few months later I got around to playing with SDL and made a simple breakout clone which I styled after Batty on the Spectrum, but with gravity. It was fairly easy to program, but there was a lot to grasp. The Perl libraries are a mix between a Perl interface to SDL and a Perlish interface to SDL, with limited documentation, tests and examples.
Of course this is where I join the #sdl IRC channel on irc.perl.org and start discussing with the other hackers (kthakore, garu, nothingmuch). We decide on a major redesign to split the project into two sections: the main code will just wrap SDL and then there will be another layer which makes it easier to use. I've started writing a bunch of XS on the redesign branch of the repository while trying to keep Bouncy (my game) still working. There is a bunch of work still to do but we've made a good start. This is what Bouncy looks like at the moment: