SPSSYD 2013 and special thanks to Brian Farnhill

I wanted to thank Brian Farnhill for organizing SharePoint Saturday (SPS) events in Australia faithfully for the last few years.  SharePoint Saturday Sydney 2013 was the last one where he is the official organizer, chief, keynoter, label-printer, sponsor-chaser, etc. etc.

The event had a lot of highlights for me:

  • A lot of people showed up early and was ready at the keynote. 
  • Coffee Cart showed up on time in the morning
  • The Clifton venue (they moved since last year) was amazing - I really liked the layout of the sofa and the meal table-benches were great for conversation
  • Lunch was hopefully just enough - I think right at the end we might have just ran out of sandwiches
  • Adam got rick rolled'
  • Ross' session had a memory moment (I heard second hand)
  • My session had a major projector fail (more on this later)

 

Presentation - Typescript PowerPoint and demo project

 

Explanation - What happened to the projector / your laptop?!

 

I was using a USB-3 display link adapter for the last month.  But I didn't realize it would behave very badly with the HDMI-VGA dongle for the projector at the event.  A quick fumbling got the display to work.  But it was black and white but I was going to run out of time so I just ran with it.

I'm glad you guys had laughs at my expense.  It made me feel a little bit less miserable.

Love you guys.

Windows 8 - Export Google Reader OPML for Bing News

Let the hacks begin!

Windows 8's Bing News app was updated in the last few days and with this new version, an ability was added to allow us to add our own Sources.  RSS sources.

A number of my favourite news sites proceed to discuss this is a good direction to eventually be a viable Google Reader replacement.

http://winsupersite.com/windows-8/windows-8-tip-add-rss-feeds-news-app

http://www.liveside.net/2013/04/15/bing-news-app-a-google-reader-replacement-not-yet-but-its-a-start/

 

My lament is that it doesn't seem to accept OPML, a common XML-based description of my RSS feed collection.

 

Inspiration

Hmm, I wonder how does Bing News store the RSS feeds that a user has chosen.

 

Hack

Windows Apps data are stored within the user's App data.  In my case, it is right here.

C:\Users\John.Liu\AppData\Local\Packages\Microsoft.BingNews_8wekyb3d8bbwe\

Having a quick look around, the custom Source feeds are stored in

\RoamingState\state.json

JSON format is a simple javascript format.  So really, the hack is not even a hack, just converting OPML (XML) to JSON.

A powershell script, like this opml-to-bing-news-json.ps1, could do it.

 

Steps

 

  1. Download your Google Reader files from Google TakeOut.
    image
  2. Open the ZIP file and copy the subcriptions.xml file to the same folder as the Powershell script
  3. My region market is "en-au" - check your state.json file to see if you have a different market.  Change it in your powershell script ps1.

    Run it like so...

    image
  4. You should have these files now:
    image

  5. Overwrite the state.json file in AppData with mine...
    image
  6. Restart Bing News

    image
  7. Bonus.  When I launch my Surface RT, all my feeds are already synchronized there too :-)

SharePoint Saturday Perth - Building SharePoint solutions with TypeScript: how and why.

 

I'll be presenting a new topic for SharePoint Saturday Perth this year, on SharePoint and TypeScript.

While I had begin planning to work with TypeScript since the beginning of the year, I really owe it to Charlie Holland's blog post that really got me started.

Anyway, if you see the good parts in my demo, that'd be to his credit.  And if you see the lousy parts?  I'll claim those.

 

Building SharePoint Solutions with TypeScript

TypeScript is a new language designed as a superset of JavaScript. Released by Microsoft and designed by the father of C# Anders Hejlsberg. It is designed to ease building large scale applications using JavaScript, and addresses JavaScript shortfalls such as lacking a module system as well as type and compile-time type checking for better error detection and tooling.

SharePoint itself has become increasingly open over the recent versions with numerous new APIs available to client-side scripting, thus allowing more and more complex JavaScript applications. The time seems right that TypeScript will be a great addition to help us envision and attempt even more complex SharePoint solutions.

In this session, we want to tackle the two problems at hand: how do we set up our environment and get started with writing TypeScript with our solutions. And perhaps more importantly, what benefits do we get for choosing to go down this route with TypeScript.

 

A sneak preview

image

 

We'll build this Sandbox Webpart with TypeScript.  I'll see (some) of you this Saturday at Perth.

Ticket for SPSPER are very low, you'll need to register right away.

:-)

How to create your Windows 8 Start Button with PowerShell

Before I go on, I have to say I find the Start Menu unnecessary.  There are already many ways to get to your Start Screen:

  • Throw mouse to lower-left corner (with the mouse)
  • Press the Windows key (on your keyboard)
  • Swipe in from the left edge (touch screen)
  • Press the Start button (any device with a hardware start button)

 

That said, Windows is still about choice.  And here's how you can add your own "Start Menu Button"

  1. Create a shortcut.
  2. Type in this:
    powershell.exe -Command "Add-Type -AssemblyName System.Windows.Forms; [Windows.Forms.SendKeys]::SendWait('^({ESC})')"

    (all in one line)
    This sends the Windows key (CTRL-ESC) via Powershell.
    image
  3. Configure the shortcut to run minimized
    image
  4. Change the Icon, I select this icon from the bootux.dll file %SystemRoot%\System32\bootux.dll) 
    image
    (All the icons are white, select them to see what they look like) 
  5. Drag the shortcut and pin it to the task bar, on the far left.
    image
  6. Now you have that familiar Start menu button back.  Click it and you'll get the Start Screen to pop up. 
    image

 

Notes

  • Does not appear to work in Windows RT, but if you have a Surface just hit that start hardware button

Windows 8

Windows 8 is coming, and I wanted to say something to set people's expectations right.  I think it'll help people align their views and appreciate this new version, if they choose to upgrade.

Don't expect Windows 8 to be Windows 7 plus more shiny new stuff.  Windows 8 was never designed in the same sense that Windows 7 was actually just Windows Vista plus more polish.  If you install Windows 8 thinking to get a minor update, you will be shocked.

Windows 8 is actually a completely different beast.  Designed with different goals altogether.  It just happens to run Windows (Windows 7) applications.

But at its core, Windows 8 is a different thing.

 

Historically, there was a suitable analogy, Microsoft build Windows NT to be the better kernel going forward, and combined the two systems streams (95, 98, ME) and (NT, 2000) finally into the same stream from XP.  Windows 2000 was vastly different beast from Windows 95, because it was fundamentally a different system, it just happened to run the old Windows 95 apps.