Dax Pandhi's nAESTHETIC Dax Pandhi's nAESTHETIC Dax Pandhi's nAESTHETIC Subscribe to this Blog's RSS feed Subscribe to my DeviantArt RSS feed

Popular art from my DeviantArt account:


  Wednesday, March 22, 2006


Carl Franklin's INTELLECTUAL HEDONISM is finally live

Ignore the earlier post.

I've just updated the site for Carl and INTELLECTUAL HEDONISM now finally fully functional. Do check out what Carl is driving these days.









  Tuesday, March 21, 2006


Video: Exploring Windows Presentation Foundation #1

I've been wanting to write some articles/tutorials on Windows Presentation Foundation and Microsoft Expression Interactive Designer for a long time, but just can't find the time. I was inspired by Carl Franklin's dnrTV, and I thought why not make them into short 15 minute videos? So here we are with my first attempt at a visual presentation.

In the first part of this series, we will see how easy it is to control timelines and animate controls. We will also see how easy it is to create custom templates for existing controls.

Click the image above to launch the video.

Length / Size: 00:11:59 / 6.74MB

NOTE: Due to technical problems - presumably an issue with Expression Interactive Designer - context menus are not visible in this recording. You can find links to the screenshots of these menus below.

Links: Edit Template Menu | TemplateBinding Menu | Full Source Code*

* Requires March CTP of Microsoft Expression Interactive Designer

Feedback is appreciated. :)






Nukeation does Carl Franklin's new blog!

Hop on over to Intellectual Hedonism, Carl Franklin's new blog. Carl finally decided to leave weblogs.asp.net/cfranklin and come on over to the dasBlog world.

Carl had some great ideas (and some cool photos). We put our heads together (and forced them apart). I took out my pencils and crayons (and then put them away), picked up my mouse and you can see the result at www.intellectualhedonism.com

Nukeation Studios Blog Design Service scores another cool blog. Get one for yourself today!









  Monday, March 20, 2006


The Gates Open in Five Days

I guess that ring given by Azura really did boost my luck stats! Oblivion will be released tomorrow. And I just got an email from UPS telling me my copy of the Collector's Edition will be delivered on the 25th.

I recommend people interested in the world of game design to read these pages. It's gonna be great! Here's how great it's gonna be: I have put down my lightsaber to pick up the sword. I'm gonna add a gallery on the blog somewhere for the screenshots I will be taking soon!









  Friday, March 17, 2006


Review: Oblivion Soundtrack


 

1. Reign of the Septims
2. Through the Valleys
3. Death Knell
4. Harvest Dawn
5. Wind from the Depths
6. King and Country
7. Fall of the Hammer
8. Wings of Kynareth
9. Alls Well
10. Tension
11. March of the Marauders
12. Watchman's Ease
13. Glory of Cyrodiil
14. Defending the Gate
15. Bloody Blades
16. Minstrel's Lament
17. Auriel's Ascension
19. Daedra in Flight
20. Unmarked Stone
21. Bloodlust
22. Sunrise of Flutes
23. Churl's Revenge
24. Deep Waters
25. Dusk at the Market
26. Peace of Akatosh

 

Available from DirectSong (www.directsong.com) for $9.99

It's been a long time since a soundtrack has been this good. Jeremy Soule really captures the essence of fantasy in this masterpiece! Of special note are the tracks "Glory of Cyrodiil" with an addictive flute opening followed by a haunting tune, "Bloodlust" which will be the primary combat sequence music, and the theme for Oblivion "The Reign of the Septims".

"Minstrel's Lament" is the perfect companion music for a scene where you roam the river banks at dusk, or for summer night spent wandering the forests.

"Peace of Akatosh" will probably be the music for the end, when you fulfill your main quest. Akatosh is one of the Gods worshipped by the Imperials. It might also be the music for lost temples or those even the Palace.

Definetely a must-buy for any TES fan. It's fun, energetic, yet non-intrusive - which is, IMHO, perfect for music to listen to while working!

Go listen to some samples at www.directsong.com

5 more days to go for Oblivion.









  Thursday, March 16, 2006


Awaiting Oblivion

I've never been too big of an RPG fan. Whatever interest I do hold for this genre, very much resides for the computer games.

In 2002, my cousin gifted me The Elder Scrolls III: Morrowind. I told him I didn't do well in RPG, but he insisted I play. And he did me a great favor. Since 2002, I have spent over a thousand (1000) hours in Morrowind. Outside of Morrowind, my only other contact with RPG has been Star Wars: Knights of the Old Republic (www.swkotor.com) and Star Wars: Knights of the Old Republic II - The Sith Lords (www.kotor2.com). And these can't really be called RPG - especially when comparing them to Morrowind. Oh, and another one I played (long ago) was Super Mario RPG on the Super Nintendo. :-)

Morrowind gave me something I had never seen in a game - freedom! No "system" that told you to follow things in a particular order. It was truly open-ended. Despite what may seem "faults" or insufficient features now, back then the things in Morrowind were literally unique! I hunted, foraged, stole. Anything to stay alive. I worked for many people - from the lowest to the Emperor. I had slain thieves and guards alike with my blade. I challenged - and killed - the mightiest Orc to earn his blade - "Umbra". I communed with people long dead and talked to the only living Dwemer. I fought the Corprus Disease and actually lived to tell of it. I held the fate of the Dunmer in my hands. I fought werewolves and I even became one. And I fulfilled the Neraverine Prophecy and brought hope back to Morrowind.

But more than all that, I had freedom. To sleep under the stars. To travel through green forests, murky swamps, ice tipped peaks, frozen glaciers, caves with filled molten rock, and even throught the heart of the great volcano - Dagoth Ur.

Now, after 4 years of wandering the same old places, I will finally get a new world to wander in. The heart of the Empire of Tamriel - Cyrodiil - Imperial City. Oblivion (www.theelderscrolls.com) - the fourth installment in the Elder Scrolls series is going to be released in 5 days. And I've just paid tons of money to Bethesda Softworks to deliver the game (overseas) within a week. I almost paid for the 2 day delivery, but the rates reminded me that I need food to live, and I need to live to play the game.

I have half a mind to move to the US. These shipping rates are killing me! (And the nice friends who send me stuff!)

But, back to the point, the gates OBLIVION (ie, hell) will open soon and there will be need for one brave individual who will - get this - NOT BE THE CHOSEN ONE (thank god!), but will instead be given the task of finding and protecting the person who is the chosen one - the one who was prophesized. And it will be up to this person to help the Chosen One fulfill the prophecy and save all of Tamriel. I vote for me. I just hope my 3GHz, 2 GIG RAM, 256MB GeForce 6800 rig can handle this game!

Go check out the site, and do watch the videos in the Download section. I promise you will be enchanted by this game.









  Wednesday, March 15, 2006


Windows Live Messenger rocks!

I would like to say thanks to Paul Thurrott for the Windows Live Messenger invite. I just LOVE this new messenger. I'd also like to return the favor. I have some invites left ... anyone wants one, just mail me. :-)






Dad finally retires

After more than 40 years of work, my father, Mahim Pandhi, has finally retired today on his 60th birthday. He has been the editor of Kutchmitra, the premiere newspaper of Kutch long before I was born. Happy birthday, dad!









  Thursday, March 09, 2006


Post-Quake Thunderstorm and no electricity

This was taken last night. Roughly 23 hours after the earthquake. What little damage the tremors did to the electrical distribution infrastructure, the storm multiplied it by 10. We just got proper power back. We had 3 blown fuses and a severely damaged cellphone charger.

Tornado (will blog on that later, suffice to say it preceded the quake by 2 days), earthquake, thunder, what's next? Tsunami in the desert? A rain of frogs?

Can you imagine how you sound to your clients to whom you email to apologize for what may seem to them like a lousy excuse - "uh, we had an earthquake, and then a thunderstorm knocked out our power lines."

Btw, later reports state structural damages to several hundred buildings - tho nothing severe. The epicenter was the same place as the previous quake. Just remembering that place makes me shudder. It's near Chobari. I went there in 2001. A (approx.) 200 sq ft wide igneous rock was split into two with a 2 feet wide crack in the middle.

I wonder if I should move to someplace safer. Maybe the north pole.









  Wednesday, March 08, 2006


Earthquake here in Kutch/Gujarat again

We just had an earthquake about half an hour ago measuring 5.2 (some news agencies say 6.2). Moderate communication and power failures have been confirmed. No one has been hurt nor was there any extensive damage. The worst damage is the emotional kind - bringing flashbacks from the big one (7.8 on the Richtor scale) from Jan 2001.

I don't know if any news sites have picked it up yet, except Rediff.com who are quite incorrectly calling it "mild" in their news flash - especially considering they called me up to confirm. Authorities have confirmed that this was NOT an aftershock like the ones felt some time ago, but a quake in of itself and (don't panic) that there will be additional tremors throughout the night. The first tremors were felt at 00:15 and scared the stuffings out of me!

If any of you are reading from Bhuj or anywhere in Gujarat, please be safe - especially in the Old Bhuj area.

And as I write this, more info on Rediff has appeared. I'm definetely gonna complain to the Editor-at-large (Sheela Bhatt) --- its easy for them to take this so lightly. More than a hundred and fifty thousand people were running outside of their houses. This was NOT MILD, dammit! And it was AFTER MIDNIGHT not before midnight. Geez, rediff is getting worse. They're not even mentioning that these tremors lasted for well over half a minute. It's the TIME LENGTH that counts more (often) than the scale of the quake.

MTFBWU









  Sunday, March 05, 2006


Exploring Windows Presentation Foundation - Part 1: Skinning vs Usability

IMO, in my recent experiences, a large number of people still think of a skinned app as something like Windows Media Player, WinAMP, PowerDVD, the OEM apps that come with digital cameras, Bryce or even PwopCatcher. Skinning CAN be like that, and no doubt MANY people will want that (and need it too). However, skinning can also (and in a more widely needed as well as realistic pov) mean enhancing the existing structures of your WPF application controls.

In certain situations "skinning around the control" rather than "skinning the control" also helps. And if you allow me a moment to be painstakingly irritating, with WPF's super flexible design model, skinning is too narrow a term to really describe what can be done. But back to skinning around the control, let me clarify what I mean by building upon an example I (will) present in The Human UX:

Say we have a button that triggers a purge of a nuclear reactor (if you don't know yet, this is a hypothetical situation). From a typical skinning point of view (STC - Skinnin the control) we might have an urge to paint the control red, put a biohazard or radioactive symbol on it, and add those yellow-black warning stripes around it. Now that's all nice and good, but just PAINTING the control is not really helpful aside from making an idiot go "ooooooh, what does THIS button do?".

Let's build a USABILITY ENHANCEMENT on top of this. For a seriously dangerous function trigger like this button, a good accident deterrent is needed. Let's use a reversed version of the "Your computer will restart in 15 seconds" dialog. We make the button nicely big (say 100px wide and 50px tall). When idle, it says "Purge Reactor" and has an exclamation on either side. When clicked, the text says "Confirm?" and the button starts to pulsate its color. A small 95px wide, center-aligned, progressbar appears ON the button, and instead of the exclamation icon, a countdown is shown - which is also reflected in the "emptying" progressbar. If the action is not confirmed within 15 seconds, then it is automaticaly cancelled. To be safe from accidental double-clicks, the countdown starts 3 seconds AFTER the first click.

On cancellation, the button fades back to the normal "idle" mode.

Now this is something I just dreamt up right now. With proper planning and some usability experts (<cough> Nukeation </cough>) these types of "little things" can seriously enhance the usability of any application.

What we just did here was NOT your typical skinning. We actually edited the base template of an existing button, added various timelines to respond to different events, and added sub-controls hosted on its surface. This kind of work was not possible (at least in terms of practicality and ease) unless you knew some heavy C++. We are messing with new "sub-controls" and timelines rather than just slapping on sweet graphics, so this isn't really skinning. While the official terms for this are (as far as I know) "Editing a control template". I call it Avalonizing or Avalonization, of WPFing (pronounced "wip'fing").

But enough of terminology. My main point here is that we now have an affordable, easy to implement, and flexible model for doing such things. And this power should not be wasted on just skinning an application, but rather to create superior usability enhancements to your apps.

Coming soon

Next Part: Using various contains like Grid, Canvas, and Flow to seamlessly present both controls and textual content in a single form.

Tutorial: Simple Template Editing for the Button and Progressbar.






Nukeation does Ted Neward's blog

Check out Ted Neward's blog: http://blogs.tedneward.com/ designed by yours truly. :-)

If you don't know Ted, he's a bigwig (read "speaker, consultant, trainer, author) in the Java world (as well as .NET) and while I don't understand much of the technologies he works with (I prefer Tea to Coffee, if you get my meaning) I do understand he's a super consultant in the interoperability field. His new book (list of books also available on his blog on the sidebar) is very good, or so I'm told by friends who deal with the "other" programming language. :-)

We also did his website which will be up shortly. Will post a link when it comes online.

In related news, coming soon: a new take on blogging. A short marketing-centric paper I'm going to write (as soon as I get the stuff I'm writing for MSDN out of the way) about how to enhance the potetial of your blog. A typical blog uses only 30%-50% of its total markting potential, according to a private survey I am doing. Hopefully that will change.






MUST READ - children and Star Wars
http://blogs.starwars.com/RyanKaufman/22

Ryan Kaufman, Jedi Guardian of Peace, Justice, and Continuity at LucasFilms, posted a seriously funny post about his Son and Star Wars. :-) Must read.

FYI, Ryan is one of the people responible for the Jedi Knight series of games and is like the godfather of Kyle Katarn.









  Friday, March 03, 2006


Star Wars Infinities

Star Wars Infinities is a series of comics, which I personally don't like, that deal with "what-ifs" in the Star Wars Universe. The storyline is altered here and there and the whole deal comes off a lot different than the actual storyline. As a fan(atic) I consider this blasphemy. Why I mention this is because I was just watching in-sequence the original trilogy, and I started thinking... what if...

Let your imagination go wild as we consider these infinities.

Variation 1: Father and Son vs Sister

Ignoring Yoda and Ben's warnings, Luke Skywalker makes his way to Bespin. He encounters a trap laid by Darth Vader. They fight. Vader chops off his hand, and tells him the "truth". Confused and in pain, Luke can think of only one thing - he has found his father. He forgets that this was the same man who killed Uncle Owen and Aunt Beru, tortured Han and Leia, and tried to shoot him to death on the Trench Run. Overwelhmed with mixed emotions where Yoda and Obi-Wan's betrayal only shines, Luke loses consciousness and falls into the gas tunnel. Using the Force, Vader grabs him out of the air and lands him safely next to him.

As Leia, Chewbacca, and Lando begin their search for Han, thinking Luke lost to death by Vader's hands, Luke arrives on Imperial Center (formerly Coruscant). Under the Imperial med-droids care he recieves a black armored gauntlet that replaces his right fist - reminiscent of Anakin's first prosthesis. And under the cruel but powerful tutelage of his Father and the Emperor, Luke is drawn completely to the Dark Side. Having lost Anakin Skywalker's lightsaber at Bespin during his fall, he builds a new - RED - lightsaber. Vader tells him his training is complete.

Without Luke's help Leia, Chewie and Lando rescue Han Solo from Jabba the Hut. After escaping Tatooine in the Millenium Falcon, Leia has a dream in which Obi-Wan comes to her. Tells her of her heritage. And beckons her to follow the path of the Force - the path of a Jedi. Leaving Han and the others, Leia leaves for the Dagobah system. There she goes through Yoda's last training, and forges her own GREEN lightsaber.

Meanwhile Luke escorts the Emperor to the new Death Star where Vader awaits. The Emperor reveals his plan for the Rebel Strike that is imminent. Luke is sent to Endor.

Leia and Han lead the strike team on the assault on the shield generator on the forest moon of Endor. While staying the night at the Ewok village, Leia confronts Han and tells him the truth about her, her family, and where she went (Dagobah). She tells him that Luke is still alive, but a servant of the Dark Side. She tells him there is still a chance he can be saved and she must take it. She leaves Han and turns herself over to the local Imperial garrison.

Leia finds Luke at the garrison. She tries to talk to him about leaving Vader's side, but he tells her - almost sadly - that it is too late for him. He looks at her lightsaber, activates it, and congratulates her on completing her training. She tells him of Yoda's death. Luke scoffs at the news, telling her that all Jedi do is decieve and betray.

Luke takes Leia to the Emperor. Entering the Throne Room, they see Vader standing over a large crater in the floor where a tattering black robe lays. Vader turns off his lightsaber and turns to see his children. Leia tells him that she has come to take her brother back. Vader tells her he will not go, that he has complete control over him. Leia, only half-trained by a dying Yoda, gives in to her anger, calls her saber to her hand through the Force, and lunges to strike Vader with her lightsaber only to be intercepted by Luke's lightsaber.

Brother and sister fight.

Leia's powerful strokes batter Luke to the ground where she chops of his whole right forearm! Howling in rage, Luke slumps to the floor. Vader laudes Leia's abilities and commands her to strike down her brother and take his place by his side. That it is her destiny. Leia calms down and finds her center. She looks at her brother. The brother she came to save and yet almost ended up killing. She throws away her lightsaber and claims that she is a Jedi, like her brother before her. Vader releases his fury at Leia in the form of Force Lightning. Bolts of lightning wrap Leia and seep her strength. Curling into a ball on the floor, Leia calls to Luke for help.

Sub-Variation 1a

Watching his sister in agony, Luke comes to a decision. His mind is clear. He grabs Vader from behind and thrusts his lightsaber into his chest. The Dark Lord of the Sith falls to the ground and dies in a burst of Dark Side Energy.

But in helping Leia and protecting her from the Dark Side Burst of Energy, Luke himself is crippled. He tells Leia that she has finished what she set out to do. That she has saved him. Luke lets go of the living world and fades into the Force. Leia escapes the Death Star as it explodes.

Sub-Variation 1b

Watching his sister in agony, Luke comes to a decision. His mind is clear. He grabs Vader from behind and thrusts his lightsaber into his chest. The Dark Lord of the Sith falls to the ground and dies in a burst of Dark Side Energy.

Leia helps Luke - who is now crippled from the explosion - up. They both know they have struck the death blow to the Empire. But they also know its too late for them. They embrace each other as the exploding Death Star consumes the Last of the Jedi.

Sub-Variation 1c

Watching his sister enveloped in bolts of electricity, Luke Force pushes Vader out of the way and stops his barrage of lightning. He tells him "She's mine" and drives his lightsaber straight through Leia's body.

Vader regains his balance and walks towards Luke and says "Well done, my son. You are truly strong." only to hear his son say "And you are too weak". Luke activates his Lightsaber and lunges at the former Dark Lord.

Sub-Variation 1d

Watching his sister enveloped in bolts of electricity, Luke grabs Vader with the Force and hurls him down the reactor chute. Vader dies in a fury of Dark Side energy. Luke walks up to Leia who is struggling to get up. He squats down to her. He touches her cheek gently and smiles at her. Leia sees hope. But the smile suddenly turns deadly as Luke says "Goodbye, dear sister" and runs her through.

Luke Skywalker, the Last of the Sith, assumes command of the Empire. He wipes out the Rebellion at Endor and plans to take the Empire to heights even Palpatine couldn't.


Now this all seems blasphemy to me and I am considering myself a blasphemer. But you gotta admit - this is interesting. :-)









  Sunday, February 26, 2006


Catching up

What can I say? It's been hell. Both good and bad.

Still not at the best of health, but will pull through. Nukeation is finally undergoing a major change that will split the company into three divisions. I will still reside over all three as undisputed God, but other people are also being brought in. My primary goal from today will be the retail products we've mentioned at Nukeation Labs. And above everything will be NukeBall. The three divisions btw, will be: Professional Services (graphics/web design, etc), Retail (NukeBall, PixelSpread, etc) and ... uhh, the third is a secret for the moment. :-) Let's just say it deals with culture at a high level.

Nukeation has also undertaken 2 top secret projects under special circumstances even though we are no longer accepting new projects at the mo. The first project will probably mean nothing to 99% of the readers here, but the other 1% (and about 2.7 million other people) will be very excited about it when we finally reveal it. This project is directly linked to the new secret division mentioned above. The other 99% will surely enjoy top secret project #2. Here's a hint ... uhh, the suits just came into my office ... will talk more about it later when I don't have a gun pointed at my special place ... my brain, you dolt! My brain. Sheeesh. Kids these days.

Copyright © 2005-2006 Nukeation Studios. All rights reserved.

Here's a look at the new work-in-progress box of NukeBall. We're rethinking the branding while some of the last features are being coded. We seriously need to get the site updated soon too! Now that we're soon be completing all pending projects and won't take new ones, I will finally have some time to do that! Love to hear any comments on the box tho. :-)

I also need to see if I can find some time to write those WPF articles/blog posts that I have been threatening about for so long.

Sigh. I wish a day had more hours! And that reminds me (don't ask how) that I need to post a link to www.andyeick.com - go check it out! It's still in Beta mode. Andy's a client-turned-friend and a terrific photographer. Go check out his site (which I *ahem* helped design, thankyouverymuch) and especially his photos! He has about a million and half ideas for his site, but -847139 hours to implement them in. But check it out nonetheless, the real juice IMO - his photo gallery - is already there. Do notice how he delicately and artistically treats even a seemingly "everyday" pic. Oh, and if you dare to venture into his site's Professional section, do so in a sitting fashion. His resume still knocks me to the ground. :-)

I also need to post some opinionated opinions about Isaac Asimov. I read Asimov for the first time. Shocking. I know. I have just under 60 pages left in "The Edge of Tomorrow". My main reason for buying it was because it has a painting by Boris Vallejo on the cover, and because Asimov wrote the introduction to a book about Boris Vallejo. I've learned a lot about paintings from Boris' works! But can't write about all this yet. Need to finish the book first. And get all the remaining work out of the way too!!

Oh, and btw, I'm downloading Windows Vista Build 5308 32-bit. ~13 hours left. You know the drill.









  Saturday, February 18, 2006


The Force is with me

The last couple of days I was sick. I was miserable. But this morning, I felt a lot better, and felt even better when the FedEx guy delivered two large packages. Excited out of my mind (and also tired of not being able to blog anything for many days) I finally lugged my new tripod, camera, and the kriffin' awesome Vader lightsaber (Force FX) to my roof at 2:30am (its 3:30am now) and took some shots and a couple of videos. Most of 'em turned out bad (I'm still sick I guess) so will take new ones over the weekend and post then. For now, these will have to do:

The Vader saber was surprisingly larger than I expected. It's true the Force FX is not a 100% exact replica - it was slightly enlarged to fit all the electronics. The hilt is also surprisingly solid metal (looks like chrome coated plastic from afar) and heavy (I'd say about 600g or so, not sure). You need to hold the lightsaber with both hands unless your hands are as big as David Prowse'. As soon as I put in 3 AA batteries and switched on the activator stud I was pleasently greeted by a menacing snap-hiss and then idle humming that suddenly brought back memories of watching old Ben Kenobi face Vader on the Death Star. As soon as I twisted my wrist, the (supposedly) gyroscopic motion sensors fired up and the bottom mounted speakers played very accurate lightsaber motion sounds (whrrooom, vrrrrrmmm), and when you hit the blade (tho not too hard) on something it plays a clash sound like hitting another lightsaber!!

The blade glows a bright red visible even in full sunlight! At night its a horrifying scene (to the person watching). An hour ago I scared the stuffings out of the watchman passing by my house. Looking how he hurried his pace, I almost wanted to go down and start chasing him - lightsaber blazing! I didn't. I plan to do it tomorrow when I have more strength. :-)

Lastly, notice the fine finish (ignore my fingerprints) on the hilt. The pattern in the bottom corner is the black nozzle on top from where the blade comes out. It's just how it looks in the movies! The construction is excellent and sturdy.

The second package has the .45 (45%) scaled down model of Darth Tyranus (Count Dooku) replica lightsaber. This is EXACTLY scaled. 100% of what was in the movie (just half the size). It's usually about $35, but I got it free with my FX saber. I intend to order ALL the .45 ones ... not yet. Food first. Sabers second. Food first. Sabers second. Sigh.

As I look at the curved lightsaber, I have half a mind to order two full-scale replicas and see if I can modify my motorbike's handlebars with this. Hmmm. The blade gaurd at the tip of the saber is just so cool.

The detailing is fantastic. Simple excellent craftsmanship. The certificate that came with this said this is a hand crafted model. And this 4"-5" model is also surprisingly heavy. 100g at least. It has a great feel when you hold it - even if its .45 sized.

The rubber grips around the hilt are also very nice. This lightsaber is a lot more comfortable than the Vader saber. The Vader saber has large vertical hard rubber strips that serve as a cleaving grip. Seriously - it bites into your flesh if you hold it too tight! After 3 hours of playing around with the saber, I finally found a comfortable grip. Also, the Dooku saber has a metal "spine" in the under curve that can be uncomfortable if held improperly. You must remember, these were Dark Lords of the Sith. They CHOSE pain. Frustration can fuel their rage.

Oh hey ... I hear the neighborhood watchman making his rounds again. BRB :-)









  Tuesday, February 14, 2006


XAML/WPF Experiment: Zoom Functionality 2

In my previous post I showed some XAML code. I would like to point out that some of the code there looked a bit overcomplicated, but that was on purpose - since the code was taken from my app which require it to be that way for several reasons. Here's some alternate code:

<ScaleTransform CenterX="0" CenterY="0" ScaleX="{Binding Value, Mode=Default, ElementName=Slider}" ScaleY="{Binding Value, Mode=Default, ElementName=Slider}" />

Which replaces:

    <ScaleTransform CenterX="0" CenterY="0">
        <ScaleTransform.ScaleX>
            <Binding Mode="Default" Path="Value" ElementName="Slider"/>
        </ScaleTransform.ScaleX>
        <ScaleTransform.ScaleY>
            <Binding Mode="Default" Path="Value" ElementName="Slider"/>
        </ScaleTransform.ScaleY>
    </ScaleTransform>

This is nice. Creating UI in a markup language makes it SO much flexible for modifying existing stuff. It would give you hives in WinForms!









  Monday, February 13, 2006


XAML/WPF Experiment: Zoom Functionality

I mentioned in my post about PixelSpread that a LOT of code was replaced by using the simple features of WPF. Here's how it was done. This example illustrates the concept, but with different controls.

On our blank XAML Scene file we have a Grid object and a Slider. The grid is called grdMain and the slider is ingeniusly named Slider. To make this realistically work, we need the Grid to be in some sort of container to mask the view, but that's beyond the scope of this example. The slider's VALUE will provide the zoom factor. 0 being nothing and 10 (1000%) being the highest. Here's code:

<Grid Width="Auto" Height="Auto" Background="#FF000000" x:Name="grdMain" MinWidth="0" RenderTransformOrigin="0.5,0.5" Margin="13,16,10,46" MinHeight="0">
  <Grid.RenderTransform>
    <ScaleTransform CenterX="0" CenterY="0">
        <ScaleTransform.ScaleX>
            <Binding Mode="Default" Path="Value" ElementName="Slider"/>
        </ScaleTransform.ScaleX>
        <ScaleTransform.ScaleY>
            <Binding Mode="Default" Path="Value" ElementName="Slider"/>
        </ScaleTransform.ScaleY>
    </ScaleTransform>
  </Grid.RenderTransform>

 </Grid>

 <Slider Width="132" Height="21" x:Name="Slider" RenderTransformOrigin="0.5,0.5" Margin="0,0,42,14" HorizontalAlignment="Right" VerticalAlignment="Bottom" Value="1"/>

The code is pretty straight forward. We have databound the Grid.RenderTranform.ScaleTransform.ScaleX (and Y) properties to the Slider's VALUE property. You can also use RotateTransform or other transforms as well.

To find out more about the ScaleTransform object, see this link in the WinFX Documentation. For other transforms and the Transform object itself, see this link.

The documentation notes that the RenderTransform object does only TEMPORARY transforms. That is, it does not regenerate layout size, etc. But you can simply use such binding to other "tangible" objects for storage.






OMG Factor for WPF Post 1 of Infinite

Making a prototype UI for PixelSpread, I started implementing the Zoom feature (it zooms the entire page/spread). I wrote two lines of code manipulating the Transform of the container and binding it to a slider, and replaced over 120 lines of Windows Forms related code! No more handling resize events or anything! This just WORKS.

I wish I could post the code. But this is a commercial application. Still, WPF ROCKS! I might post a similar sample just to show off this feature. Seriously, WPF solves SOOOOOOOOO many UI customization problems!






PixelSpread moves to WPF

Now that Windows Presentation Foundation is much more stable, and all it's tools are appearing in usable condition, I've started moving some of our projects to WPF.

The first of which is PixelSpread.

PixelSpread is a more-or-less ANTI-ORGANIZER. Don't let the name fool you though, it has superb auto-organization facilities. PixelSpread is made especially for designers (web and graphic). Photographers have recently gotten tools that let them organize their photos on a digital light table and work like they do in the physical world. Now that's all nice and good, but a much more simple (yet complex) solution is required for graphics designers who have literally thousands of small images (icons, graphical widgets, etc.). The thing is, designers often work with pieces of a single image. For example, take a button for example - it is (in web design especially) comprised of three different images: left side, right side, and the middle that can be stretched as wide as need be. You have to be painfully specific to organize these images so that you can see them in order in your image viewer or Windows Explorer. And organizing multiple such things is a pain. Trust me. I manage over 651k+ such images.

So, in comes PixelSpread. NOTE: This screenshot is from the WinForms .NET 2.0 prototype. This has 60% less features.

So, PixelSpread lets designers randomly drop images to keep here in a "spread". You can have more than one spread and share a single image across multiple spreads - like the new Virtual Folders in Vista. You can store a more than one format for each image. You can instantly copy from PixelSpread to your favorite web design or graphic design software.

PixelSpread maintains 32-bit transparency and supports Vector objects as well. You can zoom in/out an entire spread. Featuring state-of-the-art image compression (storage only), the PixelSpread data storage layer compressed a 291MB Corel PhotoPaint (CPT) file to 10.3MB, and a 325MB PhotoShop (PSD) file to 19MB.

With the move to WPF, the UI is more more flexible and customizable. The memory footprint is smaller, and the application is now seriously much more fun to use! :-) Even with the move to WPF, PixelSpread still uses the Nukeation XCOPY™ Engine written entirely in Visual Basic 8.0 and sporting a custom back-end.

For more information about PixelSpread, subscribe to the RSS feed at http://labs.nukeation.net or see the PixelSpread page there.

PixelSpread is intended for a Q3 2006 release. There will be a free "Express" version of it as well. Expect a beta in the coming months.









  Sunday, February 12, 2006


What does one do while awaiting the delivery of his lightsaber?

So I'm gonna need to wait a week or so more for my sabers to get here. Here's the stuff I'm doing in the meantime:

  • Playing Jedi Academy once in a while to get the feel of the lightsaber and some pretty hot moves.
  • Buying replacements for the stuff I broke in my house while practicing the aforementioned moves.
  • Using a thick whiteboard marker as a lightsaber hilt and practicing thrusts and parries.
  • Apologizing to my colleague whom I drew red marker stripes on while practicing. Note to self: buy him a new shirt.
  • Using a broom as a double-bladed lightsaber and practicing the moves.
  • Thanking the Force for helping me not break anything this time.
  • Building a special display case in my home office for the lightsaber.
  • Thinking of starting a collection of different replices (including replica Katana blades and other types of swords).
  • Might even take up fencing lessons if I can make the time.
  • Practicing chopping of Dooku's head (using cabbage).
  • Practicing kneeling in front of (imagined) Emperor Palpatine.
  • Practicing killing people with a Force grip. (tho I'm still not able to call the TV remote from afar - now that's a Force power we all could use. That and using Force Sense to find the car keys)
  • Wearing more black clothes (I already used to do that, so no biggie - being a graphic designer rocks)
  • Trying to explain to men in white coats that I am mentally stable (note to self: get a certificate from the psychiatrist)
  • Practicing being redeemed by my son near the end (note to self: get a son) (note to self: find a woman insanse enough)
  • Playing more Jedi Academy.

Don't worry. I won't post photos of myself dressed in black, brandishing a red lightsaber. Well, not more than one or two, at least. :-)









  Friday, February 10, 2006


Wooohoo! It shipped!

I love the people at MasteReplicas.com. They gave me FREE international shipping (usually costs like $40 to $80 for things like these!) and now instead of the usual month or two I need to wait for a package from the States to get to India, they are estimating a delivery in the next 11 days!!

I can't wait wrap my hand around that cool polished hilt of Vader's lightsaber. Red blade blazing. Jedi fearing from it. Muuhaahahaha. I'm drooling already. Oh damn, need to clean the keyboard now.






Digital Exile Blog - Revamped - FINALLY

Hey, you! Yes, you - the guy reading this in an aggregator or something. Get your butt to www.nukeation.net right now before you read one more word! Yes, that means you! Now MOVE IT!

There, you on the site now? Cool! Thanks. :-) Keep reading.

Being a graphic designer who loves to keep his stuff with the newest, coolest look, you can imagine my anguish at having to keep a 6 month old skin on my blog while I flesh out a new one. While discussing the finer points of this design, I would also like to share some thoughts I've had.

I get anywhere between ~5000 to ~18000 hits a month (excluding bots). At last count, I had a dozen subscribers to my feeds. Now that means only a handful of people read this blog in an aggregator. The rest (which is a seriously big number) read only occassionaly or stumble via Google or something. As a person whose blog is important to his business, and as I've been telling people that a blog is money-maker and a fantastic marketing tool if you make it work for you, I decided to make the blog a bit "more" than a blog. Notice the cool links on top. Those are the money makers.

The ratio of new readers to old ones is clearly lopsided. So there is a "quick info" panel near the top. People who just discover the blog get to know what's it all about, a bunch of links to posts they can check out and measure me out and see if this is worth reading or not, and so on.

One big struggle I had was with the issue of the balance of graphics versus practicality. If I went too graphical, it would ruin speed and other things. If I went de-graphical, to me, there is no point in having a blog front - let it be pure RSS feeds instead! One big, big, big, big, big pain in my ass was the sidebar. The blogroll, archives, search, and what not. They take up 100 to 200 pixels of precious real estate. This new skin solves that! The black glass buttons on top show drop-downs with the sidebar contents! I can FINALLY post 950px images in my posts and not worry about graphics being screwed up!!!!!!!

Okay, I've rambled enough for now. Btw, I'd love to hear your comments about how you like this new look. Thanks!

Uhh... you can go back to your aggregator now. ;)









  Thursday, February 09, 2006


Nukeation Labs goes online

http://labs.nukeation.net is now active. Do note, this is a pretty bare bones version. I will beef it up over the next couple of weeks. I have about a dozen downloads to add - as soon as I get time to debug them :-)

Many new projects we are making for our retail division (for developers and graphics designers) are now shown on Nukeation Labs.






Code: GetNow()

Not really the world's most slickest piece of code, but is very helpful in certain situations. I hate to use GUIDs in autogenerated filenames. If you ever need a piece of string for a filename or other unique identifier, the following function's return string would make a nice suffix or prefix. Essentially its a special-character-stripped string representation of "Now".

    Public Function GetNow() As String
        Return Now.ToString.Replace("/", "").Replace("-", "").Replace(":", "").
Replace(" ", "").Replace("PM", "").Replace("AM", "").Trim()
    End Function

This is applicable to user-induced file/string creation only. If using for automated functions, you might want to append a random number at the end. This is a very good GUID for many situations. Very simple, and logical for many situations.






MUST SEE: Mario vs Sonic

If you're from my generation, you are surely gonna love to see this. The ultimate battle! Mario vs Sonic: Special Edition.

Btw, I'm rooting for Mario. :-)






Falling to the Dark Side, Crossing the Line

Yup. I did it. I just ordered me a Force FX vader lightsaber and a scaled replica of the Dooku's saber.

The Vader Lightsaber (on top, for the ignorant types - seriously, how could you not know the Dark Lord's blade?) has a red blade. Now all I need is one of those Vader masks to transmogrify my voice, and then a black cape. I will haunt the streets at night, waving a red lightsaber and scaring the stuffings out of the public!

Okay, so I'll just eagerly show it to friends and display it proudly in my office (along with the 80s authentic Snow Speeder model, the Delta-38 helmet I'm gonna make soon, and my almost half dozen Golden Web Awards :-D).

So, the statistics are:

~185 novels

~219 comics

~15 games

~2 lightsabers

~0 costumes (can't join the 501st yet, but that's a topic for another blog post)

Does this make me a freak? Hmmm. Be careful of your answer. Say the wrong thing and you just might have a red lightsaber'd phantom menace on your ass!! I may not control the Force, but I can sure kick your behind with an aluminum lightsaber!

The expensive replicas are next, but a bit farther into the future. My psychiatrist has suggested I start spending my money on food and clothes. Oh well.









  Wednesday, February 08, 2006


The war continues ... C# vs VB

Do note, my comments are only to inflame my C# opponent. I really don't hate C# nor do I seriously mean the stuff I say. Our friend "MC C#" keeps saying anti-VB/pro-C# stuff every hour on the hour. Suddenly, while I'm working, I get a message:

MC C# says: if there was a soccer match between vb team & C# team who will win?

Dax says: C#

<MC C# is presumably shocked by my reply>

Dax says: coz VB programmers are serious programers, they dont know how to play sports









  Tuesday, February 07, 2006


Matt Stawicki's site is being updated

Matt Stawicki of DragonLance art fame, (www.mattstawicki.com) is having his site done as I mentioned earlier. I noticed this image (which I hadn't seen before) on Margaret Weis' site and I had to blog it. It's by Matt (of whom I'm a HUGE fan).

"Ashes and Amber" by Matt Stawicki

Notice the hand of God moving the Khas piece!

I've finished Matt's site and have sent it to him for review. When its done, you will be able to see many new paintings of his. I for one can't wait. I'm drooling already. Matt rates #1 in my book, along with Masamune Shirow. :-)