HN user

mmavnn

950 karma

[ my public key: https://keybase.io/mavnn; my proof: https://keybase.io/mavnn/sigs/XP1doWi5y1DWLOq5tHikbVnSpyiuVDn8PGjBG8W7hUw ]

Posts45
Comments80
View on HN
blog.mavnn.co.uk 11y ago

Good Developer CVs (Résumés)

mmavnn
2pts0
news.ycombinator.com 11y ago

Ask HN: What do you do when your website seems to be penalised by Google?

mmavnn
41pts20
kolektiv.github.io 11y ago

Snowflakes Redux

mmavnn
15pts0
kolektiv.github.io 11y ago

Snowflakes Redux

mmavnn
2pts0
blog.mavnn.co.uk 11y ago

Keeping Up with the Latest Hammer

mmavnn
2pts0
blog.mavnn.co.uk 12y ago

If I Ruled the World... Remote Working

mmavnn
1pts0
www.fabricland.co.uk 12y ago

Fabric Land

mmavnn
1pts0
blog.mavnn.co.uk 12y ago

(F#) Type Providers From the Ground Up

mmavnn
2pts0
www.chinadaily.com.cn 13y ago

Human rights record of the United States in 2012 (Chinese viewpoint)

mmavnn
68pts84
en.bitcoin.it 13y ago

Namecoin (Bitcoin powered DNS)

mmavnn
1pts0
blog.mavnn.co.uk 13y ago

In Which Our Intrepid Author De-sugars a Monad by Hand

mmavnn
2pts0
wekeroad.com 14y ago

Inversion Of Control: An Architect's Version of Global Variables

mmavnn
1pts1
msmvps.com 14y ago

Subtleties in API design - member placement

mmavnn
2pts0
blog.mavnn.co.uk 14y ago

Perls before Swine (Perl script to F# translation)

mmavnn
2pts0
visualstudiogallery.msdn.microsoft.com 14y ago

VsVim

mmavnn
130pts51
steve-yegge.blogspot.com 14y ago

Tips for a slightly less awful resume

mmavnn
3pts0
www.bbc.co.uk 14y ago

Faster-than-light neutrino experiment to be run again

mmavnn
10pts1
life.salon.com 14y ago

Does God exist?

mmavnn
1pts0
www.ldodds.com 14y ago

Explaining REST and Hypertext: Spam-E the Spam Cleaning Robot

mmavnn
1pts0
www.jetbrains.com 14y ago

Meta Programming System Language Oriented Programming environment

mmavnn
15pts9
opencompute.org 14y ago

Open Compute Project - Hacking Conventional Computing Infrastructure

mmavnn
1pts0
www.bbc.co.uk 14y ago

FT pulls app over Apple data row

mmavnn
2pts0
news.cnet.com 14y ago

What happens when Google+ cuts you off?

mmavnn
51pts22
consumerist.com 15y ago

How Hackers Stole 200,000 Citi Accounts Just By Changing Numbers In The URL

mmavnn
360pts159
github.com 15y ago

VsVim - 'q' now works

mmavnn
1pts1
www.mono-project.com 15y ago

Gendarme (an extensible rule-based tool to find problems in .NET code)

mmavnn
2pts0
www.businessweek.com 15y ago

Nokia Quarterly Net Beats Estimates; Lower Margins Forecast

mmavnn
1pts0
github.com 15y ago

Bup (incremental backup)

mmavnn
3pts0
code.google.com 15y ago

Zen-coding - Set of plugins for HTML and CSS hi-speed coding

mmavnn
4pts0
www.physorg.com 15y ago

New Entrophy Battery pulls energy from difference in salinity

mmavnn
2pts0

I must admit, I'm not desperate enough for new readers to hamstring my own publishing to my existing readers - so summary RSS feed is out for me.

I'd consider delaying RSS publication but that's actually very awkward as it's an Octopress website (i.e. created and pushed as a set of static pages, including things like the rss feed).

Packages generally work fine, although if they rely on native binaries they often require a bit of tweaking to point at the Linux .so rather than the windows .dll. That's uncommon in the .net world though.

The ecosystem is huge; http://nuget.org hosts the main .net package collection, and it fairly comprehension. Also, to be fair to MS the standard library is pretty "batteries included"; it just doesn't always have what I would consider the nicest APIs.

It is mainly Windows, but as stated in a few other answers people are using Mono in production. How long ago did you look around? I have to admit that it's only really become fully practical (in my mind) in the last 6 months or so.

It should be possible to plug the F# binding backend into sublime; it expects to run as a separate process and have buffer states passed back and forth as JSON. I don't know much about sublime plugins, but I believe that they're Python based and should be able to handle that reasonably elegantly.

As in a self executing file? Not the standard deploy story, but is in theory possible on Mono with a combination of F# compiler options to compile in all dependencies, and mono's "ahead of time (AOT)" build.

It does mean that you lose a number of traditional clr advantages such as JITting - and I have to admit that I haven't tried this route myself. Almost all of the clr code I've written has been server side.

The lack of good instructions is definitely one!

(Edit: although http://fsharp.org/use/linux/ covers the absolute basics pretty well)

Up until recently, packaging was a bit of an issue, but recently the official Mono repositories have started being much more up to date again, and now include recent versions of F# as well: http://www.mono-project.com/download/#download-lin

Getting vim support is still a case of cloning the project from github https://github.com/fsharp/fsharpbinding and running make in the vim directory - Vim 7.4+, make, python and a couple of other vim plugins required.

After that, things can start getting pretty nice. For (my only public) example, https://github.com/mavnn/Advent2014 shows how you can use fsx scripts and paket (a package manager compatible with nuget.org and taking source dependencies from github) to create a nice little project without needing to get into any of the Visual Studio project file nastiness. Of course, if you need to work on an existing project, the Vim bindings know about how to handle that too - but actually editing project files is still a pain.

One word of caution: there's currently a bug in the packaging for rpm: I'd go with Debian/Ubuntu packages at the moment. And as a final option, building from source is slow but has become pretty reliable over the last year or so.

There are definitely people using F# on Mono in production, but it is the smaller brother still.

Having said that, nearly all of the "core" projects are now being CI tested on mono as well as windows, and the fsharpbindings project provides autocompletion for Vim and Emacs (+ powers the MonoDevelop/Xamarin Studio F# support as well).

I'm having great fun writing F# code in Linux with Vim - now that .fsx (F# script) files have proper #! support you can just write fsx files with full highlighting, error checking and autocompletion in place and then run them with supervisord.

.NET Fiddle adds F# 13 years ago

Un-functional might be a bit misleading for an ML-based, default immutable language. Impure might be slightly more accurate.

Having seen F# written by C# coders who've just learnt the syntax, and haskell programmers who are having to work in a .net environment, I'd say F# does a fairly good job of supporting both. It does make some trade offs to allow easy interop with the rest of the .net world (it's type system is much less powerful than Haskell, Scala or (especially) Idris) but depending on your environment that can be out weighed by the massive scale of the .net ecosystem, easy interop with your existing .net code and very, very good tooling.

You are, in your very definition, stating that it fails for more than a handful of intelligent people ("if you set aside the atypical cases of candidates who are esteemed scholars, scientists and technologists, who are nevertheless fervently religious, of whom we can be sure there are more than a handful"). These 'intelligent people' of whom there are 'more than a handful' will also almost certainly disagree with your definition of intelligence.

I might go out on a limb at this point and suggest that defining religious people as stupid is not particularly helpful, even operating from your own assumptions as stated in your own definition. Some intelligent people might happen to disagree with your assumptions as well, but I'll leave that argument as well outside the normally appreciated scope of HN discussion.

BitCon: Don't 13 years ago

I could hear the volume of my 'mental voice' rising as the various forms of emphasis started overlapping and leaving less and less text untouched, until it felt like I was reading the screaming denouncements of a deranged dictator.

The content was actually quite interesting underneath.

VsVim 14 years ago

It does actually support a limited .vimrc - depends a bit what types of custom bindings you want.

VsVim 14 years ago

That's largely my thought. I love Vim, and it's occasionally frustrating when VsVim doesn't cover a corner case; but the functionality of VS with ReSharper means that for .net code I'll put up with it.

Not sure about passionate, but I like it enough that I use VsVim for my day job (.net developer).

I actually started using Dvorak before picking up vi; never had a problem with the keyboard mappings. It helps that j and k are still next to each other, and h is to the left of l.

Yes. Be polite, have an accurate view of what your time is worth and be open about what you're asking and why.

People may not want (or have the authority) to change the deal, but if they are offended by you asking you do not want to work with them. It implies they are looking for a drone, not a real human being.

I've worked in several local government jobs in the UK, where budget (and 'Single Status payscale') constraints mean that the hiring manager normally doesn't have the authority to change the salary offered. Just asking the question has still given me an invaluable insight into the manager's way of thinking.