Tuesday, December 28, 2010


I telepathically sense that this Cornell study was fraudulent and, as I concentrate hard on the future, yes, I'm beginning to feel, I'm beginning to feel that he ain't gonna collect the Randi prize. I had that feeling before and I had always been correct - I must be psychic. Take that, believers in paranormal.

Saturday, December 25, 2010

Updated The Polynomial's page

See new screenshots.
You can now buy with pay-what-you-want model. I may raise the minimum price later if it works badly.

All operating systems for everyone; pay what you want sale.

Hello everyone,

I have changed the (private) product download page for paying customers to let you download The Polynomial for any operating system regardless of which operating system you bought it for originally. You may have bought it for Windows, and now you can play it native on Linux or OS X without buying it the second time.

Also, I'm currently working on experimental pay-what-you-want sale! The minimum price is $3 (any lower and I would feel you are supporting payment processing companies too much, which are not the cause that you'd want to donate your money to, I suppose)

The scripts are ready but I am still working on the design.

You can just buy it through this blog post for now:

The price is in USD , without VAT, and minimum is $2.99.

(to be honest i'm really curious if anyone will buy it through blog post before i work on all that fancy design for sales page)

Wednesday, December 22, 2010

The Polynomial is at 50% off on Steam till January 2

If you missed the 75% off sale, you can still get it for relatively cheap at 50% off.

Tuesday, December 21, 2010

Christmas Sale.

The Polynomial is at 75% off on Steam! Only 2.5$

Also includes new Christmas-themed level and extra sound track:

I'm too bloody tired to make Christmas sale on my own website today.

Saturday, December 18, 2010

If you have some problems running The Polynomial

Go here
[Also, make sure that your card meets system requirements]

Wednesday, December 8, 2010

Long overdue server move.

Moved my site to more powerful server, and a new domain name ( dmytry.com ). I'm going to move the blog as well. I hope google pagerank is transferred correctly. Would be awful to lose my pagerank for game related searches.

Tuesday, November 2, 2010

Softonic: if you bought The Polynomial there, CONTACT ME IMMEDIATELY.

Hello guys,

If any of you bought The Polynomial from this site:


please contact me immediately by email or skype ! (Don't buy it from Softonic! Only use publishers linked from my official game page! (Steam and Plimus))

Wednesday, October 27, 2010

Linux release of (full) The Polynomial : Space of the music.

You can buy it here . Let me know if you have any problems. And sorry for the delay.

Wednesday, October 20, 2010

Review copies of The Polynomial.

If you want a review copy of The Polynomial, please mail me from the official mail address of the website or magazine that you are publishing on, or provide one, to send the key to. Understandably, I cannot send key to someone@gmail.com who says he represents Big Important Gaming Magazine. More than one person requesting for same 'zine in this way is funny too.


Monday, October 18, 2010

ATI's triple buffering

I investigated the triple buffering issue. The conclusions are:
  1. ATI itself recommends to turn off triple buffering if you experience any issues. I'm quoting directly: "However using Triple Buffering may cause problems for graphics cards with lower Video RAM, so disable this option if you’re experiencing problems such as mouse or input lag".
  2. When a big-name game gets those issues, ATI adds a "profile" to the driver to silently disable Triple Buffering for that game. Games use a wide variety of rendering techniques, and ATI's Triple Buffering implementation is known to be incompatible with many games; for those that are popular, it is silently disabled by the driver.
  3. It is not possible for the game itself to disable Triple Buffering (the driver does not provide a way to).
  4. While searching for any technical documentation it became apparent that ATI is far more interested in publishing marketing articles about benefits of TB than technical documentation. (fairly inaccurate articles, I must add, but this is normal for marketing)
  5. As a technical feature, TB is very unimportant, it's effect on the final images is minimal (when compared to plain vsync on). But as marketing buzzword, it is well utilized.
  6. TB's real purpose is to make framerates higher than display framerate appear to be useful somehow, as to provide perceived incentive to buy hardware which is over-specced for the games that their customer plays (i.e. to make gamers want their games at hundreds fps despite the fact that most games update internally at 30 fps constant, a few at 60fps constant, and that most displays update at 60 fps or so)
  7. TB introduce time jitter, which is far worse for gameplay than tiny lag which it SOMETIMES eliminates - but even that jitter is not quite noticeable.
  8. TB is bad for your laptop's battery, and ultimately for planet Earth (wastes electricity for no benefit whatsoever). I'm calling Greenpeace. TB will also result in higher temperatures and shorter lifespan of your hardware.

Just turn off TB, ok? If you got other non standard "optimizations" of the same kind, turn them off too. That will improve many other indie games, not just The Polynomial. For the big name titles, ATI itself turns off those features through game profile in the event of any problems. The Polynomial, however, is a indie game, and as such, has no 'profile' for it in the driver yet; you have to turn off incompatible features manually.

Sunday, October 17, 2010

ATI crash solution: "triple buffering" issue.

If you have recent ATI card and have trouble launching The Polynomial, check your driver options. Disable the "triple buffering" setting. It is not compatible with standard. I'll try to see if I can workaround in game, but of course the correct solution is for graphics card manufacturers to stick to the OpenGL standard.

Mac install issue: a workaround.

Originally Posted by Pob235
I have exactly the same issue. Fortunately I have a workaround that should work for now until the problem is solved, running the game manually, externally from Steam.

Using Finder, browse to your home directory. Next find the 'Library' folder and open it, then follow this route to find the game, opening each folder in succession.

'Application Support', 'Steam', 'SteamApps', 'common' and 'thepolynomial'.

Here you will find the application package 'Polynomial_osx'. Double click it to run the game!

Of course, time spent playing this way will probably not be logged by Steam so please do see it as a very temporary solution!

Thanks for finding and posting the workaround! Much appreciated.

Ahh, and by the way, I believe it would log time correctly if Steam itself is running. When developing, I usually launch my game from outside Steam, and the time is logged nonetheless, just as long as Steam client is running - i'm not entiely sure if that applies to Mac though as I were not paying attention, but either windows or mac does log time. Same goes for the Leaderboards.

Best Regards,


GeForce 7 series - proper fix for testing.

Ok fellas I have a proper fix I need tested with GeForce 7 series cards.
Download this file:
and replace original 003_Waves.lua with it (in the data folder, typically c:/Program Files/Steam/steamapps/common/thepolynomial/data).

When you choose Waves visualizer (press next when on the Laser Show 2), it should lag badly for few seconds, then switch back to Laser Show 2 . (It appears to be impossible to run Waves on Geforce 7 at any speed. Waves moves all the points around to the music)

Geforce 7 series freeze on start workaround.

Hello everyone who's using GeForce 7 series graphics card,

I think the fix for your freeze on start problem will be available on monday.

Meanwhile you can work-around this problem. In the place whereever you have The Polynomial data files installed (c:/Program Files/Steam/steamapps/common/thepolynomial in a typical install), go to data/music_visualizer sub folder, and change file extension or delete 003_Waves.lua to disable this visualizer. The waves visualizer, for some reason, works extremely slowly on geforce 7 series hardware.

Alternatively you can go to home folder / Application Data/Polynomial , and create config.100.txt containing
Do not select the Waves visualizer, and do not fly through rainbow coloured mesh wormhole.

Sorry for the inconvenience, and thank you for buying The Polynomial,


Saturday, October 16, 2010

The Polynomial released on Steam. Out of beta at last.

Wheeeeee! At last, I am done with version 1 . Released on Steam. (I'm making a note here:
Thanks to all the people whom helped to test it!
Some days later, I'll send off Steam keys to all of you whom bought the beta version - and I will give some extras on future updates as well. It's been a frantic few months leading to this release.

Sunday, October 3, 2010

Fix for upside down laptop camera in Skype under Linux

If you're unlucky to have a laptop with built in upside-down camera, and you're tired of looking like a bat:

You need to install 32-bit libv4l1compat (or something similar) and launch Skype like this:
LIBV4LCONTROL_FLAGS=1 LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so skype

If it does not work, you can try using 2 and 3 instead. Note: if when you run it complains about being unable to preload v4l1compat.so , make sure you have it. You may have it in a different place, e.g. under lib32.

In the gnome main menu, or application launcher, or the like, you should use
bash -c "LIBV4LCONTROL_FLAGS=1 LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so skype"

as the command.

Earlier fix: My girlfriend was flipping her display upside down with the video driver settings, to see me upside up. She's this awesome.
It took me a while to fish out this single command line from the sea of fixes that do not work for me, or shitty fixes such as hacking the driver to do image manipulation in the kernel LOL*.

My hardware: ASUS K61IC laptop.
The webcam USB device is listed as
Bus 001 Device 002: ID 064e:a116 Suyin Corp.
and it is reported elsewhere as
USB2.0 UVC 1.3M WebCam

The fix may work for other cams as well.

Other VERY useful webcam tool: v4l2ucp . It allows you to adjust the actual camera parameters such as gain. Those control the camera chip - they may actually be controlling the sensor settings itself - something that you cannot replicate in software afterwards.

I just cannot end a post without a little rant how something suck.
*Doing such stuff in a driver is a big no-no for monolithic kernel where drivers are run as part of kernel and any screw-up in the driver code brings entire system down. I'm with Tanenbaum. With a well designed microkernel, you do not care what the driver does, you can safely use complicated algorithms within the driver (such as decoding compressed images sent by camera) - and the kernel developers don't have to reject your code on the grounds of potential stability compromise. It's kind of bad that Linux has all the spotlight, and all the development - it is by far not the best open source kernel design around.

Thursday, September 23, 2010

Don’t cross the LHC stream

Don't cross the LHC stream
What would happen if you put a hand in LHC beam?
I think most of the question has already been answered. After experiment, LHC beam is dumped into beam dump which is made from graphite. It heats graphite to quite high temperatures, while making some secondary radiation, but it does not stop within first few centimetres of graphite. Your hand is not graphite, but it is close enough. Also, note that while the energy is equivalent to the kinetic energy of the cargo airplane, momentum is fairly small (it does not have a lot of punch).

So what I believe would happen is that it would *burn* a hole through your hand, turning a line into steam, while giving you a fatal dose of all sorts of secondary radiation from collision of protons with atoms in your hand, and sending some hydraulic compression shock wave (from steam expansion) through your body, which may or may not kill you when it reaches vital organs (i would guess it won't be strong enough to kill you, but i dont know if it will rip your hand apart). To summarize, you're gonna die if you stick your hand in LHC beam, i would say probably from radiation poisoning.

edit: correction. The beam energy is 350 megajoules, and the length of beam dump is 700 centimetres. I would say that the beam surely deposits >0.5 megajoule per centimetre at the entry, that is, your hand is going to get >1 megajoule deposited, significant fraction of this as heat. That is >250 grams of TNT . I would guess >1kg of TNT even, as the beam dump is so long as to stop the beam entirely, the beam deposits most of energy near start of dump. So I would guess that resulting explosion would kill you in a quite messy way, but at least it would be a quite quick death.

Saturday, September 18, 2010

New The Polynomial video.

See the homepage for more info.

Wednesday, September 15, 2010

Another 50-megapixel screenshot.

A gigantic 'screenshot' from my game The Polynomial

Click to see the full image in its 50 megapixels glory.

See if you can even locate this fragment in full image.

That goes to demonstrate power of procedural generation. The Polynomial loads up in about one or two seconds, far faster than your web browser. And it supports this resolution - I am not doing anything special, I am simply drawing to the memory instead of display device, using my regular draw routine!

50 megapixel screenshot

Enjoy the 50-megapixel screenshot

Monday, September 13, 2010

Programmer's Day

Wow, it is programmer's day today. Apparently.

Tuesday, August 31, 2010

The Polynomial :: Beta 010

A new release! A lot of things added which need testing. Most notably, MP3 support and music playlist. (If you are using Linux, you may need to install libmpg123 for MP3 support if your distribution comes without libmpg123. I cannot ship libmpg123 with my game due to mp3 patent constraints).

Try it on non-latin file names. Check out reordering in playlist by dragging items around.

Wednesday, August 18, 2010

Drug safety proposal (invention)

A little fluorescein in water.

Manufacturers should add something like fluorescein to all pills that are usable as date rape drugs or poisons, so that those become very visible in drinks and can't be used for crime any more. Fluorescein [using it as example] is extremely visible in either water or alcohol even at the very low concentrations even in the regular daylight (more visible in fluorescent lighting, and more visible yet in ultraviolet), and biologically safe to the point that it can be injected into your veins as staining agent for various sorts of diagnosis, at quite significant concentration and in a very visible amount (your blood goes green like alien's, under ultraviolet light at least. Cool). It is also very cheap. Only very small amount of fluorescein is required to stain a lot of water or alcohol bright green.

I used fluorescein as an example only because I have old jar of bath salt that's containing it (I also used fluorescein in lab at school). Quick check for safety of fluorescein turns up this. Apparently, for some eye diagnosis, fluorescein is commonly injected in concentrations that make you turn visibly yellowgreen and which make you piss bright yellow for a while. A milligram turns entire cup of water the very bright, highly unappetizing kind of yellowgreen which you can see in this photo. I figure if people are routinely injected with 500 milligrams of fluorescein for diagnosis, it would be quite safe to add 1 milligram of fluorescein to typical pill.

Spread this idea if you support this.

"What Would You Do: you see a guy drugged girl's drink"

From abcnews
A Man 'Drugs' His Date's Drink: What Do You Do?
Would You Speak Up If You Saw Someone's Drink Get Drugged?

I'm really disgusted at the people for generally being idiots.

The thing you *should* do: call the police on your cell while walking towards restroom (enough distance so that guy doesn't hear you), tell the girl authoritatively that guy drugged her drink and police is already on the way and that she needs to remain here until police arrives, but shouldn't go to the guy for a bit (so that she won't alert him somehow by her behaviour). If police takes a while to arrive one might ask her to keep guy busy (if she really wants to help the police - or one could tell bartender and bouncer and put guy under civil arrest, or a zillion actions really that can keep him from leaving before police arrives). You might think its harsh on the guy. Well it is not up to a single person to decide how harsh is enough for a person you know nothing about; it's a job for a well informed jury. For all you can know, the guy may be a serial killer.

Why you should do the right thing in such situation:

1: if you are among those whom care (people whom stop in Milgram's experiment): you should do this simply because this is decent thing to do. Imagine if next day in newspaper you see that the girl was found dead or disappeared, and her parents are devastated and police says it may be work of serial killer. You'll feel like total shit for a long long while, won't you? Or for a short while if you are prone to suicide. I'm pretty sure I don't want to find out whenever I can take this kind of shit on my conscience or not.

2: if you are among those whom don't care (deliver lethal shock in Milgram's experiment): you should do this, albeit the motivation would be quite elaborate:
The guy is ain't no mafia, the mafia doesn't do this shit! The girl's almost definitely higher social status than guy. Plus if you are a guy, even if you are happily married, someday you may need a girlfriend. Now the police. The guy has drug residue on hands, in the pocket, and original capsule in the pocket, plus in girl's drink. The case is as straightforward as it can ever be; you don't even need to be a witness. Police will be happy to improve their statistics! You're making friends with police! I been in Russia for some time, and Russian police is (supposedly) very bad, corrupt, and so on. But even there, in this drugging drink situation, for sure they'd arrive promptly, not to save girl but to have some fun busting some idiot with drugs and improving their statistics (an opportunity to catch an idiot to hang unresolved murder cases onto - they're gonna do that anyway - it better be this guy than some random guy).

But that is theory.

The things people actually did fell between:
1: Acting as if nothing happened.
2: Confronting the guy, but not preventing girl from sipping the drink, not informing the girl.

It is so disgusting. The first course of action, well it is cowardice. But what the hell is second? Risking trouble on yourself but NOT protecting the innocent? (what if he overdosed it or it is a (slow acting) lethal poison). And NOT getting yourself any reward for the risk, either. In a situation whereby you can protect the innocent with a minimal risk and all sorts of reward, for those selfish-inclined. This makes no sense at all - this is just idiotic.

What really, really, really disgusts me about this sort of stuff is stupidity. The stupidity that makes ordinary people be more evil, in a practical sense, than a cold minded psychopath who got no conscience at all (a cold minded psychopath, if he is smart enough, would not miss opportunity to be a hero with almost no risk! It's a jackpot situation for a cold minded psychopath - afterwards he most likely gets someone whom he always can ask for money, sex, and shelter; and something that would reduce his sentence if he ever commits a crime himself and gets caught).

We need to teach this in school, what to do, when you see a crime going on like this (call the police, stay out of trouble and protect the victim, this is not mutually exclusive). Drop the bullshit, recognize the fact that some people are selfish and some are selfless, some have conscience and some do not, and most are in between, and provide a rational explanation why this is a right thing to do, that's good for entire spectrum. Explain that it is at once moral, rather safe, and the society rewards for it - win win win. So that even the mildly evil people with no goodness and no conscience would do the right, good thing when they see situations such as that going on, even if for a selfish reason. Stupidity is the root of all evil. There is an old Russian saying: stupid friend is worse than smart enemy. You can combat stupidity by education.

Friday, August 6, 2010

Thursday, August 5, 2010

Save environment: repair compact fluorescent bulbs.

Instead of throwing compact fluorescent lamps into e-waste recycling right away, I kept them until I had 10, and then I made 3 working fluorescents out of 10 broken ones (then the stuff that cant be fixed goes into e-waste)... there's how:
1: Open all CFLs using wide screwdriver or butter knife or similar object to pry the ballast case open.
2: use ohm-meter to check resistance over nearby wire pairs from the lamp (no need to disconnect from ballast yet). If the resistance is around 10 ohm on both sides, then that means the lamp is alright but ballast is dead (check for bad solder joints or burnt out parts, you can fix bad solder joints, and it might work). If one or both sides measures infinite resistance, that means the lamp is dead but ballast may be alright (check it for bad solder joints and burnt out parts anyway). Try working ballasts with working bulbs. Nonworking bulbs and nonworking ballast should go to e-waste and be disposed of properly. It seems that any failure ends with both power transistors getting burnt out; I didn't encounter a possibility to fix a ballast using parts from another.

The economic inequality is very bad for environment. Think of all the resources wasted shipping those bulbs around. Think of all the resources wasted because consumers in the west can easily afford to buy fluorescents built together with ballast - a marginally more convenient choice - so that perfectly good ballast and perfectly good fluorescents end up in the e-waste. Think of all the resources wasted because it is commercially viable to assemble those lamp ballasts from low quality parts (due to low cost of assembly itself. This also goes for viability of just building lamp together with ballast). Think of all the pollution that is only possible because pollution, too, was outsourced to china.
Repairing CFLs like this doesn't even save me money because I am living in a "developed" country and jobs here pay far more per hour than in china where they make those lamps (By the way, all of the lamps that I looked inside were assembled by hand in first place. Kind of sad to see). I do it because it is good for environment and coz it is kind of fun to tinker with some electronics once in a while.

Wednesday, August 4, 2010

UNIPAK thread joint sealant as thermal paste.

I've had some CPU overheating problems after moving to new room... I reseated the heatsink by removing old thermal goo and replacing it with unipak thread sealant (the kind that you use together with flax to seal pipe joints) . So far it works no worse than any other thermal goo. I don't think it would dry out - it never did when I used it as thread sealant on hot water pipes.
Amusing study of thermal compounds:
thermal goo comparison

I also replaced northbridge heatsink goo with unipak. Northbridge heatsink was seated on thick layer of stiff thermal goo, the kind that is almost like glue. There was nothing wrong with it's temperature but I did accidentally slide northbridge heatsink a bit, cracking the old thermal goo. It seems that unipak performs a lot better than the old goo did - probably simply because it is runny enough and I only have a very thin layer of it between heatsink and chip (in general, with thermal goo, the thinner the better).

Tuesday, August 3, 2010


Whoops, messed up the free demos. Re-uploading now - should be done in 15 minutes.

The Polynomial : huge update.


A lot of changes, and a lot more to come out shortly soon. The gameplay is a little screwed up at the moment, but I needed testing for the new technical stuff so I released it as is.
The real bigass highlight: music visualizers, you can choose visualizer in the Game panel (press esc, the second scrollbutton under Arena), and you can adjust it's parameters in Sound&Music (or S&M how I called it during development because blinking from the earlier versions of visualizer was getting on my nerves after working on it for days). The best one at the moment is "Waves", shown below:

Uses new soundtrack made by my brother. If you want to play it with your music, you need to convert your music to OGG format and put it in data/music folder (or Resources/music , inside bundle, on Mac). MP3 support will follow shortly.

You also get two weird looking vortex things in every level, one is made of stars and is used to change arena and other is made of line grid and it changes music visualizer.

Ahh, and the menu style has been changed.

Wednesday, June 23, 2010

A new video.

See it here.
A lot of changes which I need to make better use of.

A little rant about recaptcha (prompted by having to solve recaptcha). In theory, they could do a noble thing: instead of wasting human attention, use it to read words in the books, words which computer software cant read. That's what they claim they are doing. That would of been absolutely terrific. That would of been totally awesome.
Unfortunately, there's one little thing everyone sort of misses, even though it is absolutely right-in-your-face even on their homepage:

You see, recaptcha is, for most part, using quite computer-recognizable scanned words, resorting to addition of extra distortion, blur, strikes or blobs, as to make those words readable only by human and to stop the bots. It's mostly the distortion that's making it computer-unreadable, not the book's age. As the technology evolves, they are adding more and more distortion. And also harming human's accuracy. Case closed. Sorry, guys, you've been duped, perhaps too easily because it feels better to believe that your captcha is doing something good and noble rather than just wasting people's time.
(Other little detail that is always glossed over is that its not 'books', its new york times newspaper archives and the like. "Stop the spam. Read newspapers." doesn't sound so noble)

Wednesday, May 12, 2010

Sony took the toys from air force. Cry me a river.

via Consumerist

Apparently the Air Force Research Laboratory in Rome, New York took a look at available cheap computing power and decided that the PS3 with Linux was the way to go -- until Sony removed the ability to install the OS with their latest firmware update. Now the Air Force is stuck with a lot of PS3s that can't be repaired if they break -- because Sony will update the firmware to remove the option to install Linux.
(One can only imagine what happened to those 2,000 PS3 controllers and other unneeded accessories.)

Wait a minute, how comes PS3 is cheaper than dedicated node without pretty boxes, casing, controllers, GPU (PS3 blocks Linux from accessing GPU), and such? Economics of scale? No. Sony is simply selling PS3s at loss, recovering the costs of hardware from game sales! Most notably, NOT recovering costs of hardware sold to Air Force.
I say, it's great news. Maybe next time Air Force won't try to be too clever, and will order nodes from a honest manufacturer, rather than, so to say, taking free pens from the conferences in unusual numbers. Smaller carbon footprint too, without all the unused hardware and casing.
And good riddance to Linux on PS3, as well. When you get PS3 to run Linux, it means that a lot of resources were wasted making the GPU, which you cannot use on PS3 under Linux.

It would've been best if Sony simply sold PS3 at it's manufacturing price, but I doubt anyone would want to buy PS3 then.

Friday, April 30, 2010

Electrolyzer pics.

Taken with laptop's webcam, so the quality sucks. And I wouldn't dare melting any stuff above my laptop.

For some odd reason, my aluminium cathode became badly corroded - I suspect that alkaline solution doesn't do any good to the aluminium. So I'm going to have to replace it with something else, maybe copper. I used sodium carbonate (not bicarbonate) for electrolyte coz I didn't have any KOH or NaOH handy.

Thursday, April 29, 2010

HHO torch.

I've built me a really tiny HHO electrolyzer torch for welding wires and stuff. Unfortunately my photo camera is dead, so no pics yet. I've made smaller scale HHO torch when I were 14... those were the days.

Browsing for similar projects, I noticed that a lot of designs posted online are more risky than it needs to be.
A couple safety facts:
1 litre of HHO mix at atmospheric pressure and room temperature stores about 8kJ of energy. 8kJ is no toy.
8kJ is a bit less than 2 grams in TNT equivalent. It's the energy of 100kg weight raised to the height of 8 meters, or 10kg weight raised to the height of 80 meters. That's about the energy of your fall onto ground if you fall off a roof of three-story house. That's about the energy of coin shrinker.
The combustion pressure is somewhere between 5 and 10 bar. For electrolyzer chamber with lid area of 'only' 216 square centimetres, the force would be 1..2 metric tons.
Electrodes and all the connections must be entirely covered with electrolyte at all times. Why: won't take a lot of spark to set off HHO mix. Cover your soldering joints with glue on anode.
I used soft-ish plastic food container (HDPE) for my electrolyzer, which seems like excellent choice - I'm pretty sure explosion would simply blow off the lid and spray the electrolyte around, but not any shards.

Calculations for energy:
2 H2 + O2 -> 2 H2O + 572 kJ (all amounts molar, i.e. 2 mol of H2 and 1 mol of O2 become 2 mols of H2O)
1 mol of gas is 24 liters at room temperature and pressure, so we have this

Wednesday, April 21, 2010

Solar dynamics observatory gone live!

NASA SDO first light videos! Hurray. I've been waiting for this all day.

Sunday, April 18, 2010

Mouse fibroblasts


Looks totally awesome. I'll see if I can make something similar in my game.

Saturday, April 17, 2010

Bicycle helmets.

If you look at actual testing which is specified in standard for bike helmets... 1.2m fall onto a hemisphere. 2m fall onto a flat anvil. No tests whatsoever for sliding impacts, rotational brain injury (which is extremely dangerous), neck injury, or anything of this sort. Not to mention unrealistically rigid models of head. For all the standard cares, you can produce bike helmet which simply shatters into pieces at >2m fall speeds, which cracks into pieces when deformed even half as much as head could be deformed without serious damage (you'd be surprised, but bones are quite elastic), with high friction outer lining, so that in a sliding impact it gets you the worst rotational brain injury possible. And you could still legally sell this shit as "bicycle helmet"!

Those helmets are barely rated for pedestrian accidents, for god's sake, like walking into a streetlamp pole, or falling on ice (but not falling on stairs). This is frigging ridiculous. Why won't they get pedestrians to wear those helmets? After all, pedestrian brain injuries are more numerous.

If you believe that these barely-pedestrian-grade helmets are any better for cyclists than no helmet at all, well that's your own dangerous original research, the regulations and standards clearly do not provision for any testing to ensure that bicycle helmets are useful for cyclists.
You can do it all you like, then you'd better also wear the helmet when you're not on bicycle. Anyway, why "bicycle helmet" laws? Why not construction grade hardhats? Those also got some standards, similarly irrelevant to reality of bike accidents. I'd bet an industry grade hardhat has better sliding performance.

Bicycle helmet laws were lobbied by the Industry of Useless Things, simple as that, and so were the standards. IMO any useful bicycle helmet standard that would test for realistic accidents, with considerations for the total injury (impact, rotational, and neck), would only be passable by motorcycle style helmets, and nobody wants to wear those on bicycle.

And even all the uselessness aside, adults should be free to endanger themselves as much as they want when it does not endanger anyone else; motorcycle helmets should not be mandatory either. Not wearing a helmet on motorcycle may put you in more danger, but puts everyone else in (very slightly) less danger (you have larger field of vision without helmet, plus in the unlikely case of collision of your head with someone else, that someone else gets less damage if you don't have helmet) - it is your choice to make - I would recommend wearing motorcycle helmet, though I would not wear it on bicycle because it'd look too ridiculous.

Monday, March 29, 2010

A very interesting research paper

experimental detection of gravitomagnetic London moment. There's been a lot of crank stories about strong artificial gravity on top of rotating exotic stuff (superconductors, superfluids, and so on) but this one seems genuine and it is from ESA. If this is confirmed, this is *awesome*.
Of course, though, even with their experimental controls (a different type of superconductor), this can still be an experimental error. And of course if you have spent months designing a nice measurement device, good for nothing else, your subconscious strongly wants it to find something. Especially when such a finding would result in a Nobel prize. And unfortunately other teams did not yet confirm or deny this - it is unlikely there would be much research interest in this stuff because all the crank gravity research made everyone sensible extremely skeptical.
By the way, if I were to suspect a conspiracy, the evil conspiring parties would have been *funding* crank research in gravity and cold fusion to drown any signals in the noise and to make everyone overly skeptical.

Sunday, March 21, 2010

Frame dragging, Mach's principle, and such.

From 'physics central'

If the Earth stood still and the rest of the universe rotated around it instead, would its equator still bulge? According to general relativity and Gravity Probe B, the answer is YES. It doesn’t matter if you are spinning or if the universe is revolving around you. Both situations are equivalent.

Hmmmmmmmm. That's reference to Mach's principle.
I'm no general relativity specialist and whatever I learn about general relativity is in form of textbooks with examples and stuff to solve, so I haven't ever came across the statement that rotation was 'relative' to something in GR before. Sure, people tend to think rotation is relative (not noticing that Earth is spinning), but rotation is demonstrably not relative in same sense in which motion is relative; you can sit in locked room without windows yet still deduce rotation of Earth 'relatively to far away stars' - even though you can't deduce motion of Earth relatively to far away stars, or tell apart uniform downward gravity from acceleration (which you could measure relatively to stars, if you wish). You can go beyond acceleration & rotation and consider Jerk (third derivative), then Jounce, those you can also feel in the locked room without looking at far away stars. Is there some dragging effect as well for higher derivatives, so that analogous statement like 'it does not matter if entire universe's being shaked or subway train you're riding hits a bump' would be true? [I really don't think so]. Does anyone know more about that?

Also, in special relativity (which I do know rather well, unlike general relativity), infinite or just very big universe *cannot* simply rotate at any rate of revolution, chiefly because far away parts would have to move at faster than speed of light to appear to be rotating around you. So, under special relativity it is no wonder what so ever that lack of rotation relatively to far away stars coincides with lack of rotation as determined by gyroscope. Special relativity is quite fine with Mach's principle.

Saturday, March 20, 2010

Q: What is less than 3 in <3 smiley?

A: I, where I=x2+(y-|x|)2 .

(finding the U as to obtain 3D heart is left as exercise for the reader)

Friday, March 12, 2010

Sunday, March 7, 2010

PulseAudio and why I do not use it.

[pulseaudio is a new Linux 'sound server']

Firstly, to make it clear, I think that there is nothing really wrong with PulseAudio itself. Some versions even work fine with OpenAL, which means that my game's sound works.

What's not good, however, is distributions enabling it by default, and worst yet, distributions [ubuntu in particular] include much outdated versions of PulseAudio which have more bugs. This, especially the old versions, creates extremely difficult landscape for application developers, open source and commercial alike. Furthermore, introduction of PA on by default violates the "suck less" principle - the principle that after each new update software or the system must such *less* than it sucked before - and if it does not, you'll be losing users. What's even worse is distributions entirely ignoring frequent user complaints about PA.

The most important thing to understand about PulseAudio is that it is NOT a sound driver and is NOT an ALSA replacement. PulseAudio takes in sound from applications, does some stuff on it, and outputs the sound through ALSA. It is a sound server. It adds new features, and inevitably, new bugs.
It so happens that vast majority of software can work with ALSA directly; and it so happens that ALSA includes a lot of features which people expect and need - mixing sound from different applications (even when you do not have hardware mixer), volume control, and so on. The role of PulseAudio is to add new features.

What features? Straight from the PulseAudio developer.

  • There's so much more a good audio system needs to provide than just the most basic mixing functionality. Per-application volumes, moving streams between devices during playback, positional event sounds (i.e. click on the left side of the screen, have the sound event come out through the left speakers), secure session-switching support, monitoring of sound playback levels, rescuing playback streams to other audio devices on hot unplug, automatic hotplug configuration, automatic up/downmixing stereo/surround, high-quality resampling, network transparency, sound effects, simultaneous output to multiple sound devices are all features PA provides right now, and what you don't get without it. It also provides the infrastructure for upcoming features like volume-follows-focus, automatic attenuation of music on signal on VoIP stream, UPnP media renderer support, Apple RAOP support, mixing/volume adjustments with dynamic range compression, adaptive volume of event sounds based on the volume of music streams, jack sensing, switching between stereo/surround/spdif during runtime, ...
  • And even for the most basic mixing functionality plain ALSA/dmix is not really everlasting happiness. Due to the way it works all clients are forced to use the same buffering metrics all the time, that means all clients are limited in their wakeup/latency settings. You will burn more CPU than necessary this way, keep the risk of drop-outs unnecessarily high and still not be able to make clients with low-latency requirements happy. 'Glitch-Free' PulseAudio fixes all this. Quite frankly I believe that 'glitch-free' PulseAudio is the single most important killer feature that should be enough to convince everyone why PulseAudio is the right thing to do. Maybe people actually don't know that they want this. But they absolutely do, especially the embedded people -- if used properly it is a must for power-saving during audio playback. It's a pity that how awesome this feature is you cannot directly see from the user interface.[1]
  • PulseAudio provides compatibility with a lot of sound systems/APIs that bare ALSA or bare OSS don't provide.
  • And last but not least, I love breaking Jeffrey's audio. It's just soo much fun, you really have to try it! ;-)
That's the things which PA aspires to make work. It's all amazing - AFAIK many of those features are not supported by the Windows or OS X. Well, that is all great, but you can imagine what sort of complexity PA needs with such a feature list.

I'm a simple man. All I want is to play music while I'm working, I want sound in flash, I do not like if some applications do not work, and I want sound in games (which use OpenAL). I need reliability. Complexity is the enemy of reliability, and the perfect is the enemy of the good.

I do not care about per application volume sliders (guess what, my application has two volume sliders, for SFX and music), I do not care about moving sound streams between devices during playback, I DEFINITELY do not give a damn about positional event sounds (more than that, I would not mind if event sounds even quitted working, except for: time alarm sound, and new mail sound), I do not care about multiple sessions playing sound through different devices, and so on and so forth. I'm pretty sure that a typical user has even simpler interests. The primary thing he needs is lack of regressions - everything that worked back when he decided to switch to Linux must still work - else he will switch back (!).

As developer, what I want is a stable API. A mature software which does not change much any more in each release, and which is not so buggy. Unfortunately, software maintenance is boring, and open source software is maintained by bright people whom do not like boring tasks. Open source developers want challenges. They want to do epic stuff that no other system does. They prefer rewrites over maintenance, they prefer large sets of very challenging features (often, features that almost nobody asks for) over basic set implemented to high reliability, and so on. They underestimate importance of reliability for people, and overestimate importance of new cool things (and keep doing that no matter how much are they flamed). Linux environment has a long history of frequent, major, breaking rewrites of important subsystems - far more frequent than on either Windows or OS X - frequent to the point that subsystems get rewritten before previous incarnation is polished and mature enough.

Thursday, March 4, 2010

SSL certificates - a case of daylight racketeering.

The dirty little 'secret' of the Internet is that in most networks all the computers on same LAN with you receive same data as you do, ignoring 'your' data by gentleman's agreement. [Unless computer is running 'packet sniffing' software that does not abide by this agreement] It is very easy for third party to listen to your Internet communications; far easier than to hack a computer between you and (for instance) your email server to launch a 'man in the middle' attack, standing between you and web service. Every login form and every webmail interface can cheaply and easily be encrypted using SSL, closing at least this gaping security hole.

Unfortunately what happened in practice is that some large businesses - certificate authorities - managed to subvert just about every browser (including Firefox) as to display extremely scary warnings on sites which want to just use the encryption without paying hefty yearly sums of money for supposed verification and authentication - while displaying no scary warnings on far less safe sites which use no encryption what so ever.
This bizarre browser behaviour of warning more scarily about safer sites has been done under guise of pushing better security practices. While in theory better security would be a laudable goal, in practice, what is being done is more of a negative campaign against acceptable security, preventing use of any encryption on many sites you and me visit every day.

There is a zillion uses where we do not need certificate authority but do need encryption. Router, internet camera, internet printer, and other internet appilance's web interfaces, on the devices which you freaking bought yourself, you need ain't no certificate authority here, the key can be printed on the box.
All those small web services like free webmail, blogs, etc. which are presently unencrypted would still benefit from encryption. All sorts of small sites. A lot of login forms. Literally any site if you don't feel good about government taps into the network (especially those done by foreign government, see echelon).

Even something as critical as my bank would also do better without certificate authority, and indeed, with a different, simpler protocol. Many banks (my bank, for instance) give users password generator devices or cards, as well as initial constant password (in the envelope). In person.
In a more sane universe, that device's passwords would have been used for crypto, at login ensuring both that you are yourself and that bank's page is genuine. The password IS a shared secret after all. There's SRP protocol which is good for just that kind of thing. With SRP both ends of connection must know the password; and when you login using SRP you are not revealing the password in any way (login could only work if both sides know password).

In reality, however... SSL and your browser does not require server to know your password, but instead requires servers owner to do various paperwork and to pay money to "Certificate Authority" whose key is "trusted" by browser (i.e. included in the browser install). Asymmetrical cryptography indeed. Bank pays to Certificate Authority who pays to browser developers whom don't and won't implement SRP protocol.

The way how SSL does logins goes contrary to basic expectations of users. Users expect that the password they enter would be used somehow to encrypt the communication, making communications secure against any third party who does not know the password. After all that's how ciphers work. It is very difficult to explain to users how SSL works, and not so much because users are stupid but because SSL is stupid. It makes no sense to use some devilishly clever math of assymetric-crypto and PKI stuff for password protected login, where even ciphering using secret password as key would've provided better authentication both ways [but would require long passwords because attacker can try a lot of passwords offline on the intercepted data. SRP protocol solves that problem, preventing offline guessing].

The 'protection' certificate authorities can offer to the end user is clearly inadequate - man in the middle can simply use plain http without SSL for connection to the user; according to various studies (like this) about 90% of users do not pay attention to minor aberrations such as http instead of https and absence of the tiny yellow padlock icon, even if told in advance that some samples will be fake. The real percentage for unsuspecting users would be even higher. (On top of that, the indicator totally sucks and its immediately obvious that whoever came up with the indicator has no clue what so ever. Up to 9% males are colorblind with inability to tell apart green, yellow, and red, and this alone is enough for phishing to be commercially viable. Imagine you're colorblind, you learn that white is non-secure and redyellowgreen is good, then you run into suspected bad site. And it's looking more similar to good than to non-secure). Worse yet, phisher can easily obtain digital certificate under false credentials; the most dramatic examples include random dude obtaining VeriSign code signing certificate in Microsoft's name - not a same thing but funny nonetheless. While absence of yellow padlock implies absence of security, presence of padlock means nothing; training users to think "padlock = secure" would only make phishing more effective. Hackers do obtain digital certificates just fine.

For better arguments from a real security expert, read this excellent paper by Bruce Schneier.

To summarize: More secure login technology, SRP protocol*, does exist, and is already implemented as library. Instead of supporting it, browser developers* play a silly game of making biggish corporations pay hefty sums yearly to display their address bar in green, making everyone else pay smaller sum yearly for blue, and making those whom are really cheap do a funny dance every 30 days to re-validate their 'free' certificate. Heck even CA's marketing slogans ("No More Abandoned Carts" for example) focus on the notion that if you don't pay money to get yourself green address bar, you're losing customers.
[* browser developers are ultimately in control of certificate business, deciding which certificate authorities are kosher]

(* for grammar nazis: P in SRP stands for password, so it's alright to say 'SRP protocol' but not 'SRP password')

[edit: correction. Evidently, there is one or two SSL authorities which are now trusted by most browsers, which gives away free (as in free beer) certificates, requiring you to do a funny dance every 30 days to re-validate it or something. Its kind of uncertain where this whole thing is heading - will those certificates eventually show scary warnings as well? Will they start charging money for freebeer certificates?]

Monday, February 22, 2010

This is absolutely amazing.

Lightning in slow motion.

Friday, February 19, 2010

Fooling around with the con men.

I receive quite a bit of business mail about my game, most of it good and useful. But not all.

Excerpt from some recent mail that takes the cake on verbosity and stupidity, as well as on attempts to sound patronizing and the sheer arrogance:

The next bit is the scary part and I understand why but it has to happen. You join [name removed], become an actual team member but also being on another company is fine too, as long as it doesn't go against your contract. You have to sign over the rights to the game to [name removed] Games or we can't legally claim it as our own or.. do anything with it. That is the scary part and I understand that, as it would scare me too. It's just the legal side of business.

Not your regular business correspondence, eh? Scary part, lol.
That's just the small excerpt from some mail (that did go on and on just like this for 3 pages). Conversation started off tiny and unspecific and with way better grammar, of course; it got like this only at the end.

What pisses me off the most is that some indie game developers, evidently, do/did fall for this scam (I imagine some fraction of indie game programmers are kids and/or borderline autistic and thus are easily taken advantage of) - assuming that this kind of con man earns something from his scam, and is not just a total loser who'd like to scam someone but cant.
I figure that's in part because the issue is kind of unpublicized. We're all nice people, and if you're writing about such topics, that makes you seem less nice yourself, right.
There's the nice suggestion for everyone. In business, be friendly, make a compliment or two, good for normal business. If you're talking with con man he'll think he built up the confidence, and his mail will lose any resemblance to legitimate business correspondence. The sooner con men go like this, the less time is spent in useless chitchat. After seeing what he wants you can either ignore him entirely or write something vaguely negative to watch the indignation (literally "i'm not a scammer" when you didn't even accuse anyone of anything).

Tuesday, February 16, 2010

The Polynomial :: Overdose.

Setting some parameters in the Visuals tab outside range, serendipitously, makes for some insane effects...

Unfortunately, video capture program freaks out on this abuse, and adds this ugly green area (not present in game).

Monday, February 15, 2010

Big update: version 00m


Better gameplay and new game objects. Now you should shot those pacman-ish shapes (red in HUD) which are trying to eat pretty wiggly things, and protect the pretty wiggly things (bright blue in HUD). You lose points if you shoot friendly stuff.
Fly through blue things for repair (also repairs the blue thing if it is damaged, with score increase if it was not damaged by you in the first place).
New features:
New music from Alex.
Better sound effects.
Side-to-side stereo.
New collision detection framework.
Highly trippy option (in Devel tab) to draw debug info.
OS X users, rejoice! Option to disable OS X's built in nonlinear mouse acceleration. Massively improves playability. Highly recommended to turn this option on (it's in Input tab). It is off by default because I'm not sure what it would do to a trackpad.
Fixed crash when switching to fullscreen under Windows.
Fixed some rendering issues on OS X.
Shows icon in windowmanager on Linux.
Fixed a couple audio bugs.
Minor improvements: Less screen clutter.

Monday, February 8, 2010

Installing Polynomial in local mac shop

I visited local mac shop and installed my game's demo there :-)
The testing results: Works perfect on iMac with NVidia 9400 GT 256MB and 1920x1080 display resolution, the framerate when maximized is around 30 fps, but controls are still very smooth and responsive. Though, I had trouble actually playing it because of mac's mouse acceleration curve, which is less than optimal for mouse-joystick controls. I do not know if it's just result of my dislike for accelerated mouse or affects everyone; I'll try to add option to disable mouse acceleration ingame.
Also, the new Apple's mouse is sexy, but does not permit pressing both left and right mouse buttons at same time. No biggie, can zoom with shift.

Also, I don't know why, but my game does seem to look prettier on that iMac than on my cheap display. Gosh. Now I'll be wanting to buy expensive display.

Sunday, February 7, 2010

Bugs so far.

0: A lot of issues get resolved by updating graphics drivers.

1: Switch to fullscreen fails on Windows if folder name contain spaces.
Why: microsoft's broken implementation of execv function. execv function takes name of program and list of arguments, then executes the program with arguments. Under any operating system but Windows, that means the list of argument comes into the program as is, no matter what the arguments contain. After all, that's the whole point of passing the list of arguments around instead of a single command string.
Under Windows, the list of arguments is converted into a string like this: arg1+' '+arg2+' '+arg3... , and then, in other place in the runtime, the string is split by ' ' . Meaning that if any argument contains a space, it comes out as 2 arguments. Needless to say, this highly peculiar behaviour is not documented. I need execv for restarting the application on mode change.
I workarounded the bug already but you'll have to wait a few days for the fix because I am in middle of a big change to the gameplay.

2: Old OS X issue. Some people with entry level cheap graphics card (NVidia 7300 gt 256mb for example) combined with dual xeon experience some sort of system hang (spinning beachball of death), requiring them to reboot using power switch.
Never had any reports of such happening on any other operating system, either because it does not happen, or because on other operating systems users tend to understand that if system hangs up like this, that's the system to blame.
One user managed to login remotely into the system and kill game's process, but the OS X GUI remained locked up, clocks not updating (meaning that it's not a keyboard glitch). Which seems to imply that the core of system did not hang, but Quartz (OS X graphics layer) hangs rock solid. Geez. (No credit to Apple for core staying alive, coz the core was ripped off BSD)
The causes unknown, I cannot reproduce it (I don't have that hardware), and WTF are entry level graphics cards doing inside expensive, professional dual-cpu systems anyway? That's just asking for trouble. The driver for cheap-ass card may well poorly support professional dual cpu systems (with 2 cpu chips on board, not just dualcore). In my opinion that's some driver bug which gone unnoticed for ages on OS X due to absence of games with advanced graphics.

3: Linux. For some people something is wrong with audio again, and I'd bet it again has something to do with PuPuPulssssseAAudio[LOUD CLICK] not always working correctly with OpenAL-soft.
Workarounds if you dont want to exorcise the pulseaudio demon:
If you run The Polynomial from console you see "initializing audio" as last words before crash, try edit the start script and add --nosound .
Alternatively, edit
and add
drivers = port
drivers = pulse
drivers = alsa
depending to what you're using.

Actually, I would recommend to remove PulseAudio. Most likely you don't even need it. PulseAudio being installed by default = the WORST thing that ever happened to Linux audio and Linux usability in general. PA may be a greatest thing since sliced bread if you want to play sound from computer A through computer B, but it is far worse than useless on a typical desktop system. It doubles the bloat, and far more than doubles the number of bugs. It is a pre-alpha quality software wrapping around release-quality sound system (ALSA).
I'm far from being the only developer encountering a lot of problems caused by pulseaudio. SpringRTS, the open source game engine which I occasionally contribute to, suffers from same issues. See the FAQ

Saturday, February 6, 2010

Some things in progress

Here you can see new bot type, along with debug-mode view of leafs of space partitioning structure which I've implemented for collision detection.
Pretty wiggling things will be neutral, and these will be eating wiggly things, and growing proportionally to # eaten. Or something like that. And there will be a lot more interaction between things. Also, this bot has some facial expressions.

Monday, January 25, 2010

Version 00l

Multiple crashbug fixes, and a new level in full version.

Sunday, January 24, 2010

Why NVidia(and AMD) won't opensource linux drivers

So much ranting about the topic on the internet, yet nobody has any clue. The crux of the matter is probably in NVidia Quadro (and AMD/ATI FireGL) cards which for most part only differ from the significantly less expensive "gamer" cads in the driver behavior - proper stereo support, antialiased lines, and such.

Those highly overpriced cards do serve a business purpose; them allow to cover development costs and generate extra profits while releasing cheaper cards for the masses. I wish they would come up with some hardware difference, such as 10% faster for 3x the price as common for the CPUs - but with every clueless gamer wanting 'overclockable' cards, it probably wont happen.

Open source drivers, whenever made through reverse engineering or with documentation available, are of no concern to either due to lack of manforce to make those drivers usable. People whom don't work in computer graphics don't quite appreciate the fact that 3D graphics card 'driver' is far more complicated than network card driver or sound driver; I'd say 3D card driver is an entire operating system in itself - with memory management, shader and OpenCL compilers, multitasking (for multiple OpenGL contexts), and such. The graphics card is a computing system of it's own.

Friday, January 22, 2010

Version 00k.

Has those flowers and wiggling things.
Main page.

Thursday, January 21, 2010

Fractal flowers

Some fractal flowers:

Gotta release it sometime soon. If I have time I want to make 'bots pollinate the flowers or something like that.

Tuesday, January 19, 2010

Better animated things

Another video:

I need to refine some more things before release tho.

Saturday, January 16, 2010

Animated objects!

I'm working on character animations now...

(guns turned off for test). Still needs some work - I need to manually or automatically select the shapes that look good when animated like this, and add more variation to the parameters.
The only problem it feels wrong to shot this stuff... I need to come up with some gameplay that doesn't involve shooting 'em down. Maybe shooting down evil geometric shapes that are trying to eat pretty wiggly fractal shapes...
Any ideas?

A while ago I also made some weird rings

(these will go with scripted levels and sort of physics puzzles, except the laws of physics are of my own making)

Ahh, and I might also make 'em evolve somehow or be editable.

Interplanetary drug trade.

A bag of cocaine found in space shuttle hangar
I wonder how you'd snort the coke in zero gravity... do you shake it up in the bag and then snort out? What's about stickiness of particles?

Tuesday, January 12, 2010

WTFest bug of mine.

Due to a bug in my site backend, google ads were displayed on top of my 'about' page. LOL. I didn't notice for several days because of adblock, which is a part of WTF. I use custom macro-expansion language to generate my web pages, similar to M4 - I implemented it ages ago when I began learning C++ .
edit: why ad code was here in first place: I'm trying to figure out if its worthwhile to buy ads myself for The Polynomial, so I did some experiments to find real (no bots) clickthrough rate. In fact I still have google ads on this blog for experiment's sake.

Saturday, January 9, 2010

Minimal number of species for ecosystem...

Charles Stross posted interesting question on his blog a while back - what is the minimal ecosystem with humans in it?
He's kind of biased though to show that other science fiction writers get it wrong disregarding the issue, and he considers 'genetically engineered algae that makes everything you need' to be a magic wand (It is very easy to argue that something never done cannot be done or is very hard to do). He probably intends to write some fiction where he 'gets it right' in portraying the immense difficulties of building such ecosystem.

In reality though, while we're still very long way off from building a starship, we can genetically engineer rice, corn, some bacteria, etc to produce a variety of vitamins.
In my opinion, the spaceship ecosystem, if it will ever be done, would consist of:
1: Waste incinerator and chemical plant (for processing ash).
2: Many tanks of genetically engineered algae and possibly yeasts (feeding on algae), the tanks capable of being fully sterilized.
3: Food processing plant.
4: Humans and internal symbiotic bacteria etc.
5: Frozen, radiation shielded specimens of all algae, yeasts, and human symbiotic bacteria, for reseeding through the mission.
6: Genetics lab just in case.
The problem with more complex ecosystems is that them tie up a lot of carbon, oxygen, hydrogen, etc etc. as non-human mass - wastes being processed, worms feeding on wastes, etc etc. Very small payload to weight ratio.

On topic of keeping humans on generation ship (a ship which is going on for hundreds years) civilized enough to maintain their plumbing, consider a normal small town, if you wish, on isolated island. In that town people are watching hollywood movies(they cant make movies themselves), kids are studying in school with books written elsewhere, they're believing in religion which came from elsewhere, they have social structure which 'feels right' because it matches what they see in movies, they do plumbing based on instructions from elsewhere, and so on and so forth. Right here on earth, not only such towns do not develop some widely divergent civilizations but the cultural diversity of such towns is diminishing, and been diminishing even before the Internet. Science fiction writers came up with a lot of strange social organization types for a generation ship (my personal scifi favourite is Heinlein's Orphans of the Sky), but it seems nobody explored the boring possibility that the people on generation ship mostly sit on the couch watching TV. (I don't think anyone would ever make a generation starship, but anyway)

Thursday, January 7, 2010

Cellphone microwaves are good for brains?
Really weird. Though, it goes to show that argument that 'cellphones are certainly harmless because them have no effect because radiation is not ionizing' was probably BS. TBH this study does also reek of BS, given that they did not measure health effects of different levels of microwave radiation. I.e. they weren't actually doing much science, more like, cellphone advocacy.
By the way, the fact that mobile phone radiation is not ionizing (and is, in fact, VERY far from ionizing) goes only to explain why you don't quickly keel over and die after a single phone call (which you would had cellphones been using ionizing radiation, like x-rays or gamma rays, at same power levels).
That being said, I'll keep using mobile phone; epidemiological studies have not shown any health effects whatsoever, even though in the Europe virtually everyone is using mobile phone, and most people use it a lot more than landline phone.

Wednesday, January 6, 2010

Security and mathematics.

In light of recent attempted plane bombing...
I think there is a huge number of unaccounted deaths from September 11 2001 attacks, in range of thousands, and I'm not talking of Iraqis or US soldiers. I'm speaking of US civilians in the US.

Let's look at US traffic fatalities (about 42,000 per year)
Note the rise in fatalities after September 11 2001. The traffic fatalities before 2001 were going up and down, and since 2001, only gone down in 2007 due to rising oil prices, and gone down sharply in 2008 due to the recession.

I'm pretty sure that plane security did increase the air travel time, as well as fear of flying. Consequently, some people had opted to get around interstate by car, especially for shorter distance flights where most of time is spent boarding the plane. Cars, as you can see, are significantly less safe than airlines even in the worst year (2001) counting the on-ground causalities.

I cannot know what percentage of people opt to drive rather than fly. That would require a poll. What I know is that even very conservative, small increase in car usage (1%), when multiplied by 42,000 and by 6 years, gives fairly substantial number (2,500), approaching the direct causalities (2,974 according to Wikipedia). Looking at the traffic accidents statistics, it could be even worse; thousand extra deaths per year.
That is seriously depressing. Aftermath of subway attacks in Britain may be even more depressing.
If you agree with the argument, and care about it, try make the difference.

Before giving up liberties and conveniences to avert some risks, it is absolutely essential to do a proper cost benefit analysis; failure to do so is quite equivalent to cooperation with terrorists, to direct participation in mass murder, for the suboptimal action easily results in huge number of additional deaths. Sometimes it may even be the case that very minor response is best (e.g. reinforced cockpit doors as response to 9/11/2001 could well be sufficient to prevent it from ever happening again, not because its absolutely impossible to cut through reinforced door somehow but because its secure enough to point that terrorists would rather do something else instead).
The problem is, how can democratic society do the cost-benefit analysis? A company does the cost benefit analysis for itself; for media companies, for military contractors, for pretty much all businesses involved in security, for members of the government, for many security experts, there are huge benefits from overreaction to the risks. Media is working to amplify our fears out of proportion; you will never see a major media channel comparing risks - unless it is e.g. promoting 'war on drugs' and wants to convince you that war on drugs deserves as much attention as war on terror.
On other hand, entire society bears the costs and extra risks resulting from the overreaction, not just the individuals getting the benefits. Consequently, response to terrorism is always overreaction, always biased for those benefiting from overreaction, against those harmed by overreaction.

Consider a bee sting. Normally, it takes hundreds, or thousands killer bees to kill healthy adult through the sheer amount of venom. But some people have highly overzealous immune system, sensitized to the bee sting, going out of control and destroying their own cells. Such people often die from a single sting - condition known as anaphylactic shock - people often get killed, in effect, by their own immune systems. Immune system is not intelligent - but we are. We should not let this happen to our culture.

We should not turn this failed plane bombing attempt into a successful act of terrorism, which it could easily become if boarding checks for internal travel are to take more time, for short distance flights, where driving, a much more dangerous alternative option, would become quicker and preferable leading to extra deaths in car accidents which would have been mostly prevented if people would travel by plane instead (airlines are a lot safer per km traveled than cars, even for short distance flights).

What is especially illuminating is those full body x-ray scans. I'm fairly sure that there had been no evaluation whatsoever of the number of extra cancer deaths that may be caused by x-ray scans versus deaths from terrorism that could be, arguably, prevented with those scans, which are unable to detect explosives within the body or detect plastic explosives reliably. All you can see in news about those machines is talk that dose is "very small", without actually naming the dose, and its hard to find dose estimate from reputable source (indeed, from any source other than equipment manufacturer). I bet if you ask a technician, he would be quite unable to name the dose as well (total incompetence is amazingly common).
It's as if prices did increase, and the increase was not described in percent but simply as "small". You can't straightforwardly measure x-ray dose with Geiger counter, not for low energy x-rays, due to low rate of detection for xray photons. (Though, I don't think extra x-ray dose is important problem in comparison with more car driving rather than flying because of people not wanting to be seen nude, deaths from money being spent on this rather than on healthcare, and so on and so forth). Other take on the issue.

Friday, January 1, 2010

The Polynomial: now in (stereographic) 3D

New update
Main highlights: 3D stereographic support: anaglyph and interlaced&checkerboard (some 3D hdtv's , Zalman TRIMON, etc).

The anaglyph mode requires cheap red/cyan glasses. You may want to use 'desaturate' slider in Visuals panel to make it work better for strongly coloured arenas.

The 'H stripes' mode put left and right images into even/odd rows of pixels. This works with some 3D displays such as Zalman TRIMON and various 3D HDTVs. It could also work with some shutter glasses system which use interlaced video signal (when each frame is sent as odd rows then even rows, and glasses flip so that those go to different eyes).
'V stripes' is analogous but uses vertical stripes. It could work with such thing and various commercial 3d displays that use lenticular lenses, as well as polarizing displays like zalman's but using vertical stripes.
'Checkerboard' uses checkerboard pattern, for this kind of thing (some 3D HDTVs do actually use checkerboard format).

You will need to tune the Span and Shift sliders for best effect, and maybe toggle the "swap sides" button if your glasses are other way around.

Todo: support for opengl stereo left and right framebuffer mode (probably works only with nvidia quadro cards though. I can't initialize opengl context in stereo mode on my pc at all, with geforce 9800 GT :/ ), and support for left image on one display and right image on other display.

Other good stuff: Changeable key bindings and various bugfixes.

Stuff that does not quite work yet but is coming: Multiplayer. For now, just ignore the 'devel' options tab.