<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Andreas Schlapsi</title>
	<atom:link href="https://schlapsi.com/feed/" rel="self" type="application/rss+xml" />
	<link>https://schlapsi.com</link>
	<description>Software Developer</description>
	<lastBuildDate>Mon, 05 Dec 2016 21:44:01 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.9.15</generator>
	<item>
		<title>10 Helpful Online Resources for Learning F#</title>
		<link>https://schlapsi.com/2015/06/10-helpful-online-resources-for-learning-f/</link>
		<pubDate>Mon, 01 Jun 2015 07:00:56 +0000</pubDate>
		<dc:creator><![CDATA[Andreas Schlapsi]]></dc:creator>
				<category><![CDATA[F#]]></category>

		<guid isPermaLink="false">http://schlapsi.com/?p=830</guid>
		<description><![CDATA[Learning F# can be daunting from time to time. I collected some resources which will probably help you. If you are new to programming you&#8217;d rather want to read one of the many good F# books. But if you are a developer who has experience with imperative languages like C# or Python then you might&#8230;]]></description>
				<content:encoded><![CDATA[<p><img src="https://schlapsi.com/wp-content/uploads/2015/05/Man_in_front_of_blackboard.jpg" alt="Man stands in front of blackboard with many formulas" width="451" height="266" class="alignright size-full wp-image-878" srcset="https://schlapsi.com/wp-content/uploads/2015/05/Man_in_front_of_blackboard.jpg 451w, https://schlapsi.com/wp-content/uploads/2015/05/Man_in_front_of_blackboard-300x177.jpg 300w" sizes="(max-width: 451px) 100vw, 451px" />Learning F# can be daunting from time to time. I collected some resources which will probably help you. If you are new to programming you&#8217;d rather want to read one of the many good F# books. But if you are a developer who has experience with imperative languages like C# or Python then you might find these resources useful.</p>
<h2>If you don&#8217;t have much time&#8230;</h2>
<ul>
<li><strong><a href="http://learnxinyminutes.com/docs/fsharp/">Learn X in Y Minutes Where X=F#</a></strong>: <a href="https://twitter.com/ScottWlaschin">Scott Wlaschin</a> wrote the F# version of &#8220;Learn X in Y Minutes&#8221; which exists also for <a href="http://learnxinyminutes.com/">other languages</a>. It&#8217;s a F# file with small snippets which demonstrate features of the language.</li>
<li><strong><a href="http://www.tryfsharp.org/">Try F#</a></strong>: If you have Silverlight installed, you can try F# in your browser. There are courses about Basic F#, Advanced F#, Data Visualization and Charting, Data Science, Scientific and Numerical Computing, and Financial Computing.</li>
<li><strong><a href="http://dungpa.github.io/fsharp-cheatsheet/">F# Cheatsheet</a></strong>: F# snippets which show the features of the language. If you follow these you&#8217;ll get an overview of the language.</li>
</ul>
<h2>Longer Resources</h2>
<ul>
<li><strong><a href="http://en.wikibooks.org/wiki/F_Sharp_Programming">F# Programming (Wikibook)</a></strong>: This Wikibook contains a complete introduction to the F# programming language.</li>
<li><strong><a href="http://fsharpforfunandprofit.com/">F# for Fun and Profit</a></strong>: This is Scott Wlaschin&#8217;s awesome site. It contains many resources for F# learners. The article <a href="http://fsharpforfunandprofit.com/learning-fsharp/">Learning F#</a> contains great advice for beginners.</li>
<li><strong><a href="http://www.fsharpworkshop.com/">F# Workshop</a></strong>: There is the material of an F# workshop by Jorge Fioranelli. It contains the slides and exercises of the workshop.</li>
</ul>
<h2>F# Foundation</h2>
<ul>
<li><strong><a href="http://fsharp.org/about/learning.html">Learning F#</a></strong>: The F# Foundation has a whole section on their website with resources for those who want to learn F#.</li>
<li><strong><a href="http://fsharp.org/videos/1">F# Talks, Tutorials and Podcasts</a></strong>: The F# Foundation has also a list of videos of talks, tutorials and podcasts.</li>
<li><strong><a href="http://fsharp.org/specs/language-spec/">F# Language Specification</a></strong>: If you want to know how the language is supposed to work in detail the F# language specifications are the right documents for you.</li>
</ul>
<h2>F# in the MSDN</h2>
<ul>
<li><strong><a href="https://msdn.microsoft.com/en-us/library/dd233154.aspx">Visual F# (MSDN Library)</a></strong>: The F# section in the MSDN Library. It contains the official documentation for F# by Microsoft and contains a language reference and a reference of the F# Core Library.</li>
</ul>
<h2>Bonus Links: Where to Ask Questions?</h2>
<p>The F# community is considered very beginner-friendly. So if you have questions you can ask for help on these channels:<br />
&#8211; <a href="https://chat.stackoverflow.com/rooms/51909/f">F# Room on Stackoverflow Chat</a><br />
&#8211; <a href="https://twitter.com/hashtag/fsharp">Hashtag on Twitter</a><br />
&#8211; <a href="https://groups.google.com/forum/#!forum/fsharp-opensource">F# Discussion on Google Groups</a><br />
&#8211; <a href="https://jabbr.net/#/rooms/fsharp">F# Room on JabbR</a><br />
&#8211; <a href="http://fpchat.com/">Functional Programming on Slack</a></p>
<h2><em>Update</em>: Bonus Link #2</h2>
<ul>
<li><strong><a href="https://github.com/ChrisMarinos/FSharpKoans">F# Koans</a></strong>: The F# Koans teach you F# by fixing tests. It is a great way to learn F# by doing F#. Try it now!</li>
</ul>
]]></content:encoded>
			</item>
		<item>
		<title>The Open Source in Visual Studio Code</title>
		<link>https://schlapsi.com/2015/05/the-open-source-in-visual-studio-code/</link>
		<pubDate>Wed, 06 May 2015 08:00:07 +0000</pubDate>
		<dc:creator><![CDATA[Andreas Schlapsi]]></dc:creator>
				<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://schlapsi.com/?p=788</guid>
		<description><![CDATA[Ian Battersby commented at Twitter on my recent blog post about my first impressions on Visual Studio Code that I didn&#8217;t mention OmniSharp which partly powers Visual Studio Code. And he is right. I forgot to mention it. But Code actually builds on many open source projects. So I thought that I write a blog&#8230;]]></description>
				<content:encoded><![CDATA[<p><img src="https://schlapsi.com/wp-content/uploads/2015/05/OpenSource.jpg" alt="open source handwritten with related word cloud on blackboard" width="437" height="274" class="alignright size-full wp-image-804" srcset="https://schlapsi.com/wp-content/uploads/2015/05/OpenSource.jpg 437w, https://schlapsi.com/wp-content/uploads/2015/05/OpenSource-300x188.jpg 300w" sizes="(max-width: 437px) 100vw, 437px" /><a href="https://twitter.com/Cranialstrain">Ian Battersby</a> <a href="https://twitter.com/Cranialstrain/status/595145532433166336">commented at Twitter</a> on my recent <a href="https://schlapsi.com/2015/05/visual-studio-code-my-first-impressions/">blog post about my first impressions on Visual Studio Code</a> that I didn&#8217;t mention OmniSharp which partly powers Visual Studio Code. And he is right. I forgot to mention it. But Code actually builds on many open source projects. So I thought that I write a blog post which lists some of them. Please write a comment if you know about a project I forgot in the list.</p>
<h2>Open Source Software, Visual Studio Code is built on</h2>
<ul>
<li><a href="http://electron.atom.io/">Electron</a> from Github &#8211; formerly known as Atom Shell. It is used to write cross platform desktop applications with web technologies.</li>
<li><a href="http://www.chromium.org/Home">Chromium</a> from Google. Electron uses Chromium, the open-source browser project behind Google Chrome.</li>
<li><a href="https://iojs.org/en/index.html">io.js</a>, a fork of Node.js which is a JavaScript platform.</li>
<li><a href="http://www.chromium.org/blink">Blink</a> from Google. Blink is the rendering engine used by Chromium.</li>
<li><a href="http://www.omnisharp.net/">OmniSharp</a> provides language services for C#. Visual Studio Code uses for features like code navigation and refactoring. There are plugins for other editors like Emacs, Vim, Sublime Text or Atom which use OmniSharp for the same purpose.</li>
<li><a href="https://github.com/dotnet/roslyn">Roslyn</a> from Microsoft. Roslyn is the .NET compiler platform with C# and VB compilers. OmniSharp uses its C# compiler for its code analysis features.</li>
<li><a href="http://www.typescriptlang.org/">TypeScript</a> from Microsoft. Visual Studio Code uses it for JavaScript and TypeScript code analysis to provide features like code navigation and refactoring.</li>
<li><a href="https://nodejs.org/">Node.js</a>, a JavaScript platform</li>
<li><a href="https://code.google.com/p/v8/">V8</a> from Google. V8 is the JavaScript engine used by io.js, Node.js and Chromium.</li>
<li><a href="https://github.com/Squirrel/Squirrel.Windows">Squirrel</a>, an installation and update framework for Windows desktop applications. Used for installing Visual Studio Code on Windows</li>
<li><a href="http://definitelytyped.org/">DefinitelyTyped</a>, the repository for TypeScript type definitions. Code uses it for getting the type information for third-party JavaScript libraries in JavaScript and TypeScript projects.</li>
</ul>
<p>Someone on Stackoverflow wrote <a href="http://stackoverflow.com/questions/29966093/what-is-the-visual-studio-code-editor-built-on/29966094#29966094">another list of open source software used in Visual Studio Code</a>.</p>
<p>Microsoft released software which includes open source components, some of them written by Google. This shows that Microsoft today is not the Microsoft we knew in the past. Although Visual Studio Code builds on all those awesome open source projects, Code itself is not open source. There are components like the &#8220;Monaco&#8221; code editor or the debugging services that are not open source. Microsoft contributes back to the open source projects, at least to some of them. So even if Microsoft won&#8217;t open source VSCode they give back to the community.</p>
<p>There is already an <a href="https://visualstudio.uservoice.com/forums/293070-visual-studio-code/suggestions/7755573-open-source-vs-code">issue in Microsoft&#8217;s issue tracker</a> about open sourcing VSCode. If you want Code to be open source vote for it.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Debugging Mono Applications with VSCode on Mac OS X</title>
		<link>https://schlapsi.com/2015/05/debugging-mono-applications-with-vscode-on-mac-os-x/</link>
		<pubDate>Tue, 05 May 2015 07:00:28 +0000</pubDate>
		<dc:creator><![CDATA[Andreas Schlapsi]]></dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://schlapsi.com/?p=812</guid>
		<description><![CDATA[I wrote in a recent post that Visual Studio Code does not support debugging Mono and ASP.NET 5 applications on Linux or Mac OS X in the preview version which was released last week. As Isidor Nikolic pointed out I&#8217;m wrong about Mono. VSCode supports debugging Mono applications. In this post I show how you&#8230;]]></description>
				<content:encoded><![CDATA[<p><img src="https://schlapsi.com/wp-content/uploads/2015/05/Debugging-a-Mono-App.png" alt="Debugging a Mono App" width="452" height="295" class="alignright size-full wp-image-817" srcset="https://schlapsi.com/wp-content/uploads/2015/05/Debugging-a-Mono-App.png 452w, https://schlapsi.com/wp-content/uploads/2015/05/Debugging-a-Mono-App-300x196.png 300w" sizes="(max-width: 452px) 100vw, 452px" />I wrote in <a href="https://schlapsi.com/2015/05/visual-studio-code-my-first-impressions/">a recent post</a> that Visual Studio Code does not support debugging Mono and ASP.NET 5 applications on Linux or Mac OS X in the preview version which was released last week. As Isidor Nikolic <a href="https://twitter.com/IsidorN/status/595145526691115008">pointed out</a> I&#8217;m wrong about Mono. VSCode supports debugging Mono applications. In this post I show how you must configure your launch settings.</p>
<p>When you click on the gear icon on the debug pane VSCode opens <code>.settings/launch.json</code>. Just add the following launch settings and adapt it to your Mono project:</p>
<pre><code>{
    "version": "0.1.0",
    // List of configurations.
    // ONLY "node" and "mono" are supported, change "type" to switch.
    "configurations": [
        {
            // Name of configuration
            // Appears in the launch configuration drop down menu.
            "name": "Launch &lt;PROJECT NAME&gt;",
            // Type of configuration. Possible values: "node", "mono".
            "type": "mono",
            // Workspace relative or absolute path to the program.
            "program": "&lt;PATH TO EXECUTABLE FILE&gt;",
            // Automatically stop program after launch.
            "stopOnEntry": true
        }
    ]
}
</code></pre>
<p>After building your Mono application you can set a breakpoint and launch the debugger.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Visual Studio Code &#8211; My First Impressions</title>
		<link>https://schlapsi.com/2015/05/visual-studio-code-my-first-impressions/</link>
		<comments>https://schlapsi.com/2015/05/visual-studio-code-my-first-impressions/#comments</comments>
		<pubDate>Mon, 04 May 2015 08:00:12 +0000</pubDate>
		<dc:creator><![CDATA[Andreas Schlapsi]]></dc:creator>
				<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://schlapsi.com/?p=730</guid>
		<description><![CDATA[Microsoft presented the new Visual Studio Code editor at their annual developer conference Build 2015. It is a code editor and Microsoft&#8217;s first cross-platform development tool. I played around with Visual Studio Code on Mac OS X. This article provides my first impressions with this new tool. Setup of Visual Studio Code on Mac OS&#8230;]]></description>
				<content:encoded><![CDATA[<p>Microsoft presented the new <a href="https://code.visualstudio.com/">Visual Studio Code</a> editor at their annual developer conference <a href="http://www.buildwindows.com/">Build</a> 2015. It is a code editor and Microsoft&#8217;s first cross-platform development tool.</p>
<p>I played around with Visual Studio Code on Mac OS X. This article provides my first impressions with this new tool.</p>
<h2>Setup of Visual Studio Code on Mac OS X</h2>
<p>The <a href="https://code.visualstudio.com/Docs/">Visual Studio Code documentation</a> contains <a href="https://code.visualstudio.com/Docs/setup">detailed setup instructions</a> for every platform. For Mac OS X I recommend that you follow all steps including adding the <code>code</code> function to your <code>.bashrc</code> file.</p>
<pre>
  code () {
      if [[ $# = 0 ]]
      then
          open -a "Visual Studio Code"
      else
          [[ $1 = /* ]] && F="$1" || F="$PWD/${1#./}"
          open -a "Visual Studio Code" --args "$F"
      fi
  }
  </pre>
<h2>Language Support</h2>
<p>Visual Studio Code supports many different programming languages with different set of features:</p>
<table>
<tr>
<th>Features</th>
<th>Programming Languages</th>
</tr>
<tr>
<td>Syntax coloring, bracket matching</td>
<td>Batch, C++, Clojure, CoffeeScript, Dockerfile, F#, Go, Jade, Java, HandleBars, Ini, Lua, Makefile, Markdown, Objective-C, Perl, PHP, PowerShell, Python, R, Razor, Ruby, SQL, Visual Basic, XML</td>
</tr>
<tr>
<td>+ Intellisense, linting, outline</td>
<td>CSS, HTML, JavaScript, JSON, Less, SASS</td>
</tr>
<tr>
<td>+ Refactoring, find all references</td>
<td>C#, TypeScript</td>
</tr>
</table>
<p>It looks like the editor targets web developers. I, personally, would like to see better support for F#.</p>
<p>More details about the language support in Visual Studio Code you can find in the <a href="https://code.visualstudio.com/Docs/languages">official Visual Studio Code documentation</a>.</p>
<h2>Command Palette</h2>
<p>Do you know the Command Palette in Sublime Text? Visual Studio Code has one, too. It looks like this:</p>
<p><img src="https://schlapsi.com/wp-content/uploads/2015/05/Command-Palette.png" alt="Command Palette in Visual Studio Code" width="600" height="338" class="aligncenter size-full wp-image-737" /></p>
<p>You can invoke commands and navigate to different locations in your project with it. <a href="http://www.johnpapa.net/">John Papa</a> wrote a blog post series about Visual Studio Code and he provides a detailed introduction to the Command Palette in <a href="http://www.johnpapa.net/getting-started-with-visual-studio-code/">the second post of the series</a>.</p>
<h2>Code Navigation</h2>
<p>Visual Studio Code has also some other features for navigating your code. For example, you can find all references of the symbol under the cursor using <code>SHIFT F12</code>. If you work on a C# project you&#8217;ll see the &#8220;CodeLens&#8221; feature which means that you see how many references exist for a symbol.</p>
<p><img src="https://schlapsi.com/wp-content/uploads/2015/05/CodeLens.png" alt="CodeLens in Visual Studio Code" width="600" height="462" class="aligncenter size-full wp-image-739" /></p>
<p>And if you click on it you&#8217;ll see the references in a small popup window:</p>
<p><img src="https://schlapsi.com/wp-content/uploads/2015/05/CodeLens-Expanded.png" alt="Expanded CodeLens in Visual Studio Code" width="600" height="387" class="aligncenter size-full wp-image-740" /></p>
<h2>Intellisense</h2>
<p>Visual Studio Code has great Intellisense support even for JavaScript projects. It can distinguish between different types in JavaScript:</p>
<p><img src="https://schlapsi.com/wp-content/uploads/2015/05/Intellisense-for-String.png" alt="Intellisense for String in Visual Studio Code" width="600" height="350" class="aligncenter size-full wp-image-743" /></p>
<p>You can use TypeScript type definition files for providing more information to Code about different types in third-party libraries. Code can reference those files automatically for you if you use a Code Action (<code>CMD+.</code> on an underlined symbol):</p>
<p><img src="https://schlapsi.com/wp-content/uploads/2015/05/Code-Action.png" alt="Code Action in Visual Studio Code" width="600" height="163" class="aligncenter size-full wp-image-745" /></p>
<p>If you choose <code>Add /// reference to 'node/node.d.ts'</code> Code will add a comment line at the beginning of the file which is a reference to the TypeScript type definition.</p>
<p>With this line you added Intellisense support for Node even if you don&#8217;t write your code in TypeScript.</p>
<p>Code has Intellisense support even for <code>package.json</code>, <code>bower.json</code>, and <code>project.json</code>.</p>
<h2>Debugging</h2>
<p>Debugging C# applications on Mac OS X or Linux is not supported at time of writing. But the support for Node applications work perfectly.</p>
<p>The first step is to add a <code>launch.json</code> file by clicking on the gear icon on the Debug pane in the sidebar.</p>
<p>After that you can set breakpoints somewhere in your code, e.g. by clicking with the mouse left to the line number, and start debugging by pressing <code>F5</code>.</p>
<p><img src="https://schlapsi.com/wp-content/uploads/2015/05/Debugging-an-Express-App.png" alt="Debugging an Express App in Visual Studio Code" width="600" height="576" class="aligncenter size-full wp-image-753" /></p>
<h2>Git Integration</h2>
<p><a href="https://schlapsi.com/wp-content/uploads/2015/05/Git-Changes.png"><img src="https://schlapsi.com/wp-content/uploads/2015/05/Git-Changes.png" alt="Git - Changes in Visual Studio Code" width="295" height="260" class="alignleft size-full wp-image-770" /></a></p>
<p>Visual Studio Code has <a href="http://www.git-scm.com/">Git</a> integration.</p>
<p>After initializing a new Git repository you can commit your changes. You should provide a proper <code>.gitignore</code> file first.</p>
<p>Again, John Papa has a great introduction to Code&#8217;s Git integration in <a href="http://www.johnpapa.net/git-and-preferences-in-visual-studio-code/">a blog post</a> of his series.</p>
<h2>Architecture</h2>
<p>Visual Studio Code is based on <a href="http://electron.atom.io/">Github&#8217;s Electron</a>, the former Atom Shell. Electron allows developers to build cross-platform desktop applications with web technologies. Other applications built with Electron are <a href="https://atom.io">Atom</a>, <a href="https://slack.com">Slack</a>, Facebook&#8217;s new IDE <a href="http://nuclide.io">Nuclide</a> or <a href="https://kitematic.com">Kitematic</a>, a GUI application for managing Docker containers.</p>
<p>Code uses a newer and faster version of the same HTML-based editor that was used for the &#8220;Monaco&#8221; cloud editor, and other projects. And Code uses a tools service architecture that enables it to use <a href="https://github.com/dotnet/roslyn">Roslyn</a> for .NET, <a href="http://www.typescriptlang.org/">TypeScript</a>, the Visual Studio debugging engine, and more.</p>
<h2>Still Missing</h2>
<p>Visual Studio Code is still a preview at the time of writing. This means that there are still some features missing. Here is a short list what I&#8217;d like to see in the future:</p>
<ul>
<li><strong>Extensibility Features</strong> &#8211; Microsoft plans to add a public extensibility model to Visual Studio Code that let developers build and use plug-ins.</li>
<li><strong>Source Code</strong> &#8211; I think that a code editor in 2015 should be open source like Emacs, Vim, Atom, or Brackets.</li>
<li><strong>Better F# Support</strong> &#8211; There is syntax highlighting for F# code, but that&#8217;s it. I&#8217;d like to see more integration with an F# REPL, building F# code, etc.</li>
<li><strong>Debugging on Mac OS X/Linux</strong> &#8211; ASP.NET 5/Mono projects still cannot be debugged on Mac OS X or Linux at time of writing. </li>
</ul>
<h2>Conclusion</h2>
<p>I liked working with the preview of Visual Studio Code. It&#8217;s fast and it has a minimal set of features required for working with code, like code navigation, debugging and intellisense.</p>
<p>If the missing parts, above all the extensibility features, are added, then I think that Code can be a successful code editor.</p>
<p><em><strong>Update:</strong> As Tim van Wassenhove and Isidor wrote in the comments, Mono applications can be debugged on Mac OS X and Linux. I wrote <a href="https://schlapsi.com/2015/05/debugging-mono-applications-with-vscode-on-mac-os-x/">a blog post</a> how you can configure VSCode for debugging Mono applications.</em></p>
]]></content:encoded>
			<wfw:commentRss>https://schlapsi.com/2015/05/visual-studio-code-my-first-impressions/feed/</wfw:commentRss>
		<slash:comments>8672</slash:comments>
		</item>
		<item>
		<title>Why you should join F# Vienna</title>
		<link>https://schlapsi.com/2015/04/why-you-should-join-fsharp-vienna/</link>
		<comments>https://schlapsi.com/2015/04/why-you-should-join-fsharp-vienna/#comments</comments>
		<pubDate>Tue, 28 Apr 2015 21:20:31 +0000</pubDate>
		<dc:creator><![CDATA[Andreas Schlapsi]]></dc:creator>
				<category><![CDATA[F#]]></category>

		<guid isPermaLink="false">http://schlapsi.com/?p=698</guid>
		<description><![CDATA[Are you interested in F#, the functional-first open source programming language for .NET and Mono? Do you live in Vienna? Why haven&#8217;t you joined F# Vienna at Meetup yet? Why should you join F# Vienna? Well, there are some reasons: Connect with other developers who are interested in F#! Get to know each other! Drink&#8230;]]></description>
				<content:encoded><![CDATA[<p><a href="https://schlapsi.com/wp-content/uploads/2015/04/fsharp-vienna-4001.png"><img src="https://schlapsi.com/wp-content/uploads/2015/04/fsharp-vienna-4001.png" alt="fsharp-vienna-400" width="400" height="92" class="alignright size-full wp-image-727" /></a>Are you interested in <a href="http://fsharp.org">F#</a>, the functional-first open source programming language for .NET and Mono? Do you live in Vienna? Why haven&#8217;t you joined <a href="http://www.meetup.com/FSharp-Vienna">F# Vienna at Meetup</a> yet?</p>
<p>Why should you join F# Vienna? Well, there are some reasons:</p>
<ol>
<li><strong>Connect with other developers who are interested in F#!</strong> Get to know each other! Drink beer together! Talk about F#!</li>
<li><strong>Present your projects!</strong> You did something interesting in F#? Or did you learn something interesting? Present your project or teach us at one of our meetups!</li>
<li><strong>Learn from other developers!</strong> You don&#8217;t know F# yet? Well, profit from the experience and knowledge of more advanced developers and listen to one of the talks at our meetups!</li>
<li><strong>Help promote F#!</strong> You are excited about F#? Bring your colleagues to one of our meetups so that they can see the advantages!</li>
<li><strong>Get hired to work on F#!</strong> My hope is that companies will see that there are developers who are interested in F# and start more F# projects in Vienna. Knowing other programming languages can be an advantage for your job search as well.</li>
</ol>
<h2>What&#8217;s coming up next for F# Vienna?</h2>
<p>The meetup group is set up and you are able to join. What can you expect for the next few weeks?</p>
<h3>Meeting in May</h3>
<p>There will be a meetup on May 15th. It&#8217;s a Friday and <a href="http://twitter.com/silverspoon">Andrea Magnorsky</a> will join us to facilitate a <a href="http://codingdojo.org">Coding Dojo</a> where you can practice F# on a small coding problem.</p>
<h3>Meeting in June</h3>
<p>The second meetup will be in June. The date hasn&#8217;t been fixed yet. Join <a href="http://www.meetup.com/FSharp-Vienna">F# Vienna at Meetup</a> and get updates on our meetups.</p>
]]></content:encoded>
			<wfw:commentRss>https://schlapsi.com/2015/04/why-you-should-join-fsharp-vienna/feed/</wfw:commentRss>
		<slash:comments>9279</slash:comments>
		</item>
		<item>
		<title>12 Interesting Podcasts for Software Developers</title>
		<link>https://schlapsi.com/2014/10/12-interesting-podcasts/</link>
		<comments>https://schlapsi.com/2014/10/12-interesting-podcasts/#comments</comments>
		<pubDate>Wed, 01 Oct 2014 20:44:07 +0000</pubDate>
		<dc:creator><![CDATA[Andreas Schlapsi]]></dc:creator>
				<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://schlapsi.com/?p=576</guid>
		<description><![CDATA[About 2 months ago I started to listen to podcasts again. They are a convenient way to stay up to date on different topics on my way to and from work. Although I&#8217;m a C# developer by day, I like to listen to podcasts about other programming languages and technologies, too. Here are my favourite&#8230;]]></description>
				<content:encoded><![CDATA[<p><img src="https://schlapsi.com/wp-content/uploads/2014/09/Fotolia_62888299_XS.jpg" alt="Headset lying on a laptop computer" width="424" height="283" class="alignright size-full wp-image-597" srcset="https://schlapsi.com/wp-content/uploads/2014/09/Fotolia_62888299_XS.jpg 424w, https://schlapsi.com/wp-content/uploads/2014/09/Fotolia_62888299_XS-300x200.jpg 300w" sizes="(max-width: 424px) 100vw, 424px" />About 2 months ago I started to listen to podcasts again. They are a convenient way to stay up to date on different topics on my way to and from work.</p>
<p>Although I&#8217;m a C# developer by day, I like to listen to podcasts about other programming languages and technologies, too. Here are my favourite software development podcasts:</p>
<ul>
<li><strong><a href="http://www.se-radio.net/">Software Engineering Radio</a></strong>: I highly recommend this podcast to every software developer. The shows are about every aspect of software development and the guests are first-class. New episodes appear every two to four weeks.</li>
<li><strong><a href="http://dtr.fm/">Donau Tech Radio</a> (in German, actually Upper Austrian dialect)</strong>: An Austrian podcast by Thomas Einwaller and André Steingreß. They talk about gadgets, software development, and programming. New shows appear usually every one to two weeks. You have to understand German or, actually, the Upper Austrian dialect to follow the show.</li>
<li><strong><a href="http://herdingcode.com/">Herding Code</a></strong>: Hosted by K. Scott Allen, Kevin Dente, Scott Koon, and Jon Galloway. This show started as a .NET development podcast, but the episodes were about different technologies recently. The episodes don&#8217;t appear on a regular schedule.</li>
<li><strong><a href="http://javascriptjabber.com/">JavaScript Jabber</a></strong>: A very interesting show for JavaScript developers. Every week there is a new episode about JavaScript programming.</li>
<li><strong><a href="http://thewebplatform.libsyn.com/">The Web Platform Podcast</a></strong>: A podcast about web technologies. Every week there is a new episode about topics like Flux, React, Polymer, Dart, WebRTC etc.</li>
<li><strong><a href="http://www.functionalgeekery.com/">Functional Geekery</a></strong>: Hosted by Steven Proctor, a highly recommended podcast about functional programming. New episodes appear about every month.</li>
<li><strong><a href="http://mostlyerlang.com/">Mostly Erlang</a></strong>: As the name suggests this show covers Erlang, but sometimes it&#8217;s about other functional programming languages, too. There are about 2 episodes every month.</li>
<li><strong><a href="http://blog.cognitect.com/cognicast">The Cognicast</a></strong>: In this Clojure-oriented show Craig Andera talks with developers from different Lisp communities like Clojure, Scheme, or Racket. He publishes about 1-2 episodes every month.</li>
<li><strong><a href="http://typetheorypodcast.com/">The Type Theory Podcast</a></strong>: Static type enthusiasts must like this new podcast. It is a podcast about type theory and its interactions with programming, mathematics and philosophy.</li>
<li><strong><a href="http://scalawags.tv/">The Scalawags</a></strong>: A podcast for Scala developers with very detailed show notes. About 1-2 episodes appear every month.</li>
<li><strong><a href="http://www.dotnetrocks.com/">.NET Rocks!</a></strong>: Carl Franklin and Richard Campbell do a very amazing show. The first show appeared on August 30, 2002 and they are already at episode #1042! As the name suggests the main topic is .NET development, but there are often other topics, too. Usually three (!) new episodes appear every week.</li>
<li><strong><a href="http://hanselminutes.com/">Hanselminutes</a></strong>: Scott Hanselman hosts a show for developers about a broad range of topics. Every week he publishes a new episode.</li>
</ul>
<p>Did I miss a great podcast? Leave a comment and tell me which software development podcast I should listen to!</p>
<p>Do you listen to podcasts, too? Use the comment form below and let us see your list of software development podcasts!</p>
]]></content:encoded>
			<wfw:commentRss>https://schlapsi.com/2014/10/12-interesting-podcasts/feed/</wfw:commentRss>
		<slash:comments>8391</slash:comments>
		</item>
		<item>
		<title>How I got ASP.NET vNext running on Mac OS X</title>
		<link>https://schlapsi.com/2014/08/aspnet-vnext-running-on-mac-os-x/</link>
		<comments>https://schlapsi.com/2014/08/aspnet-vnext-running-on-mac-os-x/#comments</comments>
		<pubDate>Mon, 11 Aug 2014 19:42:19 +0000</pubDate>
		<dc:creator><![CDATA[Andreas Schlapsi]]></dc:creator>
				<category><![CDATA[ASP.NET]]></category>

		<guid isPermaLink="false">http://schlapsi.com/?p=474</guid>
		<description><![CDATA[The next version of ASP.NET MVC (ASP.NET vNext) will run on a &#8220;cloud-optimized&#8221; platform which will work on Linux and Mac OS X with Mono, too. Here is how I got it running on my MacBook. Important Note: ASP.NET vNext is still work in progress and it may not work as intended. Please do not&#8230;]]></description>
				<content:encoded><![CDATA[<p><img src="https://schlapsi.com/wp-content/uploads/2014/08/Fotolia_50511938_XS.jpg" alt="Modern Slim MacBook Pro on White Background" width="400" height="300" class="alignright size-full wp-image-534" srcset="https://schlapsi.com/wp-content/uploads/2014/08/Fotolia_50511938_XS.jpg 400w, https://schlapsi.com/wp-content/uploads/2014/08/Fotolia_50511938_XS-300x225.jpg 300w" sizes="(max-width: 400px) 100vw, 400px" />The next version of ASP.NET MVC (ASP.NET vNext) will run on a &#8220;cloud-optimized&#8221; platform which will work on Linux and Mac OS X with Mono, too. Here is how I got it running on my MacBook.</p>
<p><strong>Important Note</strong>: ASP.NET vNext is still work in progress and it may not work as intended. Please do not use it in production!</p>
<h2>Required Mono Version and Basics of K Runtime</h2>
<p>First I installed Mono from source, because the current stable version (Mono 3.4.0) is not sufficient to run ASP.NET vNext applications. This will change when the next stable version of Mono is released. Then I installed the K&nbsp;Version&nbsp;Manager (KVM). KVM is used to manage different versions of the K&nbsp;Runtime the ASP.NET vNext runs on. <a href="https://graemechristie.github.io/graemechristie/blog/2014/05/26/asp-dot-net-vnext-on-osx-and-linux/">Graeme Christie</a> and <a href="http://blog.simontimms.com/2014/07/21/getting-asp-net-vnext-running-on-osx/">Simon Timms</a> blogged about how to install Mono from source and the KVM.</p>
<p>How you can use KVM to manage different versions of the K Runtime on your machine? Type <code>kvm</code> to see a list of available commands. The most important commands are:</p>
<ul>
<li><code>kvm&nbsp;upgrade</code>: Installs the latest KRE (K Runtime Environment).</li>
<li><code>kvm&nbsp;list</code>: Lists the installed runtime environments.</li>
<li><code>kvm&nbsp;use</code>: Switches to a specific kRE version.</li>
</ul>
<h3>A Simple &#8220;Hello, World&#8221; Program</h3>
<p>Type <code>kvm&nbsp;upgrade</code> to install the latest KRE. Then create a file somewhere on your disk with the name &#8220;project.json&#8221; and the following content:</p>
<pre>
{
  "dependencies": {
    "System.Console": "4.0.0.0"
  },
  "configurations": {
    "net45": {},
    "k10": {}
  }
}
</pre>
<p>Create another file in the same directory with the name &#8220;Program.cs&#8221; and the following C# program as content:</p>
<pre>
using System;
  
public class Program
{
    public static void Main()
    {
        Console.WriteLine("Hello, World!");
    }
}
</pre>
<p>The first file is the project file. It contains the dependencies and describes the runtime configurations. The dependencies are <a href="http://www.nuget.org">NuGet packages</a>. You can use the K&nbsp;Package&nbsp;Manager (KPM) to work with the packages. Type <code>kpm help</code> or <code>kpm</code> to get an overview of the kpm commands. Restore the packages by typing <code>kpm restore</code> now and run the program with <code>k run</code>.</p>
<p>When I was experimenting with ASP.NET vNext I ran into some errors:</p>
<ul>
<li>&#8220;<strong>System.AggregateException:  &#8212;> System.IO.IOException: Too many open files</strong>&#8220;. Solution: increase the <code>maxfiles</code> limit of your system:</li>
</ul>
<pre>
> launchctl limit maxfiles 16384 32768
</pre>
<ul>
<li>&#8220;<strong>Could not load type &#8216;System.Reflection.Internal.MemoryMappedFileBlock&#8217; from assembly &#8216;System.Reflection.Metadata, Version=1.0.11.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a&#8217;.System.Reflection.Internal.Metadata</strong>&#8221; Solution: Check the Mono version with <code>mono --version</code> and make sure that the correct version of Mono can be found in your PATH variable.</li>
</ul>
<h2>ASP.NET MVC Project Generator for Yeoman</h2>
<p>An MVC application consists of controllers, views, model and configuration files and maybe other files needed by the program. A scaffolding tool can create new projects from a template or a generator. One of those tools is <a href="http://yeoman.io">Yeoman</a> and Hassakarn C. wrote an <a href="http://hassakarn.com/2014/02/07/asp-net-mvc-project-generator-for-yeoman/">ASP.NET MVC Project Generator for Yeoman</a> which can create projects for ASP.NET vNext.</p>
<p>If you want to use Yeoman you&#8217;ll have to install <a href="http://nodejs.org">Node.js</a>. Follow the instructions on its homepage. It comes with NPM, the Node Package Manager, which you can use to install Yeoman and the ASP.NET&nbsp;MVC&nbsp;Project&nbsp;Generator:</p>
<pre>
> npm install -g yo
> npm install -g generator-aspnet
</pre>
<p>You can create a new project for the K Runtime by running:</p>
<pre>
> yo aspnet
</pre>
<p>Then you can select the type of application you want to create.</p>
<p><img src="https://schlapsi.com/wp-content/uploads/2014/08/Screenshot-ASP.NET-MVC-Project-Generator-for-Yeoman-e1407107773116.png" alt="Screenshot ASP.NET MVC Project Generator for Yeoman" width="600" height="319" class="aligncenter size-full wp-image-505" /></p>
<p>If you create a console application, you can run your program with <code>k run</code>. It is the same application we built before without Yeoman.</p>
<p><code>k run</code> runs the program by invoking its entry point, a static method called <code>Main</code>. An MVC program doesn&#8217;t have such a method. When you open the &#8220;project.json&#8221; file of the MVC application you&#8217;ll find a section called <code>commands</code>:</p>
<pre>
...
  "commands": {
    "web": "Microsoft.AspNet.Hosting --server Microsoft.AspNet.Server.WebListener --server.urls http://localhost:5001",
    "kestrel": "Microsoft.AspNet.Hosting --server Kestrel"
  },
...
</pre>
<p>This section defines commands which you can use instead of <code>run</code> when you invoke <code>k</code>. As you can see there are two commands defined: <code>web</code> and <code>kestrel</code>. <code>web</code> invokes a server used for self-hosted ASP.NET programs. It doesn&#8217;t work on OS X yet. But you can use the alternative <a href="https://github.com/aspnet/KestrelHttpServer">Kestrel server</a> which is a libuv-based HTTP server for .NET.</p>
<p>You can run your MVC application with Kestrel with this command:</p>
<pre>
> k kestrel
</pre>
<p>The default port is 5000. If you navigate your browser to <a href="http://localhost:5000">http://localhost:5000</a> you should see the default welcome page of ASP.NET vNext.</p>
<p>If you try to start the application with <code>k run</code> you&#8217;ll get an error with the following message: &#8220;<strong>&lt;appname&gt; does not contain a static &#8216;Main&#8217; method suitable for an entry point</strong>&#8220;. So make sure that you type the right command for your type of application.</p>
<h2>Creating Nancy Projects with Yeoman</h2>
<p>Inspired by the Yeoman generator for ASP.NET MVC <a href="https://github.com/jchannon/generator-nancy">Jonathan Channon created a generator</a> for the <a href="http://nancyfx.org/">Nancy framework</a>. Nancy is a lightweight framework for building HTTP based services on .NET and Mono. You can install the generator via <code>npm</code>:</p>
<pre>
> npm install -g generator-nancy
</pre>
<p>For creating a Nancy project type the following into your terminal:</p>
<pre>
> yo nancy
</pre>
<p>The generated project contains a simple Nancy module which is hosted on Kestrel with the <a href="http://owin.org/">OWIN interface</a>. You can start the Nancy application with the <code>k</code> command:</p>
<pre>
> k kestrel
</pre>
<h2>Using Sublime Text 3 for Working With ASP.NET vNext Projects</h2>
<p>One of my favorite text editors is <a href="http://www.sublimetext.com/">Sublime Text</a>. It can be extended by plugins and Sourabh Shirhatti started working on an <a href="https://github.com/ligershark/Kulture">extension for ASP.NET vNext</a>, called &#8220;Kulture&#8221;. He demonstrates the extension <a href="https://www.youtube.com/watch?v=1g2I9SJZ5XI">in a YouTube video</a>.</p>
<p>You will need <a href="http://www.sublimetext.com/3">Sublime&nbsp;Text&nbsp;3</a> which is still in beta and the <a href="https://sublime.wbond.net/installation">Package Manager for Sublime&nbsp;Text&nbsp;3</a> if you want to try it. Then press <code>Cmd-Shift-P</code> which opens the Command Palette and select &#8220;Package Control: Install Package&#8221;. Then select &#8220;Kulture&#8221; from the package list.</p>
<p>The extension configures the Sublime Text Build System for builds with the K Runtime. When you opened an ASP.NET vNext project from the project directory you can build it by pressing <code>Cmd-B</code>. If there are compilation errors you can cycle through them with <code>F4</code>. And with <code>Cmd-Shift-P</code> you can select &#8220;Run K Commands&#8221; and start one of the commands defined in the project.json file.</p>
<h2>Summary</h2>
<p>With ASP.NET vNext Microsoft tries to build ASP.NET on a new platform which can be run on UNIX like operating systems like Linux or Mac OS X. In this article I showed you how you can install it and how you can run a simple &#8220;Hello, world!&#8221; program. I introduced you to the Yeoman scaffolding tool and two generators, one for creating MVC apps and one for creating Nancy apps. Finally I showed you an extension for the popular Sublime Text editor.</p>
<p>It&#8217;s interesting to see new ideas coming from the community. I&#8217;m curious how the new tools will evolve and how creating applications on ASP.NET vNext and Mono will look like in a few months.</p>
]]></content:encoded>
			<wfw:commentRss>https://schlapsi.com/2014/08/aspnet-vnext-running-on-mac-os-x/feed/</wfw:commentRss>
		<slash:comments>4388</slash:comments>
		</item>
		<item>
		<title>Introduction to the Elm Programming Language</title>
		<link>https://schlapsi.com/2014/07/introduction-elm-programming-language/</link>
		<comments>https://schlapsi.com/2014/07/introduction-elm-programming-language/#comments</comments>
		<pubDate>Tue, 22 Jul 2014 20:35:28 +0000</pubDate>
		<dc:creator><![CDATA[Andreas Schlapsi]]></dc:creator>
				<category><![CDATA[Frontend]]></category>

		<guid isPermaLink="false">http://schlapsi.com/?p=394</guid>
		<description><![CDATA[Elm is an interesting new programming language. Its goal is to make web GUI programming a great experience. It compiles the source code to JavaScript, HTML, and CSS. Elm is a functional programming language. Its main influences are Haskell, OCaml, SML, and F#. Elm is strongly statically typed and it uses type inferencing. You don&#8217;t&#8230;]]></description>
				<content:encoded><![CDATA[<p><img src="https://schlapsi.com/wp-content/uploads/2014/07/Fotolia_56845182_XS.jpg" alt="designer drawing website development wireframe" width="424" height="283" class="alignright size-full wp-image-414" srcset="https://schlapsi.com/wp-content/uploads/2014/07/Fotolia_56845182_XS.jpg 424w, https://schlapsi.com/wp-content/uploads/2014/07/Fotolia_56845182_XS-300x200.jpg 300w" sizes="(max-width: 424px) 100vw, 424px" /><a href="http://elm-lang.org">Elm</a> is an interesting new programming language. Its goal is to make web GUI programming a great experience. It compiles the source code to JavaScript, HTML, and CSS.</p>
<p>Elm is a functional programming language. Its main influences are <a href="http://www.haskell.org">Haskell</a>, <a href="http://ocaml.org">OCaml</a>, SML, and <a href="http://fsharp.org">F#</a>. Elm is strongly statically typed and it uses type inferencing. You don&#8217;t have to specify the type for variables and parameters like in C# or Java. Elm is built on the Haskell platform and has a Haskell-like syntax, though semantics are closer to OCaml.</p>
<p>I want to show you some basic features of Elm in this post. I&#8217;ll write some more posts about Elm in the next few weeks.</p>
<h2>Hello, world!</h2>
<p>You will find an online editor on the <a href="http://elm-lang.org">Elm homepage</a> where you can try out the programming language. Just click &#8220;Try&#8221; and you&#8217;ll get to the <a href="http://elm-lang.org/try">online editor</a>. On the left side you&#8217;ll see the editor and on the right side the result when you run the program. You can run the program by clicking on &#8220;Compile&#8221; (below the editor).</p>
<p>We&#8217;re learning a new language and the first program in a new language is usually a &#8220;Hello, world&#8221; program. It looks like this in Elm:</p>
<pre>
    main : Element
    main = plainText "Hello, world!"
</pre>
<p><code>main</code> defines the entry point of the program. It is of type <code>Element</code> which represents a rectangle on the screen with a known width and height. Elements are combined to define complex widgets and layouts. The type is defined in the library <code>Graphics.Element</code> which is imported automatically when the program starts.</p>
<p>The first line of our program is the type signature. It defines the name and its type separated by a colon. The entry point has the name &#8220;main&#8221; and <code>Element</code> is its type. The type signature is optional.</p>
<p>The second line is the code. <code>"Hello, world!"</code> is a string. The function <code>plainText</code> converts the string to an element. You can see, that you don&#8217;t need braces for calling a function.</p>
<p>Here is another version of the hello world program:</p>
<pre>
    main = asText "Hello, world!"
</pre>
<p>Did you notice the difference? The second program prints the string &#8220;Hello, world!&#8221; with quotes and the first program without quotes. The first version uses the function <code>plainText</code> to convert the string to an element. <code>plainText</code> takes a string and creates the <code>Element</code> from the string <em>value</em>.</p>
<p>The second program uses <code>asText</code> which takes any value and uses its <em>string representation</em> for creating the <code>Element</code>. The string representation of a string includes the quotes and the value does not.</p>
<pre>
    main = asText (4,5)
</pre>
<p>This program prints the string representation of the tuple, &#8220;(4,5)&#8221;. A tuple is an ordered list of elements. The tuple above contains two integer values, 4 and 5. If you change <code>asText</code> to <code>plainText</code> you&#8217;ll get a type error. <code>plainText</code> expects a string as parameter, but (4,5) is a tuple.</p>
<h2>Elm is reactive</h2>
<p>Elm has an interesting type called <code>Signal</code>. A signal is a value which changes over time. Let&#8217;s see it in action:</p>
<pre>
    import Mouse

    main : Signal Element
    main = lift asText Mouse.position
</pre>
<p>The first line imports a library for working with mouse input called <code>Mouse</code>. The second line is the optional type signature. As you can see the type of the entry point <code>main</code> has changed to <code>Signal Element</code>. This means that output of the program can change over time.</p>
<p>The <code>Mouse</code> module contains a signal called <code>position</code> of type <code>Signal (Int,Int)</code>. Every time the mouse is moved its value changes. The value is of type <code>(Int,Int)</code> which is a tuple with two integer numbers. It represents the current mouse position on the screen.</p>
<p>The function <code>lift</code> takes a function as first argument and a signal as second element. Every time the signal is updated the new value is applied to the function and its return value is used as new value for the signal returned by <code>lift</code>. We use <code>asText</code> as function so that <code>lift</code> converts each tuple with the mouse positions to a string when the mouse position changes.</p>
<p>I showed you how a basic hello world program looks like in Elm and I introduced you to Elm&#8217;s concept of signals. I will focus on the functional nature of the language in my next post about Elm.</p>
]]></content:encoded>
			<wfw:commentRss>https://schlapsi.com/2014/07/introduction-elm-programming-language/feed/</wfw:commentRss>
		<slash:comments>4277</slash:comments>
		</item>
		<item>
		<title>The 25 Most Interesting Links about ASP.NET vNext and the K Runtime</title>
		<link>https://schlapsi.com/2014/07/25-interesting-links-asp-net-vnext/</link>
		<comments>https://schlapsi.com/2014/07/25-interesting-links-asp-net-vnext/#comments</comments>
		<pubDate>Sat, 19 Jul 2014 22:59:40 +0000</pubDate>
		<dc:creator><![CDATA[Andreas Schlapsi]]></dc:creator>
				<category><![CDATA[ASP.NET]]></category>

		<guid isPermaLink="false">http://schlapsi.com/?p=344</guid>
		<description><![CDATA[Microsoft revealed its plans for the next generation of .NET at the TechEd North America in May. The next version of ASP.NET will bring some interesting features for ASP.NET web developers: It will be fully open source. ASP.NET MVC, ASP.NET WebAPI and SignalR will be integrated into one framework. Multiple versions of the runtime can&#8230;]]></description>
				<content:encoded><![CDATA[<p><img src="https://schlapsi.com/wp-content/uploads/2014/07/Fotolia_61003449_XS.jpg" alt="What is next" width="424" height="283" class="alignright size-full wp-image-358" srcset="https://schlapsi.com/wp-content/uploads/2014/07/Fotolia_61003449_XS.jpg 424w, https://schlapsi.com/wp-content/uploads/2014/07/Fotolia_61003449_XS-300x200.jpg 300w" sizes="(max-width: 424px) 100vw, 424px" />Microsoft revealed its plans for the next generation of .NET at the TechEd North America in May. The next version of ASP.NET will bring some interesting features for ASP.NET web developers:</p>
<ul>
<li>It will be fully open source.</li>
<li>ASP.NET MVC, ASP.NET WebAPI and SignalR will be integrated into one framework.</li>
<li>Multiple versions of the runtime can be installed side-by-side.</li>
<li>It runs on Mono, on both Linux and Mac OS X.</li>
<li>No dependency on System.Web.</li>
<li>Better support for development with text editor and command line tools.</li>
</ul>
<p>I collected some links for more information and details about this topic.</p>
<h2>Blog posts about ASP.NET vNext and the K Runtime</h2>
<ul>
<li>The announcement of the next generation of ASP.NET: <a href="http://blogs.msdn.com/b/dotnet/archive/2014/05/12/the-next-generation-of-net-asp-net-vnext.aspx">The Next Generation of .NET &#8211; ASP.NET vNext</a></li>
<li><a href="http://www.infoq.com/news/2014/05/ASP.NET-vNext">Introducing ASP.NET vNext and MVC 6</a><br />
This article provides an overview of the changes of ASP.NET vNext and MVC 6.</li>
<li>David Fowler&#8217;s blog contains much information about ASP.NET vNext:
<ul>
<li><a href="http://davidfowl.com/asp-net-vnext/">ASP.NET vNext</a><br />
David Fowler provides an overview of the goals of the project like requirements and things the team wanted to fix.</li>
<li><a href="http://davidfowl.com/asp-net-vnext-architecture/">ASP.NET vNext Overview</a><br />
This post contains an overview of the projects which comprise the next version of ASP.NET.</li>
<li><a href="http://davidfowl.com/assembly-neutral-interfaces/">Assembly Neutral Interfaces</a><br />
In this post David Fowler explains a new feature of ASP.NET vNext which helps simplifying messy dependency graphs.</li>
<li><a href="http://davidfowl.com/assembly-neutral-interfaces-implementation/">Assembly Neutral Types Implementation</a><br />
This post explains how assembly neutral types were implemented. It depends heavily on Roslyn.</li>
</ul>
</li>
<li><a href="http://aspnetguru.com/asp-net-vnext-project-k-basic-sample/">ASP.NET vNext Project K Basic Sample</a></li>
<li><a href="http://www.asp.net/vnext/overview/aspnet-vnext/overview">Getting Started with ASP.NET MVC 6</a></li>
<li><a href="http://blog.tpcware.com/2014/06/back-to-the-future-windows-batch-scripting-asp-net-vnext/">Back To the Future: Windows Batch Scripting &amp; ASP.NET vNext</a><br />
Nicolò Carandini introduces us to the new command line tools and the batch file magic one of them uses.</li>
<li>Louis DeJardin published three parts in a blog post series called &#8220;ASP.NET vNext Moving Parts&#8221;:
<ul>
<li><a href="http://whereslou.com/2014/05/23/asp-net-vnext-moving-parts-iconfiguration/">ASP.NET vNext Moving Parts: IConfiguration</a><br />
In the next version of ASP.NET you will be able to use INI, JSON or XML files for your configuration settings. You can even merge those settings from<br />
multiple sources including environment variables and command line arguments. This blog post provides an overview over the new configuration subsystem.</li>
<li><a href="http://whereslou.com/2014/05/28/asp-net-moving-parts-ibuilder/">ASP.NET vNext Moving Parts: IBuilder</a><br />
You can modify the request pipeline with the new IBuilder interface and some extension methods. This blog post explains how it works.</li>
<li><a href="http://whereslou.com/2014/06/10/asp-net-vnext-moving-parts-owin/">ASP.NET vNext Moving Parts: OWIN</a><br />
<a href="http://owin.org/">OWIN</a> defines a standard interface between .NET web servers and .NET web applications. The next generation of ASP.NET will support OWIN.<br />
This blog post explains how it works.</li>
</ul>
</li>
<li><a href="http://blogs.msdn.com/b/webdev/archive/2014/06/20/asp-net-vnext-routing-overview.aspx">ASP.NET vNext Routing Overview</a><br />
This article explains the new routing system used in ASP.NET vNext.</li>
<li>There was a little discussion about the plans for dependency injection:
<ul>
<li><a href="http://blogs.msdn.com/b/webdev/archive/2014/06/17/dependency-injection-in-asp-net-vnext.aspx">Dependency Injection in ASP.NET vNext</a><br />
Previous versions of ASP.NET MVC supported DI partially. In the future it will be available throughout the entire stack.</li>
<li><a href="http://blog.ploeh.dk/2014/05/26/feedback-on-aspnet-vnext-dependency-injection/">Feedback on ASP.NET vNext Dependency Injection</a><br />
Mark Seemann welcomes the support of DI in ASP.NET, but he opposes the idea of a Conforming Container. He would rather prefer Abstract Factories for<br />
creating instances of Controllers, WebForm Pages, etc.</li>
</ul>
</li>
<li><a href="http://jeremydmiller.com/2014/06/09/final-thoughts-on-nuget/">Final Thoughts on Nuget and Some Initial Impressions on the new KVM</a></li>
<li>ASP.NET will run on Linux and Mac OS X, too: <a href="http://graemechristie.github.io/graemechristie/blog/2014/05/26/asp-dot-net-vnext-on-osx-and-linux/">ASP.NET vNext on OSX and Linux</a></li>
<li>ASP.NET vNext and Visual Studio &#8220;14&#8221;:
<ul>
<li><a href="http://www.asp.net/vnext/overview/aspnet-vnext/getting-started-with-aspnet-vnext-and-visual-studio">Getting Started with ASP.NET vNext and Visual Studio &#8220;14&#8221;</a></li>
<li><a href="http://blogs.msdn.com/b/webdev/archive/2014/06/03/asp-net-vnext-in-visual-studio-14-ctp.aspx">ASP.NET vNext in Visual Studio &#8220;14&#8221;</a></li>
</ul>
</li>
<li><a href="http://www.asp.net/vnext/overview/aspnet-vnext/walkthrough-mvc-music-store">MVC Music Store Sample Application</a></li>
</ul>
<h2>Videos about ASP.NET vNext and the K Runtime</h2>
<ul>
<li>TechED North America 2014
<ul>
<li><a href="http://channel9.msdn.com/Events/TechEd/NorthAmerica/2014/DEV-B385#fbid=">INTRODUCING: The Future of .NET on the Server</a></li>
<li><a href="http://channel9.msdn.com/Events/TechEd/NorthAmerica/2014/DEV-B411#fbid=">DEEP DIVE: The Future of .NET on the Server</a></li>
<li><a href="http://channel9.msdn.com/Events/TechEd/NorthAmerica/2014/C9-09#fbid=">ASP.NET Developer Q&amp;A with Scott Hunter &amp; Scott Hanselman</a></li>
</ul>
</li>
<li>dotnetconf 2014:
<ul>
<li><a href="http://channel9.msdn.com/Events/dotnetConf/2014/ASP-NET-vNext-101">ASP.NET vNext 101</a></li>
<li><a href="http://channel9.msdn.com/Events/dotnetConf/2014/MVC-6">ASP.NET MVC 6 (now with integrated Web API!)</a></li>
</ul>
</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>https://schlapsi.com/2014/07/25-interesting-links-asp-net-vnext/feed/</wfw:commentRss>
		<slash:comments>8342</slash:comments>
		</item>
		<item>
		<title>Blog Reorganisation</title>
		<link>https://schlapsi.com/2014/06/blog-reorganisation/</link>
		<comments>https://schlapsi.com/2014/06/blog-reorganisation/#comments</comments>
		<pubDate>Thu, 12 Jun 2014 18:18:37 +0000</pubDate>
		<dc:creator><![CDATA[Andreas Schlapsi]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://schlapsi.com/?p=254</guid>
		<description><![CDATA[I migrated my blogs back to WordPress. I started blogging with self-hosted WordPress blogs about 8 years ago. Some years ago I began using Disqus for comments and switched one blog to Octopress. I migrated both blogs to Pelican one year ago. Now I&#8217;m back at WordPress. While I was migrating the blogs I decided&#8230;]]></description>
				<content:encoded><![CDATA[<p><img src="https://schlapsi.com/wp-content/uploads/2014/05/Fotolia_64114663_XS.jpg" alt="Blog" width="442" height="271" class="alignright size-full wp-image-305" srcset="https://schlapsi.com/wp-content/uploads/2014/05/Fotolia_64114663_XS.jpg 442w, https://schlapsi.com/wp-content/uploads/2014/05/Fotolia_64114663_XS-300x183.jpg 300w" sizes="(max-width: 442px) 100vw, 442px" />I migrated my blogs back to <a href="http://wordpress.org">WordPress</a>. I started blogging with self-hosted WordPress blogs about 8 years ago. Some years ago I began using <a href="http://disqus.com">Disqus</a> for comments and switched one blog to <a href="http://octopress.org">Octopress</a>. I migrated both blogs to <a href="http://getpelican.com">Pelican</a> one year ago. Now I&#8217;m back at WordPress. While I was migrating the blogs I decided to merge my two blogs andreas-schlapsi.com (English blog) and andreas-schlapsi.at (German blog) to one blog at <a href="https://schlapsi.com">schlapsi.com</a> and redirected the URLs from my old blogs to this one. I plan to write here in English. Maybe I&#8217;ll write something in German here every now and then.</p>
<p>Why did I switch to WordPress again? Jeff Atwood said, <a href="http://blog.codinghorror.com/a-blog-without-comments-is-not-a-blog/">a blog without comments is not a blog</a> and not having a decent comments system was one of the biggest disadvantages when I used a static site generator. I didn&#8217;t want to save the comments on another system operated by a commercial company like Disqus.</p>
<p>I found a way to write my posts in Markdown on WordPress. Not being able to write in Markdown was the biggest issue I had with WordPress and the number one reason why I migrated my blog away from WordPress.</p>
<p>I wanted to improve the themes of my old blogs, but I didn&#8217;t have enough time to work on them. I guess it&#8217;s easier to use one of the available WordPress themes instead of creating my own theme.</p>
<p>But there are also some downsides: first I need to run server software which needs more server performance than a static site. There are solutions which can improve the situation.</p>
<p>Second I still don&#8217;t like the editor. There are blog editors out there. Maybe I&#8217;ll try out some of them.</p>
<p>Of course, I had a look at <a href="https://ghost.org">Ghost</a>, but it wasn&#8217;t as mature as WordPress. It didn&#8217;t have a comment system, too. It looked very nice and promising, though.</p>
]]></content:encoded>
			<wfw:commentRss>https://schlapsi.com/2014/06/blog-reorganisation/feed/</wfw:commentRss>
		<slash:comments>3156</slash:comments>
		</item>
	</channel>
</rss>
