BrainBlitz.org

August 29, 2008

5 Easy Ways to Express Racism even an American could use!

Filed under: Blogorrhoea — Anthony @ 12:48 am

1. Use “Vodka” and “Russian” in the same sentence.

2. Talk in an exaggerated Australian accent.

3. When someone drops a coin, say “you’re going to have to use more than one if you want to come up with a GOOD Chinese name.”

4. Offer a Freedom Fry to a French person.

5. Do this: http://www.telegraph.co.uk/sport/othersports/olympics/2540221/Spanish-basketball-red-faced-over-slit-eyed-Olympic-photo.html

The only “insult” in this whole thing is the implication that the Chinese are so sensitive as to have their feelings hurt by someone jokingly referencing the shape of their eyes. 

Pretty soon, I think that people might be afraid to acknowledge nationality at all.

Actually, to maintain what faith I have in humanity, I will assume that a couple of people desparate for attention made a fuss, and the media pounced on an opportunity.

  • Print this article!
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • StumbleUpon
  • Yahoo! Bookmarks

BoxCAD Update

Filed under: BoxCAD, Programming — Anthony @ 12:39 am

BoxCAD is in a bit of a transition right now. It started a few months ago as a scopeless actionscript learning project, and gradually morphed into a potentially powerful development tool (not to mention an addictive “toy”). When I started working on BoxCAD, I only had a very rudimentary understanding of OOP. As my design thought process has shifted with my understanding of OOP, BoxCAD has undergone several major overhauls. Very little (maybe 5%) of the first functional version’s code exists at all.

 I am very slowly (for lack of time) performing what I hope is the last major architectural overhaul. Every component is nearly independant from every other component, with very tight interfaces between. But I do mean “nearly” – as in, it’s still pretty sloppy and idiosyncratic here and there.

The result of that is … quirks. Mainly in mouse handling, where I’ve simply lost track of what’s going on because so many different parts of BoxCAD have access to cursor states, cursor visibility, snap states, etc.

So it’s slightly irritating to use right at the moment. :D But it’s almost there, and once it is, it is going to be extemely easy to add new functionality and tools with a very simple, but comprehensive API.

Of course, the whole initial point of BoxCAD was for developers. At the moment, code dumping is not functional, because it’s obviously prequisite that the application be solidly capable of creating something to dump the code for. But, it is very nearly so, and dumping of at least standard objects and joints isn’t too far out. It is #2 on the priority list.

BoxCAD box2d TreadsOne neat recent addition is the automatic posting of screenshots on save, so you can show off your incredible designs… :D Here are some nice treads to get you started (new window):

Regarding big-picture future plans – one thing I’m particularily excited about is scripting. I found a run-time AS3 parser (can’t remember the link right at the moment) which means the scripting will be in AS3, and will have about the same API as the full-on API, AND it will be accessible from the browser – so experimenting and sharing will be very simple. So I’m HOPING maybe some form of a community will develop, and really push the capabilities of what flash and physics engines can do.

A couple of other things that keep me obcessively motivated:

  • When BoxCAD is mature with box2d, I want to develop a “Physics Abstraction Layer” (PAL), to allow other physics engines to be swapped in. I’d love to support a verlet engine like APE, and it would be fascinating to swap engines in near-realtime to see differences in behavior and speed. This would require that BoxCAD have it’s own, generic physics model with a public API. Then, to add a new engines, one would simply have to create a “driver” to map the engine to BoxCAD’s generic model. Needless to say, that is a ways off.
  • I almost had an accident when I thought of this one: BoxWARS! I would like add a multi-user mode to BoxCAD, with persistent “accounts.” Imagine something like – each user having a territory, starting with resources, building defenses, then building offense “robots” to attack other territories. Of course there would have to be limits on forces, velocities, masses etc, but it would basically be up to clever design to … “win.” And with AI via scripting… wow.

A couple of things I want to do really really bad, but can’t quite find the time:

  • I built a mechanical NOT gate the other day. Now I just need to build an AND gate, and I will have NAND – the fundamental building block of digital circuits. For some reason, I want to build some simple digital “circuits” with mechanical gates really really bad. :D
  • I’ve made a couple of feeble attempts to build a clock’s pendulum and escapement mechanism, but BoxCAD doesn’t quite have the mechanical functionality necessary to do so easily. But it can be done! It MUST be done…
  • I saw some demo’s of Papervision3D being used to create an extruded view of a box2d model. Adding that limited 3D viewing functionality would be freakin’ awesome. Can’t remember the link. I’ll post it later.
  • Print this article!
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • StumbleUpon
  • Yahoo! Bookmarks

August 19, 2008

Thanks for your support!

Filed under: Blogorrhoea — Anthony @ 7:05 am

I receive tons of supportive email from this blog. I actually had to code a hueristic filter to auto-file it into several categories, so I can just look at the number of emails in each folder to get a rough estimate of my current admiration levels. I’m currently working on a charting application for an even more intuitive view.

 Some of the categories are:

  • “thanks for the helpful info”
  • “you are amazing”
  • “I owe you my life”

and so on.

But my favorite category is “The English language is incapable of expressing my admiration.” Every day, when I sit down at the computer, that folder is the first I check.

Well, today I received a couple that I’d like to share.

First, a note from one Darell Hayden in the “The English language is incapable of expressing my admiration” folder that I found particularly heart-warming.

I hope he’s not embarrassed with my posting of it:

“cholera hagworm pleurodont leviticus biblist delphinoidine unaffecting villously”

Sometimes when I am so overflowing with admiration, I say very similar things. There are no words – or combinations of words – up to the task of expressing that kind of emotional depth.

So I just wanted to say - Darell… thank you. To show my appreciation, I promise to visit every URL attached to your note.

Second – this admirer wishes to be of the secret type:

“Your site- www.brainblitz.orgis good site, tnks, webmaster.”

And I say – tnk YOU, admirer. But also, might I suggest keeping your tourettic fascination with certain prescription medications out of the public eye? Friend to friend. : )

 Anyway, keep the support coming. It is my motivation.

  • Print this article!
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • StumbleUpon
  • Yahoo! Bookmarks

August 8, 2008

I hereby declare war on XML and CSS

Filed under: Programming — Anthony @ 10:02 am

XML and CSS…Both are absolutely incomprehensible phenomena to me.

I don’t really have a lot of experience with XML, so I’m not really qualified to have an opinion. But at a glance:

1. Particularly in web development, page loading time is a critical factor. Minimize your image sizes, strip your JS framework to the core, reduce any unnecessary bloat. Smaller and faster. Amazing algorithms squeeze as many drips of redundant data out of media files as they can, before deteriorating quality TOO much.

2. Great, so we have some extra bandwidth floating around. What shall we do with it?

3. I know! Let’s put data into a computer-unfriendly, space inefficient form for transfer and storage. Let’s use a bloated string-processing, CPU and space intensive format, so humans can read files in their raw form! RAM is cheap these days.

 I would like to know, actually, who has ever read through a… say… AutoCAD xml file. “Oh, THERE’S that circle! On line 4,394! Yes, that must be it, because the <center> is at “465.829584781983462…..

I mean really, what is the point making raw data HUMAN readable? Or easier to understand? A protocol doesn’t have to be human readable to be widely standardized or usable. The whole POINT of computers is to convert human information to machine-friendly form, for processing, then redisplay in human form. Now we have:

IN -> data in human-friendly form ->
conversion to computer-friendly form ->
processing ->
conversion to human-friendly form -> 
transfer and storage ->
conversion to computer-friendly form ->
processing ->
conversion to human-friendly form -> OUT

Huh?

But right now, CSS is the one I REALLY have the beef with. CSS is great for managing look and feel of elements. But trying to use it for layout? It’s like going out of one’s way to find a more complicated system, when one has a perfectly good system.

The only “benefit” that I can see is that it is possible to change the visual presentation of information without modifying the structural data the information is embedded in, by modifying the protocol itself. If you want four rows instead of four columns, then you just change a few heights, maybe a couple of float settings, and your “cells” reorient. You never got close to the actual data.

But so what? I do could the same with tables very easily by using JavaScript to take a four row table, and due to the perfectly logical structure of tables, write a very simple function to swap those rows to columns.

And here’s the fun part – restricting this point to CSS layout – it can makes pages slower just as easily as it can make them faster. It increases the amount of information required to create the structure, because now you don’t have elements,  you have elements AND classes AND a style sheet. What is the point of using:

 <div class=”row”>
  <span class=”label”>Some Label</span>
  <span class=”formElement”><input name…></span>
 </div>

?

What’s wrong with my beloved <tr> and <td>?!

Who cares if my JavaScript row/column swapper gets close to the data. That’s what computers are for.

But here’s the kicker.

How many sites and blogs are there about “zen”, or otherwise very clever (and peaceful, I guess?) CSS use?

WHY are there so many sites?

BECAUSE IT’S SO BLOODY HARD! CSS is a MESS. A catastrophe.

It is not robust in the slightest.

Another tell-tale sign of it’s complexity and ambiguity is the inconsistent treatment across the range of browsers. I feel sorry for those programmers, trying to detangle the CSS specs.

Anyway, this is a bit of a rant, I realize. See, I just spent an hour “debugging” a form layout via CSS that was not behaving.

I was using this:

<div class=”rsFooter”>
<input name=”aName” type=”button” id=”aName” value=”A Value” />
</div>

Apparently I was supposed to be using this:

<div class=”rsFooter”>&nbsp;
<input name=”aName” type=”button” id=”aName” value=”A Value” />
</div>

Suddenly everything in my huge pile of nested div’s snapped to their correct widths.

Back to it though. Apparently it’s …

The future.

  • Print this article!
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • StumbleUpon
  • Yahoo! Bookmarks

Powered by WordPress