Saturday, April 13, 2013

Learning to Program

I have lately taken up a concerted effort to remind myself how to program.  While I am not foreign to the task of programming, once I completed my minor in computer science, I more or less hung up my keyboard ( figuratively) in an effort to focus on mathematics.  I rather regret that, as I really enjoyed programming when I cared about what I was actually programming.

For those of you looking to refresh your skills, or learn to program from scratch, I have a few interesting sites that are great fun resources.   These are Code Academy and Project Euler.  

Code Academy is constantly adding more and more languages and tutorials to their offerings, making it more and more indispensable, but it already has HTML, Javascript, Python, Ruby, and several others.  It focuses more on web based programming but the skills it teaches are useful in most areas, once you learn the given syntax and work through the tracks.   They have an interesting rewards and badge system, which I dare say seems way to easy to get badges.  I have not done much I would consider of note on there yet, and I already seem heavily decorated.

Project Euler needs you to be familiar with programming and after the first few projects be a fairly good programmer.   It is not a teaching material, but rather it is a series of problems that are supposed to test you programming abilities to work through complex problems that could not be worked out by hand in any reasonable amount of time, but a decently coded program should be able to find the answer in under a minute of computation time.

While I am sure there are many many other valuable sites, these are the ones I am currently spending my time on, and enjoying greatly.  Do my readers have any suggestions?

Sunday, April 7, 2013

Not all Projects are Equal

I by no means am telling anyone what they should or should not crunch, but the more and more I have been looking into various projects the more I am wondering why some projects have such massive appeal.  So I am a mathematician by training, so you would imagine I would be all over prime grid and a number of other mathematical based projects.  In fact the state of things as they currently stand I crunch two "projects"  World Community Grid, and GPU Grid. More on why to come later.

Sadly I feel the people that crunch any mathematical based project, really do it just for the cobblestones, and couldn't give a damn about what they are actually accomplishing.  Finding a new prime number really won't change the world, and has just a minor impact on encryption schemes.  Cracking a code ( Moo! Wrapper) by brute force is far worse than actually looking for prime numbers because in that case you are simply applying an algorithm to try and unscramble a message. Looking for a counter example to Collatz conjecture, or any other mathematical conjecture is not research.  It is just letting your computer work through piles and piles of computation just for fun.

I am not sure there is a single mathematical conjecture on Boinc that has profound impact on the world, as they all tend to be in the purest of area's, in which showing that they are true might have some impact at some point in time, but guess what our computers could never show that these conjectures are true. We can check a google of numbers, do you know how many are left?  (Infinite!)  The longer these projects crunch the more we see that they could be true, but they can not be established as true until there is a proof that establishes them as fact.  And before you bring the four color theorem into this which was "proved" by computers, that is far different than this.  The difference is some mathematicians in that case developed an algorithm and classified all possible maps into a finite number of categories.  They provided a proof that all maps had to fall into that finite number of categories, and then used the computers to check the coloring on each of those finite number of categories.  As far as I have heard no such thing exists for any Mathematical Conjecture on Boinc, they are simply constantly checking a few more off the infinite list to check.

I would much rather see people contribute their crunching time to something that is doing actual research that can be conclusive in either way.  If searching the stars are your thing then there are wonderful projects in which you can check for Extra Terrestrial life, or scan for pulsars.  If you are a chemistry or physics enthusiast  then there are wonderful projects working on research in each of those areas.  If you want to feel like you are really contributing to the state of humanity by tackling medical, or world problems there are projects that can do that too.  I fall in the later which is why I currently am focused on World Community Grid and GPU Grid.

Thursday, March 28, 2013

Why I am never the first to buy a new technology

There seems to be several different types of people in this world, those that always want the newest of everything, and those that like to see what kinks each product has and wait for them to be either worked out or written off as design flaws.  Maybe its because I was one of the early adopters to a particular smart phone, way back several years ago, lets just say anyone that ever had one, mostly refers to those smart phones as intelligent paper weights, which barely functioned well enough to make calls 90% of the time ( if you want to do something besides make a phone call forget it nearly 100% of the time).

Since then I have learned that, I'd rather not be the first to test out a new version of a software, or buy the newest graphics card before they have been tested and been through several versions of drivers, and so on.  So why am I writing this?

nVidia recently released its newest consumer GPU the Titan, which while it is in theory a massively powerful GPU, I read of quite a few crunchers that bought them basically the second they were released, got them, put them in their computers, only to learn that due to driver issues they either did not work or worked poorly with the projects they really wanted to use them on.  Does this mean that Titan will never be a massive crunching card?  No, it simply means the kinks need to be worked out of the development process and find its way into the tweaking of the drivers before they can really shine.

In a certain sense, the people that like to hold off, like I do, owe thanks to those that want the newest items, as we learn from their mistakes, and when we do buy we have products that work near perfectly thanks to the early adopters.

World Community Grid Signature