Souk's Notes - Unofficial Summaries

Unofficial, machine-generated summaries, as of 2026-11-11.

Y CombinatorKathryn Minshew at Startup School NY 2014
synopsis

Kathryn Minshew argues that polished startups hide a long stretch of failure. The Muse, a career-content and job-discovery site she says reaches about 1.5 million people a month and works with 200 brands, began as an ugly site after a failed first company. It got where it is by launching early, persisting through rejection and choosing people carefully.

Origins and the ugly launch. A consultant at McKinsey, she found job boards and career quizzes useless for learning what jobs were actually like. Her first startup had stalled at about 3,000 users a month. The Muse launched on 6 September 2011, aimed at professional women, and reached 70,000 visitors by its third month. Gmail blasts, outreach to 600–700 groups and a Forbes syndication deal, won on the fourth ask, built word of mouth for free.

Rejection and YC. Of about 150 investors pitched in fall 2011, 148 said no. Content and job search were unfashionable, and some doubted professional women's lasting interest in careers. YC gave the first firm yes. Paul Graham then cut their seven-feature plan down, and they launched on TechCrunch on 22 February 2012.

Lessons. Honour your word beyond the contract; she renegotiated a promised raise with her first hire openly. Ship rather than polish. Be politely persistent. Partner only with people who share your values, which her first company's founder dispute taught at the cost of her savings. Recruit with non-cash motivators. Trust your own usage numbers over hype.

  • Startups evolve from suck to suck less; nothing arrives fully formed. Minshew's first company sat flat at about 3,000 users a month for eight or nine months. The Muse launched on 6 September 2011 with a site she calls "a piece of crap", which still drew 20,000, 26,000 and 70,000 visitors in its first three months. Career content seeded one side of the marketplace before employers, the first being Uber at about 50 employees.
  • Strip the product down and launch to test demand. At the start of YC in January 2012, Paul Graham told them their seven-feature mock-up would never ship or be testable. Within 14 days they redesigned the profiles, signed five client companies and launched on TechCrunch on 22 February. She says reach grew from about 100,000 a month at launch to 1.5 million, with 200 brands.
  • Growth without money comes from asking, content and polite persistence. She emailed everyone in three years of Gmail with a ready-made tweet; Google suspended her account at about 1,200 emails in a day. She asked 600–700 groups for feedback rather than shares, and wrote broad career content. A Forbes syndication deal came on the fourth ask and sent about 5,000 visitors in a month.
  • Rejection is noise if you stay close to the numbers. She pitched about 150 New York investors and 148 said no, citing unfashionable content, job search, and stereotypes about professional women. YC was the first firm yes, after an application saying they would build it regardless. Comparing yourself to others' highlight reels is the hype she warns against; usage data is what justified persisting.
  • Shared values, kept promises and non-cash motivators build the team. Her first company died partly from a founder dispute over foreseeable values red flags, costing her life savings. At the Muse she told first hire Adrienne early that a promised November 2011 pay raise would slip to mid-December. She recruits by offering what motivates people beyond pay, and by watching struggling startups such as Grooveshark for talent.
Scott HanselmanTrying "Steam In-Home Streaming" of BioShock Infinite to my work laptop
  • Steam's in-home streaming plays smoothly on a work laptop. In a 22-second clip the narrator streams BioShock Infinite from his home machine to his work laptop with an Xbox One controller, and calls it "absolutely buttery smooth". That is his first impression on camera, not a measured test.
Scott HanselmanIntroducing myEcho - iOS dictation for your Windows PC
  • Hanselman's own app turns an iPhone into a Windows dictation microphone. He and a friend built myEcho, which takes Siri dictation on any iPhone that supports Siri (he demos an iPhone 5) and types it into the active Windows application, shown here in Word, with spoken punctuation ("comma", "period").
  • He argues iOS dictation is underrated and needs no setup. His claim is that it needs no voice training, you just hold the phone to your mouth, and it is fast because recognition runs in the cloud.
  • The app only relays speech and says it stores nothing. Words are sent to Siri on Apple's servers as usual, then through the app's relay to the PC; he says they store none of the user's information, and that the phone need not be on the same network as the computer.
  • Pricing is freemium, and he concedes fast typists may not need it. The first 200 words are free and unlimited dictation costs $1.99, via the App Store and myechoapp.com; he allows that people who type faster than they can dictate may find "this product is not for you".
Scott HanselmanWindows Phone 8.1 - The Complete What's New
  • Windows Phone 8.1 adds a pull-down Action Center. Hanselman demos the preview on a real Lumia 920, last year's model, projected to his PC; he likens it to the iPhone's notification center, with quick buttons (rotation lock, airplane mode, Bluetooth) that can be swapped in Settings, for example for internet sharing. He also says animations between apps feel snappier.
  • Data Sense and Battery Saver show per-app usage. Data Sense breaks Wi-Fi and cellular use down by app (5 MB of Wi-Fi on Internet Explorer in his demo) and warns against a monthly limit you set; Battery Saver lists each app's battery use and which ones, such as Instagram and Cortana, may still run when it is on.
  • The Start screen gets denser and more personal. A "show more tiles" option gives the lower-resolution 920 the 1080p phones' extra tile room, and a background photo now shows through transparent tiles with a parallax effect. Pinning a site from Internet Explorer makes a live tile that flips through its latest articles, which he got on his own blog by adding meta tags, without writing an app.
  • Quiet hours can be broken through by urgency or an inner circle. He sets automatic quiet time on weekdays from 11 p.m. to 8 a.m., with rules letting through anyone who calls twice in 3 minutes or anyone in an "inner circle" of contacts the phone suggests. Among the other features he shows are a swipe keyboard, which he calls "a little weird" but working, and Internet Explorer tabs synced from his PC.
  • Cortana answers questions and acts on calendar, texts and flights. In the preview he asks for facts (Oprah's age, Hugh Jackman's height), nearby restaurants and directions, his schedule, a new 10 a.m. appointment, the status of United flight 250 and a text to a friend. He calls it "pretty impressive" so far and says the release will make Windows Phone "more competitive", stressing that this is still the preview.
Scott HanselmanWindows 8.1 Update 1 - New Features Explained!
  • The update makes the Start screen usable by mouse and keyboard. Right-clicking a tile now offers resize, uninstall, turning off the live tile, unpinning and pinning to the taskbar, and tiles are easier to drag around; power and search buttons sit at the top of Start, so there is no trip to the right-hand menu. Hanselman says it arrives automatically through Windows Update "over the next few weeks or month" and is worth having despite the naming.
  • Store apps now behave more like desktop windows. A full-screen Store app pinned to the taskbar gets a title bar with minimize, close and a system menu when the mouse reaches the top of the screen, and that menu can split the app right, replace another app or insert one alongside. He says he expected "a strange hybrid" but finds it works better for him.
  • Desktop-first users can bypass Start. Taskbar properties now offer booting to the desktop instead of Start, showing the desktop background on Start so switching is less jarring, listing desktop apps first, and hiding Store apps from the taskbar. Newly installed apps are highlighted on the apps view, which has an alphabet picker.
  • Wi-Fi settings that were buried are now reachable. "View connection settings" and "Manage known networks" appear under Wi-Fi in settings, and he says saved networks could not easily be found before.
  • The touch version of IE11 gains persistent tabs and reading view. Tabs can be set always to show, and a "read" button gives a distraction-free, ad-free view of an article, which he likens to Readability, Read It Later and Instapaper. He still finds having both a desktop IE and a full-screen IE "a little confusing".
Scott HanselmanErich Gamma (Part 2) introduces us to VSOnline integrated with the Portal - Azure Friday
  • The language service runs in the browser for responsiveness. Gamma says a server round trip per completion would be unpleasant, so type information and the syntax tree are computed client-side, powering semantic (not search-and-replace) references, rename, peek definition, peek references and multi-cursor editing; he concedes the browser has limits.
  • Monaco outgrew plain JavaScript and was rewritten in TypeScript. Gamma says that at 30,000–50,000 lines the code became like "carving code in stone", hard to rename or change, so the team adopted TypeScript early and eventually rewrote everything in it; the codebase is about 200,000 lines, and he doubts it would be maintainable at that size without TypeScript.
  • The editor is one component reused across Microsoft products. Gamma lists SkyDrive, Mobile Services, Napa for Office extensions, and TFS/visualstudio.com; language services such as the one for LESS are lazy-loaded through AMD modules on first use.
  • The console runs one command at a time, not a live shell. Per Gamma's diagram, the site has a second development URL onto the same file system, and a Monaco Node server forks a process per command (git, LESS compile) and returns the output; holding no session state is what makes it scale, while compiler output is parsed into clickable errors, with Jake and Grunt supported.
  • Builds run in the website and count against its quota. Because commands consume the site's CPU and are charged to it, the development site is best kept as its own environment, which Hanselman ties back to his earlier "is this editing production?" question.
Scott HanselmanErich Gamma (Part 3) introduces us to VSOnline integrated with the Portal - Azure Friday
  • C# compiles on the server, but gets no browser IntelliSense. Hanselman edits the C# Web API behind his Visual Studio launch "visitors" single-page app and runs msbuild from the console to build it; Gamma insists on "truth in advertising": C# has only textual autocomplete, with no language service as there is for TypeScript and JavaScript.
  • The editor is a Kudu site extension, a peer to Kudu. Gamma says the architecture builds on Kudu's model of running extensions beside a website, so a commit in the development site can be pushed through git to trigger a Kudu deployment to production; Hanselman says this is what made it fit his workflow once he saw it was not production editing.
Scott HanselmanErich Gamma (Part 1) introduces us to VSOnline integrated with the Portal - Azure Friday
  • Edit in a development site, never in production. Gamma, a distinguished engineer, says the usual workflow is to load code from git into a development website, edit and test there with a page refresh, then deploy; direct edits and Kudu deployment "compete", because a Kudu push overwrites changes made directly on the site.
  • The browser editor complements Visual Studio rather than replacing it. Gamma pitches it for the urgent fix from any browser when a bug is live, and for small tweaks to ASP.NET apps, conceding that C# gets only textual autocomplete while JavaScript gets real IntelliSense. Hanselman compares it to the Office web apps being "50, 60 percent" of Word and Excel; Gamma adds that his team dogfoods it to build the tool itself.
  • TypeScript checks plain JavaScript as a linter. In a .js file, assigning a string where a number was inferred produces a warning rather than the error TypeScript itself would raise, and the tool flags TypeScript-only syntax typed into JavaScript.
  • Definition files give JavaScript libraries typed completions. Triple-slash references point at .d.ts files, such as one for jQuery 1.8.3 from the DefinitelyTyped project on GitHub; Gamma calls TypeScript a better IDL than XML for describing option bags and functions, and the language service consuming them is itself TypeScript compiled to JavaScript.
Scott HanselmanScott Guthrie demos Windows Azure Active Directory in the Cloud
  • Cloud Active Directory makes intranet apps possible without VPN or domain join. Guthrie says an ASP.NET app hosted on Web Sites, VMs or cloud services can sign users in with their corporate credentials, silently if configured, without the cloud machine being domain-joined.
  • Directories are free and take seconds to create. A new directory got a temporary onmicrosoft.com name and was ready in about five seconds; Guthrie says basic directory features are "free forever", with premium features coming. Users can be local, Microsoft accounts, or members of other Azure directories such as Office 365 tenants, and apps can authenticate over OAuth or SAML tokens.
  • Directory sync keeps the on-premises AD as master. A tool installed on a domain controller replicates all or some users and pushes changes by change notification rather than on a schedule, so HR systems that already provision users keep working and the cloud reflects them.
  • A SaaS gallery federates single sign-on to apps like Salesforce. Guthrie sets up Salesforce for his demo directory in three steps; when an employee's account is suspended, access to Salesforce and "hundreds" of other integrated SaaS apps is cut off automatically. Reports flag sign-in anomalies, such as logins from work and from an internet café abroad.
  • Multi-factor authentication is the only paid piece shown. Just shipped, it offers phone apps for iOS, Android and Windows Phone, SMS, and voice calls, and applies to hosted apps and gallery SaaS apps; Guthrie says skipping MFA inside the corporate firewall is coming.
Scott HanselmanScott Guthrie explaining the Azure Mobile Services "Backend In A Box" - Azure Friday
  • Mobile Services is a backend-in-a-box for client apps. Guthrie places it beside Web Sites as an API-focused platform service, with built-in OAuth sign-in through Facebook, Google or Microsoft IDs, per-user data storage and push notifications.
  • It serves every client platform, including plain JavaScript. Guthrie lists Windows 8, Windows Phone, iOS and Android, plus HTML/JavaScript single-page apps over CORS; the quick start downloads a to-do app (an Xcode project for iOS) with the service URL and key already filled in.
  • Server scripts on each CRUD operation add custom logic. Hanselman's to-do items land in a table visible in the portal, and Guthrie shows scripts that fire on insert, update, delete or read, for rules such as "only Scott can see his items", with in-browser lint warnings.
  • Front-end developers can ship without server experience. Guthrie says beginners are productive at once while experts can still write custom APIs and auth; Hanselman recounts a women's hackathon in New York where front-end developers posted JSON with jQuery and curl and the table columns generated themselves.
Scott HanselmanScott Guthries explains SQL Databases in Azure - Azure Friday
  • SQL Database is a managed, mostly compatible subset of SQL Server. Guthrie says some features are missing but the core works with Management Studio, ADO.NET, Entity Framework and ODBC, alongside the option of running full SQL Server in a VM.
  • Provisioning takes seconds, against days to months on premises. Guthrie's database was created in about four seconds; he contrasts this with IT departments taking "a couple days to a couple weeks to a couple months", and the dashboard then shows deadlocks, connections and queries plus ready-made connection strings for ADO.NET, ODBC, PHP and Java.
  • Size scales live with no SQL Server licence. Everyone gets a free 20 MB database, and Guthrie resizes one to 150 GB in about three seconds; a 1 GB database costs under $10 a month.
  • Keep the database in the same region as its callers. Traffic from a website or VM in the same region (West US in the demo) carries no bandwidth or per-connection charges, while traffic from outside does.
  • Scheduled exports to blob storage cover the doomsday case. The service already keeps multiple copies against server and disk failure; daily or weekly exports with, for example, 30-day retention keep the database online during the export, put the data at least 500 miles away, and can be restored with "create from export" or automated from the command line.
Scott HanselmanScott Guthrie introduces Azure Web Sites and sets up Endpoint Monitoring - Azure Friday
  • Web Sites trade operating-system control for zero maintenance. Guthrie says Microsoft patches the machines and keeps hot standbys, deployment works from Visual Studio, git, TFS or GitHub, and sites scale from a free tier to dozens of cores; Hanselman runs 14 sites on it and Guthrie runs his blog's image gallery there.
  • Sites create in seconds because workers are pre-provisioned. A quick-create site took about 7–10 seconds, against the four or five minutes Hanselman's VM took, because a pool of IIS machines is already running and one is simply allocated.
  • Endpoint monitoring emails you on slow or failing URLs. Hanselman sets a ping on his hanselminutes.com archive page from Dublin and a rule to email him if response time averages over three seconds; non-200 responses also trigger it.
  • A managed layer-7 load balancer hides server failures entirely. Built on IIS's Application Request Router, it balances by response time, keeps sticky sessions, terminates SSL from a cert uploaded in the portal, and swaps out failed servers; Guthrie says this does not touch your SLA and your availability rule "should not fire", since from outside the site never went down.
  • Few knobs are exposed by design. Guthrie says the aim is that "it just works", though web.config IIS settings, 32- or 64-bit, .NET or PHP version, DNS names and logging are configurable.
Scott HanselmanScott Guthrie starts with Virtual Machines
  • VMs give full admin control over any operating system. Guthrie says you can run Windows, Linux or an OS of your own, from a gallery of "30 or 40" pre-built images (SQL, SharePoint, Oracle, Visual Studio for MSDN subscribers) plus several hundred community images and your own captured ones.
  • Availability sets guarantee one machine survives hardware failure. Machines placed in a set as a logical tier are isolated within the data centre so that a server, power switch or network router failure leaves at least one running; VMs also take attached data disks of terabytes, private virtual networks and load balancing.
  • Existing Hyper-V VHDs upload and boot unchanged. Answering a viewer who runs terabytes of photos and video on Hyper-V, Guthrie says Azure uses the same VHD format, and attached data disks are formatted as NTFS or ext like any local drive.
  • Attached disks sit on the same spindles as blob storage. Guthrie calls the VM approach "totally legit" for persistence; blob storage's advantage is serving files over HTTP without running a VM and web server.
  • Lift and shift first, then mix in managed services. Guthrie frames VMs as the way to move existing infrastructure, after which websites and SQL databases spare you patching and maintenance.
Scott HanselmanScott Guthrie starts at Step 0 - What is the Azure Cloud OS? - Azure Friday
  • Azure is a "cloud OS" spanning network to pixels. Guthrie says the stack includes Microsoft's own software-defined networking (software routers "as much as possible" rather than physical ones), its own storage system, and the Windows hypervisor with custom work around it.
  • The same cloud OS ships for customers' own data centres. Guthrie says much of Windows Server 2012 R2 shares infrastructure with Azure, and the Windows Azure Pack, released free in October on Windows Server and System Center, gives the same HTML portal and APIs on as few as two or three servers, with consistency promised to grow over time.
  • Deploy into regions near customers, or across several. A region is at least one, often multiple, nearby data centres that look like one; Guthrie lists several in North America and Europe, many in Asia, two active in China, Singapore and Hong Kong, and newly announced pairs in Japan and Australia, with all US regions now multi-datacentre.
  • Data-centre design is about containing disasters and cutting power. Guthrie describes physical firewalls rated to hold a fire for about four hours, an older Chicago design of containers holding up to a couple of thousand servers each, and open-air sides for natural cooling; he attributes falling costs to each generation being far more efficient than those of two to ten years earlier.
Scott HanselmanExploring the Virtual Machine Depot of Community Images from MSOpenTech - Azure Friday
  • Gallery images are vetted; VM Depot images are trust-your-publisher. Sanders says gallery images are built by Microsoft or a trusted partner such as Canonical, while VM Depot, run by Microsoft Open Tech, holds community images (a hardened Redis server, Bitnami's Discourse) that anyone can upload; bad ones are taken down "eventually", and the rating system is thin.
  • Each VM Depot image comes with a ready deployment command. The site generates a cross-platform CLI command for a chosen region that copies the image from the publisher's storage account into yours, creates the VM and a load-balanced endpoint, then deletes the copied image so you don't pay twice; Hanselman says this is how he learned to script his Linux web farm.
  • Treat community images like NuGet, npm or gems. Hanselman's analogy, which Sanders accepts: the openness is deliberate, so the safeguard is knowing who the provider is.
Scott HanselmanAdding a new virtual machine to a Web Farm by making reusable images - Azure Friday
  • The Visual Studio image is a dev-test Swiss Army knife. Sanders says it bundles Visual Studio 2013, SQL and SharePoint, and gives load-testing power, such as a 56 GB A7, that no personal dev box has; you stop it nightly and on weekends and pay nothing while it is off.
  • Size the VM to the workload, especially for SharePoint. On MSDN pricing, Windows and Linux cost the same and SQL, BizTalk and Visual Studio are free; Sanders says an all-in-one SharePoint-plus-SQL box needs about 28 GB, while plain SQL code testing runs on medium, large or an A5 (2 cores, 14 GB).
  • Capture an image to scale out pre-configured machines. Linux is generalized with the open-source agent's deprovision command and Windows with sysprep; the resulting image provisions with new credentials like a gallery image, which a bare disk cannot. Sanders says the agent strips certificates and the user account to a blank slate, and on boot sets the account, SSH key and swap on the temporary drive.
  • The command line beat the portal for building a farm. Hanselman wrote a roughly 10-line batch file using the Node tools: the first azure vm create makes the cloud service (a container he finds badly named) and VMs 2 to 5 join it, with endpoints and probes passed inline, giving five Linux VMs from an image he built with Apache and PHP.
  • Images can be prepared on Hyper-V and uploaded. Sanders says many customers hold large libraries of sysprepped VHDs on premises, which import as images Azure then provisions.
Scott HanselmanAdding Virtual Hard Drives, Storage Accounts, and Scaling Virtual Machines
  • VM size caps attached data disks, and core quotas are soft. Extra small allows one data disk, small two and medium four, with full limits documented on MSDN; the default subscription quota of 20 cores guards against accidents and can be raised self-service, with a credit check only far beyond that.
  • Disks are blobs that outlive their VM. The portal auto-creates "portalvhds" storage accounts per region; deleting a VM keeps the C drive and attached disks (only the temporary D drive goes), and Azure blocks deleting a storage account that backs an active disk, because customers did not realise that would kill their VM.
  • You pay only for written bytes, so make disks big. Storage is sparse: a 127 GB disk holding 20 GB bills for 20 GB, trim now reclaims deleted space, and shut-down VMs incur no compute charge. Sanders advises starting at the 1 TB (1,024 GB) maximum because resizing is a cumbersome two-step process; Hanselman asks the portal to say so, and Sanders agrees to fix it.
  • A new data disk arrives blank and hot-plugged. Azure creates an empty VHD and does not format it, so it suits Windows or Linux; it appears in Disk Management without a reboot, to be initialized and formatted like a physically plugged-in drive, and any VHD uploaded to your storage account can be mounted the same way.
Scott HanselmanVirtual Private Networks and Virtual Machines - Azure Friday
  • A virtual network takes VMs off the public internet. Sanders says larger deployments such as SharePoint farms need a private, controlled network in the cloud before anyone will connect it back to their premises; VMs in it get private addresses, and removing their public endpoints leaves only the private path.
  • Site-to-site extends the corporate network into Azure. A corporate VPN device connects over IPsec to a gateway Azure spins up, which is real VMs run on your behalf, so a SQL Server in Azure behaves as if inside the company; Sanders says Microsoft IT uses this to expand its network.
  • Point-to-site connects a single machine instead. The client authenticates with an uploaded certificate, and Azure supplies a small installer that adds the VPN connection.
  • You define the address space and the DNS servers. The wizard explains CIDR notation, everyone can reuse 10.0.0.x, and subnets plus a gateway subnet are added; VMs receive the DNS server you name through DHCP, for example an on-premises DNS or Active Directory box, or OpenDNS in the demo.
  • VM addresses start at .4 in each subnet. The first three addresses are reserved, so Hanselman's Ubuntu VM came up as 10.0.1.4 and showed the OpenDNS server in resolv.conf; he likens the setup to building a router, DHCP server and network he cannot see.
Scott HanselmanConfiguring Virtual Machine endpoints and load balancing a Linux VM Web Farm - Azure Friday
  • Endpoints are a platform firewall separate from the VM's own. Sanders says they protect the VM even if its internal firewall fails, and their public and private ports can differ: Hanselman's two Linux VMs expose SSH on public ports 12345 and 12346, both mapping to port 22, with no change inside the VMs.
  • The load balancer uses a five-tuple hash for rough stickiness. It spreads traffic round-robin but sends the same source IP and port to the same instance; Internet Explorer changed its outbound port and switched instances while Firefox stayed put, which Sanders says some people want and stateless front ends don't need.
  • Health probes pull unresponsive VMs out of rotation. By default a probe hits a URL (Hanselman's test.php) or TCP port every 15 seconds, and two failures, about 30 seconds, mark the instance down; because you control the probe page, your own code can take an instance out deliberately. Sanders separates this from endpoint monitoring, which sits above the load balancer, tests through DNS, and can check from locations such as Amsterdam.
  • Availability sets keep "family members" apart. VMs given the same set name are placed on different physical machines and racks, with separate power and networking, so Azure won't take them all down at once.
  • Visual Studio gallery images appear only for MSDN subscribers. Sanders says the preview images were open to all, but since release they are part of MSDN accounts.
Scott HanselmanAzure SDK compared - Node CLI, PowerShell, and Visual Studio integration for VMs - Azure Friday
  • Visual Studio's Server Explorer now manages VMs without certificates. After signing in, Hanselman sees his VMs and their public and private endpoints and protocols, and can start, stop, RDP into or debug them; he says he spends less and less time in the portal.
  • The cross-platform CLI is Node-based and uses noun–verb commands. It installs with npm install azure-cli -g and runs as azure vm list, azure vm shutdown (not "stop") and azure vm delete, after downloading and importing a subscription file; --json exposes the underlying REST data structures, and disks can be created and attached from it.
  • The PowerShell cmdlets favour piping objects over interactive prompts. Add-AzureAccount now signs in with no certificate management; Get-AzureVM returns objects you can sort and pipe, for example straight into Remove-AzureVM. Sanders teases Hanselman for using interactive mode, saying PowerShell wants you to pipe VMs into commands that add endpoints or disks.
  • Every tool calls the same open REST endpoints. Hanselman stresses that the portal, CLI, PowerShell and the .NET automation library Guthrie blogged about share one back end, which partners also write to.
  • Open-source Script Center scripts deploy whole farms. Sanders points to scripts such as a full SharePoint installation or front-end/back-end deployment in one PowerShell run, which users copy and adapt; Hanselman contrasts them with his own five-VM Linux farm.
Scott HanselmanStorage and Disk Basics with Azure Virtual Machines - Azure Friday
  • The OS and data disks are network disks in triplicate storage. Sanders says the C drive is a VHD copied three times in Windows Azure Storage (spinning disks at the time), so when a physical host dies the VM is restarted elsewhere, often within 5–10 minutes. The OS disk defaults to 127 GB, small on purpose, to push data onto a second disk.
  • The temporary drive is local and lost with its host. It holds the Windows page file or Linux swap and suits logs, caches and SQL Server's temp file, but a database placed there will be lost "sooner or later". Sanders adds a misunderstanding many hold: it has lower latency, yet storage-backed disks deliver more IOPS because they sit on thousands of disks rather than one to four.
  • Each disk's IOPS are capped, so spread the load across disks. Each attached disk gets about 500 IOPS. Sanders endorses Hanselman's separate disk for his 5 GB MySQL database and adds that SQL users also split out a log disk for 1,500 IOPS across three; extra large allows 16 disks (about 8,000 IOPS), large 8 and medium 4.
  • Growing a disk exposes the blob-inside-VHD design. Either attach a new disk and move data, which keeps uptime, or detach it, enlarge the blob, then enlarge the VHD inside Windows. Attaching another VM's OS disk as a data disk is a common way to debug a broken VM offline.
  • Skip host caching for database and log disks. Sanders recommends going straight through to storage for better IOPS; resizing a VM to fit more disks reboots it onto new virtual hardware and wipes the temporary drive.
Scott HanselmanGetting Started with VHDs - What's Really Happening - Azure Friday
  • Azure VMs really are "Hyper-V in the sky". Sanders says the host is off-the-shelf Windows Server 2012 and its hypervisor with additions for remote boot; a gallery deploy just copies the image VHD into your storage account and boots it.
  • On-premises VHDs boot, with caveats on size and NICs. Uploaded Hyper-V disks run, but Azure VMs have one network adapter and fixed sizes, so appliances such as intrusion detection that expect two NICs may break.
  • Connected VMs talk over back-end IPs; regions cost egress. Hanselman's PHP Linux VM reaches his MySQL Windows VM by public IP; Sanders says connecting them at deploy time or via a virtual network uses back-end addresses, and traffic within one data centre (both in West US) is free either way, while cross-region traffic is charged.
  • High-memory sizes suit databases. The newly released A5 (2 cores, 14 GB) gives a 7:1 memory-to-core ratio, which Sanders says fits SQL Server and MySQL better than core-heavy front-end sizes; extra small runs on a shared core.
  • Under IaaS, patching and passwords are the customer's job. Images are refreshed monthly so a fresh VM needs no updates, and Windows Update is set to install at staggered times between 3 and 5 a.m. so replicated pairs don't go down together. A per-VM certificate, with its thumbprint in the portal, guards RDP against man-in-the-middle attacks, and Sanders says customers using weak passwords get hacked on the public internet.
Scott HanselmanDeploying to Web Sites with GitHub using Kudu - with David Ebbo - Azure Friday
  • Continuous deployment from GitHub is set up in the portal. Hanselman creates a site with "publish from source control", picks GitHub (Dropbox and Bitbucket are also offered), authorizes once through OAuth, and chooses the repository and branch, master by default.
  • A GitHub post-receive hook pings Kudu on every push. Ebbo explains that the hook, visible under the repository's service hooks, calls the site's SCM URL; Kudu then fetches, builds and deploys, and a push of a one-line controller change went live with no further action.
  • Committers need no Azure access to deploy. The deployment log shows the GitHub commit message and author name and is marked "deployed by GitHub", so collaborators on the repository can trigger deployments without any Azure account.
Scott HanselmanWhat is Kudu? - Azure Web Sites Deployment with David Ebbo - Azure Friday
  • Kudu is the engine behind source-control deployment to Web Sites. Ebbo says it handles git, Mercurial and Dropbox deployment; FTP and Web Deploy (what Visual Studio uses) are separate methods, and TFS goes through a different path.
  • Kudu is developed in the open on GitHub with no staging. Ebbo says every check-in goes straight to the public repository, which Hanselman notes had commits from hours earlier, with a wiki on its internals.
  • Every site has a companion "SCM" site, used or not. Its URL inserts an scm token into the site's azurewebsites.net address, it holds a clone of your repository, and it is reached over HTTPS with the same deployment credentials used for git push; Ebbo says its diagnostic pages are less polished than the portal but useful in some cases.
Scott HanselmanDeploying from a Branch with Kudu - with David Ebbo - Azure Friday
  • A site deploys only the branch it is configured to watch. Ebbo says the "branch to deploy" lives in the site's configuration tab in the portal (master by default), so with staging selected a push to master does nothing.
  • Switching branches needs a manual sync to take effect. Changing the setting does not itself deploy; you push to the new branch or press sync once, and Ebbo concedes it "ideally" would deploy automatically, while Hanselman says he prefers it explicit.
  • Run several sites off different branches of one repository. Ebbo suggests, for example, an "Azure Friday" site on master and an "Azure Friday staging" site on staging, so where you push determines which site changes.
Scott HanselmanCustom Web Site Deployment Scripts with Kudu - with David Ebbo - Azure Friday
  • A custom deployment script lets you own the whole deployment. Ebbo says the default for an ASP.NET web application runs MSBuild and deploys the output; generating a custom script with azure site deploymentscript (here with the web-application type, project and solution paths) gives a deploy.cmd that starts out doing exactly the same, plus a tiny .deployment file naming the command to run.
  • Lighter tweaks need no script. Without a custom script, .deployment can still set options such as which of three MVC projects in a repository to deploy.
  • The generated script runs locally too. Kudu injects environment variables for its folders on the server, and the script defaults them when absent, which is why its preamble is long; it builds first, then a KuduSync step copies the artifacts to the web root.
  • Unit tests can gate the deployment. Ebbo's sample builds the test project separately, because the standard MVC build is minimal and skips it, then runs xUnit from the NuGet packages folder; a failing error level stops the script before KuduSync, so nothing deploys and the output appears in the portal's deployment log.
  • Any tool can run if it is in the repository or fetched. Ebbo says executables, for example one that sends an SMS, must be in the repository or downloaded on the fly, since checking in binaries is frowned on; NuGet packages are one convenient source, and echo output from the server appears in the local git push.
Scott HanselmanUsing Azure Web Site Logging and Diagnostics - with David Ebbo - Azure Friday
  • Standard .NET tracing reaches Azure with no web.config change. Ebbo says an Azure trace listener is registered in the machine config where the code runs, so existing System.Diagnostics.Trace calls show up once application logging is switched on in the portal; it is off by default.
  • Logs download over FTP with the deployment credentials. The /LogFiles folder holds application logs (text files with the process ID, chunked so they don't grow indefinitely) beside Kudu's git artifacts; the FTP user is the git deployment user prefixed with the site's domain, over FTP or FTPS.
  • Level and destination are set per site. Choices run from verbose to error, to the file system or to Azure Storage, which currently means a table; Ebbo says blob storage is in the works and suits Hadoop-style analysis of very large sites. Changing the level alone should not restart the site, though some other options may.
  • Web server logging adds raw IIS logs in standard format. Turning it on created an HTTP logs folder readable with the usual IIS log tools, and detailed error messages can be enabled the same way.
Scott HanselmanExploring the Super Secret Kudu Debug Console - with David Ebbo - Azure Friday
  • The Kudu site root exposes the site's runtime environment. Reached at the SCM URL over HTTPS with the git deployment credentials, it lists environment variables, paths, Node versions and HTTP headers; Ebbo cautions that the app settings shown are the Kudu service's, not the app's own. A diagnostic dump zips Kudu's logs, which Kudu's developers will ask for when debugging git problems.
  • An experimental browser console doubles as a file explorer. Hanselman browses wwwroot, views or edits web.config live (Ebbo: "probably shouldn't"), runs git log in the repository and other commands inside the sandbox, downloads any folder as a zip, and drags files or folders in to upload them; Ebbo frames it as checking what is actually deployed when a site misbehaves.
  • Deployments only delete files they previously deployed. Ebbo says files a site creates at runtime or that were uploaded by hand are left alone; only files removed from git after an earlier deployment are deleted.
  • A REST API exposes processes and counters for automation. It lists running processes (IIS, or Notepad launched from the console) with memory counters, and a DELETE request through curl or similar can kill one; Hanselman says this restores the control people fear losing in the cloud.
Scott HanselmanUsing Deployment Hooks with Azure Web Sites plus Zapier - with David Ebbo - Azure Friday
  • Web deployment hooks call a URL when a deployment finishes. Ebbo describes the new feature as the reverse of a GitHub service hook: Azure makes a request to an arbitrary URL after the deployment completes, so the payload can carry the deployment's status and fields.
  • Zapier turns a deployment into a trigger for any action. The "Azure website" trigger, then the only one, needs the deployment trigger URL from the site's configure page; actions include Twitter, Facebook, email, phone calls and SMS, with optional filters on success, failure or message text. Hanselman redeployed an earlier deployment of his smallestdotnet site and received a text quoting the commit message ("license").
Scott HanselmanWhy Azure Web Sites? Web Sites Architecture - with Stefan Schackow - Azure Friday
  • Web Sites is PaaS: Microsoft does the server grunt work. Schackow, from the Web Sites team, says the platform handles OS patch levels, whether the VM is up, and moving load between machines, so developers write .NET, Node or PHP apps and only update their sites.
  • Live workloads move transparently during maintenance. With hundreds or thousands of VMs behind the service, even a Patch Tuesday update means servers cycling, and he says customers never see their sites being moved.
  • VMs, cloud services and Web Sites are house, middle ground and hotel. In Schackow's analogy, VM owners replace their own water heater; web and worker roles get patched automatically but apps must be "very, very aware" Azure is acting on them; Web Sites is the hotel with room service, where you name the app, domain and scale. Hanselman's shorthand, "IIS in the sky", Schackow calls a reasonable simplification.
Scott HanselmanWhen to Scale Azure Web Sites - with Stefan Schackow - Azure Friday
  • Web Sites sits under "compute" because billing is compute. Schackow says the dominant cost is CPU hours, cores and memory, the same basis as VMs, Mobile Services and cloud services, which all run on VMs; the app gallery has grown with Microsoft's open-source partners and he expects it to keep growing.
  • Regions appear and vanish from the list with capacity. Schackow names Chicago and sites on the US east and west coasts, North Europe (Dublin) and East Asia (Hong Kong), and says regions are temporarily hidden when a data centre fills; he admits the team has puzzled over some region names. A new site's name is checked by DNS lookup for uniqueness.
  • Put the site in the same region as its database. Hanselman runs one site in North Central US because a partner's database lives there, and Schackow endorses co-locating compute with SQL or MySQL.
  • Free, shared and standard suit development, dev-test and production. Every site starts free with resource quotas; shared raises limits but runs on a pool alongside other customers; standard allocates dedicated VMs. Schackow says anecdotally that one small standard VM "can handle a heck of a lot of traffic" in a month.
Scott HanselmanHow Azure Web Sites Scale - with Stefan Schackow - Azure Friday
  • On the free tier, outbound data is the limit you will hit. Schackow says it is 165 MB a day of egress, with 1 GB of file storage; CPU caps are unlikely to bite outside load tests or an infinite loop, and abusive free sites get shut down and reset ("hotel security").
  • Test on two instances before production. Shared mode's instance slider (up to six in the demo) is a cheap web farm for catching apps that break on more than one server, such as those writing to local disk, which in PaaS is "here today, gone tomorrow".
  • Sticky sessions are on by default, but don't depend on in-process state. Schackow says the platform enables them because in-process session state is such a common pitfall, yet migrations between machines mean it works "ninety-nine percent of the time"; in the edge case a customer's shopping cart vanishes mid-click.
  • Standard mode keeps even a single VM up through patching. Schackow says a dedicated small VM (one core, just under 2 GB) is swapped for a same-size VM from a buffer, traffic shifted, then the old one patched; doing that yourself usually means buying two of everything.
  • Sites and compute are decoupled, so pack the standard instance. The scale tab now moves chosen sites to standard instead of all sites in a region, as it once did; Hanselman packs everything in West US onto his instance (up to 500 sites), and Schackow agrees provided you monitor CPU and memory and add instances when tight.
Scott HanselmanSetting up Custom DNS Records to point to Azure Web Sites - Azure Friday
  • Custom domains require shared or standard mode. Hanselman packs small sites such as Baby Smash and keysleft.com, a single-page site deployed from GitHub, onto his one standard VM, which holds up to 500 sites.
  • DNS, not Azure, is the confusing part. Hanselman says every registrar's interface differs but the records are the same, and he works with the registrar (DNSimple, in his case) and the Azure portal side by side.
  • An "awverify" CNAME proves you own the domain. Schackow explains Azure is not a registrar, so it asks you to create a throwaway awverify subdomain pointing at awverify.<site>.azurewebsites.net; being able to create it shows rights over the domain, and it serves no traffic. The portal also checks in real time that each hostname resolves.
  • CNAME subdomains to the site; A-record the naked domain. Hanselman points www and other subdomains at <site>.azurewebsites.net and the bare domain's A record at the address shown, which Schackow says is the cluster's internet-facing load balancer, not a dedicated IP (unique IPv4 addresses are a separate purchase). Azure then routes by host header.
  • DNS propagation lags, so set up domains well before launch. Schackow says TTL governs how long caches keep old values and DNS is "very laggy"; Hanselman checks propagation with nslookup against Microsoft's, Google's and OpenDNS servers, and says waits of hours point to a configuration error.
Scott HanselmanAuto Scaling Azure Web Sites, CPU or Scheduled - with Stefan Schackow
  • Pick the right instance size first, then scale the count. Schackow recommends adding instances over resizing: new VMs join in about 30–60 seconds and take traffic as they come up, while the existing VM keeps serving, with nothing drained or moved. That was the remedy for Hanselman's podcast site on one small VM when scripts hammer it or it lands on Hacker News or Reddit.
  • Scheduled autoscale adds capacity ahead of known peaks. Schackow's example is the 8 a.m. Monday Eastern rush; Hanselman says nobody listens to his technical podcast at weekends, so he could scale down and save, and Schackow says Azure also prefers idle resources freed for other customers.
  • CPU-based autoscale works within a minimum–maximum band. In the demo it never drops below three instances and grows to at most seven as CPU load rises; billing multiplies instances by cores and accrues hour by hour, totalled monthly.
  • Memory and egress usually bottleneck before CPU. Schackow agrees you should make paid-for CPU work, but says steady-state memory and outbound network are more often the limit; Hanselman says network out has been his number one constraint.
Scott HanselmanMoving Apps to the Azure: What changes? - with Stefan Schackow - Azure Friday
  • All instances run from one shared UNC content share. Schackow says site content is not copied to each instance; it lives on "UNC shares in the sky", a descendant of IIS's shared application host config for hosters, and every VM serving the site is pointed at the same path, set up automatically on FTP, git or Web Deploy.
  • Concurrent writes to one file break at scale. A viewer's text "database" in App_Data threw file-locking errors on four instances; Schackow says it is an architectural problem even on one VM, because every framework handles concurrent requests. Unique file names work but leave "fifty thousand GUID.txt files".
  • Content under wwwroot persists for the life of the subscription. It is not wiped as VMs come and go or new code deploys, and an FTP client shows exactly the site's allocated slice of the share.
  • Large media belongs in blob storage or a CDN, not the site folder. Free sites get 1 GB and shared or standard 10 GB; Hanselman's Hanselminutes site had used half its space on images before he moved them to storage and a CDN, which Schackow calls the right separation of concerns.
Scott HanselmanKeeping Azure Web Sites up plus Endpoint Monitoring - with Stefan Schackow - Azure Friday
  • Free-tier sites are shut down when idle; standard sites stay warm. Schackow says the free tier packs in as many sites as possible, so idle ones stop and face cold starts, while standard runs 24/7 through OS upgrades and autoscaling.
  • Endpoint monitoring pings chosen URLs from chosen locations. The feature, previewed at the Build conference, calls one or more URLs periodically from the same or another data centre (Schackow suggests a European probe for a US company with European customers) and emails on HTTP 400-and-above errors or timeouts. Hanselman also runs two outside services such as Pingdom; Schackow likens the redundancy to NASA's voting systems.
  • Monitoring can't be used to keep a free site warm. Schackow first says pinging could keep a free or shared site running "basically forever" and the team might tweak that, then realises endpoint monitoring is available only in standard mode.
Scott HanselmanMaking multi-language Azure Web Sites with PHP, node.js, .NET - Azure Friday
  • Any framework that runs on Windows IIS can probably run here. Schackow says sites run on what is effectively IIS 8 on Windows Server 2012, supporting classic ASP, ASP.NET, PHP, Node.js and Python, and "ninety-nine point nine percent" of the platform's features are framework-agnostic.
  • One site can mix frameworks with no special wiring. Hanselman's "all in one test" serves classic ASP, PHP, Node, static HTML, Razor and Web Forms side by side; Schackow says the team runs a similar every-framework site as an hourly and daily regression test.
  • web.config also configures IIS, not just ASP.NET. Schackow separates system.web (ASP.NET-only, unneeded for PHP or Node) from system.webServer (IIS behaviour such as request filtering, and the iisnode handler that runs Node.js).
  • Frameworks differ in where they run under the worker process. PHP runs through FastCGI child processes and Node.js through separate executables, while classic ASP and ASP.NET run inside the worker process; framework versions are picked in the portal, and Schackow says adventurous customers bring their own, such as PHP 5.5, by editing config and shipping binaries in a bin directory.
Scott HanselmanCustom configuration settings in Azure Web Sites - with Stefan Schackow - Azure Friday
  • Portal settings replace web.config transforms for environment values. Schackow says app settings and connection strings are stored in Azure's configuration databases and injected when the site starts, as a final override after everything else is computed.
  • Every framework sees them as environment variables. PHP and Node read them from the environment, and for ASP.NET they are also plumbed into the managed configuration system; Hanselman's New Relic monitoring add-on needed exactly that dual exposure.
  • A same-named connection string overrides web.config. Define the local database string in web.config and a string of the same name in the portal pointing at SQL Azure or MySQL, and in Azure the portal value wins with no code change.
  • All configuration flows through a REST API. azure site config list and azure site config add foo=bar in the cross-platform CLI hit the same endpoints as the portal, so a value added from the command line appears in the portal and in the app's environment.
Scott HanselmanHow does SSL work in an Azure Web Sites - Azure Friday
  • SSL requires standard mode and an uploaded certificate. Schackow says that once a PFX and its password are uploaded, Azure opens it, re-encrypts and stores it, and configures the load balancer tier to terminate SSL for the site.
  • The certificate's names must match the site's domains. To cover both www and the naked domain, Schackow suggests a multi-name certificate using the subject alternative name (SAN) attribute, which he says GoDaddy calls a UCC cert; Hanselman contrasts single-host and costlier wildcard certificates.
  • SNI is cheaper; IP-based SSL is most compatible. Schackow says SNI certificates are popular because most browsers, including smartphones, handle them, while supporting "everyone back to the dawn of time" needs IP-based SSL with a purchased custom IP address.
Scott HanselmanUsing Azure Web Site Logging and Diagnostics - with David Ebbo
  • Log streaming shows what a site is doing right now. Ebbo contrasts it with downloading logs to analyse what happened an hour ago; azure site log tail <site> from the Node-based CLI connects to a streaming service and shows trace output with about a 3-second delay, including against production.
  • Streams can be filtered and switched to IIS logs. A filter does simple string matching (for example, on "error"), and a path option streams the raw IIS HTTP logs, which arrive slower, typically under 30 seconds, because IIS buffers logging so it won't slow page serving; the logs are still written to the FTP folder and, if set, to storage.
  • Visual Studio's Server Explorer offers the same stream. After importing a subscription file, which covers all of a user's subscriptions, so the right one must be picked, Hanselman starts, stops and streams logs from the IDE; Ebbo says the aim is to feel like the output window when running locally.
Scott HanselmanGetting Started with Azure and NET - Azure Friday #1
  • A .NET site can be created and published entirely from Visual Studio. With the Azure SDK installed, Hanselman signs in from Server Explorer, creates a .NET 4.5 ASP.NET MVC and Web API project, and makes a new West Coast website from the publish dialog, which then appears in the portal; he puts the whole process at a few minutes, free, and still has $183 of free-trial credit.
  • Production diagnostics also run from the IDE. He turns application logging to verbose in the site's settings, streams his Trace.WriteLine output to the output window, then attaches the remote debugger to the live site and stops at a breakpoint with call stack, locals, process and thread IDs, which he likens to attaching to IIS "in the sky".
Scott HanselmanIntroduction to Windows Phone 8 - The Missing Instruction Manual - Filmed on a Lumia 1520
  • Fill the home screen with live tiles, then arrange them. Hanselman pitches this as the first setup step, in a tour of what he says Microsoft marketing fails to explain, filmed on a Nokia Lumia 1520 mirrored through the Nokia Beamer app. Holding a tile lets you move it and resize it; he shows that newer apps (News, Facebook) offer a large wide tile while older ones such as Flixster and the local Scout app offer only small or medium.
  • Pin individual content, not just apps, as secondary tiles. He pins single podcasts (The Moth, Radio Lab, This American Life) from the music and videos app straight to the start screen. A Kindle tile alternates with a book cover, and tapping it reopens the book on the page he left off.
  • The phone is organised around people, not applications. A contact's Facebook, Twitter, Outlook, Gmail and Skype accounts merge into one profile, from which he can text, Skype, post on her wall, tweet or email; his wife's five social accounts combine into one, with voicemails, calls, texts and emails in a single history. His own tile posts one update to both Facebook and Twitter, and notifications from both arrive in one place where he can comment without opening either app.
  • Holding the back button switches between running apps. He swipes between open apps this way, and says newer versions of the software add an X to close an app from that view. He pauses a game, switches to Twitter and back, and the game resumes.
  • Xbox-branded games earn achievements on your Xbox account. Games marked with Xbox in a green bar sign in to his gamertag and avatar in the games area; he demonstrates with Modern Combat.
Scott HanselmanWhat's new in Windows 8.1 - The Missing Instruction Manual
  • The start screen is now far more freely arranged. Hanselman shows that right-clicking puts it into a selection mode where tiles can be resized (small, medium, large) and several dragged at once, and the all-apps view (the down arrow in the corner) sorts by name or by date installed. He says a desktop app such as Camtasia gets at most a medium tile, while a Store app like Lemmings offers medium or small and new Windows 8.1 apps sometimes add a large one. His shortcut for pinning is to type the app's name on the start screen (c-a-l-c turns up both the desktop and full-screen calculators) and right-click to pin it to Start or to the desktop taskbar.
  • The cloud-storage app doubles as the missing full-screen file explorer. People ask where the full-screen Explorer is. His answer is the SkyDrive app, which he likens to Dropbox or Google Drive: its drop-down switches to "This PC", where files can be browsed, deleted and pasted. He notes that it blurs the line between local and remote storage and is most useful on a Surface or touchscreen.
  • Full-screen apps can share content with one another. The Share charm lists the apps that have registered with Windows as share targets: Twitter, email, Facebook, delicious.com and a built-in Read Later app. He posts to Facebook without leaving the News app. A drop-down picks what gets shared: the item being read, a link to the app itself, or a screenshot, which he mails.
  • The browser's reading view strips a page down to the article. When he opens a link in Internet Explorer, a book icon offering reading view appears in the address bar, and it removes the ads and unrelated articles. He compares it to Readability or Read It Later, says it works on nearly any page, and recommends it most for a Surface RT or other tablet.
  • Quiet hours and per-app controls govern notifications. In PC settings he sets quiet hours from midnight to 6:00 a.m., when the machine makes no noise and shows no notifications but still lets phone calls through. He adds that notifications from every app can be controlled individually.
Scott HanselmanHow to effectively run multiple Fullscreen (Metro) Windows Store apps with Windows 8.1
  • Use the desktop wallpaper as the start screen background. Hanselman finds the jump between the desktop and the full-screen start screen confusing and jarring, especially with a loud background like his red dragon. His fix is Settings, then Personalize, then the choice in the lower right, which reuses the desktop background so the switch is less dramatic.
  • The screen corners do the navigation between full-screen apps. The lower-left corner brings up Start and the way back to the desktop. Pushing the mouse into the upper-left corner and moving down lists the other running apps, and clicking there steps back through them, which he likens to going backwards in a browser. Everything in the video is done with the mouse, not touch.
  • Dragging an app down suspends it rather than closing it. He compares full-screen apps to an iPad's: they stay running, and there is no need to manage them. He shows the force quit anyway, which he does not recommend: drag the app from the top all the way down and hold until it flips over, as he does with Mail and Facebook.
  • Full-screen apps can sit side by side, and resize. Dragging an app out of the upper-left list and dropping it to one side snaps it, a splitter sets the widths, and apps redraw for narrow or wide layouts. Mail's "open in new window" puts two messages side by side. On a high-resolution screen he runs three at once (Twitter, mail and a movie on a plane), and the desktop counts as one of the full-screen apps, so it can sit between two others.
  • There are two versions of the built-in browser. Windows ships two Internet Explorers. The full-screen one is touch-friendly and shows only content, with no toolbars or address bar; the desktop one is the familiar browser, and he says Chrome or Firefox are equally fine there. In the full-screen one he right-clicks a tab and chooses "open in new window" to put two pages side by side, and notes that well-built responsive sites, such as CNN and his own, adapt to either width.
Scott HanselmanHow to use Windows 8.1 effectively with hotkeys
  • The newer Windows works well from the keyboard, not only by touch. Hanselman is answering the complaint that Windows 8 and 8.1 are only for touchscreens and tablets, and he works through the video with a mouse and keyboard. The basics: the Windows key alone toggles between the desktop and the start screen, Win+D goes to the desktop, Win+E opens Explorer, and Alt+F4 closes almost any window.
  • The Windows key plus a number opens that taskbar slot. The count starts at the first icon after Start, so in his layout Win+1 is File Explorer and Win+3 is Internet Explorer; dragging Chrome into second place makes it Win+2. Pressing Win+1 again minimizes and restores the window. With several instances open (shift-click launches another), it switches between them, "kind of like Alt-Tab", and right-clicking the icon offers "close all windows".
  • The same two shortcuts open and close tabs in any browser. Ctrl+T opens a tab and Ctrl+W closes one. He says this holds in Chrome, IE or Firefox, and that Ctrl+W on the last remaining tab closes the window itself.
  • One shortcut opens a menu of power-user tools. Win+X opens it in the lower-left corner, and it can also be reached by right-clicking the Start button. He picks out Disk Management and, as a Windows 8.1 tip, the shut down and sign out options in that menu.
  • Typing at the start screen beats the Run dialog. Win+R still opens Run for advanced users. He recommends pressing the Windows key and typing instead, as in "calc", which offers both the desktop calculator and the full-screen, touch-friendly one.