Author Archives: Michael

About Michael

I am a software developer and part-time professor. I enjoy studying and discussing mathematics, computer science and software development.

Combinations Part 5 – (wrapping it up)

The original problem as posed by Eric Lippert was to write a function to produce all the combinations of k elements from a collection of n elements. So far I’ve ported the code to product all the combinations of k … Continue reading

Posted in computer science | Tagged , , | Leave a comment

Combinations – Part 4 (combinations of booleans)

In this article we’ll implement the combinations function from Eric Lippert’s post. Here he implements a function that returns all the combinations of n booleans with k of them set to true. See part 3 of his series. Let’s implement … Continue reading

Posted in computer science | Tagged , , , | Leave a comment

Combinations – Part 3 (SequenceOf extensions)

I want to continue on with my implementation of Combinations. But first, when working on this problem I determined I really needed some helper methods on SequenceOf. Initially these were very complicated but as my comfort level increased I figured … Continue reading

Posted in Apple, computer science | Tagged , , | Leave a comment

Combinations – Part 2

Last time I started working on the combinations problem that Eric Lippert wrote about: We’ll be working a lot with SequenceType, SequenceOf, GeneratorType and GeneratorOf. I’m more familiar with the enumerating type of C# (IEnumerable and IEnumerator). Together SequenceType and … Continue reading

Posted in computer science | Tagged , , | Leave a comment

Combinations – Part 1

I’ve had a difficult time trying to understand the collections in the Swift programming language from Apple. In particular, I’ve been trying to identify the analog of the IEnumerable type from C#. I don’t think there is one. As an … Continue reading

Posted in computer science | Tagged , , | Leave a comment

Math from scratch in Haskell: addition

Last time I developed a representation of Natural numbers following Eric Lippert’s lead. In this post I’ll continue to follow him and implement addition.

Posted in Uncategorized | Leave a comment

Math from scratch in Haskell: zero and one

I’ve been following a set of posts written by Eric Lippert where he is implementing arbitrary size Naturals and the corresponding arithmetic in C#. As I follow along I’m writing an implementation in Haskell (one that I hope is idiomatic … Continue reading

Posted in Uncategorized | Tagged , , | 1 Comment

Importing Subversion Into Git

Over the years I’ve accumulated some Subversion repositories. I used Subversion to control the source code I wrote for my masters courses. These repositories are sprinkled around a couple of computers I own. Now that I have accounts on GitHub … Continue reading

Posted in software development | Tagged , | Leave a comment

Using git instaweb on a Mac

Today I discovered git instaweb. This is a very cool feature that allows you to instantly view your local repository (the one in your current working directory) in a web browser. It was incredibly easy to setup on my Mac. … Continue reading

Posted in Mac, software development | Tagged , | Leave a comment

Doing Code Reviews with GitHub

For many reasons, I really enjoy using git and GitHub for my current project. Today I’ll highlight one reason: code reviews.

Posted in software development | Tagged | 3 Comments