LinkedIn's job data steers which courses get made and recommended. Ritscher, a LinkedIn Learning staff instructor and former Lynda.com contract author, says LinkedIn bought Lynda.com for its training quality and feeds its "economic graph" of jobs and skills into planning courses six to 12 months out and into spotting skills a member is missing against thousands of people in the same job. With over 14,000 courses across tech, creative and business, he frames the problem as filtering down to what is relevant, including skills a learner does not know they need.
Visual Studio was too big for one essential-training course. Ritscher says even an eight-hour course could not cover it, so he proposed a series, one area per course (debugging, the code editors, 90 minutes on IntelliSense), totalling about 15 courses and almost 40 hours. He has also run a weekly five-minute Visual Studio tips series for about a year; his favourite feature is Ctrl-Q, which searches every menu command and dialog.
Authors build the whole course; production handles the rest. Instructors write the curriculum, demos and slides; as staff, Ritscher records in his home office while the production department does editing and art, with English courses made at Carpinteria, California and foreign-language ones in Graz, Austria. He puts output at about 150 courses a month in around seven languages, Chinese and Portuguese newly added, and says Azure instructors are wanted, though established instructors have already picked their courses for the next two or three quarters.
The company is steering customers from Lynda.com to LinkedIn Learning. Ritscher says the same content publishes to both sites and millions still use lynda.com, but LinkedIn suits enterprise sales to Fortune 100 and 500 companies better. LinkedIn Learning can be bought alone and is bundled with most premium LinkedIn accounts.
His planned Azure course is a developer overview, not a deep dive. Ritscher says Azure is too large to cover whole, so he intends to show what is essential for developers (web apps, databases and storage, Azure Functions, Logic Apps) a little at a time, decided only the week before and possibly becoming a series. He also plans a VS Code course for Q1 of the following year.
Developers use HTTP constantly without understanding its language. Woodruff argues that most people do not know what HTTP can give them and so underuse it in REST APIs. He describes REST, from Roy Fielding's PhD dissertation (which he places at the University of Texas), as building on HTTP's own constraints rather than inventing everything from scratch.
Every request is a sentence: a verb acting on a resource. Woodruff says each request needs a verb and a resource identified by a URI, and developers should know what each verb means: GET retrieves, POST creates or sends new information, PUT updates, DELETE deletes. He points to lesser-used ones: HEAD returns everything but the response body, so it can check whether a large resource exists, and OPTIONS is the call seen before cross-origin (CORS) requests to validate that the verb is allowed.
APIs should return the status code that says precisely what happened. Woodruff says the response code tells the caller whether it succeeded, whether the client or the server failed, and what to do next: 2xx is success, 4xx a client error such as a bad URI or missing authentication, 5xx a server error. A successful DELETE should return 204, success with no body, while a GET should return 200 with the resource in the body.
Design caching in from the start. Woodruff says he has been burned by trying to wedge caching into a finished system. He urges caching on the server side (ASP.NET Core 2.1 Web API or Node) and using HTTP response headers that mark resources cacheable and for how long; because HTTP is only a protocol, a client calling an API from JavaScript or .NET must implement that caching itself or through a library, though some browsers do it built in.
Windows 10 now ships in six-monthly releases instead of big bangs. Rey, lead trainer at Brainstorm, says Windows 10 was finalized in July 2015 and now updates every six months, the coming one being the Windows 10 October 2018 Update, called Redstone 5 in beta; he says this lets Microsoft respond to features users request through UserVoice. Fall releases are supported for 30 months for Enterprise, Education and, he believes, Pro, while spring releases are smaller and businesses tend to standardize on the fall one.
Businesses control their rollout; home users just receive updates. Rey says a company's IT decides when a new version installs, helped by Windows Insiders and Project Olympia, which provides an Azure Active Directory at olympia.windows.com into which a tester can join a device. Home machines get updates automatically, though Microsoft has added controls, after feedback, over when the download and reboot happen.
A cloud clipboard will sync clips across devices. Rey says Windows key+V opens a clipboard that holds more than the last item and synchronizes across machines, so something copied at home can be pasted at work. He thinks it is in the preview for spring 2019 but was unsure whether it is in Redstone 5; Giard gives his own use case, moving screenshots between computers for his blog.
The Snipping Tool is being replaced by Snip & Sketch. Rey says the new tool, first called Screen Sketch, works much the same but supports pen and touch, and he understands the Snipping Tool's delay feature is coming to it. The Snipping Tool remains for now with a prominent notice that it will go away.
Focus assist blocks notifications for a set period. Rey says it suppresses Action Center notifications and pop-ups such as new Outlook mail for, say, two or three hours, while chosen priority contacts such as a manager still break through. It sits in the Action Center.
Episode 528: Hamayal Choudhry and Samin Khan on SmartArm
Prosthetics force a choice between affordable and functional. The team says cosmetic prosthetics are cheap but cannot grasp objects properly, while bionic arms cost tens of thousands of dollars because their myoelectric, neuromuscular interfacing is programmed for each individual and so cannot scale. Their aim is a product amputees can be handed and learn to use themselves, with the arm "learning along the way".
Computer vision chooses the grip instead of neuromuscular sensing. The arm is 3D printed; a camera in the palm feeds frames to an onboard computer, which detects the object and picks the appropriate grasp, and a muscle sensor worn on the arm triggers the grab on a flex and releases it when the muscle relaxes. In the on-camera demo the first attempt narrowly missed the object, though the host notes it used the right grip, and the second succeeded.
They moved recognition onto the device so it works offline. The team says they started with Cognitive Services image recognition but hit problems with objects' differing shapes and sizes, so they moved to a Custom Vision model deployed through IoT Edge; the model runs locally and the arm needs no internet connection.
The project grew from a hackathon entry to world champion. It began in January at a University of Toronto hackathon, where it won Microsoft's API award and the host urged them to enter the Imagine Cup; they won the Canadian national finals in Vancouver and were announced world champions, representing Canada, the day before recording in Redmond. Choudhry, who studies robotics, was interning in California with the hardware while Khan, a computer science student, wrote code in Toronto and sent it to him to deploy and test.
They intend to turn SmartArm into a business. Choudhry says they have meetings lined up with a Canadian federal ministry for innovation and economic development to plan the launch, and that everyone they have told says it fills a gap; he returns to Canada in September. The prize includes a mentorship with Microsoft CEO Satya Nadella, cash and Azure hours.
Episode 527: Douglas Crockford on Clutter in Programming Languages
Iterative design clutters systems with near-identical features that become traps.
Crockford's example is HTTP's POST, PUT and PATCH: they overlap so much that
people waste time researching and arguing over which to use, and he says a
single verb ("store" might have been a better one) would avoid all of it.
Ask which option can be removed, not which is better. He says
"which is better" arguments are weak on both sides, so they never settle. On
tabs versus spaces, tabs go: spaces are still needed between words, space users
prove tabs are dispensable, and the old case for tabs (networks measured in
characters per second) is gone now that code is gzipped and minified.
Real cleanup needs new languages, which the industry and web resist.
Removing features from JavaScript would break decades of code. He says C++
"should have been put in the ground a long time ago" yet keeps growing. He
also says Mozilla once put Python in its browser but never switched it on,
rather than prove it free of the security problems already fixed for JavaScript.
Lookalike syntax misleads, so learn JavaScript itself. Crockford says
Java and C# programmers moving to JavaScript keep writing C#, and TypeScript
"amplifies the confusion" by looking even more like C#. He recommended
CoffeeScript for learning but not for production, and says companies are now
stuck with CoffeeScript code. The hard part of the browser is the DOM, "one of
the worst APIs ever imagined"; a library in front of it helps, but frameworks
have grown complex and sticky, so picking the wrong one is expensive.
His own early mistake was treating JavaScript as Java. He says Netscape,
allied with Sun, renamed LiveScript and positioned it as a subset of Java. He
wrote it that way from 2000 until reading the language standard showed him it
was "Scheme with C syntax", which led to the good parts. At recording he was
still writing a larger book, How JavaScript Works, hoped for that year.
Episode 526: Heather Downing and Spencer Schneidenback on the HelloWorld Show
Their show packs one speaker's idea into a few minutes. On the Hello
World Show, each presenter
gets about 5 to 10 minutes with a visual component, usually a whiteboard, and
the episodes go on YouTube. At recording the show was a year old, having begun
at NDC Oslo with mob programming as its first topic, and was on episode 32,
partway into its second season.
Content matters more than gear, and audio was the hardest problem.
Shotgun microphones picked up conference noise until Carl Franklin advised the
headset mics used on .NET Rocks (DPA, they think). The kit is a Zoom recorder,
Bose noise-cancelling headphones and a Canon T3i. Downing says her Samsung
Galaxy S9+ now films better than her Nikon D7000 DSLR, and they edit in Adobe
Premiere Pro.
A live panel version became its own conference session. In a one-hour
NDC slot styled on a late-night talk show, each panellist gets about seven
minutes, then questions from the other panellists and the audience. The first,
in London in January, had Troy Hunt, Jon Skeet and Scott Hanselman among the
panel and filled the largest room; Richard Campbell and Jimmy Bogard were due
for Oslo. The live format was suggested by Justin James.
She started it because YouTube tutorials never get to the point.
Downing drew on six years of theatre and work with Disney, and picked
Schneidenback as a partner driven to do more than code. She credits him with
the larger share of the work, since he also edits.
They grow it organically and would stop when interest ends. They say a
show needs no money or crew, only genuine interest. A YouTube following takes
patience, but their speakers bring audiences of their own. They also say they
put each other ahead of the show, which has built trust, and that "vulnerability
will set you free": publish imperfect work.
Companies patch software routinely but never "patch humans". Street
means security awareness training: spotting spear phishing, distrusting emailed
links and attachments, challenging people who should not be on site, and
reporting incidents. A driver who crashes the delivery van gets training and is
held responsible, and he argues computers can lose a company far more money.
Information security has failed by seeking technology fixes for behaviour.
He says the field has become "janitorial": it cleans up breaches and re-stages
machines instead of acting proactively. Infosec should detect and report, with
HR enforcing policy. Writing off a "stupid user" excuses the failure to train
users and to press management on why training matters.
A fixed prize lottery turns employees into an intrusion-detection system.
His proposal is $1,000 a quarter for one prize. Anyone who reports a suspicious
email or incident, or is seen acting security-consciously, gets an entry, so
cost stays constant while participation grows. He tells of a friend's company
where an attacker in a compromised account emailed another user, who reported
it thinking it was a test, which he says stopped a potential million-dollar loss.
His in-person teachable moments did not scale, so he now trains defenders.
For about eight years he was hired to break into banks, hotels and financial
institutions, then came back two minutes later to show staff what they did
wrong. Now he and April Wright are building a blue-team course that teaches IT
and security staff to run their own security awareness programme year-round.
Episode 524: Jon Skeet on Making StackOverflow More Inclusive
Stack Overflow's unfriendly reputation is sometimes deserved. Skeet,
the site's highest-reputation user, says closing off-topic or opinion questions
is fine, because the site is deliberately built for answerable questions (a
Formula One car, not an SUV). Name-calling crosses the line, and so can
curtness: brief text comments meant to save time read as hostile, and he
admits falling down there and being passive-aggressive himself.
The goal is a repository of high-quality questions and answers.
"Psychic debugging" of an 800-line dump helps one person and no future reader.
He wants askers to cut it to something like 40 lines that shows the problem,
and treats diagnostic skill as a silver bullet beside empathy. He suggests
teaching it first, even making a learner's first program a broken one.
The system should slow new askers and value questions like answers. He
proposes checkboxes for new users (waived after perhaps 10 well-received
questions), such as confirming whether code is included. His own questions
rarely take under half an hour. Question upvotes earn 5 points against 10 for
answers, a legacy of the early days, and he says good questions are now the
scarce thing.
"Grow a thicker skin" is never the right answer. People from
underrepresented groups who live with microaggressions may simply leave after
one more, shrinking the community's diversity, as a Stack Overflow post by Jay
Hanlon acknowledged. Skeet now flags rude comments he once let pass, and argues
that if almost everyone is nice, borderline behaviour gets easier to call out.
He intends to use his top-user standing to push for change. He says
people listen to him more than they should, so he will use that "privilege"
for good. In one strictly time-boxed hour he wrote a 3,500-word brain dump,
and at recording he planned a longer blog post of proposals.
Click-to-Run replaces MSI so Office can keep pace with Office 365. A
small component is downloaded first, then the bits come from Microsoft's cloud
or an internal source if an enterprise wants control of versions. Derksen says
the MSI build still gets security and bug fixes but no feature updates, leaving
it at May 2015 functionality, three years behind at recording.
Scrub out the old MSI install before migrating. Microsoft supplies a
scrub script for this. He says
he has seen many problems when the built-in update path is used instead, so he
recommends scrubbing the old Office components and doing a fresh Click-to-Run
install.
Click-to-Run licenses per user, which catches companies out. It is part
of the Office 365 subscription (E3 or E5) and keyed to Azure AD credentials.
Under MSI, 1,000 installs on 900 licences meant quiet non-compliance; now the
unlicensed users cannot run Office at all. The upside is that each user can
install on five devices, including at home. On-premises single sign-on needs
ADFS.
Some legacy integrations break, so test applications first. Old ways of
integrating with Office sometimes fail under Click-to-Run, which he attributes
to Microsoft dropping technologies companies should not be using. Most cases
can be solved with effort; deploying Office 2016 MSI is the last resort, which
he advises against.
The cloud means constant change, and the first step hurts most. A
hospital he is working with is jumping from Office 2010 to 2016, eight years in
one go, whereas moving Windows 10 from 1709 to 1803 is a small step. He argues
small steps lower risk, but IT has to stop treating migrations as projects that
end. He has seen Office 365 in production with nobody yet assigned to manage it.
Companies will invest heavily in chatbots, so engineers should experiment now.
Niculita tells Cluj's product and services engineers to learn bot frameworks
so they can build bots into product roadmaps or become clients' vendor of
choice, instead of doing CRM, e-commerce and WordPress work. At his employer,
cloud communications company 8x8, the call-centre use is deflection: answering
the top 5 to 20 issues without a human, mainly to cut time on hold.
Users live in messaging apps, and new app installs have stalled. Citing
Forrester and Gartner, he says brands are dropping mobile apps for chatbots.
He says that since about mid-2015 the top four messaging apps have had more
users than the top four social networks. He also says the average US
smartphone user installed zero net new apps in the previous month, whereas a
bot only has to be added, for example from Messenger's bots tab.
Start on a drag-and-drop platform, then move to a coded framework.
Platforms need no engineering background and suit an MVP, for instance to test
whether 100 people would use it daily. Frameworks in JavaScript, C#, Java or
Python, from Microsoft, Amazon or Facebook's Wit.ai, give full flexibility. He
advises plugging into a cloud ecosystem that already handles translation,
security, logging, telemetry and CI/CD.
Speech recognition is solved; working out the user's intent is harder.
He puts speech-to-text above 95% accuracy without voice training, given decent
audio and no strong accent. Turning a request like a laptop under five pounds
with a touchscreen and an eight-hour battery into an intent and attributes is
harder, but tools now return a data structure to code against.
Users forgive a chatbot less than an app, so log every miss. If a bot
misunderstands two or three times, he says, the user is gone and hard to win
back. He advises logging, or even emailing, each time the bot gets stuck, so
you can tell a silly question from a lost sale.
Episode 521: Brandon Satrom on Ed Gets His Power Back
A story can teach kids why a circuit works, not just how. Satrom, a
developer evangelist at IoT company Particle, felt electronics education
stopped at making a light blink. In Ed Gets His Power Back, a green LED must
light up before sunset and learns along the way what resistors and capacitors
do, while the story builds a real circuit. He published it through his side
business, Carrot Pants Studios.
The Kickstarter took more work than writing the book. He wrote the book
in three or four days, two years after first sketching the idea. Getting the
campaign's message right took longest: they learned many parents are
intimidated by electronics, and the video script took longer than the book. It
raised about $17,000 from about 250 backers, many of them first-time backers,
and the book was delivered in January.
The sequel moves kids from a breadboard to a custom circuit board. In
Ellie Saves the Day, about a blue LED, the kit is a PCB Satrom designed, with
headers so components plug in without soldering. He calls breadboards "barely
adult-friendly" and wants kids to see what real electronics look like. The book
stands alone without the first. At recording the campaign was set to launch on
June 26.
The conference deliberately covers soft skills, never hardcore tech. Eaton
says Kalamazoo X targets what developers are typically bad at: interpersonal skills, UI
and UX design, marketing and branding. Talks that year included Jennifer Marsman
on women in technology and Alan Stevens comparing code to telling a story.
Code and product demos are left to the Day of .NET and code camps. The upload
dates from 2018, but the host asks about a "Kalamazoo X 2011", which places
the recording earlier.
Speakers are invited, and their topics shaped, instead of an open call.
Eaton feared sifting 200 submissions, so he asked friends three or four months
ahead. The lineup had five Microsoft MVPs and three Microsoft evangelists, none
pitching a technology. He steered one testing talk, whose abstract demanded
unit-testing expertise, toward why testing matters.
A single track gives every attendee the same shared experience. The
organisers dropped a five-track plan about three weeks before the first event.
Attendees then do not have to choose between speakers, have something in common
to discuss at lunch, and sit through talks they would not have picked. Talks
are capped at 30 minutes (20 the first year), which he says challenges speakers
used to 60 to 90.
Passion counts for more than attendance. About 65 people came. Eaton
says organiser Jim Holmes told him to hold the event again even if only 10
showed up, and Giard says Holmes named it and CodeMash as his two favourite
conferences. At recording no decision on a next year had been made, though
Eaton could not imagine not doing it.
Cloud computing means paying only for the capacity you use. Marsman,
a Microsoft developer evangelist, says the average data centre runs at about 7%
utilisation ("I think") because it is sized for peak load, like a pizza shop on
Super Bowl Sunday or MLB.com before the World Series. She also cites green IT,
and says routine maintenance, cooling and patching come off the owner's plate.
She concedes that being unable to see the servers is the scariest part, likening
it to early online banking.
The platform is a cloud operating system plus optional services.
She describes Windows Azure, the base of the Azure Services Platform, as a distributed OS for the cloud, with .NET
Services, SQL Services, SharePoint, Dynamics CRM and Live Services usable à la
carte, even from your own data centre. At recording it was a CTP, "not even in
beta". Pricing was unannounced beyond being based on storage, CPU and probably
memory.
A cloud service looks like an ASP.NET project plus a cloud project. The
SDK and Visual Studio tools from azure.com, plus an invitation token, give you
web and worker roles. A definition file names the settings, and a configuration
file holds values that can be changed while the service runs. Publishing
produces a package and the configuration file to upload through a portal. The
SDK's command-line scripts allow build automation, and PHP runs via FastCGI from
the March CTP.
Scaling up is one configuration value, which suits small and large firms.
The configuration's instance count defaults to one and can be raised at once.
She argues this protects a startup from being knocked over by a traffic spike
from a high-traffic site linking to it, and spares the upfront cost of a data
centre. Large firms can focus on their core business instead of running IT.
Episode 520: Venkat Subramaniam on JavaScript - the Cute Parts
Modern JavaScript has learned from other languages and cleaned up old semantics.
Subramaniam calls JavaScript "the assembly language of the web", popular before
it was a good language. He says anyone who has not looked at it in five or six
years will find a very different language, and credits its maintainers with
not becoming complacent.
Prefer const over let and let over var; use rest over arguments. const
gives immutability, fewer errors and code that is easier to reason about. The
rest parameter (...) documents that a function takes many arguments and,
unlike arguments, is a real array with array methods. He says there are "zero
reasons" to use arguments now.
Functional style removes accidental complexity, though it takes more effort to write.
Inherent complexity comes from the problem; accidental complexity comes from
the chosen solution, such as building an empty collection and looping to fill
it instead of calling filter, map and reduce. He says the shift was hard for
him after decades of imperative code. Redux benefits too: immutable objects can
share their internals, so copies are cheap.
Destructuring pulls out only the properties a function needs. For
example, const {firstName, lastName, email} = person ignores the rest of the
object, and it works on function parameters too, so functions carry no unneeded
properties.
The new class syntax hides prototypal inheritance behind Java-like keywords.
He likes the syntax (including extends) but calls it dangerous, because the
semantics differ from the class-based inheritance of Java, C#, C++, Ruby and
Python. He prefers prototypal inheritance as more flexible. His book on this is
Rediscovering JavaScript (Pragmatic Programmers).
Q# exists because programs express quantum computation better than circuits.
Azariah, lead for the Q# language on Microsoft's quantum team, says the field's
state of the art is drawing circuits and reasoning in mathematics. He calls
himself perhaps the only language designer not qualified to program in his own
language, because real Q# programs are written by colleagues with physics PhDs.
Quantum computing turns hard simulation problems on their head. He says
molecules such as chlorophyll cannot be computed classically: representing them
takes more complex numbers than there are atoms on the planet. Feynman's insight
was to use a quantum system itself as the computing device.
A qubit holds one value, but from an infinite space. On a beach ball, a
classical bit is the north or south pole, while a qubit's point can sit anywhere
on the surface and be moved by rotations. The way qubits combine gives a natural
parallelism. He says the hard part is encoding a problem so that it gets a
quantum speedup.
His team is betting on a qubit that resists decoherence. Qubits lose
state through interference with their surroundings, which caps how long they
can compute. Others have built short-lived transmon qubits, while Microsoft is
pursuing a topologically protected qubit meant to hold state several orders of
magnitude longer. Its stated goal at recording was one qubit by the end of that
year and a commercially viable quantum computer within five years, with no
qubit count specified.
Simulation lets people learn quantum programming now. A laptop can
simulate 20 perfect qubits, a large machine about 30, and Azure larger
simulations. The Quantum Development Kit is free, with tooling for Visual Studio
and VS Code on Mac and Linux. The libraries are open source on GitHub, where the
team accepts pull requests.
Episode 518: Tobiasz Koprowski on Securing SQL Server
Recent SQL Server releases build security into every edition. Koprowski,
an independent consultant, says the security features of SQL Server 2016 and
2017 are in Enterprise, Standard and even Express. They are also in Azure SQL
Database and SQL Server on Azure VMs, which matters for GDPR's protection of
personal data. He says features ship cloud-first in Azure and reach the
on-premises product later.
Cloud databases are encrypted by default, with a choice of key-holder.
In Azure SQL Database, new databases and their storage are encrypted from the start. Keys can be left
with Microsoft or kept in HSM-based Azure Key Vault. Transparent encryption
dates from SQL Server 2008; for SQL Server in a VM he advises BitLocker on the
VHDs, since unencrypted MDF and LDF files are readable by anyone who can reach
them.
Always Encrypted protects chosen columns end to end. From SQL Server
2016, columns such as a birth date or social security number stay encrypted in
the database, in transit and inside the application, which must decrypt them.
The choice of randomised or deterministic encryption decides which database
functionality remains. Dynamic data masking instead shows privileged users the
data and plain readers a mask of characters.
Azure's defaults close common doors. He says new VMs accept no outside
connections until firewall and network security group rules are created, and
connections to Azure SQL Database are encrypted. Easily guessed account names
such as SA and root are prohibited.
Encryption's performance cost is small in normal operation. He says
benchmarks show no more than 4% overhead, helped by faster memory, CPUs and
SSDs. CPU use is high when first encrypting millions of rows and during backups
that are both encrypted and compressed. The larger cost is administrative: DBAs
and developers must move off old releases like SQL Server 2005.
A system that does seven things is a blockchain. Reilly, who works in Microsoft's Commercial Software Engineering group, lists them: peer-to-peer networking with no client-server model, consensus on the system's state, messages as transactions ("add a dollar, reduce a dollar"), a state machine built from those, an open protocol others can join, proof of work so no one party can rewrite transactions, and the distributed database that results. He says Ethereum reaches consensus with Paxos, a leader-and-majority model, and calls proof of work "really hard to determine, but really easy to check".
The system secures itself, so no server has to be trusted. Reilly contrasts this with the client-server model, where users trust a server that "might not follow best practices". Data signed with elliptic curve cryptography can be verified through the public key without ever exposing the private one, and he repeats the claim that reversing an ECC key would take computing power enough to "boil all the water on the earth".
Ethereum stores logic as well as data, under a fuel limit. Reilly calls it a distributed virtual machine built "for developers by developers", and says its protocol, APIs and tooling keep changing with little documentation or versioning, because it is early. Its contracts are written in Solidity, which he likens to JavaScript or Java, and every transaction must be paid for with "gas" so that no infinite loop can use up every node's resources; he says this restricts what you can build.
His team built a Minecraft land registry on Ethereum. A contract records ownership of each plot in a 100 by 100 grid, and an Azure function checks it whenever a player on a modded server tries to mine, rejecting players who do not own the land. Reilly says the game calls the contract the way a C# console app would query a database, with "no database layer… no server layer".
Bitcoin is a blockchain whose stored data is account balances. Reilly describes it as a giant list of wallets keyed by public key, with each transfer written to the chain, so everyone agrees on what everyone holds without a central bank. For learning more he points to the Bitcoin and Ethereum white and yellow papers, which he believes are on GitHub, and to his site timmyreilly.com.
Drupal is a content management system, a framework and a community. Byron, whom Acquia sponsors to work as Drupal's product manager, community manager and core committer, says it powers about 2% of the internet. As a framework it can run fully decoupled: she cites Princess Cruises running ship manifests on a Drupal back end, and a USB key carrying Drupal for emergency communications.
Drupal trades setup speed for control, unlike WordPress. Byron says WordPress suits a site that must be up "in five minutes", while Drupal suits "ambitious digital experiences" where the owner wants full control. She likes it for customers who don't know what they want, because a site can grow into e-commerce or new integrations and still look consistent; Giard frames this as the trade-off between work done and control kept.
Anyone can publish a module, but only vetted ones get security coverage. Byron describes two tiers: anyone who agrees to submit GPL-compatible code can publish, and stable modules that pass checks such as for XSS get a green mark showing the security team covers them. She says this matters because Drupal holds sensitive data, in healthcare and in an online petition system on whitehouse.gov under the previous administration.
No company owns Drupal; contributors come for their own reasons. Byron counts about 4,500 people on the core, of whom 200–300 are active all the time, and about 35,000 developers building modules and themes. They contribute because a boss chose Drupal, an analyst report or high-profile site drew them in, they have "an itch to scratch", or patching upstream beats a local hack for a customer.
The stack is PHP, GPL and any database, moving toward JavaScript. Drupal has run since 2001 on PHP with MySQL traditionally, though anything from SQLite to MongoDB or Oracle works, on Linux or Windows, and Byron puts its modules at about 30,000. JavaScript such as React is being added on the client side, not yet the server. She credits Microsoft with work making Drupal run on Azure and with sponsoring zip downloads beside the tarballs that were hard to handle on Windows.
Episode 515: Kate Gregory on the Current State of C++
Modern C++ means working in abstractions, not pointer loops. Gregory, who runs a consultancy in Ontario, says hand-written loops that increment or subtract pointers still compile but should give way to C++11's ranged for and standard library algorithms such as find, which name what they do. Her rule: "the best code is code you don't have to write or test"; rely on the library, and where you cannot, put the code in a named function.
A standards committee, not one vendor or its creator, governs the language. Gregory contrasts the ISO standards process of national bodies, twice-yearly meetings and papers with C#, where a Microsoft team decides; she says Bjarne is still active but "not the dictator" and the committee sometimes overrules him. Vendors may ship proposals years before they are standardized, as Visual C++ has with coroutines because Microsoft is heavily involved in that proposal.
C++ pays off when you must control performance, very large or very small. Gregory cites big numerical simulations of finance and weather, and small devices where what counts is instructions per watt, such as programmable jewelry that 12-year-olds were learning C++ to program. She says every robot on Mars runs C++ and calls it the most general-purpose, cross-platform option, though some microcontrollers leave it the only choice.
Teach C++ from day one, references before pointers. Her "Stop Teaching C" talk objected to intro courses that spend early days on C and teach features in the order they were added. Teaching C++ first gets students further, to templates, exceptions and polymorphism, and she says people from C are horrified at leaving pointers until later "but it really works".
Her clients stay on Windows because old libraries tie them there. Gregory works mostly in Visual Studio with Visual C++, because clients built around MFC, "well over 20 years" old, cannot port to Unix overnight; she notes Clang and GCC can run from inside Visual Studio. She points beginners to isocpp.org, the site of the standards committee and the C++ Foundation.
Master basic models before reaching for deep learning. Miller, a senior data scientist and instructor at the Metis boot camp, told his Ideas Conference talk that linear and logistic regression come before TensorFlow and Theano. Without the simple techniques, he says, you cannot understand what deep learning does, why it is built that way, or how to prepare data for it; students still arrive planning computer vision as a first project.
Data scientists now have to be able to write real code. Miller says that perhaps five years earlier, loading data into scikit-learn was enough to be well paid. The employers Metis works with now want hires who can pull data from their warehouse, clean it the way their team does and write reproducible code, so "the balance has definitely shifted" toward software engineering.
Data science should follow the scientific method. Getting data into a model is not the end, Miller says: you must first frame the business question and design a metric and a test that shows whether it has been answered. That means a hypothesis, an experiment and a check for a statistically significant result, which he says the field is moving toward but must keep moving toward.
Newcomers struggle most with open-ended, creative problems. Miller says students from report-building jobs want a checklist, but the brief is "can we optimize this process? Go", often with poor data; he gives "60% of the data is missing" as an example. It is often unclear what to classify, such as whether a group targeted with an ad might buy later rather than whether one person buys.
Data science is math and a little code, not magic. Miller lists linear algebra, calculus, statistics and some Python or R, all learnable free online, and suggests starting with linear algebra. He puts self-study at perhaps 12 to 24 months against Metis's 12 weeks of nine-to-five instruction, saying his employer's format condenses the same material.
An older mobile platform still pays off for Hunter. He says the return on investment from Windows Phone has been very high, with "hundreds of thousands" of active users a month for the apps he and his wife build. He uses Xamarin for Android and iPhone and says the apps are basically the same apart from following each platform's conventions.
An app succeeds if users finish it happier than they started. Hunter says the developer's job is to make a complex or mundane task "inconsequential or delightful". If you have to tell users how to use your app, he says, it is probably too complicated: the UI should show what is happening so users think about what they are doing, not how.
Apps are bloating, chasing wow factor over ease. Hunter says wow wears off after a couple of days and starts getting in the way, and showcase features often go unused. Developers build for themselves, he says, when users are seldom like them: they are busy people for whom the device is an appliance, so a utility app should get the job done and get out of the way.
Make the simplest entry the default and let detail be added inline. In his finance app, which he would not name, a user can record a receipt as "I spent 50 bucks" or add line items such as $32, $6 and $4 tax that total into one entry, on the same screen. Hunter rejects a settings toggle for this, because it adds steps.
Split a complex domain into separate apps that share data. Hunter would pair a simple budget app ($300 of spending money, $260 spent) with a detailed account-tracking app, linked in the background so line items match up to the budget. Giard likens this to microservices with a UI, and Hunter agrees.
Imagine Cup is a worldwide hackathon of student-built projects. Matheney, who worked with Giard on Microsoft's academic team recruiting entrants, calls it "a hackathon of hackathons" for projects built on Azure; the episode was recorded at the US finals in San Francisco on 5 May 2018, the competition's 16th year. Country winners go on to world finals with $100,000 at stake; she first gives the minimum age as 18 and later corrects it to 16, for high school through PhD students.
A large field of entrants was cut to a dozen US finalists. Matheney says about 4,000 students registered and 221 teams submitted projects, though she later says 121. Six of the 12 advance to the world finals, and some teams first formed at other hackathons, including two from the Vatican's VHacks whose members lived far apart.
Judging weighted technology use and business case equally. Matheney says about 50% of a score was the use of Microsoft technology and 50% the business plan, polish and user testing, judged on a five-minute pitch and five minutes of questions. The top six win $10,000, $8,000, $6,000, $4,000, $2,000 and $1,000, and a team can win at most one special award for mixed reality, big data or AI, so the most any team can take home is $11,000.
Many finalists built from personal experience, often in health. Projects included Loro, which adds a 360-degree camera and voice recognition to a wheelchair, a medicine reminder, an asthma-inhaler tracker, and a refugee app that uses the Cognitive Services vision API to match photos of missing family members. Matheney highlights a presenter who told of growing up with a stutter; Giard adds others inspired by a brother born without enough oxygen and a mother who died of a disease.
The finals included preparation for teams and outreach to children. Matheney says teams had talks, a panel on startups versus big companies, pitch coaching and one or two technical mentors each from 11:30 to 7:30 the day before. While judges deliberated, K–12 children from the Bay Area, including junior members of the National Society of Black Engineers and Girl Scouts, programmed Lego robots. Registration for the next year is at imaginecup.com.
A wristband sensor turns kids' dribbling into a live team game. Ashley describes a project built during the week of recording for the Seattle Storm's (WNBA) youth camps: kids split into two teams of roughly two to ten, each wearing an IMU wristband, and an app projects each team's dribble count and a timeline so they can see in real time who is winning.
The sensor reads enough motion to tell what the ball is doing. Ashley says the IMU samples at about 100 Hz, recording g-forces as a 3D acceleration vector and angular velocity of hand and wrist, which he calls a "surprisingly huge amount of information" about the ball as it leaves the hand.
The model runs on the chip so it works disconnected. The team recorded their own raw dribbles at 100 samples per second, built the model in R and Machine Learning Studio, then converted it to efficient C code in the device firmware; the sensor sends events to a mobile app only from time to time, because sports venues may lack a cloud connection.
The device code is open source for partners to reuse. Ashley says the sensor kit SDK, which he and others collaborated on, is fully open source and was described in an MSDN Magazine article in April 2018; Giard says he wrote the API linking the device to the web server.
Basketball is a start; more drills and sports are planned. Ashley's next steps are analysing wrist rotations and supporting more sensors and devices so partners can extend to new sports; he says the project's original push came from snow sports, and Giard suggests baseball or golf swings.
Windows 8 aims to be one OS from smallest device to largest. Kunk, speaking after the Build conference released the Windows 8 developer preview, says it has a desktop mode essentially unchanged from Windows 7 and a touch-based Metro mode modelled on the Windows Phone 7 live tiles; he contrasts this with Apple's separate desktop and mobile operating systems.
Desktop developers need to learn nothing new; Metro means real change. He says Metro sits on WinRT, a new base API talking to the kernel in place of Win32, and its apps run sandboxed with restrictions such as no walking the whole file system, which he says is meant to force responsive, safe, phone-like applications.
Metro offers two UI routes, both on WinRT. C# or VB with XAML, where Silverlight and WPF skills transfer well, or HTML5 and JavaScript as a first-class language for native Windows apps; he stresses that Build's HTML5/JavaScript talk meant Windows applications, not browser ones, and that its appeal is moving existing web code onto Windows.
Learn HTML5, CSS and JavaScript first for greater reach. Asked where an unprepared developer should spend the next couple of years, Kunk calls the answer obvious: those skills also work on the web, while a Metro app still targets only Windows and will not run on a Mac.
GDPR binds any company holding EU citizens' data, wherever based. Rialdi, a 15-year developer-security MVP, says the regulation covers how personal data is transmitted (HTTPS rather than HTTP), stored and made available; companies are scared because fines can reach 10 or 20 million euros, and it takes effect in May (of the 2018 recording).
Nothing in it is new to security experts; it removes procrastination. He says its approach mirrors established practice such as Microsoft's Security Development Lifecycle and OWASP, which he thinks inspired it; what changes is uniformity across Europe, where he says Germany has treated the issue most seriously.
Start with a threat model; no tool certifies compliance. He calls the SDL threat model central for finding architectural risks, ideally begun at the start of design but for existing systems before May, and recommends Microsoft's free threat modeling tool, while stating there is no tool that can tell you whether you are GDPR-compliant.
The regulation sets goals and suggestions, not technologies. Rialdi says it asks you to evaluate pseudonymization or encryption and always protect the channel; he adds it is not only a legal document but contains technical prescriptions, so developers should read every point and take advice from security specialists.
Never store passwords in clear, even for trivial data. Because users reuse passwords, a leak from a site holding only names and emails can open what he calls a cross-vulnerability into, say, a health system; he says it is unclear how EU authorities will treat this case, but a legal contact told him to avoid it absolutely.
Episode 509: Nicolas Bello on Progressive Web Apps
A progressive web app is a website that works offline and installs. Bello, of Southworks and a Microsoft MVP and Google Developer Expert, says new web standards let a site keep working on low connectivity via the service worker and manifest, and let a frequently visited site prompt users to add it to their home screen.
It spares building separate native apps per platform. He contrasts writing Objective-C for iPhone, Java for Android and HTML/JavaScript for the web with using browser standards that now reach device features such as camera and microphone without installing a native app.
The basics are only browser, HTML, JavaScript and CSS. No framework is required because these are web standards; he uses VS Code and browser dev tools, with Gulp, Grunt or npm scripts to automate tasks such as generating the service worker, and names Lighthouse (now absorbed into Chrome) for PWA audits and Workbox for service-worker caching.
Frameworks organize the app, not the PWA part. Bello writes plain JavaScript for some projects and Angular or React for others, using them to structure larger applications; he says the field is new enough that more tooling will appear.
.NET Conf grew from one Uruguayan event to five countries. Fernandez, CEO of Kaizen Softworks, a Uruguay-based software firm serving US companies, says he and fellow community organizers founded it in Montevideo, ran it there for three years at about 500 attendees, then expanded to Argentina and Colombia, with Chile and Peru added this year.
The new .NET Conf Global aims beyond conferences. Founded a couple of weeks before the interview, its stated mission is an ecosystem connecting students, professionals and speakers to share knowledge of Microsoft and open-source technologies through conferences, meetups and forums.
Founders co-run a country's first edition, then step back. Fernandez says the original team actively organizes each new country's debut, including visiting months ahead to pitch sponsors, and becomes a passive collaborator from the second edition once the local team has learned the format.
South America had lacked community-run .NET events. He says the .NET community there had gone quiet and the only earlier conferences he recalls in Uruguay were Microsoft-run, more than 10 years ago; he suggests US events, long established, need to find their own differentiator.
The 2018 schedule runs September to November. Speaking in early March 2018, he gives Argentina in September, Uruguay in October and Colombia in November, with Chile and Peru dates still in planning.
Episode 507: Guillermo Bellman on Azure Service Fabric
Microservices trade one monolith for many coordinated small services. Bellman says splitting an app into single-purpose services lets each scale independently and be written in a different language (C#, Java, C++), and makes them easier to maintain and test, at the cost of having to coordinate many services.
Service Fabric handles that coordination, and Azure itself runs on it. He says it does orchestration, service location inside the cluster, scaling and health monitoring; it was born to make SQL Database happen, and Cosmos DB runs on it too, which he offers as evidence it is well tested.
It runs on Azure, on-premises or other clouds, Windows or Linux. On AWS or your own hardware you run Microsoft's bits but manage the machines yourself; apps can arrive as a packaged existing executable (tooling in Visual Studio 2017), as stateless or stateful services built with the SDK, or as Windows or Docker containers.
Scaling works at two levels: service instances and cluster hardware. Instances scale on application metrics such as HTTP queue length within the same VMs, while the cluster adds machines on hardware metrics such as CPU above 80%; the value over App Service autoscale is packing containers or VMs to use hardware to its limits.
His Microsoft project splits AI and API across two clusters. Bellman says a Linux Service Fabric cluster runs custom-built Python AI models (not CNTK or TensorFlow) for improving Microsoft business processes, and a Windows cluster runs the API and moves data from Cosmos DB to SQL, with Service Fabric handling scalability.
Data science is a process, not a set of technologies. Christopher, director of technical curriculum at Pluralsight who curates its data content and says he is not a practitioner, defines it as something like the scientific method applied to data sets to turn data into action.
Data science is following computer science's path to commoditization. Christopher notes CS degrees did not exist in the 1960s and the field then demanded one; Giard adds that mainframe costs kept out anyone without a degree until 1980s PCs costing a couple of thousand dollars. Christopher says cheap, on-demand cloud compute and storage now remove the hardware barrier for data science.
It is happening faster because software lessons carry over. Christopher says an AI system that took him six months to build in school 20 years ago, without enough data to train it, can now be running in an hour, and building AI systems can be automated to let them compete for the most effective.
The barrier is now knowledge, and its absence is deceptive. He has seen developers in Azure ML's drag-and-drop tool try options until something seems right; without knowing, say, logistic from linear regression, they get something that looks like an answer, which an experienced data scientist could tell will not work.
Entrants need programming, analytics and business acumen. His most direct route is a degree, possibly online; programmers should learn clustering, classification and neural networks from courses, books and blogs. He says he lacks business acumen himself and agrees with Giard's suggestion of partnering with someone who has it.
A good chatbot is one users cannot tell from a human. Leung, a software engineer on Microsoft's team formerly called DX (Developer Experience) and now CSE (Commercial Software Engineer), works on "conversation as a platform". He calls the "press one for this" phone menu a bot, but not an intelligent one. Bots like it save the cost of a person routing calls, and he says adding natural language processing is what makes them intelligent.
LUIS trains a language model from examples instead of hand-written matching. In Microsoft's Language Understanding Intelligent Service, at luis.ai, a developer maps utterances (the things people say, such as "hello", "howdy", "what's up") to an intent (the verb, here a greeting) and marks entities, the useful parts of a phrase. Then they press train. Leung says the alternative is regex or a giant case statement listing every phrasing and common misspelling. The model is exposed as an API endpoint: the bot passes in the query and gets JSON back naming the intent.
Bot Builder V4 is being developed in the open on GitHub. Leung builds with the Microsoft Bot Framework's Bot Builder. He says V4 "just came out" and has been worked on open source since about two weeks before recording, whereas V3 was not built in the open. Its SDK installs from NuGet for C#/.NET or as an npm package for Node.js, and he invites viewers to file issues and contribute.
The bot connector lets one deployed bot reach many channels. The bot can run locally, on Azure or on any cloud host. The connector routes it to channels Leung puts at "more than 12" and later "14 or plus", among them Slack, SMS through Twilio, Facebook, a website and Cortana. His argument is that users never download an app: they talk to the bot on platforms they already use.
Leung is building a voice bot for getting around Chicago. It is a work in progress. It answers questions about CTA buses and trains and walking routes from point A to point B, spoken through Cortana by way of the connector, and LUIS interprets the many ways of asking ("take me here", "I'm hungry, I want to find food"). Giard fills in that some other service must supply the actual departure times, and Leung agrees. For more, Leung points to dev.botframework.com.