People often ask me how to find F# jobs. I don't have any special connections to companies using F#, and I don't have any special tricks either. I wish I did!
So, given that, here's my take on F# jobs.
For job hunting my suggestions are:
I suggest that you create one or more Api.fs files to expose F# code in a C# friendly way.
In this file:
PascalCase names. They will appear to C# as static methods.| using System; | |
| using System.Collections.Concurrent; | |
| using System.Collections.Generic; | |
| using System.Linq; | |
| using System.Reflection; | |
| using System.Reflection.Emit; | |
| namespace Playground | |
| { | |
| public class Program |
I thought I'd share some simple steps you can follow if you wan't to build, run and debug an F# program on OSX using dotnet core 2.0. I guess these steps would also work if you're running Linux, with some minor modifications.
Install dotnet sdk for OSX: https://www.microsoft.com/net/learn/get-started/macos
Install Visual Studio Code for OSX: https://code.visualstudio.com/
Install C# (yes, C#) extension for OSX: https://code.visualstudio.com/docs/languages/csharp
Create a new console application project using dotnet cli: dotnet new console -lang F# -n HelloWorld
These commands generate and use private keys in unencrypted binary (not Base64 “PEM”) PKCS#8 format. The PKCS#8 format is used here because it is the most interoperable format when dealing with software that isn't based on OpenSSL.
OpenSSL has a variety of commands that can be used to operate on private
key files, some of which are specific to RSA (e.g. openssl rsa and
openssl genrsa) or which have other limitations. Here we always use
| using System; | |
| using MongoDB.Bson; | |
| using MongoDB.Driver; | |
| using System.Threading.Tasks; | |
| using System.Linq; | |
| /* Where document structure stored in localhost MongoDB : {token:"word"} | |
| */ | |
| namespace Aggregation_01 |
Picking the right architecture = Picking the right battles + Managing trade-offs
| Add-Type -AssemblyName System.Windows.Forms | |
| while ($true) | |
| { | |
| $Pos = [System.Windows.Forms.Cursor]::Position | |
| $x = ($pos.X % 500) + 1 | |
| $y = ($pos.Y % 500) + 1 | |
| [System.Windows.Forms.Cursor]::Position = New-Object System.Drawing.Point($x, $y) | |
| Start-Sleep -Seconds 10 | |
| } |
(by @andrestaltz)
If you prefer to watch video tutorials with live-coding, then check out this series I recorded with the same contents as in this article: Egghead.io - Introduction to Reactive Programming.