Hunting for a Link

There you are, browsing the web, maybe using a popular search engine. You enter your query and scan the results for a title that answers your question. There it is! You see it, the third result. You move your mouse to click.

And what's that? what's happening? You've clicked on …

more ...

Mayan writing... for English

Let us begin with a simplified version of the Mayan writing system. That is, we will encode English phonetically with the glyphs that represent sounds in Maya. We won’t have all the sounds, but oh-well!

Use the included syllabary to construct words from the associated sounds. Syllables in Maya …

more ...

Hydroponic Lettuce!

To stave off the miserable Pittsburgh winter I started collecting plants and lights.

One strategy I used was to start a small Hydroponic garden of lettuce. I followed the guide on Hydroponics Indoors almost exactly. I found the website very helpful, and when I emailed the owner a clarifying question …

more ...

Python string concatenation

I spent a little bit of time looking into Python string concatenation times. I learned that newer versions of Python implement an optimzation for the plus equals operator. In the future I'd like to know what this optimization is. It seemed simple enough to escape by introducing an intermediate variable …

more ...



Why not to use Credit Cards

When possible I try to pay with cash. Here's why

  • Credit card transactions are used to track your spending history to target advertisements. Google has access to 70% of transactions from credit and debit cards for the united states (source. Not so for cash.
  • Credit cards introduce a third party …
more ...

Real World Awk: Fastlaning localizations

What is Awk?

Awk is a weird mix of command-line tool and programming language. It's a language specifically designed for text processing. By default it has a notion of rows and separators. Think CSV but without support for quoted separators.

Problem

Fastlane is a tool for automating iOS app development …

more ...

Map a function or predicate in Mercury lang

Mapping a function in Mercury lang is pretty simple. First you need a function:

:- func myfunc(string) = string.

myfunc(In) = Out :- 
  append(In, In, Out).

Then you map it

:- import_module list.

NewList = map(myfunc, OldList)

We can do the same thing with a predicate.

:- pred mypred(string::in, string::out …
more ...

How to convert a predicate from multi to det in Mercury lang?

So you're learning Mercury lang and you have a predicate with multi determinism. Maybe it looks something like this:

:- pred school(string:: in, string:: out) is multi.

fish(Fish, ParticularFish) :-
  ( append("One ", Fish, ParticularFish)
  ; append("Two ", Fish, ParticularFish)
  ; append("Red ", Fish, ParticularFish)
  ; append("Blue ", Fish, ParticularFish)
  ).

Which has four solutions …

more ...