Quantum Mechanics

I recently found this while browsing HN.

This paper is not only informational, but also a fun read. In it Ron
Garret dispels the myth that quantum entanglement enables faster than
light communication. He then goes on to explain how measuring a
particle is (mathematically) the same process as entangling it, and
then wanders into a brief discussion of the fabric of reality. I
especially enjoyed that this paper was written for someone who was
intelligent, but knew nothing about physics. I find myself wishing
that I could read articles written in a similar fashion for every
field of science.

 

Funny Quote by Ken Thompson (The creator of C)

‎"In college, before video games, we would amuse ourselves by posing programming exercises. One of the favorites was to write the shortest self-reproducing program. Since this is an exercise divorced from reality, the usual vehicle was FORTRAN. Actually, FORTRAN was the language of choice for the same reason that three-legged races are popular." - Ken Thompson

I got the quote from http://cm.bell-labs.com/who/ken/trust.html . You should read the rest of the speech too, it's pretty mind-blowing.

The Biggest Problem with the Internet

Governments can mess with it at will, which is unacceptable. Let me give you a few examples. First the scary one, China has demonstrated the power to intercept the internet at will. If they (or any other government really) ever decides to it would be trivial to temporarily block access to large segments of the internet and cause massive confusion, or to tamper with and sniff traffic moving through the internet. 

As another example, Egypt has just turned off access to the internet for its citizens. That's right they flipped a switch and now nobody can talk to them and they can't talk to us. Don't think either of these are possible? Here's more of an explanation. 

And of course if you don't care about Egypt, how about an example that's a little closer to home? Did you know that America's ICE has decided that it owns the internet? Before you try to defend the move and say they had the right to block sites like they did, you'd better brush up on some legalities. Looks like they had no credible evidence. (And do you honestly think that America has the right to take down international sites that have nothing to do with us?) 

Now I don't know about you, but the internet is pretty important to me. And it seems like quite a few people agree with me, Finland has made access to the internet a basic right! We need a new internet, one without anybody in charge to censor things. Making one won't be easy, but it's the only way we can defend our rights.

And don't even get me started on net neutrality :P

Update:

It appears a few other people have also had this idea. 

http://www.avc.com/a_vc/2011/01/a-frightening-week.html

http://www.datelinezero.com/2011/01/29/3-projects-to-create-a-government-less-internet-and-why-its-needed/

Idea: The Class Awards

The Class Awards are a yearly set of awards recognizing companies that have class. They have two different forms, the first form is an endorsement. Companies that rely on a great product rather than tricky marketing in order to attract and keep customers are eligible for it. The idea is that these companies, chosen from a large variety of markets have been vetted and consumers are encouraged to use them. The second form is an encouragement, and is awarded to companies that attempt to break into established markets where the leaders don't care about consumers. It will be associated with a large cash prize. Of course, the company that has enough money to give out these multi-million dollar awards will also be heavily lobbying congress to deregulate businesses.

OpenGL Part 2

I've been working on getting a particle system running these last few days. After throwing around a few ideas, I've decided to go with a multi-threaded model, with independent update and render threads. In this system, the update thread passes lists of particles to render as messages to the render thread. These messages are put into a queue, one message per frame, which allows the two threads to be speed decoupled. I'll hopefully post a video of a really simple demo soon, still working on it though. In the mean time, take a look at some videos which illustrate the effects I want to eventually be capable of creating.

Android OpenGL Madness

OpenGL is insanely complicated. In the process of trying to make a game I first attempted to tackle both the ndk and OpenGL in one fell swoop, which wasn't a very good idea at all. I then narrowed my focus upon trying to render something using GLSurfaceView. I found that OpenGL comes with a core package, but each implementation can support any of many extensions to that core. Here's a good (incomplete) reference when trying to determine which phones support which extensions. I personally haven't come to a point where I know enough to even try to do something that requires this information, but here it is. http://stackoverflow.com/questions/2093594/opengl-extensions-available-on-different-android-devices  The above-linked forum doesn't mention the DroidX, my development phone, so here is its list.

GL_OES_byte_coordinates GL_OES_fixed_point GL_OES_single_precision GL_OES_matrix_get GL_OES_read_format GL_OES_compressed_paletted_texture GL_OES_point_sprite GL_OES_point_size_array GL_OES_matrix_palette GL_OES_draw_texture GL_OES_query_matrix GL_OES_texture_env_crossbar GL_OES_texture_mirrored_repeat GL_OES_texture_cube_map GL_OES_blend_subtract GL_OES_blend_func_separate GL_OES_blend_equation_separate GL_OES_stencil_wrap GL_OES_extended_matrix_palette GL_OES_framebuffer_object GL_OES_rgb8_rgba8 GL_OES_depth24 GL_OES_stencil8 GL_OES_compressed_ETC1_RGB8_texture GL_OES_mapbuffer GL_OES_EGL_image GL_EXT_multi_draw_arrays GL_OES_required_internalformat GL_IMG_read_format GL_IMG_texture_compression_pvrtc GL_IMG_texture_format_BGRA8888 GL_EXT_texture_format_BGRA8888 GL_IMG_texture_stream GL_IMG_vertex_program

There is precious littlle information on the internet detailing how to use OpenGL ES within the android environment, so I've spent a lot of time flailig around from website to website. There are, however, two incredibly useful references available. The first is the source code of the samples included with the android SDK, this is invaluable. The second is the book <i>Pro Android 2</i> chapter 10, programming 3D graphics with OpenGL. It doesn't cover more than a few api calls, but it helped walk me through all the terminology and crazy parameters. I highly recommend reading this chapter if you're new to OpenGL.

Also the apps-for-android SpriteMethodTest is apparently a good place to look for OpenGL help. http://code.google.com/p/apps-for-android/

In case you haven't noticed, most of what I'm posting here is a tab dump that I can look back upon later. In order to make that more explicit, here's a fun game that lets you play around with particle physics. Every time I move to this tab I lose about an hour of time. http://www.notdoppler.com/frame/639.html