Stable Version (I think)
new edits to this version:
performance enhancements
- ajax loading
- caching
- some code optimizations (not many ><)
multiple stylesheet themes
- clean
- dark
- blue
Wednesday, April 28, 2010
Monday, April 26, 2010
Just Because...
Friday, April 23, 2010
GAEPF Update
Currently the entire environment is stable... not sure how long that'll last.
Learned another valuable lesson of why code reuse is essential, not only am i wasting time writing new methods, but having wrote them a few weeks ago I've innovated past them in my learning and now they're horribly out of date, yet still required and cannot be removed/managed/maintained easily. Fail.
Integrating jQuery jscrollpane and rewriting my structure to better support this plugin. New slogan for jQuery "making javascript accessible to noobs since 2006"
Learned another valuable lesson of why code reuse is essential, not only am i wasting time writing new methods, but having wrote them a few weeks ago I've innovated past them in my learning and now they're horribly out of date, yet still required and cannot be removed/managed/maintained easily. Fail.
Integrating jQuery jscrollpane and rewriting my structure to better support this plugin. New slogan for jQuery "making javascript accessible to noobs since 2006"
Monday, April 19, 2010
The User’s Manifesto: in defense of hacking, modding, and jailbreaking
http://www.crunchgear.com/2010/04/18/the-users-manifesto-in-defense-of-hacking-modding-and-jailbreaking/
Now, this isn’t a license to do whatever you want, to whomever you want, at all times. There are several things that limit your freedom, and it is your responsibility to be aware of them: You may have signed a legally binding contract; the effects of your use may extend beyond what you can reasonably expect to be called your own home or person; there are laws governing certain kinds of use. Essentially, know that your device does not exist in a connective vacuum, and you do not live in a social or legal vacuum.
Let us say that you bought a hammer. The hammer is clearly designed for hitting nails, and it is sold at a hardware store, next to nails. Are you really restricted to using it for hitting nails? Do you need to buy a special license to photograph it, or use it to tenderize meat? Of course not. But if you stand outside hitting a bell with it all day, your neighbors may rightfully complain. And you can’t go around beating people with it, because that’s assault. I really don’t see why a more complicated device, more versatile, sure, but still a piece of hardware bought at a store, should be subject to fundamentally more stringent restrictions. Your use of the tool or device that you bought is limited only by law and your discretion. Acme Hammer company doesn’t get a say in what you do — and for that reason, they are not liable if you do decide to start hammering people.
That said, you may have signed (perhaps without noticing it) a legally binding contract. If you did so, read it. EULAs are meant to be not read, of course, because they are legal language presented to an end user, and the degree to which they are binding is probably going to be a topic for debate for years. Better to be safe: if you can’t read it, research it online and see what the gist is, or call support and ask. If you find that you have a reasonable chance of actually breaking a law and having that illegal act pursued by the company, reflect on that.
But also reflect on the fact that nobody thinks twice about crossing a street at 3AM when there are no cars, because jaywalking laws have no authority when the conditions they are meant to govern are not present. Can we say the same thing of license agreements? We can leave aside the complex philosophical debate that goes along with Law, Justice, and so on — we’re talking about simple cases here. Are you the kind of person who will wait at a “Don’t Walk” sign on an empty street? Then you probably live in Seattle. Also, you’re probably not the jailbreaking type and you’re likely infuriated by what I’ve written so far. At any rate, the most extreme consequence for modding is usually a broken warranty and discontinued support. Oh no!
To illustrate this, here’s the relevant portion of the iPad license agreement:
You may not and you agree not to, or to enable others to, copy (except as expressly permitted by this License), decompile, reverse engineer, disassemble, attempt to derive the source code of, decrypt, modify, or create derivative works of the iPad Software or any services provided by the iPad Software, or any part thereof…
…This License is effective until terminated. Your rights under this License will terminate automatically or otherwise cease to be effective without notice from Apple if you fail to comply with any term(s) of this License. Upon the termination of this License, you shall cease all use of the iPad Software
Some will say that because of these you do not “own” the device you bought. But few will say what they mean, viz. that there is in fact no way for you to buy just the Apple hardware — you are actually prohibited from doing so, and are told told to please return the device for a full refund if you do not agree to the EULA for the software. Fortunately, such a flippantly restrictive license is as easy to ignore as it is to create. Make no mistake — such an act is surely “a violation of the rights of Apple.” A violation they will never know about, because there is no way they could ever know. They have as much effective jurisdiction over your home and person as they do over the dark side of the moon. Many EULAs (Sony’s, for example) establish similar unlimited control, which one may (and often will, without knowing) also ignore with impunity as long as the license-granter or other users are not materially effected in any way. It is telling that the punishment for violating the license is effectively voluntary.
Now, this isn’t a license to do whatever you want, to whomever you want, at all times. There are several things that limit your freedom, and it is your responsibility to be aware of them: You may have signed a legally binding contract; the effects of your use may extend beyond what you can reasonably expect to be called your own home or person; there are laws governing certain kinds of use. Essentially, know that your device does not exist in a connective vacuum, and you do not live in a social or legal vacuum.
Let us say that you bought a hammer. The hammer is clearly designed for hitting nails, and it is sold at a hardware store, next to nails. Are you really restricted to using it for hitting nails? Do you need to buy a special license to photograph it, or use it to tenderize meat? Of course not. But if you stand outside hitting a bell with it all day, your neighbors may rightfully complain. And you can’t go around beating people with it, because that’s assault. I really don’t see why a more complicated device, more versatile, sure, but still a piece of hardware bought at a store, should be subject to fundamentally more stringent restrictions. Your use of the tool or device that you bought is limited only by law and your discretion. Acme Hammer company doesn’t get a say in what you do — and for that reason, they are not liable if you do decide to start hammering people.
That said, you may have signed (perhaps without noticing it) a legally binding contract. If you did so, read it. EULAs are meant to be not read, of course, because they are legal language presented to an end user, and the degree to which they are binding is probably going to be a topic for debate for years. Better to be safe: if you can’t read it, research it online and see what the gist is, or call support and ask. If you find that you have a reasonable chance of actually breaking a law and having that illegal act pursued by the company, reflect on that.
But also reflect on the fact that nobody thinks twice about crossing a street at 3AM when there are no cars, because jaywalking laws have no authority when the conditions they are meant to govern are not present. Can we say the same thing of license agreements? We can leave aside the complex philosophical debate that goes along with Law, Justice, and so on — we’re talking about simple cases here. Are you the kind of person who will wait at a “Don’t Walk” sign on an empty street? Then you probably live in Seattle. Also, you’re probably not the jailbreaking type and you’re likely infuriated by what I’ve written so far. At any rate, the most extreme consequence for modding is usually a broken warranty and discontinued support. Oh no!
To illustrate this, here’s the relevant portion of the iPad license agreement:
You may not and you agree not to, or to enable others to, copy (except as expressly permitted by this License), decompile, reverse engineer, disassemble, attempt to derive the source code of, decrypt, modify, or create derivative works of the iPad Software or any services provided by the iPad Software, or any part thereof…
…This License is effective until terminated. Your rights under this License will terminate automatically or otherwise cease to be effective without notice from Apple if you fail to comply with any term(s) of this License. Upon the termination of this License, you shall cease all use of the iPad Software
Some will say that because of these you do not “own” the device you bought. But few will say what they mean, viz. that there is in fact no way for you to buy just the Apple hardware — you are actually prohibited from doing so, and are told told to please return the device for a full refund if you do not agree to the EULA for the software. Fortunately, such a flippantly restrictive license is as easy to ignore as it is to create. Make no mistake — such an act is surely “a violation of the rights of Apple.” A violation they will never know about, because there is no way they could ever know. They have as much effective jurisdiction over your home and person as they do over the dark side of the moon. Many EULAs (Sony’s, for example) establish similar unlimited control, which one may (and often will, without knowing) also ignore with impunity as long as the license-granter or other users are not materially effected in any way. It is telling that the punishment for violating the license is effectively voluntary.
China - War of Internet Addiction
http://techcrunch.com/2010/04/18/the-chinese-matrix-and-the-war-of-internet-addiction/
The following is an English translation reprinted with permission by Kaiser Kuo and Jean Shao.
When we work hard for a whole day come home to an apartment with a monthly rent of 2000 RMB, we face such a distorted version (of the game as the fight for interests lingers on), all we can feel is helplessness. You make no mistake, yes, we are indulging, but not in the game itself. It’s the feeling of belonging, and four years’ friendship and entrusting (in this virtual community we cannot give up)…We persevered no matter what …
We know it’s impossible, but we still swim tirelessly to the North Pole, to the edge of the (global) map, to the place where there is no water, but we still can’t see that icy land! In the past year, I, just like others who love this game, diligently go to work on a crowded bus, diligently consume all kinds of food with no concern of whatever unknown chemicals (they may contain). We never complain that our wages are low, we never lose our mental balance due to those big townhouses you bought with the money you took from my meager wage. We mourned and cried for the flood and earthquake, we rejoiced and cheered for the manned space flight and the Olympics. From the bottom of our heart, we never want to lag to any other nations in this world, but in this year, because of you, we can’t even play a game we love whole-heartedly with other gamers all over the world.
We swallowed all the insults (as we are forced to go to overseas servers and caused other gamers’ inconveniences). Why can’t we be entertained at the cheap rate 40 cents an hour? Just because we are here?”
You taught me since my childhood that a house of gold or silver is never as good as my own tumbledown home, but what’s the reality? You forced me to live temporarily in my own country. Why is it so hard to grant me to simply dwell in my own country spiritually?
Thanks to all you so-called Brick Owners (砖家, a homophone for 专家, expert) and Shouting Beasts(叫兽, a homophone for 教授, professor), aren’t there enough eulogies, cosmetics and anesthetics? Everyday, you have nothing else to do but enjoying your prestigious social status, and pointing at us from an ethical high ground. Have you ever wondered why five million gamers are collectively taking this Net poison (as you so describe our addiction to the virtual game), and the deep-rooted social reasons that are covered?
We naively believed that here there are only gardens, that we can touch the ideal if only we work hard enough. When we look up to those servers on the top of the pyramid, we are forced to hold the Happiness bestowed from you. We retreat into the so-called freest Internet on earth, communicate at low cost, and salve the pains in daily life with the game. It’s just like this, but they, for the sake of interests, they are exploiting in every possible way…we are so accustomed to silence, but silence doesn’t mean surrender.
We can’t stop shouting simply because our voices are low; we can’t do anything simply because our power is weak. It’s okay to be chided, it’s okay to be misunderstood, it’s okay to be overlooked. But it’s just I no longer want to keep silent.
Although there have been many other machinimas and remix videos released in China in the past few years, this video differs in that it is in some ways a call to arms, or more precisely a call to not remain silent, as a protest to current conditions.
Although flashmobs may technically be illegal in China, flash mobbing in games has proved to be an outlet by Chinese netizens for expressing dissatisfaction in the past. The winning of this particular video at the Tudou Video Festival this year in China is a window into this growing sentiment against staying quiet when it comes to internet censorship in China.
Read more: http://techcrunch.com/2010/04/18/the-chinese-matrix-and-the-war-of-internet-addiction/#ixzz0lYfnfd2n
Video http://www.warcraftmovies.com/movieview.php?id=137397&stream=&h=8267fcb0891e593f5326740dc02b5275
The following is an English translation reprinted with permission by Kaiser Kuo and Jean Shao.
When we work hard for a whole day come home to an apartment with a monthly rent of 2000 RMB, we face such a distorted version (of the game as the fight for interests lingers on), all we can feel is helplessness. You make no mistake, yes, we are indulging, but not in the game itself. It’s the feeling of belonging, and four years’ friendship and entrusting (in this virtual community we cannot give up)…We persevered no matter what …
We know it’s impossible, but we still swim tirelessly to the North Pole, to the edge of the (global) map, to the place where there is no water, but we still can’t see that icy land! In the past year, I, just like others who love this game, diligently go to work on a crowded bus, diligently consume all kinds of food with no concern of whatever unknown chemicals (they may contain). We never complain that our wages are low, we never lose our mental balance due to those big townhouses you bought with the money you took from my meager wage. We mourned and cried for the flood and earthquake, we rejoiced and cheered for the manned space flight and the Olympics. From the bottom of our heart, we never want to lag to any other nations in this world, but in this year, because of you, we can’t even play a game we love whole-heartedly with other gamers all over the world.
We swallowed all the insults (as we are forced to go to overseas servers and caused other gamers’ inconveniences). Why can’t we be entertained at the cheap rate 40 cents an hour? Just because we are here?”
You taught me since my childhood that a house of gold or silver is never as good as my own tumbledown home, but what’s the reality? You forced me to live temporarily in my own country. Why is it so hard to grant me to simply dwell in my own country spiritually?
Thanks to all you so-called Brick Owners (砖家, a homophone for 专家, expert) and Shouting Beasts(叫兽, a homophone for 教授, professor), aren’t there enough eulogies, cosmetics and anesthetics? Everyday, you have nothing else to do but enjoying your prestigious social status, and pointing at us from an ethical high ground. Have you ever wondered why five million gamers are collectively taking this Net poison (as you so describe our addiction to the virtual game), and the deep-rooted social reasons that are covered?
We naively believed that here there are only gardens, that we can touch the ideal if only we work hard enough. When we look up to those servers on the top of the pyramid, we are forced to hold the Happiness bestowed from you. We retreat into the so-called freest Internet on earth, communicate at low cost, and salve the pains in daily life with the game. It’s just like this, but they, for the sake of interests, they are exploiting in every possible way…we are so accustomed to silence, but silence doesn’t mean surrender.
We can’t stop shouting simply because our voices are low; we can’t do anything simply because our power is weak. It’s okay to be chided, it’s okay to be misunderstood, it’s okay to be overlooked. But it’s just I no longer want to keep silent.
Although there have been many other machinimas and remix videos released in China in the past few years, this video differs in that it is in some ways a call to arms, or more precisely a call to not remain silent, as a protest to current conditions.
Although flashmobs may technically be illegal in China, flash mobbing in games has proved to be an outlet by Chinese netizens for expressing dissatisfaction in the past. The winning of this particular video at the Tudou Video Festival this year in China is a window into this growing sentiment against staying quiet when it comes to internet censorship in China.
Read more: http://techcrunch.com/2010/04/18/the-chinese-matrix-and-the-war-of-internet-addiction/#ixzz0lYfnfd2n
Video http://www.warcraftmovies.com/movieview.php?id=137397&stream=&h=8267fcb0891e593f5326740dc02b5275
Thursday, April 15, 2010
Randomness in game design
http://playthisthing.com/randomness-blight-or-bane
When Chance isn't Random: Regression to the Mean
In reality, the reliance by games on chance does not necessarily mean that the game's final outcome is random. In a game with chance elements, there will typically be dozens or hundreds of random tests over the course of the game -- many, many times in which dice rolled, or an algorithm that uses a random number as an input applied.
Paradoxically, the greater the number of random tests, the less effect chance has on the outcome. Over time, random systems regress to the mean.
Consider a single die-roll: there is exactly a 1/6th chance of each possible result. Now consider a 2D6 roll (that is, rolling two six sided dice and summing the numbers rolled): There is a 1/6th chance of rolling a 7, but only a 1/36th chance of rolling a 2 or 12. A single die-roll produces a flat curve, with all outcomes equally probable; a 2D6 roll produces a bell curve, with numbers toward the center of the curve more probable, and the extremes less likely. Adding more dice increases the sharpness of the curve.
http://playthisthing.com/randomness-blight-or-bane
When Chance isn't Random: Regression to the Mean
In reality, the reliance by games on chance does not necessarily mean that the game's final outcome is random. In a game with chance elements, there will typically be dozens or hundreds of random tests over the course of the game -- many, many times in which dice rolled, or an algorithm that uses a random number as an input applied.
Paradoxically, the greater the number of random tests, the less effect chance has on the outcome. Over time, random systems regress to the mean.
Consider a single die-roll: there is exactly a 1/6th chance of each possible result. Now consider a 2D6 roll (that is, rolling two six sided dice and summing the numbers rolled): There is a 1/6th chance of rolling a 7, but only a 1/36th chance of rolling a 2 or 12. A single die-roll produces a flat curve, with all outcomes equally probable; a 2D6 roll produces a bell curve, with numbers toward the center of the curve more probable, and the extremes less likely. Adding more dice increases the sharpness of the curve.
http://playthisthing.com/randomness-blight-or-bane
Tuesday, April 13, 2010
GAEPF Update
Back end looks completely stable, most of the portlets are completed by now
local datastore is at 2179
dev env is at 1728
started migrating to the production environment and rebuilt the collection
prod env is at 1866
i need to figure out why my youtube crawlers keep returning null, investigated this issue a while ago and apparently on the google app engine the dev api keys conflict and we quotas break. might just scrape rather than use the gdata api
local datastore is at 2179
dev env is at 1728
started migrating to the production environment and rebuilt the collection
prod env is at 1866
i need to figure out why my youtube crawlers keep returning null, investigated this issue a while ago and apparently on the google app engine the dev api keys conflict and we quotas break. might just scrape rather than use the gdata api
Hacking the Power
http://www.engadget.com/2010/03/09/1024-bit-rsa-encryption-cracked-by-carefully-starving-cpu-of-ele/
1024-bit RSA encryption cracked by carefully starving CPU of electricity
By Sean Hollister posted Mar 9th 2010 2:47AM

Since 1977, RSA public-key encryption has protected privacy and verified authenticity when using computers, gadgets and web browsers around the globe, with only the most brutish of brute force efforts (and 1,500 years of processing time) felling its 768-bit variety earlier this year. Now, three eggheads (or Wolverines, as it were) at the University of Michigan claim they can break it simply by tweaking a device's power supply. By fluctuating the voltage to the CPU such that it generated a single hardware error per clock cycle, they found that they could cause the server to flip single bits of the private key at a time, allowing them to slowly piece together the password. With a small cluster of 81 Pentium 4 chips and 104 hours of processing time, they were able to successfully hack 1024-bit encryption in OpenSSL on a SPARC-based system, without damaging the computer, leaving a single trace or ending human life as we know it. That's why they're presenting a paper at the Design, Automation and Test conference this week in Europe, and that's why -- until RSA hopefully fixes the flaw -- you should keep a close eye on your server room's power supply.
http://www.engadget.com/2010/03/09/1024-bit-rsa-encryption-cracked-by-carefully-starving-cpu-of-ele/
1024-bit RSA encryption cracked by carefully starving CPU of electricity
By Sean Hollister posted Mar 9th 2010 2:47AM

Since 1977, RSA public-key encryption has protected privacy and verified authenticity when using computers, gadgets and web browsers around the globe, with only the most brutish of brute force efforts (and 1,500 years of processing time) felling its 768-bit variety earlier this year. Now, three eggheads (or Wolverines, as it were) at the University of Michigan claim they can break it simply by tweaking a device's power supply. By fluctuating the voltage to the CPU such that it generated a single hardware error per clock cycle, they found that they could cause the server to flip single bits of the private key at a time, allowing them to slowly piece together the password. With a small cluster of 81 Pentium 4 chips and 104 hours of processing time, they were able to successfully hack 1024-bit encryption in OpenSSL on a SPARC-based system, without damaging the computer, leaving a single trace or ending human life as we know it. That's why they're presenting a paper at the Design, Automation and Test conference this week in Europe, and that's why -- until RSA hopefully fixes the flaw -- you should keep a close eye on your server room's power supply.
http://www.engadget.com/2010/03/09/1024-bit-rsa-encryption-cracked-by-carefully-starving-cpu-of-ele/
Monday, April 12, 2010
The Apple of my eye
Ummm simply put... an amazing article
http://gamehaxe.com/2010/04/10/bravo-apple/
Bravo, Apple
Finally, Apple is doing away with those arrogant upstarts who think then can write a few lines in a high level language and call it a program. Their new developer agreement requires:
This has a couple of good points – firstly banning stupid languages (used by those people who are not smart enough to learn c++), and secondly getting rid of translation layers. Apple has clearly put a lot of thought into their APIs, so why would anyone want to put a layer on top of them – it’s just going to make things harder to use.
Languages
There has been a lot of talk recently about compiling “foreign” languages, such as haxe, as3, javascript, java, .net based languages, into binaries that will run extremely well on the iPhone. But like all foreigners (who are responsible for all the terrorism in the world) these languages should be cleansed from all iPhones to maintain the iPhones mono-lingual purity. Putting such insidious diversity into a beautifully designed device can be shown to confuse consumers, most of whom don’t even know their device and been compromised by these so call “high level” languages.
By raising the barrier of entry, and only permitting “real” programming languages (ie, “C” based ones), Apple ensures that the quality of apps will remain at its current lofty levels. “Natural Selection” will then weed out those people who are too lazy or too stupid to learn a proper language. In fact, I think Apple has not gone far enough here and should dabble in a bit of “Intelligent Design” by requiring that all developers who wish to submit apps hold at least a 4 year degree in computer science. Just imagine a world where any kid can work out of his garage and build an application with an original language, or bit of hardware, that snubs its nose at the establishment – anarchy would ensue. Therefore, it is important that the responsible companies out there vet such potentially disruptive ideas before they can cause too much damage.
It can’t be said that Apple don’t like new langauges, after all, they championed the greatest NeXT Step in programming ever, Objective-C, it’s just that all the other languages are utter crap. Some of then do away with the beautiful square bracket, some use commas to separate function arguments and nearly all the modern ones perform “Garbage Collection”. What a joke! Apple solved this problem years ago be simply not creating garbage in the first place. Again, it is only those too lazy to learn about how to use allocation pools and correct reference counting that need anything as dirty as Garbage Collection.
The new langages, such as haxe, are so terse that you do not even know when you are using a delegate. How can anyone possibly understand that code like:
addEventListener(KeyboardEvent.KEY_DOWN, function(event) { trace(event); });
Is supposed to do? I mean where is the delegate? Where is the class that implements the UITextFieldDelegate protocol? (And why must these languages continue to call things “Interfaces” when they are clearly “Protocols” ?)
I think Apple are right to ban code generators, such as the haxe c++ backend. While these produce code that could in theory be produced by hand, the code it robotic and lacks the “soul” of hand written code. To err is human, and without the quirks introduced bu a human coding c++ we may as well hand the future over to SkyNet and let the machines run everything.
Layers and Tools
Thankfully, Apple has also done its research into programming techniques as well as programming languages. The problem with programming these days is that where are too many layers and tools to learn, and they are taking us back to a simpler times where you are “close to the metal”. Apple rightfully shuns these extra layers, and focuses only on code. Once you understand Objective-C, Interface Builder, NIB, XIB, Frameworks, .app layouts, provisioning, xml, plist, controllers, delegates, owners and outlets, then you can create pure lovely code, without any of that layering crap getting in your way.
Programmers must beware of code that essentially “lies” by pretending that the beautiful, native API actually looks like one of the ill-conceived APIs from another language. For example, why would anyone want to view a native UIView image as the practically unsable as3 “equivalent” (I use the term loosly) of BitmapData? I don’t think there is a single successful application ever written that uses this BitmapData class.
Isolating your code from the native API will cause your code to lose its identity. If you can compile it for another (obviously inferior) device then your code will become tainted by the lower class device, even it it performs identically on the Apple device. How quickly people forget that the upper class should not mingle with the lower class.
I hope Apple’s ban extends to the gzip “translation layer”. Programmers should not be using this library because it has security implications, and they should simply use the streaming classes and do the decompression in their own code. If more programmers thought like Apple, then there would be a lot fewer security holes in software.
Don’t get me started on Game Making programs. Thank god these are banned – imagine letting a non-programmer create an App. What next, Artist creating games? Don’t make me laugh.
Conclusion
Apple has made a huge stride forwards by tightening the definition of what a real developer is, and I’m looking forward to what’s next. I think they have a little way to go – for example, what about all those people using foreign editors, rather than XCode? Surely if XCode is not good enough for a developer, then that developer is not good enough for Apple. The best way I can see for them enforcing this is for them to install a “watchdog” application the the developer’s machine, and send screenshots back to Apple periodically. That way, if the developer does not conform to the coding purity required by Apple, they could be identified and sent to a camp to help them concentrate on being better programmers. Win-win, what a great idea.
http://gamehaxe.com/2010/04/10/bravo-apple/
http://gamehaxe.com/2010/04/10/bravo-apple/
Bravo, Apple
Finally, Apple is doing away with those arrogant upstarts who think then can write a few lines in a high level language and call it a program. Their new developer agreement requires:
3.3.1 – Applications may only use Documented APIs in the manner prescribed by Apple and must not use or call any private APIs. Applications must be originally written in Objective-C, C, C++, or JavaScript as executed by the iPhone OS WebKit engine, and only code written in C, C++, and Objective-C may compile and directly link against the Documented APIs (e.g., Applications that link to Documented APIs through an intermediary translation or compatibility layer or tool are prohibited).
This has a couple of good points – firstly banning stupid languages (used by those people who are not smart enough to learn c++), and secondly getting rid of translation layers. Apple has clearly put a lot of thought into their APIs, so why would anyone want to put a layer on top of them – it’s just going to make things harder to use.
Languages
There has been a lot of talk recently about compiling “foreign” languages, such as haxe, as3, javascript, java, .net based languages, into binaries that will run extremely well on the iPhone. But like all foreigners (who are responsible for all the terrorism in the world) these languages should be cleansed from all iPhones to maintain the iPhones mono-lingual purity. Putting such insidious diversity into a beautifully designed device can be shown to confuse consumers, most of whom don’t even know their device and been compromised by these so call “high level” languages.
By raising the barrier of entry, and only permitting “real” programming languages (ie, “C” based ones), Apple ensures that the quality of apps will remain at its current lofty levels. “Natural Selection” will then weed out those people who are too lazy or too stupid to learn a proper language. In fact, I think Apple has not gone far enough here and should dabble in a bit of “Intelligent Design” by requiring that all developers who wish to submit apps hold at least a 4 year degree in computer science. Just imagine a world where any kid can work out of his garage and build an application with an original language, or bit of hardware, that snubs its nose at the establishment – anarchy would ensue. Therefore, it is important that the responsible companies out there vet such potentially disruptive ideas before they can cause too much damage.
It can’t be said that Apple don’t like new langauges, after all, they championed the greatest NeXT Step in programming ever, Objective-C, it’s just that all the other languages are utter crap. Some of then do away with the beautiful square bracket, some use commas to separate function arguments and nearly all the modern ones perform “Garbage Collection”. What a joke! Apple solved this problem years ago be simply not creating garbage in the first place. Again, it is only those too lazy to learn about how to use allocation pools and correct reference counting that need anything as dirty as Garbage Collection.
The new langages, such as haxe, are so terse that you do not even know when you are using a delegate. How can anyone possibly understand that code like:
addEventListener(KeyboardEvent.KEY_DOWN, function(event) { trace(event); });
Is supposed to do? I mean where is the delegate? Where is the class that implements the UITextFieldDelegate protocol? (And why must these languages continue to call things “Interfaces” when they are clearly “Protocols” ?)
I think Apple are right to ban code generators, such as the haxe c++ backend. While these produce code that could in theory be produced by hand, the code it robotic and lacks the “soul” of hand written code. To err is human, and without the quirks introduced bu a human coding c++ we may as well hand the future over to SkyNet and let the machines run everything.
Layers and Tools
Thankfully, Apple has also done its research into programming techniques as well as programming languages. The problem with programming these days is that where are too many layers and tools to learn, and they are taking us back to a simpler times where you are “close to the metal”. Apple rightfully shuns these extra layers, and focuses only on code. Once you understand Objective-C, Interface Builder, NIB, XIB, Frameworks, .app layouts, provisioning, xml, plist, controllers, delegates, owners and outlets, then you can create pure lovely code, without any of that layering crap getting in your way.
Programmers must beware of code that essentially “lies” by pretending that the beautiful, native API actually looks like one of the ill-conceived APIs from another language. For example, why would anyone want to view a native UIView image as the practically unsable as3 “equivalent” (I use the term loosly) of BitmapData? I don’t think there is a single successful application ever written that uses this BitmapData class.
Isolating your code from the native API will cause your code to lose its identity. If you can compile it for another (obviously inferior) device then your code will become tainted by the lower class device, even it it performs identically on the Apple device. How quickly people forget that the upper class should not mingle with the lower class.
I hope Apple’s ban extends to the gzip “translation layer”. Programmers should not be using this library because it has security implications, and they should simply use the streaming classes and do the decompression in their own code. If more programmers thought like Apple, then there would be a lot fewer security holes in software.
Don’t get me started on Game Making programs. Thank god these are banned – imagine letting a non-programmer create an App. What next, Artist creating games? Don’t make me laugh.
Conclusion
Apple has made a huge stride forwards by tightening the definition of what a real developer is, and I’m looking forward to what’s next. I think they have a little way to go – for example, what about all those people using foreign editors, rather than XCode? Surely if XCode is not good enough for a developer, then that developer is not good enough for Apple. The best way I can see for them enforcing this is for them to install a “watchdog” application the the developer’s machine, and send screenshots back to Apple periodically. That way, if the developer does not conform to the coding purity required by Apple, they could be identified and sent to a camp to help them concentrate on being better programmers. Win-win, what a great idea.
http://gamehaxe.com/2010/04/10/bravo-apple/
GAEPF Project
Going to be keeping a record of my progress here, good luck to me?
Currently Stable:
Controllers & Data types are pretty much completed.
Front end classes are completed
working on portlets + front end design and slicing the back end to expose in the front
going to be working on the image viewport tonight, hopefully nothing breaks... again.
Stuff to do:
encapsulate all data import/analysis processes.
complete design
crowd source discussion and data fine tuning
Currently Stable:
Controllers & Data types are pretty much completed.
Front end classes are completed
working on portlets + front end design and slicing the back end to expose in the front
going to be working on the image viewport tonight, hopefully nothing breaks... again.
Stuff to do:
encapsulate all data import/analysis processes.
complete design
crowd source discussion and data fine tuning
Monday, April 5, 2010
Friday, April 2, 2010
Google, HTML5, and Quake II
Google decides to get quake 2 running in the browser (html5 canvas/audio/javascript) for fun...
http://googlewebtoolkit.blogspot.com/2010/04/look-ma-no-plugin.html
http://googlewebtoolkit.blogspot.com/2010/04/look-ma-no-plugin.html
Thursday, April 1, 2010
Hacking Weak Passwords
How I'd hack your weak passwords - LifeHacker
"So, how would one use this process to actually breach your personal security? Simple. Follow my logic:
And how fast could this be done? Well, that depends on three main things, the length and complexity of your password, the speed of the hacker's computer, and the speed of the hacker's Internet connection.
Assuming the hacker has a reasonably fast connection and PC here is an estimate of the amount of time it would take to generate every possible combination of passwords for a given number of characters. After generating the list it's just a matter of time before the computer runs through all the possibilities – or gets shut down trying.
Pay particular attention to the difference between using only lowercase characters and using all possible characters (uppercase, lowercase, and special characters – like @#$%^&*). Adding just one capital letter and one asterisk would change the processing time for an 8 character password from 2.4 days to 2.1 centuries.

Remember, these are just for an average computer, and these assume you aren't using any word in the dictionary. If Google put their computer to work on it they'd finish about 1,000 times faster."
http://lifehacker.com/5505400/how-id-hack-your-weak-passwords?skyline=true&s=i
"So, how would one use this process to actually breach your personal security? Simple. Follow my logic:
- You probably use the same password for lots of stuff right?
- Some sites you access such as your Bank or work VPN probably have pretty decent security, so I'm not going to attack them.
- However, other sites like the Hallmark e-mail greeting cards site, an online forum you frequent, or an e-commerce site you've shopped at might not be as well prepared. So those are the ones I'd work on.
- So, all we have to do now is unleash Brutus, wwwhack, or THC Hydra on their server with instructions to try say 10,000 (or 100,000 – whatever makes you happy) different usernames and passwords as fast as possible.
- Once we've got several login+password pairings we can then go back and test them on targeted sites.
- But wait… How do I know which bank you use and what your login ID is for the sites you frequent? All those cookies are simply stored, unencrypted and nicely named, in your Web browser's cache.
And how fast could this be done? Well, that depends on three main things, the length and complexity of your password, the speed of the hacker's computer, and the speed of the hacker's Internet connection.
Assuming the hacker has a reasonably fast connection and PC here is an estimate of the amount of time it would take to generate every possible combination of passwords for a given number of characters. After generating the list it's just a matter of time before the computer runs through all the possibilities – or gets shut down trying.
Pay particular attention to the difference between using only lowercase characters and using all possible characters (uppercase, lowercase, and special characters – like @#$%^&*). Adding just one capital letter and one asterisk would change the processing time for an 8 character password from 2.4 days to 2.1 centuries.

Remember, these are just for an average computer, and these assume you aren't using any word in the dictionary. If Google put their computer to work on it they'd finish about 1,000 times faster."
http://lifehacker.com/5505400/how-id-hack-your-weak-passwords?skyline=true&s=i
April Foooooooools
Google Docs to store ANYTHING... yes anything...
Coming soon! Store anything in Google Docs
The next generation of Google storage arrives in May and we’re looking for testers.
Find your keys and more
Ever wish you could CTRL+F your keys? Store your keys and other objects you commonly lose with Google and you’ll never have to worry about finding them again.
Fast pickup and delivery
We’re testing a new mail courier network integrated with our Street View fleet. We’ll show up within 3 hours to pick up anything you choose to store in Google Docs, guaranteed.
Competitive pricing
At $0.10 per kg, you can store a grand piano for the price of lunch.
http://www.google.com/google-d-s/promos/storage.html
Google to go Nuclear - TechCrunch
“Google has acquired a company that has created a new process for highly efficient isotope separation, we’ve confirmed from multiple sources. The primary use of this technology, say experts we’ve spoken with, is uranium enrichment...
'The story Google is putting out there is that the new technology will be built for clean energy production. But all of the research and development they’re doing in this area is being conducted outside of the U.S., and the enrichment facility is also outside of the U.S.'
And more chillingly: 'It would be trivial for anyone with this technology to build a nuclear weapon.'
Google, which has been shaken by its inability to counter Chinese censorship and hacking efforts, may be engaging in enrichment research as part of a new effort to simply protect itself from outside threats.
One source pointed out that if Google were its own country, its revenues would place it at 74th on the list of countries sorted by gross domestic product. 'The U.S. government clearly won’t protect Google from China, so Google is taking the logical step of protecting itself with a physical deterrent.'”
http://techcrunch.com/2010/03/31/exclusive-google-to-go-nuclear/
A different kind of company name - Google Blog
Early last month the mayor of Topeka, Kansas stunned the world by announcing that his city was changing its name to Google. We’ve been wondering ever since how best to honor that moving gesture. Today we are pleased to announce that as of 1AM (Central Daylight Time) April 1st, Google has officially changed our name to Topeka.

http://googleblog.blogspot.com/2010/04/different-kind-of-company-name.html
Coming soon! Store anything in Google Docs
The next generation of Google storage arrives in May and we’re looking for testers.
Find your keys and more
Ever wish you could CTRL+F your keys? Store your keys and other objects you commonly lose with Google and you’ll never have to worry about finding them again.
Fast pickup and delivery
We’re testing a new mail courier network integrated with our Street View fleet. We’ll show up within 3 hours to pick up anything you choose to store in Google Docs, guaranteed.
Competitive pricing
At $0.10 per kg, you can store a grand piano for the price of lunch.
http://www.google.com/google-d-s/promos/storage.html
Google to go Nuclear - TechCrunch
“Google has acquired a company that has created a new process for highly efficient isotope separation, we’ve confirmed from multiple sources. The primary use of this technology, say experts we’ve spoken with, is uranium enrichment...
'The story Google is putting out there is that the new technology will be built for clean energy production. But all of the research and development they’re doing in this area is being conducted outside of the U.S., and the enrichment facility is also outside of the U.S.'
And more chillingly: 'It would be trivial for anyone with this technology to build a nuclear weapon.'
Google, which has been shaken by its inability to counter Chinese censorship and hacking efforts, may be engaging in enrichment research as part of a new effort to simply protect itself from outside threats.
One source pointed out that if Google were its own country, its revenues would place it at 74th on the list of countries sorted by gross domestic product. 'The U.S. government clearly won’t protect Google from China, so Google is taking the logical step of protecting itself with a physical deterrent.'”
http://techcrunch.com/2010/03/31/exclusive-google-to-go-nuclear/
A different kind of company name - Google Blog
Early last month the mayor of Topeka, Kansas stunned the world by announcing that his city was changing its name to Google. We’ve been wondering ever since how best to honor that moving gesture. Today we are pleased to announce that as of 1AM (Central Daylight Time) April 1st, Google has officially changed our name to Topeka.

http://googleblog.blogspot.com/2010/04/different-kind-of-company-name.html
Subscribe to:
Posts (Atom)