Entries in rant (86)

Friday
Mar232012

Re: Sorry dad, you'll understand, someday

This is a quick blog post, in response to Zac Gorman's excellent Magical Game Time comic.

http://magicalgametime.com/post/19718347285/ill-stop-when-ive-saved-the-world-and-fallen-in

As you play through the game Earthbound as the kid protagonist Ness, your phone would ring every few hours, and your dad would ask you if you'd like to take a break.  If you say Yes, it'd save the game and switch it off.

The comic cleverly replies as Ness: I'll stop when I've saved the world and fallen in love.  (Sorry dad, you'll understand someday).

 

My boy is still three, he doesn't understand about saving the world, or falling in love, yet.  I'm sure he will soon.  And here'd be my response to him:

  • All dads were boys once.
    We already understood.
  • So off you go, save the world.
    Go and fall in love with your girl.
  • You do what you have to do.
    This is your time, we don't expect you to hold back, or stay at home.
  • When you are tired from saving the world, stop by and have some hot chocolate and ice cream.
    We will always be your biggest fan.

 

We will return to our regular SharePoint updates soon. 

Tuesday
Mar202012

AUSPC 2012 quick update

I'm in the strange and calm interlude between day 1 and day 2 of awesomeness in the annual Australian SharePoint Conference (AUSPC) 2012.

Day 1 has been a lot of fun.  Manned the user group booth in the morning with Dan Brown.  Met many of the SharePoint guys in the community that I haven't seen for the last 6 month to a year.  Talked to a number of vendors, and attended a number of awesome sessions on the developer track.

I also got to sit on the panel answering developer questions amongst the legends like Nick Hadlee, Ishai Sagi, Brian Farnhill and Jeremy Thake

The oddest part is probably with MCA SharePoint Wayne Ewington sitting in the audience.  Every time we said something silly he'd start shaking his head and we'd all stop.  Hilarious.

 

Tomorrow morning, my session on Building your own custom REST Service and consuming them with jQuery AJAX is running in the developer track at 10:30am.  Hope to see everyone there.

All my related resources and presentations on this topic are summarized on http://johnliu.net/rest

Thursday
Mar012012

Dummy guide to install Win 8 on VHD for Boot to VHD

 

Summarized from:

You'll need:

 

Set up boot to VHD!

  1. Create a VHD

clip_image001

clip_image002

Note: I make this a dynamic disk, although I allocated up to 60GB, it only uses what it needs which was about 10 GB.

 

clip_image003

clip_image004

clip_image005

clip_image006

clip_image007

clip_image008

clip_image009

Created, and attached the VHD to Y:

 

Load the ISO into a virtual CD drive, mine is G:

I use virtualclonedrive to load ISO - this is a free utility.

clip_image001[5]

 

Next install the windows image into the VHD

Easiest way that worked for me is this wonderful powershell script.

 

clip_image001[7]

Remember to unblock this script

 

If you see:

File C:\Install-WindowsImage.ps1 cannot be loaded because the execution of scripts is disabled on this system. Please see "get-help about_signing" for more details.

You will need to allow remote script

PS C:\>set-executionpolicy remotesigned

 

PS C:\> .\Install-WindowsImage.ps1 -WIM G:\sources\install.wim

Index   Image Name

[1]     Windows Consumer Preview

Done.

PS C:\> .\Install-WindowsImage.ps1 -WIM G:\sources\install.wim -Apply -Index 1 -Destination Y:

PS C:\> .\Install-WindowsImage.ps1 -WIM G:\sources\install.wim -Apply -Index 1 -Destination Y:
Applying "Windows 8 Consumer Preview" to Y:...
WARNING: This may take up to 15 minutes...

Elapsed Time: 00:08:40.4870618

PS C:\>

 

Lastly, make the VM a boot record.

 

PS C:\> bcdboot Y:\Windows\
Boot files successfully created.

 

You can check it with bcdedit

PS C:\>bcdedit

Windows Boot Loader
-------------------
identifier              {default}
device                  partition=Y:
path                    \Windows\system32\winload.exe
description             Windows 8 Consumer Preview
locale                  en-us
inherit                 {bootloadersettings}
custom:17000077         352321653
osdevice                partition=Y:
systemroot              \Windows
resumeobject            {1abc7489-8e4b-11e0-877a-af036ca44d2f}
nx                      OptIn
custom:250000c2         1
detecthal               Yes

Windows Boot Loader
-------------------
identifier              {current}
device                  partition=C:
path                    \Windows\system32\winload.exe
description             Windows 7
locale                  en-US
inherit                 {bootloadersettings}
recoverysequence        {1abc7482-8e4b-11e0-877a-af036ca44d2f}
recoveryenabled         Yes
osdevice                partition=C:
systemroot              \Windows
resumeobject            {1abc7480-8e4b-11e0-877a-af036ca44d2f}
nx                      OptIn

 

Restart and you are off to go

 

Your PC will boot into Windows 8, which has a new happy looking boot loader.  If you feel the 30 second delay is too long, you can change the delay to 5 seconds from the boot loader options.

Thursday
Feb162012

Curiosity drives creativity. The only limit for your kid are there because you put them there.

I watched this YouTube recently, Neil DeGrasse Tyson was being interviewed and was asked a question: what would you do as a nation to increase scientific literacy.

Neil's answer:  What do you do at home?  What do you do with your kids?  Kids needs to be able to explore freely.  The home, he argues, is not a great place for exploration.  Play in the toilet?  No.  Garage?  No.  Kitchen?  No, no, no.

The kid goes to the kitchen and starts to bang pots together, you tell him to stop.  The consequence of stopping a kid, is stopping a kid from exploring.  The seeds of curiosity are the foundations of science.  The parents need to get out of the way. 

If the kid pulls petals from a  $10 flower you bought from the florist, but discovers an interest in biology.  That's the cheapest $10 you've ever spent on his education!

 

iPad, and Technology

fernbedienung2.jpg (700×503)Many of us marvelled at our children being able to pick up an iPad and use it right away.  We say surely this is proof of Apple's solid design principles, even a three year old kid can master this technology at ease.

That may be the case, but I've beginning to really wonder.  When was the last time you let your kid explore your keyboard?  He's banging and breaking your keys?  If you don't let him experiment, how would he know what banging the keys together does? 

Mr 3 presses the back button on the iPad.  It quit his favourite game.  He knows for certain that is NOT the button he wants to press when he is playing his favourite game.

I got a new Samsung LCD TV, it comes with an extremely complicated remote control.  Mr 3 learned how to use it to get to his cartoons in the morning and switch to Simpsons in the evening before sleep.  He can even switch input sources between HDMI (XBox) and normal Digital TV channels!  Look at this thing: My kid can operate this, can you?

 

Dungeons and Dragons, and story telling

I was convinced that he will enjoy playing board game, and in particular, dungeons and dragons with me. 

Lots of parents are doing this.  A game that you can play with your kid, and helps them on mathematics, story telling, spelling, imagination.

Considering that he is still wet behind the ears, I opted for D&D-lite: HeroQuest.

WP_000443

He is three.  He is playing his dwarf hero here, trying to cheat the dice roll because he knows he needs to get "skulls" on the dice to hit the Ogre.  Along the way, he has already fought off:

A goblin, an orc, 3 chaos warriors - one whose helmet is now stuck in the fireplace, and 1 skeleton.  The goblin had a pretty nasty bump on the head - he says the goblin shouldn't sleep on the floor because it's dirty.  We put him on the table, and use the empty treasure chest as a pillow.

  • I asked him as he comes near a door - do you want to open the door?
  • He says: Yes, open the door, see what's inside.
  • I put down a skeleton
  • He says: Skeleton! 
  • I asked him, what are you going to do?
  • He says: Run away - and proceed to yank the dwarf all the way back to the beginning.  I had to stop him and tell him that he can fight by rolling the dice.

Dungeon Master tip for dads:

If your kid is running low on HP, make sure he "finds" a healing potion next time he searches a table, door, monster's dead body.  Don't make things too easy, but don't get them killed.

 

I'm realizing something

This is probably my take home message and something I'll try to remind myself my whole life.

Your kid knows no limits. 

All the limits in his life, are put there by adults

 

People tell him he can't try to do something.  He can't go somewhere.  He isn't tall enough to go on a ride. 

The box on HeroQuest says ages 7+.  Did that stop Mr 3?  Who puts these age limits on game boxes?

You know, I hope it's not yet too late.  I ask him to do something, and he tries, but he fails, and he tells me:

I can't do it

It breaks my heart.  No, it's OK, you can.  Try again, I'll help you, let's try again.

 

Let your kid paint their room

This is something I've read separately, and actually got Lina to agree:

We will leave the interior decoration of our kid's room to himself.  Within his room, he can paint his walls.

We're in a new house.  He is free to paint anywhere on the walls in his room.  Why limit him?  Re-painting his wall is easy.  But the memories and his creativity being cultivated - those are absolutely priceless.

 

Say less No.  Say more Try

This is so much easier to write than to live.  When your kid is being silly and driving you crazy, can you really hold back on the No?

John, let your kid try.  Say less NO, say more TRY.

Friday
Dec162011

The blogger's eternal struggle for blog reader comments

Sometimes, a rant (and warning, this particular blog post can only be classified as a rant) is just too long to be said in a 140 character tweet.

 

A simple wish, in my simple world

I have always told myself that when I write on this blog, I did it for fun, to brag about what I've been up to, to remember what I did, and if by sheer luck help other people, that's an awesome bonus.

Increasingly though, and I'll be very honest, I think I do this for the warm fuzzy feeling when people leave a nice comment.

I really like comments.  I like to know what people think of what I wrote.  I want to know if they think I didn't help them - may be they were searching for one thing and got a different answer.  I want to know if they think my writing style needs work.  May be I need a spellchecker.

I crave for that feedback.  I'm over the moon when I get it.

I'm bothered when I see lots of traffic, but no comments.  Am I doing something wrong, am I not helping people, do people think I just blubber about rubbish.  People are searching for answers to their problems, did they not find it here?

 

And that's just the beginning of my problems...

Enter the giant social networks

And their walled gardens.

The best thing about the social networks is that it encourages people to be chatty, and comment on things.  The worse thing about it is that it's all hidden behind walled gardens and I can't see them.

I love talking to my friends on Facebook and Twitter.  But sorry, conversations in those walled gardens doesn't return to the original content creator.  Actually, what's happening is that people are gossips behind my back!  Preposterous!

 

I really gave it some thought...

A good idea starts with me taking a small step

I realized what I can do, and this is more a behaviour change than something technical.  I'm going to be more social, and actually make an effort to always leave a comment on any blog that I visit and has helped me.

If I think the content can be improved, I will suggest it.  If I have more to add, I will blog and link back, if I just want to say thank you, I will do so, because I know it always gave me a warm feeling when others did it to me, and I should give that back to other people.

Love the blogging and long live the bloggers!

Monday
Oct172011

IANAL but I understand CC

I understand CC, I think, I am not a lawyer.

I was encouraged by @aeoth's rant on twitter to add a license clarification to my blog, since I've always held the (c) which meant "all rights reserved".  Technically that means you need to discuss with me about the terms of copying materials you found on my site, on each individual basis.  Crazy!

So here's a clarification, ta-da!  Hopefully.

http://johnliu.net/about-me#legal

Specifically, I ask that:

  1. (-BY) If you are linking or referencing my notes or published code, please provide a link back to either the main site or the permalink.  For blogs and forums these are pretty standard, the only guys that don't do this properly are bots out to plagiarize other people's published work as their own.  For presentations or books, a reference link in the summary slide will be appreciated.
    (-SA) Because I would love to read your improvements on my work, I ask that your content is similarly shared in a open license (openly).  Essentially, if you publish and improve on my work, I would very much like to be able to read it as well.  This applies to published materials: e.g. forums, blogs, PowerPoint presentations, e-books, print.
    Hence, the slightly more restrictive -SA (share alike). 
  2. (-BY) If you are using my published code for production code, the -SA is removed, you may use all code unrestricted with CC-BY, that is, I ask you to link to the permalink in your code comments.  You do not have to share your code back to me.

The spirit of the license is to protect what I feel should be knowledge in the public domain, if you quote someone you should reference them, and if you want to borrow examples or slides from my presentation you should acknowledge it too, but feel free to do so.

At the same time, I don't want to tie anyone down with a restrictive code in their development.  If you need code, found mine, and it solves your problem, leave a link in comments for your colleagues, but you do not have to share your code or change the licensing terms of your code.

 

That's all, have fun, and I hope the intention is clear.

Finally, a note:

Since I'm not sure if I'm applying a more restrictive license on top of someone else's work by doing this, if I'm quoting your article and for some reason you'd like me to stop, let me know and we can work out what we should do.

Saturday
Sep032011

WindowsPhone 7.5 Mango and Office 365

 

Adding an account

  1. Go to settings | email + accounts | add an account | Outlook
  2. Provide Office 365 login email and password
  3. Once setup, the account will default to the name Outlook (or Outlook #)
  4. In settings | email + accounts, tab the Outlook entry once and you’ll be able to change the name to something more meaningful, like Office 365

Office hub

  1. Now in the Office hub, you can connect to your Office 365 account. 
  2. The first time you login it will open a web browser control and ask you to login.  You can choose to remember login and password to skip this step in the future.
  3. Once authenticated, you’ll see the a view of the lists and document libraries from your Office 365 team site

For those of us keeping itchy to write our own SharePoint - WindowsPhone applications, Microsoft cheated here and the web browser control used in step 2 is accessed via COM to obtain the cookiejar file, which contains the tokens for the Office hub to talk to Office 365.

Friday
Jul012011

WindowsPhone 7.5 Mango is so GOOD

Now that a confirmation of the NDA situation seems to be in place, let me shout from the top of the rooftop.

http://forums.create.msdn.com/forums/p/86027/517635.aspx#517635

 

Oh my goodness, WindowsPhone 7.5 Mango is SO GOOD.

  1. Lock screen – now also shows music controls so you can fast-forward/back/stop playing current song without unlocking the screen.
  2. Messaging – includes in addition to SMS, also Facebook and MSN Live messenger, you can also voice to text if you are driving
  3. Mailboxes – linked mailboxes, threaded mail messages
  4. Me – also includes Facebook notifications built in, also very handy to check replies to your Facebook or catch up on MSN messenger.
  5. Zune – live podcast subscriptions over the air, this one is odd – you still seem to need to subscribe via Zune software, but once you’ve added a podcast you can download new episodes over the air to the phone.  Needs work – I can see big buttons for subscribe and settings – they are normally little picture icon buttons.
  6. IE9 – holy it’s fast
  7. Office – Skydrive and Office 365, WindowsPhone can always open and edit Office documents (Word, Excel, PowerPoint and OneNote), but now that they are all integrated with the cloud services this is awesome.  Lists, tasks in O365 also appears in the Office tab.
  8. Background agents – available but nothing uses it yet
  9. Live tiles – now with even more information (on the back) and most of the ones on your home screen are just bursting with more information.  But it’s still cute.
  10. Multi-tasking.  It’s there, you don’t even know its there.
  11. Bing search – visual, voice and location.  Location Scout actually has useful Australian local content.  Amazing.
  12. Battery saver mode, actually the phone seems to be a lot better at handing battery.  I had a full charge from last night, and by the end of the day after decent use (no games though), it was still half a bar.
  13. Voice turn by turn directions.
  14. Camera – quick tab of screen to auto-focus and take picture
  15. Power down – now there’s a cute confirmation screen when you try to turn the phone off.  On my HTC it was easy to accidentally bump the power button and discover my phone’s turned off.
  16. People groups – when you add people to the default “Family” group, it automatically suggested contacts that has my surname (not common), and my wife, who didn’t share my surname.

 

Wish list

  1. Still can’t take bloody screenshots from the phone :-(
  2. When you are in a contextual hub, hitting the search button needs to be more intelligent. 
    1. In People hub, search people
    2. In office hub, search documents
    3. In Me hub, search people or text
    4. In Zune, search music in collection, swipe to market place
    5. In Mail, search mail
Tuesday
Oct192010

Silverlight + SharePoint 2010 - did you just deploy customizations to SharePoint via the document upload?

Just finished my presentation earlier tonight in SDDN regarding Silverlight and SharePoint.  I had some initial reservations whether true Silverlight people want to even know about SharePoint, but I was pretty blown away by their feedback, interesting questions, and I think they found the session insightful. 

This is good :-)

 

I think I delivered my first "shock and awe" when people first saw me deploy to SharePoint.  I finished building my XAP file, and then browsed over to SharePoint, selected my Shared Documents library, clicked upload files (and for additional effect, used the drag & drop upload facility in SharePoint 2010).  Before you knew it, I had the XAP file in my document library, and I'm adding a Silverlight web part and configuring the XAP URL.

For comedy effect, I was pretending as if this is business as usual.

You guys were too good and picked it up right away - it was just too magical.  Hold on a second!  Did you just by-passed all the system admins and deployed customization code to your SharePoint server

The absolutely correct answer is, no, not really, I just deployed customizations to the SharePoint UI, an additional tool if you will, that will help you do your job easier.  Technically, it is not running on the server.  Technically, you can run a separate .NET exe tool to work against SharePoint via the same web services and it can do similar things.

Depending who you are, this might be too magical, and thus, way too dangerous.  I think the thought falls into two categories, and I'm hoping by discussing this, we can compare some thoughts on the PROs and CONs of deploying Silverlight to SharePoint.

 

PRO

  • Bypass system admins
  • Can rapidly develop and test.  Can rapidly update new version
  • Can create simple tools and install them on SharePoint quickly
  • Deploy to SharePoint online

CON

  • Unsafe code, is still unsafe
  • I can deploy a Silverlight webpart that will take my boss' permissions and copy sensitive data to a public location

 

I suggest a compromised workaround for Production SharePoint

  • Block upload of *.XAP files from Central Administration | Web Applications
  • Allow sandbox solutions - which can install XAP files, via the Solutions Gallery
  • Rely only on in-house developed solutions, or solutions purchased through a trusted and verified source such as Office.com, Bamboo, or ProdUShare.

 

At the end of the day, I believe that yes - tools can be used for evil, but for many many businesses, the need for tools to help them to be more efficient, and the need for a stable server that doesn't die all the time, far out-weights the risks of allowing Silverlight solutions.

  • A badly behaving Silverlight crashes one browser, affecting one user
  • A badly behaving web page customization crashes the App Pool, and affects many users

In terms of customizing SharePoint to rapidly meet business needs and still maintain high levels of server availability, you can't ignore or brush off Silverlight + SharePoint possibilities.

I hope the market will agree with me, and I think as long as you don't use your tools for evil, you can help a lot of people with what you can build.

 

I'm still so excited.

Monday
Jul122010

Windows Live Messenger wave 4 - redir.us freaks me out

Colleagues send me links via MSN to a web page, and I see

image

Immediately started freaking out - what is rdir.us?
Not many people have written about this - the best I've found is Rafael's post here:

Live Messenger and the “link harvesting black box in the sky”

Short story: