• Stars
    star
    129
  • Rank 279,262 (Top 6 %)
  • Language
    HTML
  • Created about 12 years ago
  • Updated 4 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

ploeh blog 'source code'

ploeh blog

This repository contains the templates and data for my blog at blog.ploeh.dk. It is powered by Jekyll-Bootstrap.

Comments

Comments for a particular post are kept as part of the post itself.

If you wish to comment on a particular post, send me a pull request for that post. If you're in doubt about the format, just look at how previous comments are formatted. For an example of a post with comments, see e.g. the very first post on this blog.

If you only wish to comment, you don't have to read on, but if you're curious, here follows some background.

Why is the comment system implemented this way? Partly, it's for historical reasons, but increasingly, it's also for longevity reasons.

Legacy

From its inception in 2009 to 2013 the blog ran on blogging software called dasBlog, which had its own comment system. When I decided to migrate to Jekyll, I had to figure out what to do with the existing comments.

While it would have been easier to ignore the existing comments, I felt an obligation to the readers who had engaged with the blog. Throwing the comments away didn't seem like a proper course of action.

The most popular comment system at the time was Disqus, and I did investigate whether I could import the existing comments into that system. It did strike me as a bit proprietary, though, which made me reflect further on the problem. Migrating the comments to Disqus would effectively trap them there. Would I be able to get them out again if I decided to migrate to yet another system?

Thus, I decided (at first, as an experiment) to embed the comments directly in the article. It's not ideal, but the trade-off I've identified.

Longevity

The web site at https://blog.ploeh.dk is the second blog I've authored. Before it, I wrote a blog on MSDN. When I stopped at Microsoft, I could no longer update it, which I found less than ideal.

When I started this incarnation of ploeh blog, having full control of the entire life cycle of it was a major priority. For the first four years, I ran the blog off a server in my home office. Before moving to Jekyll and GitHub pages, I specifically investigated whether that would lock me into GitHub, either technically or legally. That, fortunately, turned out not to be an issue.

Including the comments in the source code for the blog minimises dependencies on other systems. Should I need to move the blog to another platform in the future, the comments are right here, along with everything else.

I find it telling that since I migrated to Jekyll, Disqus is no longer the leading comment platform. What else will come and go?

ploeh blog has been around since 2009. Ponder the time involved. Services come and go, but I'm here for the long haul. I plan to do this for many more years, and I don't want to take a dependency on something that may become a problem in the future.

That means every third-party comment platform, including GitHub.

Readers occasionally write to suggest some service based on GitHub issues or the like. GitHub may last for a long time, but who knows about the code that drives such integration? And even a dependency on GitHub is not something I'm keen to accept.

GitHub is only a host and a publishing channel for the blog. The web site runs perfectly well on my laptop as well. It'll run fine somewhere else, too. After all, it's just static HTML files.

My time perspective is measured in decades. Few things last that long in software, so I'm taking a conservative stance.

Contributions

While ploeh blog is my personal blog, I'm happy to accept contributions such as:

  • Comments (see above)
  • Corrections of typos and the like
  • Look and feel enhancements (better CSS, etc.)

On the other hand, I don't intend to turn ploeh blog into a site with 'guest bloggers', so don't bother sending an unsolicited pull request for a completely new post.

More Repositories

1

Hyprlinkr

A URI building helper library for ASP.NET Web API
C#
198
star
2

ZeroToNine

A tool for maintaining .NET Assembly versions across multiple files.
F#
147
star
3

Booking

Demo code demonstrating how to manage a complex code base with DI, Convention over Configuration, etc.
JavaScript
127
star
4

Furl

Interact with HTTP resources using F# scripting
F#
76
star
5

Numsense

A .NET library for parsing natural-language numerals ("forty-two") to integers, and converting the other way as well
F#
62
star
6

asynchronous-injection

Sample code accompanying blog article
C#
43
star
7

CQRSonAzureDemo

Demo code accompanying the CQRS on Azure MSDN Magazine article
JavaScript
30
star
8

KataTennis

Supporting code for an article series called "Types + Properties = Software"
F#
29
star
9

UserManagement

Sample code for Humane Code episodes
C#
26
star
10

booking-web-ui

AngularJS-based UI for my Pluralsight course on Functional Architecture with F#
JavaScript
23
star
11

dependency-rejection-samples

Supporting code for an article series called From dependency injection to dependency rejection
HTML
23
star
12

advent-of-code-2017

Solutions for Advent of Code 2017
Haskell
15
star
13

ChurchEncoding

Examples of Church encodings in C#
C#
15
star
14

dependency-injection-revisited

Sample code for articles
C#
14
star
15

ExtensibilityForMasses

C#
12
star
16

BookingExercise

Start code for refactoring exercises
C#
11
star
17

RunningJournalApi

The code in this repository is sample/demo code used for Mark Seemann's presentation "REST with the ASP.NET Web API"
C#
10
star
18

loan

This is sample code accompanying my presentation "Faking Homoiconicity in C# with graphs".
C#
10
star
19

reservation-api-slice-csharp

C# demo code of a full vertical slice from HTTP to database
C#
7
star
20

picture-archivist

Example code supporting blog articles
F#
6
star
21

DiamondFsCheck

The Diamond kata done with Property-Based Testing in F#
F#
5
star
22

PureInteractionsInFSharp

Example code accompanying http://blog.ploeh.dk/2017/07/31/combining-free-monads-in-f
HTML
5
star
23

PureInteractionsInHaskell

Example code accompanying http://blog.ploeh.dk/2017/07/24/combining-free-monads-in-haskell
Haskell
5
star
24

StatePatternAndMonad

Sample code supporting a blog post about the State pattern and the State monad
C#
5
star
25

PollingConsumer

A pure Polling Consumer written in F#
HTML
4
star
26

UserProfile

Code examples for https://blog.ploeh.dk/2019/07/22/chain-of-responsibility-as-catamorphisms
PowerShell
4
star
27

EquivalenceClassesFsCheckFizzBuzz

Code from my Equivalence Classes, xUnit.net, FsCheck, Property-Based Testing presentation.
F#
4
star
28

restaurant-reservation-exercises

Exercises for programming workshop
C#
4
star
29

Hull

Graham Scan implementation in F#
F#
4
star
30

TCPStateCSharp

State pattern TCP example in C#
C#
3
star
31

ChurchEncodingCore

.NET Core port of ChurchEncoding repository
C#
3
star
32

HasProblem23

Haskell problem 23
Haskell
3
star
33

RegistrationFlow

Example code for article
F#
3
star
34

ArgsCSharp

Code repository supporting a blog post
C#
2
star
35

maitred-kata-in-fsharp-1

The Maรฎtre d' kata done in F#
F#
2
star
36

BrainfuckCSharp

Code repository supporting a blog post
C#
2
star
37

UserManagementCore

.NET Core port of UserManagement repository
C#
2
star
38

reservation-api-slice-haskell

Haskell demo code of a full vertical slice from HTTP to database
Haskell
2
star
39

RangeHaskell

A Haskell implementation of the Range kata
Haskell
2
star
40

FAlgebras

Various F-Algebras implemented in Haskell; supports article series.
Haskell
1
star
41

RangeCSharp

A C# implementation of the Range kata
C#
1
star
42

RangeFSharp

An F# implementation of the Range kata
F#
1
star