Created
August 30, 2012 04:50
-
-
Save mikeminutillo/3522487 to your computer and use it in GitHub Desktop.
LinqPad script to give a nice schedule for TechEd AU 2012
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Tuesday | |
--------------- | |
3:00 PM -> 3:30 PM | |
Arena 1A Stuff Developers will Want to See | |
Arena 2 Windows Server 2012 - Prepare to be Amazed | |
3:30 PM -> 4:45 PM | |
Arena 2 TechEd Keynote Presentation | |
6:30 PM -> 7:45 PM | |
AvePoint Theatre Ask an Expert: SharePoint 2013 Q&A Panel | |
Wednesday | |
--------------- | |
8:15 AM -> 9:40 AM | |
Arena 1A What's New in Visual Studio 2012 | |
Arena 1B Your Modern Office - Introducing the new Office, SharePoint, Lync, and Exchange | |
Arena 2 What's New in WS2012 | |
Central A Exchange Server 2013 Architecture Deep Dive | |
Central C What's New in Windows Azure? | |
Meeting Room 9 Becoming a Windows Intune IT Administrator - A Real-World Perspective | |
Meeting Rooms 5&6 How to Architect the Private Cloud | |
Meeting Rooms 7&8 Comparing Core Virtualization Platforms | |
9:45 AM -> 11:00 AM | |
Arena 1A Introducing Office 365 for Enterprises | |
Arena 1B What’s New for Windows 8 Developers Part 1 aka The Square Cheese Has Moved. A Little | |
Arena 2 What's New in Active Directory in Windows Server 2012 | |
Central A What's New in Windows Server 2012 Hyper-V, Part 1 | |
Central C Introduction to Windows Azure Web Sites | |
Meeting Room 9 ITIL and the Private Cloud | |
Meeting Rooms 5&6 Microsoft Application Virtualization 5.0: Introduction | |
Meeting Rooms 7&8 Keeping the Lights On with SQLServer 2012 AlwaysOn | |
TLC Theatre 1 Windows Server 2012 - What’s New in Windows PowerShell 3.0 | |
TLC Theatre 2 Installing and Managing SQL Server 2012 on Windows Server Core | |
TLC Theatre 3 Sideloading Applications in Windows 8 | |
11:00 AM -> 11:30 AM | |
AvePoint Theatre Project Server 2013, a Landmark Release! | |
11:30 AM -> 12:45 PM | |
Arena 1A Hyper-V Performance, Scale & Architecture Changes | |
Arena 1B How I Became Authentically Digital - An Introduction to the Windows 8 UI Design Language | |
Arena 2 What's New in MDT 2012? | |
Central A Architecting Private Clouds Using Windows Server 2012 | |
Central C Windows Azure Virtual Machines and Virtual Networks | |
Meeting Room 9 Turbocharging a Warehouse with Columnstore Indexes | |
Meeting Rooms 5&6 Best Practises for Orchestrator Runbook Authoring | |
Meeting Rooms 7&8 Office Beyond the Desktop | |
TLC Theatre 1 Windows Server 2012 - Managing Windows Server 2012 with Server Manager and Windows | |
TLC Theatre 2 Creating a Windows 8 Line of Business Application – XAML & C# - from Start to Finish | |
TLC Theatre 3 Implementing Endpoint Protection 2012 in System Center 2012 Configuration Manager | |
12:45 PM -> 1:45 PM | |
Foyer E Women in IT | |
12:45 PM 1:15 PM AvePoint Theatre SharePoint 2013 Authentication with Azure – Part I | |
1:15 PM 1:45 PM AvePoint Theatre SharePoint 2013 Authentication with Azure – Part II | |
1:45 PM -> 3:00 PM | |
Arena 1A WS2012 Hyper-V Live Migration and Live Storage Migration | |
Arena 1B Introducing the New SharePoint | |
Arena 2 Deploying Windows 8: What’s New | |
Central A What’s New for Windows 8 Devs Part 2 | |
Central C Azure SQL, Tables, Blobs, Queues, Cache, Hadoop; What is the Best for Me? | |
Meeting Room 9 vFuture – Configuration Manager 2012 SP1 – BEHOLD THE AWESOME!! | |
Meeting Rooms 5&6 Lync 2013 Architecture | |
Meeting Rooms 7&8 The Faces of WS2012: Bare Metal, Server Core, Minimal Server Interface… | |
TLC Theatre 1 Introduction to Search in SharePoint 2013 | |
3:00 PM -> 3:30 PM | |
AvePoint Theatre What SharePoint Admins Should Know About SQL Server | |
3:30 PM -> 4:45 PM | |
Arena 1A Enable “Bring Your Own Device” with SCCM 2012 | |
Arena 1B .NET 4.5: Just the Good Stuff | |
Arena 2 Exchange Server 2013 High Availability and Site Resilience | |
Central A What's New in Windows Server 2012 Hyper-V, Part 2 | |
Central C Video Streaming from the Cloud - An Overview of Windows Azure Media Service | |
Meeting Room 9 Automating Protection and Recovery with DPM and the System Center Suite | |
Meeting Rooms 5&6 Diving into SMB 3.0 | |
Meeting Rooms 7&8 Developing an Optimized Analysis Services Tabular Project BI Semantic Model | |
TLC Theatre 1 Microsoft Application Virtualization (App-V) 5.0 Overview | |
TLC Theatre 2 Implementing SQL Server 2012 AlwaysOn Availability Groups | |
TLC Theatre 3 Getting Started with System Center 2012 – Service Manager | |
5:00 PM -> 6:15 PM | |
Arena 1A WS2012 File System Enhancements: ReFS and Storage Spaces | |
Arena 1B Lync 2013 Meeting Improvements | |
Arena 2 Comparing Private Cloud Capabilities | |
Central A What’s New for Windows 8 Devs Part 3 | |
Central C Node.js and Windows Azure | |
Meeting Room 9 Microsoft Project Online Overview | |
Meeting Rooms 5&6 Data Protection and Monitoring in a Virtualized Datacentre | |
Meeting Rooms 7&8 Enable the Consumerization of IT | |
TLC Theatre 1 Windows Server 2012 - Getting Started Managing your Network with IP Address Management (IPAM) | |
TLC Theatre 2 Deploying & Managing Virtual Applications (App-V) using System Center 2012 Configuration Manager | |
TLC Theatre 3 Introduction to Windows Azure SQL Database | |
6:30 PM -> 7:45 PM | |
Arena 1A WS2012 Server Manager for Remote and Multi-Server Mgt | |
Arena 1B Windows Phone Session 1 | |
Arena 2 Deploying Virtualization Infrastructure from Ground Zero | |
Central A Windows Runtime (WinRT) Deep Dive | |
Central C Authentication in the Cloud: Step by Step | |
Meeting Room 9 Data Quality Services in Enterprise Info Management | |
Meeting Rooms 5&6 Enabling Hosted IaaS Clouds for Service Providers | |
Meeting Rooms 7&8 Building Connected Windows Store apps with Windows Azure Mobile Services | |
TLC Theatre 1 Windows Server 2012 - Active Directory Deployment and Management Enhancements | |
TLC Theatre 2 Operating System Deployment in Configuration Manager 2012 – Let the End User Choose | |
TLC Theatre 3 Deploying and Managing Exchange Mailbox High Availability with Exchange Server 2013 | |
Thursday | |
--------------- | |
8:15 AM -> 9:40 AM | |
Arena 1A WS2012 NIC Teaming and Multichannel Solutions | |
Arena 1B Windows Phone Session 2 | |
Arena 2 Enabling Disaster Recovery using Hyper-V Replica | |
Central A Enabling Mature Self Service with System Center 2012 | |
Central C Windows Azure SQL Database and SQL Reporting for Developers | |
Meeting Room 7 Lync 2013 Deployment | |
Meeting Room 8 Introducing the New App Model for Office and SharePoint | |
Meeting Room 9 SQL Server Database Private Cloud Deep Dive | |
Meeting Rooms 5&6 Design and Layout for Windows 8 and Windows Phone Style Apps | |
TLC Theatre 1 Windows Server 2012 - Implementing DirectAccess in Windows Server 2012 | |
TLC Theatre 2 Configuring Exchange Server 2013 Protection and Control | |
TLC Theatre 3 ASP.NET Web Apps with Windows Azure Websites and VS2012 | |
9:45 AM -> 11:00 AM | |
Arena 1A Click-to-Run: The New Office Deployment and Update Management | |
Arena 1B Windows 8 Application Development with HTML/Java Script | |
Arena 2 Windows 8 Security Internals | |
Central A Enabling Next Gen Multi-Datacenter Resilience at Kennards Hire | |
Central C Azure; Security, Data Sovereignty: No Problem | |
Meeting Room 7 Windows Phone SDK - Be Productive Straight out of the Blocks | |
Meeting Room 8 FIM Best Practices - Architecting Identity Solutions that Really Work! | |
Meeting Room 9 Best Practices for deploying WS2012 on HP BladeSystem | |
Meeting Rooms 5&6 Advanced Automation Using Windows PowerShell 3.0 | |
TLC Theatre 1 Exploring Power View in SQL Server 2012 | |
TLC Theatre 2 Introduction to Microsoft System Center 2012 Configuration Manager | |
TLC Theatre 3 Getting Started with System Center 2012 – Virtual Machine Manager | |
11:00 AM -> 11:30 AM | |
AvePoint Theatre Power View - The Future of Visual Business Intelligence via SharePoint | |
11:30 AM -> 12:45 PM | |
Arena 1A Selling & Deploying Windows 8 Apps | |
Arena 1B From Start to Rest in 60 minutes. | |
Arena 2 WS2012 Capabilities to Enable Multi-Tenancy | |
Central A Build Smart: Developing for Windows Phone and Windows 8 | |
Central C Building Robust Windows Azure Applications with P&P Guidance | |
Meeting Room 7 From Server to Service: How Microsoft Moved Team Foundation Server to Windows Azure | |
Meeting Room 8 FIM Best Practices - Technical Deep-Dive | |
Meeting Room 9 Presenting SharePoint as a Service to your Organisation | |
Meeting Rooms 5&6 Cluster Shared Volumes Reborn in Windows Server 2012: Deep Dive | |
TLC Theatre 1 Creating a PerformancePoint Services dashboard based on a SQL Server 2012 BI Semantic Model | |
TLC Theatre 2 Deploying Windows 8 Using System Center 2012 Configuration Manager | |
TLC Theatre 3 Microsoft Diagnostics and Recovery Toolset (DaRT) | |
12:45 PM -> 1:45 PM | |
Foyer E ZDNet Panel - Server war stories | |
12:45 PM 1:15 PM AvePoint Theatre Record Management in SharePoint 2013 | |
1:45 PM -> 3:00 PM | |
Arena 1A Implementing Security Compliance Manager for Compliance in SCCM 2012 | |
Arena 1B Office 365 Identity Federation Technology Deep-Dive | |
Arena 2 WS2012 IP Address Management (IPAM) | |
Central A Lync Customer Panel Q & A | |
Central C Mobile + Cloud: Building Mobile Applications with Windows Azure | |
Meeting Room 7 Enhancing User State Virtualization through MDOP | |
Meeting Room 8 Killer Real World PowerPivot Examples Part II | |
Meeting Room 9 Windows 8 with a View | |
Meeting Rooms 5&6 Guest Clustering and VM Monitoring in WS2012 | |
TLC Theatre 1 Windows Server 2012 - Introduction to Windows PowerShell Fundamentals | |
TLC Theatre 2 Creating an Windows 8 Line of Business Application - HTML & JavaScript from Start to Finish | |
TLC Theatre 3 Migrating from Microsoft System Center Configuration Manager 2007 to Microsoft System Center 2012 Configuration Manager | |
3:00 PM -> 3:30 PM | |
AvePoint Theatre Rapid Application Development with Access 2013 | |
3:30 PM -> 4:45 PM | |
Arena 1A App Compat for Nerds | |
Arena 1B Migrate from Configuration Manager 2007 to Configuration Manager 2012 | |
Arena 2 WS2012 File and Storage Services Management | |
Central A All Aboard the Team Foundation Server Express | |
Central C Building Cross-Device Mobile Applications Powered by Windows Azure and SQL Azure | |
Meeting Room 7 Real World: SharePoint Customisation – Developer vs. IT Pro | |
Meeting Room 8 Big Data for Relational Practitioners | |
Meeting Room 9 Lync 2013 Voice Improvements | |
Meeting Rooms 5&6 Best Practices and Lessons Learned: VDI Deployment on WS2012 | |
TLC Theatre 1 Designing a SharePoint 2013 site | |
5:00 PM -> 6:15 PM | |
Arena 1A The Path to Continuous Availability with WS2012 | |
Arena 2 Inside the New Hyper-V Extensible Switch in WS2012 | |
Central A Agile Planning Tools in Team Foundation Server 2012 – Make them your Own | |
Central C The Mass Mobile Experiment Powered by Windows Azure and Node.js | |
Meeting Room 7 The new Exchange - Data Loss Prevention | |
Meeting Room 8 Microsoft & Citrix: Better Together – A System Center Story | |
Meeting Room 9 Data Mining for Fun and Profit | |
Meeting Rooms 5&6 Building Hybrid Solutions with Windows Azure | |
TLC Theatre 1 Upgrading the database engine to SQL Server 2012 | |
TLC Theatre 2 Building an Optimized Private Cloud using Windows Server 2012 Server Core and the Minimal Server Interface | |
TLC Theatre 3 Upgrading Microsoft System Center Operations Manager 2007 to Microsoft System Center Operations Manager 2012 | |
Friday | |
--------------- | |
8:15 AM -> 9:40 AM | |
Arena 1A Kick Starting your Migration to Windows Server 2012 | |
Arena 1B VDI in Windows Server 2012 | |
Arena 2 Lessons Learned: Deploying a Hybrid Cloud | |
Central A Voice of the Customer: Office 365 | |
Central C Casablanca: C++ on Azure | |
Meeting Room 5 Cross Platform Development with Windows Phone and Mono | |
Meeting Room 6 Demystifying Integration of Lync to your Existing PABX | |
Meeting Room 7 A Modern Architecture Review: Using the New Code Review Tools | |
Meeting Room 8 Migrating Virtual Environments to Hyper-V: The Easy Way | |
Meeting Room 9 SQL Server Warehousing (Fast Track 4.0 & PDW) | |
9:45 AM -> 11:00 AM | |
Arena 1A Private Cloud Service Delivery and Automation with Microsoft System Center 2012 | |
Arena 1B Exchange Server 2013 Deployment and Coexistence | |
Arena 2 Cluster-Aware Updating and the New Generation of WSUS | |
Central A Building Responsive Web Applications with MVC4, WebAPI and HTML5 | |
Central C SQL Azure Federations Deep Dive | |
Meeting Room 5 Sounds like a Windows Phone Application | |
Meeting Room 6 Building Video Application on Windows 8 with Windows Azure Media Service | |
Meeting Room 7 Whats in Windows Server 2012 for SQL Server | |
Meeting Room 8 Maximise your Hyper-V Deployment with HP Reference Architecture | |
Meeting Room 9 Office 365 Compliance and DLP | |
TLC Theatre 1 Windows Server 2012 - Using Dynamic Access Control to Automatically and Centrally Secure Data in Windows | |
TLC Theatre 2 Designing Windows 8 HTML apps in Blend | |
TLC Theatre 3 Breakthrough Insights using Power View | |
11:30 AM -> 12:45 PM | |
Arena 1A WS2012 DirectAccess: Your Next Gen Remote Access Experience | |
Arena 1B Planning for Failure in Cloud Applications | |
Central A LightSwitch 2012 - Even Faster | |
Central C Windows 8: Windows To Go Overview | |
Meeting Room 5 Developing for Key Windows Phone Consumer Scenarios | |
Meeting Room 6 System Center 2012 Application Management | |
Meeting Room 7 Application Hosting Models in SharePoint 2013 | |
Meeting Room 8 Scalable SQL Server Design with just a Credit Card | |
Meeting Room 9 The New Exchange - Archiving and Compliance | |
TLC Theatre 1 Getting Started with Microsoft Deployment Toolkit (MDT) 2012 | |
TLC Theatre 2 Exploring Windows Azure Storage | |
TLC Theatre 3 Using Archiving and eDiscovery in Exchange Server 2013 | |
1:45 PM -> 3:00 PM | |
Arena 1A WS2012 Dynamic Access Control Overview and Tips | |
Arena 1B Office 365 Deployment Lessons from the Field: The Good, the Bad and the Ugly | |
Central A SC2012 Infrastructure Components Management | |
Central C Porting the e5 solution to Azure IaaS roles | |
Meeting Room 5 Windows 8 Games and High Performance Development | |
Meeting Room 6 Windows Phone Marketplace - Satisfy More Customers and Make Money | |
Meeting Room 7 Tips & Tricks for Creating Custom Management Packs for System Center Operations Manager | |
Meeting Room 8 Lync 2013 and Enterprise Networking | |
3:00 PM -> 3:30 PM | |
Arena 2 TechEd Closing Presentation | |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<Query Kind="Program"> | |
<Connection> | |
<ID>a4105d7e-13eb-49e8-b234-4efcf3e35f39</ID> | |
<Persist>true</Persist> | |
<Driver>AstoriaAuto</Driver> | |
<Server>http://odata.msteched.com/teau12/sessions.svc</Server> | |
</Connection> | |
</Query> | |
void Main() | |
{ | |
var blocks = new [] { | |
new Block("12am", "8:15am"), // For Completeness | |
new Block("8:15am", "9:40am"), | |
new Block("9:45am", "11:00am"), | |
new Block("11:00am", "11:30am"), | |
new Block("11:30am", "12:45pm"), | |
new Block("12:45pm", "1:45pm"), | |
new Block("1:45pm", "3:00pm"), | |
new Block("3:00pm", "3:30pm"), | |
new Block("3:30pm", "4:45pm"), | |
new Block("5pm", "6:15pm"), | |
new Block("6:30pm", "7:45pm"), | |
new Block("7:45pm", "12am") // For completeness | |
}; | |
var schedule = (from s in Sessions.Cache("Sessions").ToList() | |
group s by s.Date into g | |
orderby g.Key.Value.Date | |
select new { | |
Day = g.Key.Value.DayOfWeek, | |
Blocks = ( | |
from bl in (from s in g | |
from b in blocks | |
where b.Contains(s.StartTime) | |
select new { s, b }) | |
group bl by bl.b into cl | |
orderby cl.Key.Start | |
select new { | |
Block = cl.Key.ToString(), | |
Sessions = cl.Select(x => new { | |
Start = x.s.StartTime.Value, | |
End = x.s.EndTime.Value, | |
x.s.Room, | |
x.s.Title, | |
x.s.Abstract | |
}).OrderBy(x => x.Start) | |
.ThenByDescending(x => x.End) | |
.ThenBy (x => x.Room) | |
}) | |
}).Dump(true); | |
foreach(var day in schedule) | |
{ | |
Console.WriteLine (); | |
Console.WriteLine (); | |
Console.WriteLine (); | |
Console.WriteLine (day.Day); | |
Console.WriteLine ("---------------"); | |
foreach(var block in day.Blocks) | |
{ | |
Console.WriteLine (block.Block); | |
DateTime prevStart = block.Sessions.First().Start; | |
DateTime prevEnd = block.Sessions.First().End; | |
foreach(var session in block.Sessions) | |
{ | |
if(prevStart == session.Start && prevEnd == session.End) | |
Console.WriteLine("{0,19} {2,-20} {1}", " ", session.Title, session.Room); | |
else | |
Console.WriteLine("{0,9} {1,9} {3,-20} {2}", session.Start.ToShortTimeString(), session.End.ToShortTimeString(), session.Title, session.Room); | |
prevStart = session.Start; | |
prevEnd = session.End; | |
} | |
Console.WriteLine (); | |
} | |
} | |
} | |
class Block | |
{ | |
public Block(string start, string end) | |
{ | |
Start = DateTime.Parse(start).TimeOfDay; | |
End = DateTime.Parse(end).TimeOfDay; | |
} | |
public TimeSpan Start { get; set; } | |
public TimeSpan End { get; set; } | |
public bool Contains(DateTime? dt) | |
{ | |
if(dt.HasValue == false) | |
return false; | |
return dt.Value.TimeOfDay >= Start && dt.Value.TimeOfDay < End; | |
} | |
public override string ToString() | |
{ | |
return DateTime.Today.Add(Start).ToShortTimeString() + " -> " + DateTime.Today.Add(End).ToShortTimeString(); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
The Sample output will show up on the Results tab in the Results window but you'll also get a nice grid view that you can drill down in to. Now you can see which sessions are competing for your attention!