<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>F# on Küse's Codes</title><link>https://mmgreiner.github.io/tags/F%23/</link><description>Recent content in F# on Küse's Codes</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><managingEditor>mmgreiner@bluewin.ch(Markus Greiner)</managingEditor><webMaster>mmgreiner@bluewin.ch(Markus Greiner)</webMaster><lastBuildDate>Tue, 11 Apr 2023 00:00:00 +0000</lastBuildDate><atom:link href="https://mmgreiner.github.io/tags/F%23/index.xml" rel="self" type="application/rss+xml"/><item><title>Bolero hosting Razor page</title><link>https://mmgreiner.github.io/post/2023-04-11-bolero-razor/</link><pubDate>Tue, 11 Apr 2023 00:00:00 +0000</pubDate><author>mmgreiner@bluewin.ch (Markus Greiner)</author><guid>https://mmgreiner.github.io/post/2023-04-11-bolero-razor/</guid><description>&lt;p>In this post we investigate how to use Razor pages on the host and &lt;a href="https://fsbolero.io">Bolero&lt;/a> WebAssembly on the client side. The final code can be found on &lt;a href="https://github.com/mmgreiner/Tutorials">My github - Tutorials - BoleroAppRazor&lt;/a>.&lt;/p></description></item><item><title>Miscellaneous</title><link>https://mmgreiner.github.io/post/2023-03-18-miscellaneous/</link><pubDate>Sat, 18 Mar 2023 00:00:00 +0000</pubDate><author>mmgreiner@bluewin.ch (Markus Greiner)</author><guid>https://mmgreiner.github.io/post/2023-03-18-miscellaneous/</guid><description>&lt;p>This is a list of reminders and open questions I still wanted to look at in more detail.&lt;/p>
&lt;h2 id="csv-conversion">CSV conversion&lt;/h2>
&lt;p>Next to &lt;a href="https://fsprojects.github.io/FSharp.Data/">FSharp.Data&lt;/a> there is &lt;a href="https://joshclose.github.io/CsvHelper/">CSVHelper&lt;/a>. However, it does not support FSharp types intrinsically. A &lt;a href="https://stackoverflow.com/questions/66401283/how-do-you-use-csvhelper-csvwriter-with-f-option-types">stackoverflow&lt;/a> article describes the details.&lt;/p></description></item><item><title>RESTful API</title><link>https://mmgreiner.github.io/post/2023-03-15-RESTApi/</link><pubDate>Wed, 15 Mar 2023 00:00:00 +0000</pubDate><author>mmgreiner@bluewin.ch (Markus Greiner)</author><guid>https://mmgreiner.github.io/post/2023-03-15-RESTApi/</guid><description>&lt;p>This contains some thoughts how to implement RESTful APIs.&lt;/p>
&lt;h2 id="background">Background&lt;/h2>
&lt;p>tbd&lt;/p>
&lt;h2 id="best-practices">Best practices&lt;/h2>
&lt;p>A search for RESTful API best practices reveals many sites:&lt;/p></description></item><item><title>Github resources</title><link>https://mmgreiner.github.io/post/2023-02-10-github-fsharp/</link><pubDate>Fri, 10 Feb 2023 00:00:00 +0000</pubDate><author>mmgreiner@bluewin.ch (Markus Greiner)</author><guid>https://mmgreiner.github.io/post/2023-02-10-github-fsharp/</guid><description>&lt;p>Some of my codes are documented on my &lt;a href="https://github.com/mmgreiner">Github&lt;/a> with description in the readme files. Take a look there.&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Github&lt;/th>
&lt;th>Description&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>&lt;a href="https://github.com/mmgreiner/BoleroApp">BoleroApp&lt;/a>&lt;/td>
&lt;td>A simple &lt;a href="https://fsbolero.io">Bolero&lt;/a> app with file upload and data repository using dependency injection&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;a href="https://github.com/mmgreiner/StringAlgorithms">StringAlgorithms&lt;/a>&lt;/td>
&lt;td>Some string algorithms in &lt;a href="https://fsharp.org">F#&lt;/a> to measure string similarity&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;a href="https://github.com/mmgreiner/WebAPI">WebAPI&lt;/a>&lt;/td>
&lt;td>A net7.0 based RestAPI in &lt;a href="https://fsharp.org">F#&lt;/a>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;a href="https://github.com/mmgreiner/dependencyInjection">DependencyInjection&lt;/a>&lt;/td>
&lt;td>simple attempts at dependency injection in &lt;a href="https://fsharp.org">F#&lt;/a>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;a href="https://github.com/mmgreiner/Tutorials/tree/master/MinimalApiPost">MinimalAPI&lt;/a>&lt;/td>
&lt;td>Minimal API with a file upload example&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;a href="https://github.com/mmgreiner/Tutorials/tree/master/BoleroAppRazor">BoleroAppRazor&lt;/a>&lt;/td>
&lt;td>&lt;a href="https://fsbolero.io">Bolero&lt;/a> App, but using Razor pages on the server&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table></description></item><item><title>Operation research</title><link>https://mmgreiner.github.io/post/2022-12-31-operation-research/</link><pubDate>Sat, 31 Dec 2022 00:00:00 +0000</pubDate><author>mmgreiner@bluewin.ch (Markus Greiner)</author><guid>https://mmgreiner.github.io/post/2022-12-31-operation-research/</guid><description>Usage of operation research in various programming languages for production optimization, scheduling, etc. problems.</description></item><item><title>PDF to text conversion</title><link>https://mmgreiner.github.io/post/2022-12-01-pdf-converter/</link><pubDate>Thu, 01 Dec 2022 00:00:00 +0000</pubDate><author>mmgreiner@bluewin.ch (Markus Greiner)</author><guid>https://mmgreiner.github.io/post/2022-12-01-pdf-converter/</guid><description>&lt;p>There is once in a while the need to extract pure text from PDF files. This blog shows some attempts to do it with dot, with &lt;a href="https://www.ruby-lang.org/en/">ruby&lt;/a>, and with command line utitilites.&lt;/p></description></item><item><title>Input file element with Bolero</title><link>https://mmgreiner.github.io/post/2022-10-20-input-file/</link><pubDate>Thu, 20 Oct 2022 00:00:00 +0000</pubDate><author>mmgreiner@bluewin.ch (Markus Greiner)</author><guid>https://mmgreiner.github.io/post/2022-10-20-input-file/</guid><description>&lt;blockquote>
&lt;p>&lt;a href="https://fsbolero.io">Bolero&lt;/a> is a set of free and open-source libraries and tools to write web applications in &lt;a href="https://fsharp.org/">F#&lt;/a>. With it, you can write fully dynamic client-side web applications from the comfort of a strongly-typed functional language, all with great performance.&lt;/p></description></item><item><title>Static templating with handlebars, liquid and others</title><link>https://mmgreiner.github.io/post/2022-08-29-static-templating/</link><pubDate>Mon, 29 Aug 2022 00:00:00 +0000</pubDate><author>mmgreiner@bluewin.ch (Markus Greiner)</author><guid>https://mmgreiner.github.io/post/2022-08-29-static-templating/</guid><description>This post describes how to use static temlating engines like handlebars, liquid, fluid etc when programming.</description></item><item><title>Bolero Hints</title><link>https://mmgreiner.github.io/post/2022-08-21-Bolero/</link><pubDate>Sun, 21 Aug 2022 00:00:00 +0000</pubDate><author>mmgreiner@bluewin.ch (Markus Greiner)</author><guid>https://mmgreiner.github.io/post/2022-08-21-Bolero/</guid><description>&lt;p>This blog contains some experiences working with &lt;a href="https://fsbolero.io/docs/">Bolero&lt;/a>.&lt;/p>
&lt;blockquote>
&lt;p>Bolero is a set of free and open-source libraries and tools to write web applications in &lt;a href="https://fsharp.org">F#&lt;/a>. With it, you can write fully dynamic client-side web applications from the comfort of a strongly-typed functional language, all with great performance.&lt;/p></description></item><item><title>Machine Learning with ML.NET</title><link>https://mmgreiner.github.io/post/2022-04-08-machine-learning/</link><pubDate>Fri, 08 Apr 2022 00:00:00 +0000</pubDate><author>mmgreiner@bluewin.ch (Markus Greiner)</author><guid>https://mmgreiner.github.io/post/2022-04-08-machine-learning/</guid><description>&lt;p>Machine learning with &lt;a href="https://dotnet.microsoft.com/en-us/learn/ml-dotnet">ML.NET&lt;/a> is documented in a confusing way, in particular when it comes to F#.&lt;/p>
&lt;p>Some resources I found are:&lt;/p></description></item><item><title>Mathe Uffzgi</title><link>https://mmgreiner.github.io/post/2022-04-02-mathe-uffzgi/</link><pubDate>Sat, 02 Apr 2022 00:00:00 +0000</pubDate><author>mmgreiner@bluewin.ch (Markus Greiner)</author><guid>https://mmgreiner.github.io/post/2022-04-02-mathe-uffzgi/</guid><description>&lt;p>Once in a while, I&amp;rsquo;m supporting Lea with her math homework (Swiss: &lt;em>Uffzgi&lt;/em>). Here are some tools that help me (remember, that I prefer &lt;a href="https://fsharp.org">F#&lt;/a> to other languages. Whenever possible, I use interactive Notebooks and make them available on &lt;a href="https://github.com/mmgreiner/Notebook">github Notebooks&lt;/a>.&lt;/p></description></item><item><title>WebSharper simple inputs</title><link>https://mmgreiner.github.io/post/2022-03-17-Simple-Inputs/</link><pubDate>Thu, 17 Mar 2022 00:00:00 +0000</pubDate><author>mmgreiner@bluewin.ch (Markus Greiner)</author><guid>https://mmgreiner.github.io/post/2022-03-17-Simple-Inputs/</guid><description>&lt;p>This post shows various ways to handle input using &lt;a href="
https://developers.websharper.com/docs/v4.x/fs/
">WebSharper&lt;/a>.&lt;/p>
&lt;h2 id="client-side">Client side&lt;/h2>
&lt;p>There are two basic approaches: using HTML templates or using Websharper&amp;rsquo;s HTML.&lt;/p></description></item><item><title>WebSharper templates</title><link>https://mmgreiner.github.io/post/2022-03-13-websharper-templates/</link><pubDate>Sun, 13 Mar 2022 13:00:00 +0000</pubDate><author>mmgreiner@bluewin.ch (Markus Greiner)</author><guid>https://mmgreiner.github.io/post/2022-03-13-websharper-templates/</guid><description>&lt;p>WebSharper allows several ways to instatiate HTML, and It took me some thinking to get these terms right:&lt;/p>
&lt;ul>
&lt;li>&lt;code>ws-replace&lt;/code>&lt;/li>
&lt;li>&lt;code>ws-hole&lt;/code>&lt;/li>
&lt;li>&lt;code>ws-template&lt;/code>&lt;/li>
&lt;li>&lt;code>ws-template-children&lt;/code>&lt;/li>
&lt;/ul>
&lt;h2 id="replace">Replace&lt;/h2>
&lt;p>Replace the given node with the provided string or list of docs.&lt;/p></description></item><item><title>WebSharper shopping cart</title><link>https://mmgreiner.github.io/post/2022-03-13-websharper-shopping-cart/</link><pubDate>Sun, 13 Mar 2022 10:41:39 +0000</pubDate><author>mmgreiner@bluewin.ch (Markus Greiner)</author><guid>https://mmgreiner.github.io/post/2022-03-13-websharper-shopping-cart/</guid><description>&lt;h2 id="websharper-shopping-cart">Websharper Shopping cart&lt;/h2>
&lt;p>I found an interesting article from 2020 by Adam Granizc on the implementation of a WebSharper shopping cart in &lt;a href="https://github.com/intellifactory/blogs/blob/master/user/granicz/20201231-variations-for-a-websharper-shopping-cart.md">WebSharper Shopping Cart&lt;/a>&lt;/p></description></item><item><title>Using Jekyll</title><link>https://mmgreiner.github.io/post/2022-03-12-using-jekyll/</link><pubDate>Sat, 12 Mar 2022 19:00:00 +0000</pubDate><author>mmgreiner@bluewin.ch (Markus Greiner)</author><guid>https://mmgreiner.github.io/post/2022-03-12-using-jekyll/</guid><description>&lt;p>You’ll find this post in your &lt;code>_posts&lt;/code> directory. Go ahead and edit it and re-build the site to see your changes. You can rebuild the site in many different ways, but the most common way is to run &lt;code>jekyll serve&lt;/code>, which launches a web server and auto-regenerates your site when a file is updated.&lt;/p></description></item></channel></rss>