The book of inspiration

May 31, 2010

Anchoring Plus Scarcity

Filed under: life — Tags: , — zproxy @ 10:38 am

Anchoring: In the context of the psychology of prices, anchoring refers to presenting shoppers with a number in order to get them to “anchor” their perceptions of value on either a high or low absolute. The “low ball” offer is the classic example –open a negotiation over price with a really low number and you’ll set the stage so that what you’re actually willing to pay looks higher in comparison.

Scarcity: When something is scarce, it automatically becomes more desirable to us than it would be if it were available everywhere we looked.

[...] When it comes to value, perception is reality

See also:

May 29, 2010

Tetravalanche: Tetris Platforming

Filed under: games — zproxy @ 7:45 am

Via GameSetWatch.

May 27, 2010

JSC Live on Make Web Not War Conference Right Now

Filed under: jsc — zproxy @ 4:52 pm

It’s JSC, not me, but Carlo! The event will be recorded and made available within week.

And just in time JSC has a brand new JSC powered home page.

The installer has also been upgraded!

Last, but not least – JSC has a brand new cool shiny Visual Studio like project designer. A lot still needs to be built, but you will get the idea. Drag and drop Java Applets and Adobe Flash Sprites. Select C#, F# or Visual Basic. And save your project to disk. Facebook connected IDE? Why not.

Check back soon!

Updates from twitter:

Twitterlogo_normalWebNotWar IGNITE WEB APP DEMOS in MAIN ROOM: 5 min for each of your web apps. Carlo Godoy introducing JSC Solutions for CROSS PLATFORM DEV! #webnotwarabout 2 hours ago from web

What Motivates Us

Filed under: video — zproxy @ 1:03 am

May 26, 2010

Livingroom Broken Window

Filed under: video — Tags: — zproxy @ 11:31 am

Robustness is when you care more about the few who like your work than the multitude who hates it (artists); fragility is when you care more about the few who hate your work than the multitude who loves it (politicians).

Thanks Tim!

May 19, 2010

Dell Latitude XT

Filed under: tech — Tags: , , — zproxy @ 7:49 am

Today I installed Windows 7 (build 7600) on my Dell Latitude XT.

Visual Studio

First I installed Visual Studio 2010 Professional from MSDN. When I went to activate it I was said

The key cannot be used to extend this product.

But it was still activated… What are the odds?

Multitouch

Multitouch manipulation actually works!

Get drivers here – N-trig DuoSense® Multi-Touch Package for Windows 7 for the Dell Latitude XT

Update: 2011/08/12: The device can no longer be found by the drivers?

---------------------------
NtrigPanel
---------------------------
No devices found
---------------------------
OK   
---------------------------
N-trig Troubleshooting
Diagnostics self test result code: Error code 0x51

USB Device Not recognized
N-trig hardware was not detected on your system.

C:\Windows\system32>sfc /scannow

External monitors

Additionally I was able to connect two external monitors to my Dell Latitude XT.

Does anyone know how I can keep the two external monitors DVi and VGA while still also using the touchscreen LCD display?

Issues

My issues currently:

  1. Touch input issues random clicks sometimes
  2. Touch input locks up sometimes
  3. CPU Clock Speed may be locked to 800 mHz instead of maximum 1200 mHZ. Heat/Fan problem?
  4. Biometric Coprocessor is not configurable

Here is a list of issues reported elsewhere:

Links to user reports of the Dell XT – N-Trig problem:

See also:

May 16, 2010

Layered complexity

Filed under: games — Tags: , — zproxy @ 9:34 am

You smile. A wave of tingling delight washes over you. The science backs this up. When we look at the brain in the process of learning, we see the pleasure centers kick in both in the anticipation of future learning and in the moment of skill acquisition. Playful learning = Fun.

If you do a crappy job and people still think the result isamazing, you are onto something.

From a user perspective, it is the long term that matters.

http://lunar.lostgarden.com/files/Wordcamp%202010-Public.pdf

Thanks Danc for sharing :)

May 10, 2010

Gameseeds

Filed under: games — Tags: — zproxy @ 5:39 am

Game Seeds are wild free-spirited tiny creatures that you can play with, combine, hack and get inspired by to bring new characters and game ideas to life.

Lizzy has posted this awesome sheet:

“Final illustrations”

I found this via BoingBoing

Can one as a developer now drag and drop these items to create a game already? :)

May 3, 2010

Flash on iPhone

Filed under: tech — Tags: , , — zproxy @ 8:40 am

[...] Next thing we need is to see Flash running on Android running on iPhone :D :D :D -wonderwhy

What you need to do is to boot your iPhone to Android OS and you will have flash 10.1 support soon enough.

May 2, 2010

ScriptCoreLib.Ultra.Components

Filed under: jsc — Tags: — zproxy @ 12:37 pm

This is a technical post for software engineers of jsc.

See full size image

There is this new assembly in jsc installation ScriptCoreLib.Ultra.Components. The Ultra keyword hints that you are dealing with code that can possibly run on any target platform. The ultra assemblies will be merged on demand just before handind them over to the back end compiler. Within the Components assembly I have defined a new component. I wish to be able to use it in a custom application. It should work. But it does not. In this post I will document how I go about killing that minor bug. Yes it is sunday.

So where to start?

I have created a new test project just to define a new flash object and show it on the page. The flash object will inherit from SaveAction defined in ScriptCoreLib.Ultra.Components.

In the picture above you can see that the base class is defined as abstract and has a FileName property and methods to add files. What this SaveAction component is good for is that it will allow me to save a file from the web page to the user’s disk. Currently I have to define the flash object in the custom application, due to implementation limitations. In the future the flash objects can be defined in the referenced assemblies where the developer will be able to simply reuse them without inheriting from their implementation as I have to right now.

Great. Let’s define our local flash object.

Notice that we are inheriting from SaveAction. Also notice that we have a method WhenReady which just yields. This method is important because it will enable us to continue whenever the flash object is finally loaded in the web page.

So we have defined our local version of the flash object. Without going into details just yet I can say that in the application I am going to use a javascript component and extend it with this new flash object.

The important method here is the AddSaveTo method which is defined in the ScriptCoreLib.Ultra.Components. What makes this method different is that this method does not know your local flash object type. Instead it is expecting a generic type which inherits Sprite and implements ISaveActionWhenReady interface. If the compiler worked we would be done by now. Then again things just are not that easy are they.

In this post I am actually working on fixing this nasty bug.

Let’s build our test project.

script : error JSC1000: emmiting failed : Method ScriptCoreLib.JavaScript.Components.VisualStudioViewExtensions.AddSaveTo: type argument ‘UsingComponents.InternalSaveActionSprite’ violates the constraint of type parameter ‘T’.

Great we got an error. It looks like jsc messed up somewhere with generic rewrite and type erasure. What jsc does is when it splits the application to javascript and flash then our local flash object will inherit from a proxy object inside javascript context. Every time the project will reference a Sprite in javascript context it must actually reference the proxy.

Let’s fire up reflector to see what has jsc generated.

We are looking at the javascript version of the ultra application and we can see that our local flash object has changed its base type as expected. What about this AddSaveTo method which had a generic constraint on the Sprite type. In javascript context we do not have a type Sprite. As such if the front end were not able to successfully replace the types the back end would have a serious problem with the unavailable type.

As we can see the jsc front has been unable to replace the Sprite type reference. I have to find out why. Is it because we are merging different assemblies? There are actually two problems with this AddSaveTo method.

  • The generic constraint has not been replaced.
  • The generic parameter has been replaced with non generic parameter.

I will prepare a rewrite test project with similar method signature to see if the rewriter is acting correctly on its own.

The post build event I am using is:

c:\util\jsc\bin\jsc.meta.exe RewriteToAssembly /assembly:”$(TargetPath)”

Looks like I forgot to attach the generic parameter constraints.

The rewriter works as expected. Let’s continue to use this AddSaveTo method via project reference. I will add a new test project and add a reference to the current project.

Did I mention I really dislike when Visual Studio comes unresponsive or makes me wait in the Add Reference dialog?

I added the same post build event. Let’s use the AddSaveTo method and see what gets rewritten.

The rewriter did not merge them. We want the two assemblies to be merged. To do that I will add an assembly level attribute.

After building I get this:

Unhandled Exception: System.TypeLoadException: Could not load type ‘GenericConstraints.ISaveActionWhenReady’ from assembly ‘ClassLibrary1.dll.Rewrite, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null’.

It would be awesome if we were actually told the reason why this error happens. Now I have to debug :) Can I assume that a generic constraint type must be created before using it as such? Or shall the rewriter apply generic constraints after all types are created?

After a small modification to jsc, the test project now builds as expected.

Let’s retry building the original test project.  Yay! Fixed. I hope everything else still works :)

In the picture above you can find the save button we just added.

Here is the output from updated rewriter where the two problems outlined before are now fixed.

Thank you for your attention. More cool stuff to come!

Theme: Shocking Blue Green. Get a blog at WordPress.com

Follow

Get every new post delivered to your Inbox.