? Editing: Post:21.body Save Delete Cancel
Content changed Sign & Publish new content

Κappa Σigma

Snippets about
everything and nothing

Follow in NewsfeedFollowing

Latest comments:

How to make your own yogurt

on Jan 30, 2017 ·

Making your own yogurt is very easy and the final product is delicious. You can use the type of milk you want — from full cream milk to skimmed milk, and even soy milk if you wish to go vegan. And what more is: with a bit of practice you can get exactly the tanginess you want by adjusting the ferment­ation time (and to a certain extend, the temperature).

Strictly speaking, yogurt is milk cultured with the lactic acid bacteria Lacto­bacillus delbrueckii subsp. bulgaricus and Streptococcus thermo­philus. Milk cultured with other lacto­bacilli or bifido­bacteria have other names, e.g., acido­philus. For the sake of ease, I will refer to both types as “yogurt” unless we're talking about real yogurt, in which case I will use the term “yogurt proper”.

The effective time for making a batch of yogurt is around half an hour. How­ever, heating and cooling the milk takes time, so does the fermentation and the final “maturing”: Starting one day before noon, the yogurt is ready for con­sump­tion the next morning.


  • 1 L milk (cow's, goat's, soy)
  • 1 dL starter culture


Make sure your hands and utensils are impeccably clean!

Heat the milk to 85°C in order to denature the proteins. If this step is omitted, the final yogurt tend to separate into curd and whey. If you overdo the temp­erature significantly, the final product will have a faint taste of boiled milk.

Let the hot milk cool to 41°C if you wish to make yogurt proper, or around 37°C for other cultures.

Mix in starter culture. If you haven't made yogurt before, buy some unsweet­ened, unflavoured, and unpasteurized yogurt, otherwise use some yogurt from a previous batch. Alternatively, use one or two probiotic capsules (you can easily separate the gelatine capsules and use the freeze dried culture inside).

Cover with a lid and let the mixture sit at the required temperature (41°C for yogurt proper, 37°C otherwise) for 6-8 hours. The longer the fermentation, the more tangy the final product will be. If you're using soymilk, the fermentation will take approximately 50% longer: 9-12 hours.

Place the yogurt in the fridge and let it set for 12+ hours before using it.

Set aside some yogurt for your next batch before adding fruits or flavouring.


We're culturing bacteria here, so keep your hands and utensils clean at all times!

You can heat the milk in the microwave oven. When my microwave operates at full power, it takes 2×5 minutes to reach 85°C if the milk is taken from the fridge, and 2×4 minutes when the milk has room temperature (e.g., soymilk that hasn't been refrigerated). If you plan on making yogurt regularly, knowing your microwave can be a real timesaver.

A good yogurt machine that holds one litre cost €25-30 and is totally worth it. Otherwise it can be difficult to keep a stable temperature for a prolonged time. These yogurt machines almost always come with one setting only, 41°C, which is too warm for other cultures than yogurt proper. To solve this problem, connect the yogurt machine to a plug-in timer of the type that has a dip-switch for every 15 minutes. Switching the machine on and off for 15 minutes at a time keeps the temperature at an average 36-37°C, which is just perfect for other cultures.


Read more

MORPHiS quickstart

on Jan 11, 2017

As mentioned elsewhere, the creator of MORPHiS 🡕, Sam Maloney, was shot dead by the police a few days before Christmas, 2016. Shocking story aside, this seems to have sparked a new interest in the MORPHiS software: While I'm writing this, a dozen users are logged into the #morphis IRC channel on Free­node.

Among other things, MORPHiS sports Dmail — encrypted uncensorable messaging — which might be of interest to Zeronet users, so here's how to get started with MORPHiS on ArchLinux:

$ git clone https://github.com/bitcoinembassy/morphis.git  # get morphis
$ cd morphis
$ sudo pacman -S --needed python-crypto      # install PyCrypto
$ sudo pacman -S --needed python-sqlalchemy  # install SQLAlchemy
$ sudo pacman -S --needed cython             # optionally install Cython
$ make                                       # optionally compile the C-modules
$ ./run.sh                                   # run MORPHiS

Now point your browser at localhost:4251 and click the Dmail link. You may now want to create a Dmail address. Using the standard parameters is fine. After a few minutes you're good to go.

Feel free to dmail me at my test address, toy48fznw1afmxf1, if you want to check your setup.

Read more

Show ZN: memx

on Sep 12, 2016

Memoize output from job execution: Subsequent runs will use the cached values from a previous run (and preserve stdout, stderr and returncode), unless TTL has been reached (by default, jobs are only run once).

Get it while it's hot ⌘ https://github.com/kseistrup/memx


Usage: memx [OPTIONS] -- COMMAND [ARG [ARG …]]

Positional arguments:
  COMMAND               command to run
  ARG                   optional arg(s) to command

Optional arguments:
  -h, --help            show this help message and exit
  -v, --version         show version information and exit
  -c, --copyright       show copying policy and exit
  -f, --force           re-run command no matter what
  -d [DIR], --dir [DIR]
                        where to store cache data     (default: ~/.cache)
  -t [TTL], --ttl [TTL]
                        time before we re-run command (default: never)


Runs on Python 3 only (tested on Python 3.5.2).


Drop memx in your $PATH.


$ memx -- date --utc '+%F %T %Z'  # first run
2016-09-12 16:22:44 UTC
$ echo $?
$ memx -- date --utc '+%F %T %Z'  # subsequent run
2016-09-12 16:22:44 UTC
$ echo $?

Bugs and enhancement requests to Github 🡕, please.

Read more

KBFS messenger (proof of concept)

on Aug 20, 2016

Inspired by the twtxt 🡕 file format, I've put together a handful of shell- and python-scripts that allow you to communicate securely (sign and encrypt) with somebody in near real-time, using the Keybase filesystem (KBFS) as transport- and storage-medium: kbmsgr 🡕



Put all of the scripts from the …/src 🡕 directory somewhere in your $PATH, then launch kbmsgr (/keybase should be mounted, of course):

$ kbmsgr ${my_keybase_username} ${their_keybase_username}




This is alpha quality software, use at your own peril.

Read more

Keybase invites

on Jun 25, 2016 ·

I've got a bunch of Keybase 🡕 invites. The signup queue is > 25,000 people long right now, and an invite bypasses the line entirely.

Send me a message with your email address if you're interested.

The keybase pre-release sports the Keybase filesystem 🡕, KBFS, which is awesome.

See also

Read more

Ghost peers?

on May 15, 2016 ·

A while ago I created a new zite by cloning ZeroBlog. I also created a bunch of ‘empty’ posts by clicking the Add new post button, and finally I made sure that the Zeronet nodes on my VPSes were aware of the zite. That's all. I never announced the zite on ZeroTalk, 0List or any of the search engines around here. Nor did I associate a .bit domain with the zite or loaded the zite through any proxies.

For a few weeks now, the zite has pretty consistently showed up in New ZeroHello with ~20 peers, 5 of which are my own. This baffles me:

  1. Where did the remaining ~15 peers learn about the zite?
  2. Why on Earth would those ~15 peers keep seeding a zite with no contents?
Read more

Maj är välkommen ♫

on Apr 30, 2016


I natt så är det Valborgsnatt 🡕
Maj är välkommen
Och skogen den bär gröner hatt
Sommaren är ljuvlig för oss alla

Här står vi några piltar små
Maj är välkommen
Så ge oss lite och låt oss sen gå
Sommaren är ljuvlig för oss alla

Nu sätter vi maj i bondens vägg
Maj är välkommen
Så får vi brännevin och ägg
Sommaren är ljuvlig för oss alla

Och kan vi inga pengar få
Maj är välkommen
Så låt den svarta buteljen gå
Sommaren är ljuvlig för oss alla

Här inne bor en bonde snål
Maj är välkommen
Han äter sill och surer kål
Sommaren är ljuvlig för oss alla

Nu hör vi mor på golvet gå
Maj är välkommen
Hon letar ägg i varje vrå
Sommaren är ljuvlig för oss alla

Nu sätter vi maj i pigans säng
Maj är välkommen
Och akta dig väl för grannens dräng
Sommaren är ljuvlig för oss alla

Nästa år när vi komma igen
Maj är välkommen
Så står väl vaggan vid pigans säng
Sommaren är ljuvlig för oss alla

Vår spelman vi ej klandra må
Maj är välkommen
För att han låter stråken gå
Sommaren är ljuvlig för oss alla

Nu hör vi träskorna skramla
Maj är välkommen
Och vår speleman han ramla
Sommaren är ljuvlig för oss alla

Sommarn har vi i vår säck
Maj är välkommen
Och vintern har vi jagat väck
Sommaren är ljuvlig för oss alla

Och den som har men ej vill ge
Maj är välkommen
Den önskar vi åt helvete!
Sommaren är ljuvlig för oss alla

Vi lyfter på vår gamla hatt
Maj är välkommen
Och önskar er alla tack och godnatt
Sommaren är ljuvlig för oss alla

Read more

Cymbalaria muralis

on Apr 28, 2016

All alone and feeling blue

Read more

Unknown species

on Apr 25, 2016 ·

Help needed:

Here's a snapshot from my windowsill. Is anyone here able to identify the species (heck, even the genus would be a step forward)?

Unknown species

Chances are we're talking about a Pfeiffera monacantha 🡕 (syn. Lepismium monacanthum).

Read more

New zombie on the block: MORPHiS

on Apr 23, 2016 ·

Back in October 2015 people on /r/morphis 🡕 started wondering where Sam Maloney, the author of MORPHiS 🡕, had gone. Nobody had seen him on IRC or in /r/morphis since appr. September 10.

A dmail from Sam dated October 2 explained that

As long as I am alive I will not be abandoning [MORPHiS], I promise you all this. I have continued to work on the net v2 code. After that I am convinced to do the forum (DDS), and then immediately following that will be concentration on all things that are ease of use stuff (with publishing tools as the primary focus).

and continued

I am working on morphis as much as possible (it is what I do instead of listen to the prof in my CS courses :), but the non CS courses are a bit more work than I expected, as well, trying to network/socialize wastes/uses a lot of time.

I will be back to full time work on morphis for the winter and possibly spring breaks, and for sure come summer again I will be full-time plus on morphis again until next school year (if I choose to continue). I should have the net code done in maybe another month. Then the forum stuff will go pretty quick as it, unlike the net code, is much more just coding than complex designing.

I am open to any pull-requests as always.

Then: nothing, and more nothing, until this morning – after 226+ days of absence – when I received an email from Sam with just these words:

Hi Klaus,

I am back.

Heading back to /r/morphis I learned that not only did Sam announce his resurrection 🡕, he had also blatantly removed a bunch of comments from the darker side of MORPHiS' history that he obviously didn't like, such as this one from yours truly:

It's difficult to stay optimistic

If you browse the subreddit you can find several such examples.

I'm sorry, Sam, but I cannot support your project anymore. You, the lead developer – and sole person with commit privileges – left “[your] life's work, [your] purpose in life, [your] calling” without prior notice and kept the active userbase you had on IRC and Reddit in the dark for 7+ months, and then you suddently pop up like a jack-in-the-box and say “I'm back!”? I'm sorry, Sam, but that's not how it works for me. For how long are you gonna stay this time? And if you leave for “the next school year”, will you this time notify your users that you will be absent for the next 7+ months? And when it happens, will all development be suspended until you one day decide to come back again and continue where you left off? Sam, let me give you a free advice: don't piss on your users.

I just received an email response from Sam Maloney, who is unamused:

You sound crazy. Your interpretation is that of a negative or crazy thought process. Seriously, that is really negative, I don't understand how what you said could alter someone like I remembered you to such a drastic change to what you are acting now. I hope you cheer up. Worse case you will be happier when we've all succeeded, and see you then!
PS. Didn't mean to delete anything. What I deleted looked like empty spamish stuff. You can see I left the negative stuff people were saying about me, so obviously I wasn't trying to censor anything. That interpeer paper I read when he first posted but there was no new developments, so was cleaning that out since it didn't belong here but in /r/p2p, would have left it if it had developed, would liked to work with him, etc.
Good luck!

Another update
It seems Sam found his brains (or heart?) and the undelete button on Reddit: At least one comment 🡕 has been undeleted.

I have previously mumbled about Morphis.

Read more

Python + timezones = FSCK

on Apr 17, 2016 ·
>>> import pytz
>>> pytz.timezone('Europe/Copenhagen')
<DstTzInfo 'Europe/Copenhagen' CMT+0:50:00 STD>


Read more

Frigate flask

on Apr 17, 2016 ·

I wonder where the designer got their inspiration for this thermo flask:

Frigate flask or thermo bird?

Read more

Toilet paper roll

on Apr 13, 2016 ·

The original patent from 1891 for a toilet paper roll shows the correct rolling direction, in case you ever doubted.
Loo roll

Read more

Map of emotions

on Apr 09, 2016 ·

Musickiller's full moon sickness made me think: Wouldn't it be interesting if the emotions of every human being could be mapped in real-time, using e.g. the colours of Plutchik's wheel of emotions 🡕?

Plutchik's wheel of emotions

If each human's emotions were completely uncorrelated to, say, other people's emotions or to external circumstances, the large picture should be a more or less uniform noise (some would say “eigengrau”, although I personally see colours in the total absence of light). And if they were correlated, perhaps we would see waves of similar emotions sweeping over the globe. I would like to see such a map, wouldn't you?

Read more

Create secure passwords from CLI

on Apr 05, 2016
# This alphabet avoids ambiguities like 1/l/I and O/0
# Default password length

tr -dc -- "${myAlphabet}" < /dev/urandom \
| head -c "${myPasswordLength}" \
| xargs -r

Download genpass.sh and stick it in your $PATH.

$ genpass.sh -h
usage: genpass.sh [OPTIONS] [LENGTH]
  positional argument:
    LENGTH ............ create a password of length LENGTH (default: 24)
  options are:
    -h, --help ........ show this help text and exit
    -v, --version ..... show version information and exit
    -c, --copyright ... show copyright notice and exit
$ genpass.sh 17
Read more
Add new post


21 hours ago · 2 min read ·
Read more


21 hours ago · 2 min read


user_name1 day ago
This page is a snapshot of ZeroNet. Start your own ZeroNet for complete experience. Learn More