Web 2.0 Session at NDS

Nov 30
2009

6a00e54fc0548f88340120a59ef596970c-800wiHi NDS architects,
Thanks for joining my web 2.0 seminar, I had a great time and hope you did as well.
You can find most of the presentation content in hebrew at my hebrew blog, seminar slides are linked bellow.

Session 1 – What is web 2.0 ?(pdf)

Session 2 – Software as a service (pdf)

Session 3 – Protocols (pdf)

Session 4 – Framework and tools (pdf)

I’ll end with some questions I didn’t know or didn’t have the time to elaborate on:

How effective are google ad words?

You can find info at AdWords site success stories section though it’s not exactly impartial , general statistics about online advertising and ROI can be found in grabstats which also includes links to the original reports.

Where can I find firefox & add-ins ?

Firefox

Firebug

Web Developer Toolbar

Remote Control (STB development)

YSlow

Can Hadoop or F# parallelize my algorithms automatically ?

This question is divided into several parts :

1. Frameworks Hadoop and frameworks alike are prone to work in parallel but you (as the system architect or developer) need to identify the part that can be parallelized and pass it to the framework with the map and reduce functions

2. Languages F#, Scala and other functional languages parallelize your code automatically.

3. Functional constructs PLINQ and other functional constructs inside non funcional languages are not parallel by default, when they support parallel computation it’s usually with using an implicit directive such as myWorker.AsParallel = true;

What’s Yahoo WDK ?

Yahoo’s WDK is a widget development kit , what are widgets ? widgets are mini applications that are floating on your O/S desktop (in Windows they are called gadgets) you can see UI different examples in the following links mac dashboard ,windows gadgetsyahoo widgets. Widgets are very similar in nature to mashups (discussed in session 3) since they usually interact with an existing online service and have no data or logic of their own.  Back to WDK , WDK lets you develop widgets running on Yahoo’s runtime (which needs to be installed on the customer’s machine), it uses a familiar development UI Pattern of XML layout language and Javascript for interaction. Yahoo widgets can run on PC or TV devices though I haven’t come across an IPTV STB that runs WDK. You can read more about WDK at yahoo tv developers or review the development manual for code examples.

Thanks again for a great session,

daniel.

WNYC Radiolab – the best podcast i know

Nov 06
2009

28122_logo[1]This post is dedicated to the BEST podcast I have heared in  a very long time  WNYC Radiolab.

It’s a science show.

It’s a radio program broadcast in the US and also available via RSS.

It’s a brilliant show.

Seth Godin guarantees it will make you smarter and after a few shows I must agree with him IT WILL.

Their refreshing use of the medium won my heart and ears (and i think also some awards). If you have free listening time (commuting, exercising, you just have time or what not) I urge you to give them a try.

Subscribe RSSSubscribe iTunes

Apologies

Oct 16
2009

Iphone online course,lesson 3 & 4

Oct 12
2009

frankly i don’t have the patience to time this lesson.

following lesosn 2 these lesson talks about cocoa , MVC , and Iphone development at least.

knowing all different kind of UI frameworks put me in a bad position of trying to do the assignment with a classic approach to MVC where the view knows the model.

Classic MVC

Classic MVC

MVC

Iphone MVC

Generally lessons learned this week :

  1. the controller knows the types of controls on the view and calls specific methods on them.
  2. the view is not aware of the model.

all where described pretty well in the lessons but hubris me failed to listen.

truly had some code in vain.

Task 2B

The Closet

Oct 11
2009

like a web dev shop  building it’s own uber cool website Canal + came up with this commercial.

IPhone online course, lesson 2

Sep 17
2009
continuing  lesson one is Lesson 2 :) Picture 1
lesson 2 is mostly about Objective C , object oriented programing , language syntax , and memory management.

this episode has 8 min intro

then minute 10 to  17-43 is basic oop and cocoa

where they talk about the cocoa framework , in summary Objective C is loos type language with dynamic type id.

afterwared they talked about 2.0 Syntax addition (dot notation synthesis etc’) and naming conventions

43-47 dynamic typing

47-49 nil (null object)

49-50 bool (yes/no instead of true)

50-52 selector - this one is interesting – it’s a way to hold the name or promise of a function as an object , you can check if it exists on an instance invoke in etc’ .

52-53 introspection – objective c name for reflection

53-57 working with oject

57-end overview of the cocoa framework data types.

I’m attaching my assignments as reference.

IPhone online course, lesson 1

Sep 09
2009

Assignment one Hello World

Most of my professional carrier is on UI development and regardless to my previous post I started learning IPhone development.

The main reason is that IPhone UI rocks it’s the best, and to be the best you have to learn from the best.

So I don’t think you’ll see me any time soon @ the ITunes store , but I’m sure i’ll get a refreshing view on UI Development.

The course i chose is Stansford’ CS193P which is publicly available online.

lesson 1 video summary :

first 42 minutes are course intro and are useless for online viewers

00:41:50  talking about mac/iphone architecture

00:48:30 cocoa actors: objects, controllers, outlets ,target/action

00:51:00 xcode and interface builder

00:53:00 create a simple application (slider changes label value)

01:03:30 lesson summary

in basics the lesson reviews very quickly the IPhone architecture and gives the first

Assignment 1 requires no coding it is intended to get you situated with the tools

Assignment 2 aim is to get started with  Objective-C by writing a small command line tool  .

the syntax is different from what i know (mainly C# and JavaScript)  and it took me some time to get use to objective c and Xcode.

some hints on objective c :

sometime functions are called with [] surrounding the function and the object  e.g.

[string lenght] is the objective c way of saying string.Lenth in c#

Sometimes I used ()  I’m still not sure why.

some hints on xcode :

auto complete (intellisense) is done with F5.

Is Google the next Apple killer ?

Sep 03
2009

apple-iie-2Apple is known for its innovation.  At the late 70’s and 80’s it ruled the world of microcomputers with the Apple pc. but somewhere things went wrong.

It began with Microsoft striking a deal with IBM. Then with a bit of luck, greed, reverse engineering, and legal sorcery, Compaq made the first IBM PC clone. Then the road was open to ever cheaper clones, and Microsoft’s hardware support strategy opened the gate to versatile configurations. It was what we call today (and maybe even then, but I was too young to know) a disruptive technology. Microsoft changed the way the computer business worked. Up until that time, software was sold as part of the hardware itself and not separately. Microsoft technology broke through.   Respect.

As a side note, until now Apple holds ground regarding selling hardware and software combined , which might be a limitation in the PC business but surely comes to its advantage on the mobile world.

Back to our story, for years Apple wandered in darkness , until the big break through in the form of the IPod and its successor the IPhone. It may be that it all went the wrong way since Steve Jobs left Apple, and things got back on track upon his return. Major parts of Apple’s new business are based on NeXT technology (Jobs’s company that was eventually acquired by Apple), and his involvement in product development is infamous.

If it is so then Apple is truly a one man show.

This time the battle is about services (or SaaS) .The IPhone and IPod are clients to the ITunes SaaS.  But with Apple’s restrictions on application runtimes (in effort to control the store) and banning of innovative applications it is heading the wrong path again.

Like it was in the 70’s Apple defined the market but will Google with its  mobile computing and mobile communication take over it ?

Don’t get me wrong I LOVE my IPhone, but I’m starting to feel that it would be my Ivory tower. Like a 90’s Mac.

wordpress silverlight plugin – suggestion

Aug 16
2009

Tim Heuer released a silverlight plugin for wordpress.

In the never ending process of setting up my blog I added his plug-in.

When playing with it and trying to write a post I had a problem adding multiple embeds, so I took the liberty to poke through the code.

I was quite impressed with simplicity of the plug in management in Word Press.

WP has an easy to change and quick to deploy development story , that interpreter based languages has – It’s a joy.

But back to SL plug in , i tinkered with it and found out that Tim already had 99.9% of the way.

what basically the plug in does is parse the post code and replace a some special markers with silverlight embed code.

the function that does the work has a stop condition on line 4, and to enable multiple embeds I changed the return value to be recursive (line 29)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
function silverlight_the_content($content)
{
	$found_pos = strpos($content, SILVERLIGHT_META_START);
	if(!$found_pos) return ($content);
 
	$embedded = substr($content, 0, $found_pos);
	$meta = explode(",", trim(substr($content, $found_pos+strlen(SILVERLIGHT_META_START), (strpos($content, SILVERLIGHT_META_END, $found_pos) - ($found_pos+strlen(SILVERLIGHT_META_START))))));
 
	$output = $embedded . SILVERLIGHT_TARGET;
	$paramHolder = SILVERLIGHT_INITPARAMS;
	$url = trim($meta[0]);
	$width = trim($meta[1]);
	$height = trim($meta[2]);
	$initparams = trim($meta[3]);
  $minver = trim($meta[4]);
	if(!strpos($url, "http://")) $url = get_option('silverlight_standard_location') . $url;
	if(strlen($width) <= 0) $width = get_option('silverlight_standard_width');
	if(strlen($height) <= 0) $height = get_option('silverlight_standard_height');
  if(strlen($minver) <= 0) $minver = get_option('silverlight_standard_version'); 	$output = str_replace("###URL###",  $url, $output); 	$output = str_replace("###WIDTH###", $width, $output); 	$output = str_replace("###HEIGHT###", $height, $output);   $output = str_replace("###MINVER###", $minver, $output); 	if(strlen($initparams) > 0) {
    $initparams_parsed = str_replace("#", ",", $initparams);
    $paramHolder = str_replace("###INITPARAMS###", $initparams_parsed, $paramHolder);
    $output = str_replace("###PARAMHOLDER###", $paramHolder, $output);
  }
  else {
    $output = str_replace("###PARAMHOLDER###", "", $output);
  }
	$output .= "
" . substr($content, strpos($content, SILVERLIGHT_META_END, $found_pos)+1);
  return silverlight_the_content($output);
//return ($output);
}

musix

Aug 09
2009

MUSIX a project I’m involved in, was launched on TV and online campaign.

it’s so cool to see my work on TV.