April 26, 2006
April 25, 2006
Flash is still better than AJAX
So I’ve been ignoring the whole ajax/js/dhtml thing, only doing flash programming. It turns out that the implementation of XmlHttpRequest has a few major shortfalls. Short summary of linked article:
- There are no persistant connections. This rules out any type of ‘server-push’ programming model, forcing clients to poll the server, which either puts more strain on bandwidth and server resources, and/or increases lag time between updates.
- You can’t turn off HTTP request headers
So in essence, AJAX coders are still stuck with LoadVars. They don’t have anything that offers the functionality of XMLSocket (persistant connections, ability to send whatever data you want).
The one shortfall of XMLSocket (text only data, must be null-terminated), is removed in Flash 9 (formerly known as 8.5), and already I’ve seen a flash-based pop3 example as well as a flash-based vnc viewer/client.
The solution is to modify the implementation of XmlHttpRequest. The above article talks about some possible fixes. This would really be a boon to all the “Web 2.0″ coders who for whatever reason are unable to use Flash.
April 24, 2006
DS Wifi Lib v0.3!
After much waiting, and much complaining by the community, Stephen Stair finally got most of the basics working! WEP, DHCP, TCP, ICMP, DNS, WFC data, and various other acronyms are all supported now!
Expect to see many neat things from the homebrew community in the coming weeks!
April 21, 2006
Dynamic Sound in 8.5
Please see this update
As far as I know the company formerly known as Macromedia did not add any kind of dynamic sound generation methods to ActionSciprt3 / Flash 8.5. However, they did add two features we can use to hack it:
- ‘ByteArray’ class which is a low level data class
- ‘Loader’ class (formerly MovieClipLoader) can load from a ByteArray, as well as the normal loading from a URL.
So the theory is, I generate valid swf into a byteArray that simply contains sound data, then I load that and it plays.
This would involve me understanding the swf binary file format…however that’s a bit of a pain, so I cheated.
- Create a .fla in Flash 8 & import a sound into frame 1
- Copy & paste the entire data from the .swf into an array in my AS3 project
- At runtime, replace the central part of the array with new data (leaving the header and footer of the data intact). Just a bit of trial & error to see how much data needs to be left
Here is a very simple example:
(more…)
April 19, 2006
JetBlue Easter Egg
This is hilarious. I wonder how long until this gets pulled out. Someone’s head is definately going to roll.
1. Go to JetBlue Routemap
2. Click on any destination airport
3. Hold shift and type PBJ
UPDATE: As I write this, the page no longer has the animation, and only has a static image now. Here is a screenshot to see what you missed.
April 18, 2006
Smoother than ever
Next revision of my draw app is released, here are the new features:
- “Smudge” tool — will smear the colors around, can be used to create a ‘watercolor’ like effect
- “Picker” tool — the standard ‘eyedropper’ tool, select a color from off of the canvas
- Color picker enhancements — L button now exits the picker, also shows the current selected color in top right
- Controls change — Change the current tool using the Left/Right buttons now.
As always, I welcome feedback, and please send me your pictures as well!
April 17, 2006
Drawings
Here are a few more images that I have drawn, using the new smudge tool, and/or the new fill tool. (FYI: All the images I post are resized to 50%, which is how they are displayed on the DS’s screen. I usually then link them to the full-size png, which usually doesn’t look as smooth, but has the advantage of being twice the resolution of the display on the DS)
![]() Blah |
![]() Color Blobs (Michelle helped on this one) |
![]() Happy Tree |
![]() Waterfall |
![]() Fax Machine |
![]() Color Fax Machine |
April 13, 2006
Buckets & Colors
Three new features:
- Bucket Tool – using the ‘slow fill’ method I talked about. It’s not 100% perfect yet
- Eraser Tool – this needs some more work, if you erase slowly it does funny things
- Better color picker – Looks more like a normal color picker, and I included a greyscale bar to easily pick whites/blacks/greys.
Again, I’d be thankful if people could test it out and let me know how it works. I welcome all feedback / bug reports / etc.
![]() Color Picker |
![]() Bucket fills |
April 12, 2006
Supercard CF version of Draw
libpng for DS
Ok, I’ve packged up libpng and zlib for use on the DS. I also included a small makefile which should build both of them and install them for use. Please let me know if it does not work for you.
http://davr.org/ds2/libpng_ds.tgz
Basically, I only had to comment out one line in libpng (but man did it take me a while to find that line), in the png_zalloc() function, and then I changed the makefiles to use arm-elf-gcc instead of gcc (same for ranlib, ar)










