human interest details
ISumaTV is doing content distribution in Northern regions of Canada using git-annex, and free software built on top of it. I like to imagine this involves bush planes and dog sleds and satellite receivers with my software on them, but I really don't know the human-interest details.
We programmers so rarely do, often all we get to see is the bug reports..
http://www.isuma.tv/media-players-network and http://isuma-media-players.readthedocs.org/en/latest/design.html are an interesting reads anyhow.the hard drives and machines are usually shipped by planes, and the uplink is satellite... there way more folklore than we like to think up there... a lot of the original culture is being lost in our globalized nightmare, unfortunately... which is exactly one of the things isuma is trying to adress!
Lu.cy-her_ likes this.
Down from 11 docker containers on 3 servers to 3 docker containers on 1 server. Eight containers converted to systemd-nspawn.
But, I have not found the way to make systemd-nspawn containers work with --private-network and --port, which I need for the last 3 containers. Missing a network configuration piece. I think that I need a systemd-networkd built with iptables support, to get the necessary forwarding and masquerading.
http://0pointer.de/blog/projects/socket-activated-containers.html seems like an easier way to go. And also really quite cool. But I'd need a socket activated apache, or to switch to another web server that supports socket activation.
trust bleeding way
Time for IceCat to be included in distributions, it seems.Which of the following does 'trust bleeding away' refer to?
1 [ ] the very existence of sponsored tiles (adsinnewtabs)
2 [ ] enhanced (ie adsinnnewtabs) is the default config
3 [ ] classic (ie no adsinnewtabs) was shipped with a bug causing it to show adsinnewtabs
4 [ ] opaque lawyer/PR documentation
5 [ ] other
Bug seems to have been reported at least at
https://bugzilla.mozilla.org/show_bug.cgi?id=1103599 with only WFM responses.
IIUC classic mode should not display ads: "Classic to show only unenhanced History Tiles" says https://support.mozilla.org/en-US/kb/how-do-tiles-work-firefox
Stephen Michael Kellat likes this.
Three hours swimming at the river.
Wow, it's low, and busy, but my fav swimming hole is still quiet and 14 feet deep.
For the 1st time, three of my projects are described in the Haskell Communities and Activities Report. Read about git-annex, propellor, scroll, and a whole lot of other interesting haskell projects!
Should have done that a while ago, but impostor syndrome.
Wow, that's a huge report. There's really a lot happening.
While browsing other stuff and looking for yours, I started thinking about how Propellor has parallels with the GuixSD system definition and NixOps and whether a natural extension of Propellor might be to define packages as well as high-level systems. Then I reach Propellor and find that NixOS is indeed an explicit inspiration. :-)
strugglesWaded thru creek and swamp to install a cubietruck server, which ended up getting done without any console access at all. ... All after waking up at 5:30 am.
Will finish configuring new autobuilder from home thru ipv6 tunnel past 3 layers of NAT.
After all that work to deploy the server, here's the entire system configuration:
honeybee :: Host honeybee = standardSystem "honeybee.kitenet.net" Testing "armhf" [ "Arm git-annex build box." ] & ipv6 "2001:4830:1600:187::2" -- No unattended upgrades as there is currently no console access. -- (Also, system is not currently running a stock kernel, -- although it should be able to.) & Postfix.satellite & Apt.serviceInstalledRunning "ntp" & Apt.serviceInstalledRunning "aiccu" -- Using unstable to get new enough ghc for TH on arm. & Systemd.nspawned (GitAnnexBuilder.standardAutoBuilderContainer (System (Debian Unstable) "armel") Cron.Daily "22h")
Charles Stanhope likes this.
beautiful background processesbeautiful background processes making me happy this morning
Terabytes and terabytes downloading automatically to 50+ clients!
After automatically deploying a container and cross-compiling ghc in it and patching and installing dozens of libraries, this android autobuild worked the first time!
abstraction is nice
Switching autobuilders from docker containers to systemd-nspawn machines, and freeing up tons of disk space.
Seems that docker leaks disk; I deleted every image and container, but it was still using 60gb. Perhaps files created by older versions of docker? Good riddance, anyway.
Nice thing is, my propellor configs work equally well for setting up the autobuilders in docker or systemd-nspawn. Although so far only for containers that don't need any ports exposed.
Long lazy chilly blackberry winter day, spent reading novels. 500 or so pages in 3 novels. It's been a long time since I read like this!
Is GoodReads still your primary method of recording what you're reading ( http://joeyh.name/blog/entry/__34__whatcha_reading__63____34__/ ) , or have you found something better?
I recently had to implement a thread-safe wrapper to fcntl locks, which involved implementing my own inter-thread locking code. Because POSIX is horrible. http://git-annex.branchable.com/devblog/day_286-287__rotten_locks/
Take a look at this implementation: http://source.git-annex.branchable.com/?p=source.git;a=blob;f=Utility/LockPool/STM.hs
- First we have the unsafePerformIO of doom on line 46. (Actually safe in this application.)
- But then, look at how nice the implementation of
tryTakeLockis! (line 70) It uses
waitTakeLockand converts it from a blocking wait to a one-time try, by simply using the
orElsecombinator included in Haskell's STM implementation.
STM is awesome, and the orElse combinator is an awesome improvement on top of it, described in beautiful concurrency:
In particular, blocking (retry) and choice (orElse), which are fundamentally non-modular when expressed using locks, are fully modular in STM.
Mike Linksvayer likes this.
something to think about
Root canal in 2 hours. Maybe I'll find moments where I am able to chew on a tricky change to propellor's types.
I've gotten ghc's type checker to generate an awesome error message like this when it detects conflicting port resources. Just need to find a way to integrate this with propellor's already complicated Property types.
Couldn't match type ‘'Propellor.Resources.Conflicting’ with ‘'Propellor.Resources.NonConflicting’ Expected type: 'Propellor.Resources.NonConflicting Actual type: Propellor.Resources.Conflict (Propellor.Resources.UniqueList '['Port 443, 'Port 80, 'Port 443])
(Or maybe I'll just think about buddism. Life is pain.)
making curl | sh safe
A rather fascinating idea for a strongly typed compiler of web snippets of calculus of constructions. http://www.haskellforall.com/2015/05/the-internet-of-code.html
Or, see this post for some example use cases: https://www.reddit.com/r/haskell/comments/36d12v/haskell_for_all_the_internet_of_code/crdo2sj
Raises interesting questions beyond the technical...
- How does copyright apply when a program contains an url that defines the value 'four' as code? (Incidentially proving it's even.)
- Are these system F expressions the preferred form of source code or not? What about if they can be automatically translated to and from your programming language of choice?
Mike Linksvayer likes this.
Olivier Mehani shared this.
surprised to find that I can still write perl code
Thinking about implementing this soon http://ikiwiki.info/todo/emailauth/
Had a long dream last night about rebuilding my car's wheels from scratch. My attempts kept turning out to be square.
Efraim Flashner likes this.
arm boards don't die
Has anyone noticed that arm boards just keep running for aproximately forever? I have now ancient nslu2's, thecus, etc that still run fine, although they're now too old to bother with.
No moving parts, no power supply (just 5v in), barely any capacitors to plague out. Just not much to go wrong. The only arm board I've ever had die was stuck by lightning.
(Compare with laptops which are fully consumable.)
Managed to prevent cat bringing a chipmunk into the house. She brought in a little lizard instead.
Planning a trip to Louisville Ky this fall for Derbycon. I've never been to a hacker conference before and this one is a 4 hr drive and I've heard it's a good one.
Taylor Gunnoe likes this.