Herding Code 197: Summer Stories, C# 6, Vim and Atom, Terrible Keyboards, Poorly Aged Hipster Code, React and the Apple Watch

It’s time for a discussion show!

Download / Listen: Herding Code 197 – Summer Stories, C# 6, Vim and Atom, Terrible Keyboards, Poorly Aged Hipster Code, React and the Apple Watch

Show Notes:

  • (01:22) What’s new for Kevin? Node, Backbone, working at Brandcast, some talk about how the shop runs. Plus he’s been busy moving.
  • (03:12) What’s new for K Scott? Lots of JavaScript, C# / MVC, AngularJS, MongoDB. Jon asks how Mongo is working in production in the healthcare application K Scott had mentioned earlier. K Scott talks about some performance issues he’s looked at, including some that came down to C# queries, and an issue with a 16MB document size limit. Jon asks if they’re using Redis or other front end caching outside of Mongo. K Scott says they’re just map-reducing and storing the information in other collections. He’s not travelling quite as much
  • (06:50) Jon asks K Scott about his recent posts on C# 6 and EcmaScript 6. K Scott talks about looking into traceur to write current code today in ES6, compiling to ES5 to work in current browsers.
  • (07:25) Jon asks K Scott about his recent C# posts on property initializers and primary constructors. K Scott talks about those as well as the new "using static" feature to invoke static members without needing to use the type name.
  • (08:42) Scott K mentions a discussion about required properties with property initializers. K Scott says he was hesitant about a few things with the new syntax, and problem being that there’s no initializer body for validation. You can mitigate that a little using an assert in a the initializer. It’s nice not having to write explicit setters.
  • (11:06) Scott K says he doesn’t even think about property syntax all that much because Resharper and CodeRush handle that for him. Jon speculates how long it will take for Resharper to start yelling at him to use primary constructors everywhere. Scott K says he uses CodeRush for that reason and turns off the code hints.
  • (12:27) K Scott asks what software Kevin is using: OSX and MacVim.
  • (12:40) Jon asks if anyone’s using Atom.io. Scott K says he tried it and it was way too slow. Kevin says that after using Vim he has a hard time with heavy IDE’s – even WebStorm. He’s skeptical about the longevity of new code editors, while Vim is eternal. Jon says he’s interested in Atom.io because it’s cross-platform and open source.
  • (16:05) What’s new for Jon? He’s been doing some courses for Microsoft Virtual Academy – Introduction to ASP.NET MVC and a Bootstrap course including some advanced stuff like Bootstrap Mix-ins. Wrox Professional ASP.NET MVC book is out. He went to Norway for fun and went to pulpit rock. He’s been spending some more time on non-Microsoft web stacks and platforms now that Azure and ASP.NET vNext are cross-platform. Scott K and Kevin talk about the fun of switching operating systems and remembering keyboard shortcuts. Jon says the biggest frustration is that he keeps trying to touch the screen on a MacBook and it doesn’t do anything.
  • (21:30) What’s New for Scott K? He got a new computer a Lenovo U530 – he calls it the consumer version of the Carbon. He talks about some of the confusing things about the Lenovo keyboard, especially the function keys. Everyone talks about function keys and keyboard problems. K Scott has a newer Carbon, and the keyboard is driving him nuts. Scott K says he’s constantly hitting the touchpad because his keyboard is off-center, which always brings up the Windows charms. Jon mentions touchfreeze and other ways of disabling the touchpad while typing. Jon says he rarely uses the touchpad because he just uses the touchscreen. Scott says he never uses it, he thinks it’s weird that you use two fingers to scroll on the touchpad and one on the screen. K Scott said he accidentally put his Carbon in caps lock, but he doesn’t have a caps lock button so it was hard to turn off. Kevin is unhappy with the Microsoft Sculpt Keyboard’s function keys. Everyone, please stop messing up the function keys.
  • (34:13) Jon asks if anyone’s use the CODE keyboard. He and Jon both agree that it looks great, but they can’t use non-ergo keyboards. Scott K wants keyboards to keep it simple and last a long time.
  • (35:27) Scott K get back to telling us about his summer activities. He was working on upgrading a MonoRail that drove him crazy due to being "craftstmanned up" with lots of opinions in the code like fluent extension methods, Brails view engines and difficulty in upgrading libraries due to dependency injection and breaking changes in NHibernate. Jon says that he’s developed an aversion to things that make great blog posts but will be hard to work with in a few years. Scott K says 90% of the problems came from strong naming – binding redirects and ILMerge with aliases didn’t help. They’ve been evaluating MongoDb and AngularJS a bit at work
  • (41:50) Scott K used React with Grunt in his MonoRail project to allow him to add client-side functionality into a frightening legacy application. Jon asks how he sets it up so it works at dev time and Scott K explains. Kevin’s been hearing a lot about React lately. Scott K like that it’s not trying to be MVC, just the V – e.g. no two-way binding – and the virtual DOM diffing is so fast that people are even using it with AngularJS and Ember just to speed up diffing large lists. Plus it’s used by Facebook for Instagram and the commenting / messenging on Facebook, so it’s been proven to work in big apps. He thinks it’s going to be bigger than Angular and Ember in the next few years.
  • Lightning round
  • (46:34) Who’s getting the new Apple Watch? Kevin says it seems iPad 1-ish. Jon likes some things about the watch UI, including the automatic answer prompts from instant messages with questions. He says the Moto 360 looks better, and we haven’t heard anything about battery life. He’s not sure what he’d do with today’s smart watches, but hopes watches will be really cool in a few years. Jon doesn’t like all the proprietary stuff – payment, chargers, etc. Scott K says he could easily switch to Android and it wouldn’t bother him, so he’s not going to be getting the new iPhone. He’s got a Pebble and likes the notifications and battery life. He thinks the Apple Watch is too little too late. He thinks everything from Apple has gone downhill post-Jobs. He also talks about his recent laptop purchase – if he wanted a posix system, he’d rather just buy a laptop and put Linux on it. He starts ranting about npm and K Scott cuts him off. But then the guys start complaining about the live stream and things go off the rails again.
  • (1:02:32) Jon asks why nobody’s moved to CouchDb. K Scott says the company behind MongoDb is pretty pushy. Nobody had looked at DocumentDb yet, and both Kevin and Scott K are bullish on Postgres.

Show Links:

Sponsor

This show is brought to you by Runscope – find out more at http://runscope.com/herdingcode

Herding Code 196: Matias Niemela on ngAnimate

The guys talk to AngularJS committer Matias Niemela about AngularJS and Angular animations with ngAnimate.

Download / Listen: Herding Code 196: Matias Niemela on ngAnimate

Show Notes:

  • Hello. How’d you get started with AngularJS and ngAnimate?
    • (01:00) K Scott notes a tweet from Matias that he liked Angular before it was popular and asks Matias about how he got started with Angular and how he became a contributor, primarily contributing to animation. He’s also contributed to angular-dart and forms. (03:17) K Scott asks about the history of Animations. Matias talks about how things evolved to working with CSS classes. K Scott talks about how he found the source code for animations was pretty interesting, and Matias agrees.
  • Dart and Google Material Design
    • (04:47) K Scott asks about AngularDart relates to Angular. Matias explains that both are from Google, and they want to make sure that it’s easy to build Angular applications using Dart if you want to.
    • (05:39) Jon asks is Matias is working in both the 1.x and 2.0 source. Matias says he’s mostly focused on the 1.2 and 1.3 release and lately incorporating Google’s new Material Design, especially with animations and components. Angular Material Design includes styles and animations, but is built to allow you hooks to add your own styles and animations, transparently syncing them together in a consistent way.
  • Animation internals
    • (08:14) K Scott asks for Matias’ thoughts on CSS Animations. Matias says the API is too isolated, so there’s no way to hook into the keyframe system. CSS Transitions do allow for that, but you can’t repeat transitions. Putting them together, it’s difficult to create a comprehensive system that’s guaranteed to always run. The Material Design animations work with the Web Animations API, which is a more robust animations API. Currently only Chrome support the .animate method, and the Web Animations API spec is still being written, but Polymer has a polyfill.
    • (10:16) Jon asks about browser support and whether Matias is able to write to standards or if he has to do a lot of special casing. Matias says that the Polymer polyfill and the animations API covers almost everything without special casing.
    • (11:11) K Scott asks what the most challenging part of Angular Matias has worked on so far. Matias says the challenge has been the animations, especially in refactoring over time.
  • Testing in JavaScript
    • (12:56) K Scott asks how Matias tests animations. He says that the tests are all mocked, so they’re not running against animation engines. He says it’s been difficult testing asynchronous code in a synchronous manner.
    • (14:38) Jon asks if Matias uses Javascript libraries to deal with asynchronous code. Matias says that’s all handled by Angular itself.
  • ECMAScript 6
    • (15:15) K Scott asks for Matias’ thoughts on ECMAScript 6. Matias says that Angular 2 is built with ECMAScript 6 using traceur for backward compatibility. He likes the classes and generators an syntactic features, but after working with Dart there are a lot of other features he’s missing. The problem is that JavaScript is non-blocking, so the code will always be a series of callbacks with variables to see if a callback has fired. Promises are great, but they’re just packaged callbacks in a way.
  • Getting Started, Form Validation
    • (16:50) Jon asks for pointers for someone who’s new to ngAnimate. Matias says he’s written documentation for 1.2, but some of it isn’t up to date. There’s a SitePoint article about it, and when 1.3 is out Matias will have an article out about it.
    • (17:38) K Scott asks about form validation. Matias talks about the work they’ve been doing with forms in 1.3.
  • ECMAScript 6 and JavaScript Development
    • (18:55) Twitter question from Steve Strong asked for news on Angular 2.0 and how important ECMAScript 6 is to it. Matias talks about how ES6+ (ES6 with annotations support) simplify dependency injection.
    • (21:13) K Scott asks if Matias liked using JavaScript back when he was doing more full stack development. Matias talks about how he used to write a lot of JavaScript to do things that Angular just handles.
    • (22:38) K Scott says that Matias’ blog and twitter names, Year Of Moo, made him thing that Matias might have been involved with Moo Tools. Matias says he used to be heavily invested in Moo Tools because it supported proper object oriented programming (as opposed to jQuery’s looser approach). He eventually switched to jQuery and then to Angular. He’d originally named his blog around an idea of writing a new Moo Tools plugin each month for a year, but kept the name because it’s unique.
  • More Testing
    • (23:50) K Scott asks Matias when he became passionate about testing. He talks about how valuable tests have been to him.
    • (24:45) Jon asks if Matias has any recommendations on testing. His suggestion is to pay attention to what you’re after. Your tests are to make sure that the code you’ve written work, so test the main points of functionality. Look for friction points – things that will not change – and test those. Try to write some of your own unit tests first, and when you get frustrated look at how projects like Angular are writing their tests.
  • Inspiration and Design
    • (26:12) K Scott asks Matias what he’s been looking to for inspiration. Matias has lately inspired by Clojure and books on software patterns and refactoring.
    • (26:51) Jon asks Matias about his site’s design and use of color. Matias says the cartoons on his site are by his girlfriend who is a graphic designer. He says that most technical bloggers are not focused on writing articles. His goal is to push the boundaries of technical blogging and to address the frustrations he’s had in reading other technical blogs.
    • (28:41) Jon says he really likes Matias’ use of multiple em classes with different colors. Matias discusses that, and says that he’s rewriting the website from Jeckyl to Hugo (which is built with Go).
  • Wrap up
    • (29:58) K Scott asks what Matias does for fun. He mentions travel (he’s from Finland), golf and going to the gym. But computers is a big passion of his, so it’s rare that he’s away from the computer.
    • (30:28) K Scott says he used to play golf a lot, but he’s been making an effort to get out golfing at least once a week. Matias says it’s definitely a challenge a lot of programmers face – most of us like what we do, and going outside requires intention. Jon talks about his friends in other professions who leave their work at work. Matias talks about the portability aspect of computing.
    • (32:24) K Scott asks Matias about what’s on the way for for him. He mentions some posts and upcoming speaking engagements, especially ngEurope in October in Paris, talking about what’s new with Angular and ngAnimate.

Show Links:

Sponsor

This show is brought to you by Runscope – find out more at http://runscope.com/herdingcode

Herding Code 195: Michael Mahemoff on Player FM

The guys talk to Michael Mahemoff about Player FM, a cloud based podcast application which is focused on discovery and multi-device synchronization that he recently showed off at Google I/O.

Download / Listen: Herding Code 195: Michael Mahemoff on Player FM

Show Notes:

  • Hello. What is Player FM?
    • (00:48) K Scott asks Mike for a quick introduction. Mike has studies both psychology and software engineering and has worked on a variety of applications, focusing lately on HTML5 web applications. He’s been working for the past few years on Player FM, a cloud based podcast application which is focused on discovery and multi-device synchronization.
    • (01:55) K Scott asks about the technologies used to build Player FM. Mike talks about the advantages of moving feed fetching to the cloud, the web site (using a PJAX implementation which pushes markup rather than data and HTML5 history) and an API.
  • Player FM API
    • (04:33) K Scott asks more about the API. The server is running Ruby on Rails using controllers that supply different format based on the extension in URL. The API is publicly available for experimentation but isn’t officially supported. Mike’s set up using a spectrum of detail levels (none, id, medium and full) rather than allowing clients to select specific fields. This allows you to be efficient in your API requests for hierarchies but is still cachable. He’s created a framework to support that.
    • (09:10) Jon mentions some of the URLs he’s seeing in browsing the API for listeners who want to play along at home. He asks Mike about the balance of a self documenting API vs the full hypermedia smart client approach. Mike says he thinks the API needs to be pretty mature for that to work and points out some of the curated lists in the feed.
    • (11:33) K Scott asks if the curation is community based. Mike says that’s the eventual goal, but for now he’s doing that.
    • (12:23) K Scott asks about the difficulty in tracking when all the feeds have been last updated. Mike says that originally it was a simple loop using feedzilla. Now it’s using sidekick and the PubSubHubbub standard (using the superfeeder service and webhooks). The clients are still polling now, but he’s going to be updating the clients to use Google Cloud Messaging (on Android) and iCloud Messaging (on Apple) so the updates will be realtime from publisher to client.
  • Native clients for Android and iOS
    • (14:30) K Scott asks if Mike’s building native clients. Mike says the iOS client is still in development and the Android app is native. K Scott says he’s wanted to do some Android dev but it’s always seemed like the most difficult platform. Mike says that it’s gotten easier lately due to the new application services and gives an example of the Google Wear Services. Jon asks for some more info on the Google Wear integration and Mike explains how any media framework application automatically gets some support, and they’ve extended it to create a phone application to allow episode browsing on the watch.
    • (17:15) K Scott says he was surprised by Mike’s blog post about the demand for Chromecast support for audio applications and asks about the work required to build that support. Mike explains the API integration and says that the hardest part was complying with the look and feel guidelines.
  • Advanced podcast support with Podlove
    • (20:02) Jon asks if there are things that podcasts can add to enable podcast applications to give a better experience. Mike talks about emerging standards like Podlove which adds support for chapters, time based links, attributions and related feeds. Jon says he’s been including timestamps in the show notes for a while so that seems pretty easy to implement. Mike talks about how TimeJump and Podlove could allow for deep linking into content.
    • (22:18) K Scott asks what’s been frustrating in dealing with feeds. Mike talks about the difficulty in feed parsing and the differing standards and implementations. Jon says he’s always just used Feedburner. Mike likes Feedburner and appreciates the built-in support for PubSubHubbub and would like to see Google pay more attention to it.
  • Misc: Business plan, mobile web support and Google I/O
    • (24:24) K Scott asks if Player FM is Mike’s full time job. Mike says it is. They’re not monetizing it yet, but he’s building out a freemium service with advanced features like unlimited subscriptions and advanced syncing across devices.
    • (26:16) Jon asks if Mike has plans for a Windows Phone application. Mike says he’d love to support it eventually, but right now his support for other platforms is via the mobile optimized website and the Player FM feeds.
    • (27:06) K Scott asks about Mike’s experience in bringing Player FM to Google I/O. Mike talks about the experience – it was his 4th Google I/O, and he’s been both an attendee and speaker in the past, but this time he was too busy to attend.
  • User Experience
    • (28:43) K Scott asks how Mike’s psychology degree has helped him in software development. Mike talks about the applications in user interface design and machine learning. Jon asks about Mikes thesis about human computer interaction; Mike talks about user interface design patterns for consistency.
    • (32:20) K Scott says he’s happy the Player FM site doesn’t use the ubiquitous cheeseburger menu. Mike talks about some of the UI design features in the web application.
  • API Optimization
    • (33:19) K Scott asks about optimizations in the API. Mike talks about timestamps in the API responses so the mobile applications can keep aware of which channels have been updated and get the responses from edge servers.
    • (36:10) Jon asks about using JSON LD and E-Tags. Mike says he hasn’t needed that since he’s building the clients and they’re doing the same checking.
    • (37:39) Jon asks how Cloudflare has worked for Mike. Mike says it’s been great, but there were a few surprises like caching of error responses.
    • (38:40) K Scott asks if it’s possible to remove things from the cache. Mike explains some of the options. Jon talks about some of the difficulties in diagnosing content problems when you’ve got multiple levels of caching and Mike agrees that it’d be nice if there were some visibility via HTTP headers.
  • Search and Discovery
    • (40:48) Jon asks if Player FM has additional markup to light up in search results. Mike says they were one of the early sites to be included in the Google app indexing setup, which supports deep linking in Android applications.
    • (42:30) K Scott says he’s looking forward to the recommendation features and Mike describes some of the things they’re including.
    • (43:30) Mike talks about Player FM support for full text search using Elastic Search to allow for easier discovery.
    • (44:25) Kevin asks if transcripts could be included in the full text search. Mike talks about some of the standards support.
  • Wrap Up
    • (45:49) K Scott asks what Mike does when he’s not working on Player FM.
    • (46:47) K Scott asks Mike what’s coming up for him in the near future. Mike talks about some Player FM features he’s excited about working on like intelligent discovery, collaborative filtering, server-side play tracking, analytics and platform support including an desktop form factor that will work offline. The desktop application is based on an open source project they’re working on that will compile a Chrome application and cross-compile native applications for Windows, Apple and Linux (based on node webkit).
    • (48:20) K Scott asks for any last words; Mike says he’s happy for any questions at [email protected].

Show Links:

Sponsor

This show is brought to you by Runscope – find out more at http://runscope.com/herdingcode

Herding Code 194: Hadi Hariri on Kotlin, Nitra, and Developing In A Decade

The guys talk to Hadi Hariri about Kotlin, Nitra, and his NDC talk, Developing In A Decade.

Download / Listen: Herding Code 194: Hadi Hariri on Kotlin

Show Notes:

  • Hello. What is Kotlin?
    • (01:00) K Scott asks what Kotlin is. Hadi explains it’s a statically type programming language that targets the JVM and JavaScript, and that it was designed to serve the needs of the JetBrains development team: Let’s create a language that a language that we can use ourselves… and if other people want to use it then, awesome.
    • (03:07) K. Scott asks about the source code. It’s on Github and it’s under Apache 2 license. He asks who in their right mind these days would design a closed source language *cough* Swift *cough*.
    • (03:48) Jon asks about comparisons with the Swift language. Hadi comments and says both Kotlin and Swift are kind of similar to Groovy. Jon asks why not just use Groovy then, and Hadi says that they wanted a statically typed language.
    • (05:32) K. Scott asks about the comparisons with Scala and Java. Hadi says that Kotlin is more restrictive than Scala in some cases, which they see as a benefit. They strive for 100% interoperability with Java, since they have 14 years of existing Java source code to work with.
    • (08:15) K. Scott asks about the JavaScript story. Hadi says it was bound to happen eventually, so they just did it from the source. The benefit is that you can share source code between server and client.
    • (11:44) K. Scott asks about .NET support in the roadmap. Hadi says it’s not likely soon. He says there’s a ton of activity on the JVM lately, and it runs everywhere, albeit with the Ask toolbar.
    • (13:31) Jon asks about running Java code on Mono and .NET using IKVM. Hadi says he’s tried it on some prototypes and it works, but Scott K complains that it’s really slow.
    • (14:33) Scott K. Asks about the use of inference. Hadi says one of the goals of Kotlin is to be very concise, so you very rarely need to declare types.
    • (17:43) K Scott asks if there are any libraries that JetBrains has for Kotlin. Hadi describes Kara, a web framework which makes use of strongly-typed HTML and CSS builders. Spec is a specification framework that Hadi’s written. Kotlin is pretty popular for Android development, so there are a lot of Android helpers available.
    • (21:31) Jon asks about best places to get started with Kotlin. Hadi says it’s very easy to get started with just the compiler, available from on the Kotlin site. For an IDE-centric experience, use IntelliJ (either the free OSS Community Edition Version or IntelliJ IDEA Ultimate). You can also use the browser-based Kotlin demo without downloading anything.
  • Java
    • (23:06) Jon mentions installing Java JDK via Chocolatey, so as not to get the Ask toolbar. Hadi agrees and says that the Ask toolbar was from back in the Sun days, it’s not an Oracle thing. Jon also asks about the Java browser plugin. There’s a silly discussion about Java applets.
    • (26:44) Jon asks about Nitra. Hadi explains the difference between Nitra, Kotlin and MPS. MPS (Meta Programming System) is a language workbench to create new languages or extend existing ones running on the JVM. Kotlin is a separate language, but it’s written in a way that makes it possible to easily create DSL’s. Nitra is an open source tool built by the Nemerle team, who were hired by JetBrains. Nitra is similar to Roslyn – it’s a generic tool that allows you to create a compiler for any language with support for tooling.
  • Nitra
    • (30:36) Jon asks how Nitra is being used. Hadi says it’s mostly used internally by JetBrains, and it’s still really under development.
    • (32:45) Jon asks about the Nitra samples and Visual Studio extensions on GitHub. Hadi says you can start using them already, and that it does include Nemerle so you can start extending the with it now, but it won’t provide tooling for the language you’re building.
  • Developing In A Decade
    • (33:38) K Scott asks about Hadi’s talk at NDC called Developing in a Decade, looking ahead at technology and trends ten years from now. Hadi says he’s not so much looking at how or what we’ll be doing, but why we’ll be doing it. He says that he sees an overemphasis on how many rounds of VC money a company gets as opposed to what they’re actually doing. He’s interested in things people are doing for social good, and he’s concerned that we’re being destructive without thinking about the effects.
    • (39:02) K Scott says that until recently when he called tech support, when he finally got to a person they could help him. Lately he’s been finding that when he reaches a person, they’re powerless to help him because the computers are in control. Hadi talks about how emerging technology like self driving cars will eliminate jobs.
    • (41:26) Jon ask Hadi if trends towards automation will have positive effects, such as creating content that wouldn’t have previously been available or giving us more time to produce things we wouldn’t have before. Hadi references Brave New World and Amusing Ourselves To Death, and says that the huge explosion of content has a negative effect. Scott K and Hadi talk about the numbing effect of news as entertainment.
  • Parting Shot
    • (48:25) Hadi says "I told you so" about the coming unification of Web API and MVC controllers.

Show Links:

Sponsor

This show is brought to you by Runscope – find out more at http://runscope.com/herdingcode

Herding Code 193: Mark Rendle on Zudio, developing with Angular and Typescript, The History of Programming, and Simple.Data

At Techorama 2014 (Belgium), Jon corners Mark Rendle for a few minutes to talk about his new startup, Zudio, "the Azure Cloud storage toolkit," his keynote on the History of Programming, and other minutia.

Download / Listen: Herding Code 193: Mark Rendle on Zudio, developing with Angular and Typescript, The History of Programming, and Simple.Data

Show Notes:

  • History of Programming
    • (00:54) Jon asks Mark what the talk was about, and some of his personal favorite periods.
    • (01:53) Jon remarks that some of the joke terrible languages weren’t much worse than the unintentionally terrible languages. Mark mentions Intercal, brainf*** and Malbolge as joke programming languages and IBM Cobol as the most unintentionally hilarious programming language.
  • Zudio: The Azure Cloud Storage Toolkit
    • (02:55) Mark talks about how Zudio got started and where it’s at. Zudio is a web based tool for managing Azure storage. It’s great for a lot of users, especially PHP / Node / Java developers and in the enterprise. It’s built with AngularJS and Typescript.
    • (04:37) Jon said he assumed it was just a simple table grid, but there are seem to be a lot more advanced features. Mark talks about the new enterprise model, which lets you control your user list through Azure Active Directory (which can be synchronized to on premises Active Directory), and you can assign different access rights to users and groups. There’s also auditing and logging to track usage.
    • (05:29) Jon asks if he’s specifically focused on storage. Mark talks about upcoming support for SQL databases, including Azure SQL, SQL VM’s, ClearDB running MySQL, Oracle VM’s, Postgres via VM, etc. that will show run queries and show results in a grid, list tables and views, etc. Jon compares it to phpMyAdmin, but Mark says it’s for any database and deployed in the same datacenters, without you needing to spin up a web server. His stretch goal is to handle data migrations between different database systems.
  • Angular and Typescript
    • (07:19) Jon says that Mark’s been a fan of Angular and Typescript for a while and asks why he likes the combination so much. Mark says it feels like the data binding framework Microsoft’s been trying to build since VB3.
    • (08:30) Jon asks why Typescript instead of just writing in JavaScript. Mark talks about the benefits of compile-time checking. Jon asks for some specific answers and Mark gives an example with services passed as parameters. Oh, and IntelliSense is handy, too. Mark uses DefinitelyTyped and some Bower packages that he maintains.
    • (10:24) Mark says that unlike most frameworks he’s worked with, he’s gotten to the end of a project using Angular and doesn’t want to throw it out, so that’s saying something.
  • Simple.Web and Simple.Data
    • (11:33) Jon asks Mark what’s going on with Simple.Web (a simple .NET web framework with attribute routing and dependency injection). Mark says that everything that had driven him to create Simple.Web has been added into ASP.NET vNext, so Simple.Web is pretty much done.
    • (14:50) Simple.Data is Mark’s simple data access layer that leverages dynamic types and can work without any code changes against a lot of different databases.
    • (15:52) Jon asks why someone would use Simple.Data instead of Entity Framework. Mark explains how Simple.Data works really well in lightweight web frameworks; it’s so simple you can code to it without IntelliSense.
    • (16:47) Mark is focused on updates to Simple.Data for use in Zudio, and will we working on more metadata, performance, and async support. He’s looking at moving to async only and is interested in listener input on that.
  • Wrap up
    • (18:13) Mark likes all the new stuff and thinks it’s a good time to be a programmer.

Show Links:

Sponsor

This show is brought to you by Runscope – find out more at http://runscope.com/herdingcode