This page aggregates together stuff having to do with Joey from elsewhere on the net.

books
Seveneves
Seveneves
author: Neal Stephenson
name: Joey
average rating: 4.06
book published: 2015
rating: 0
read at:
date added: 2015/05/22
shelves: currently-reading
review:

Posted
identi.ca posts
recovery

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!

Posted
identi.ca posts
STM orElse

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 tryTakeLock is! (line 70) It uses waitTakeLock and converts it from a blocking wait to a one-time try, by simply using the orElse combinator 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.

Posted
identi.ca posts
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.)

Posted
identi.ca posts
17

Not actually true that all computer languages become turing complete in time. For example, I understand that Coq and Agda can intentionally only be used to write programs that can be proven to halt. So, unless the halting problem is solved, they're not turing complete, though still useful.

I think CSS should be a less-hifalutin' instance of the same thing, ideally. Turing tarpits and all that.

Posted
identi.ca posts
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?
Posted
identi.ca posts
as you do

Sittin' on the front porch, shaking a handful of beans to accompany to Feufollet while waiting for haskell code to compile, as you do.

Posted
identi.ca posts
4

Had a long dream last night about rebuilding my car's wheels from scratch. My attempts kept turning out to be square.

Posted
identi.ca posts
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.)

Posted
identi.ca posts
pet's pets

Managed to prevent cat bringing a chipmunk into the house. She brought in a little lizard instead.

Posted
identi.ca posts
derbycon

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.

Posted
identi.ca posts

How did I manage to not watch "War Games" until now? I wrote wargames(6) in 1998!

[edit: Just to be clear, I wrote the manpage, not the program it documents.)

Posted
identi.ca posts
perfection

Creek wade, goats & chicks, yummy homegrown lunch, playing Hive in the sun on an upturned washtub, excellent conversation, wildflower hike, and later chicken Larb cooked by a Thai grandma. And home in time for golden hour!

Posted
identi.ca posts
14

Well, there is no way I am compiling jQuery and all its dependencies in this state any time soon. -- http://dustycloud.org/blog/javascript-packaging-dystopia/

I think there's an important assumption here: You're compiling. Not the computer.

Historically, distributions have been very heavy on developer labor to get dependency trees packaged up, one piece at a time. This makes hundreds of dependencies a real grind. Also makes it really hard to deal with packaging new versions fast enough.

What automation there is, tends to be tools of the "give me a tarball and I'll give you a skeleton source package that will work with maybe some tweaks, and you can take it from there".

One of the reasons Nix and Guix are interesting to me is that they lift package building from declarative source packages to programs. This could allow writing the "jquery package" program once, and then parameterize it, and apply it to the whole universe of jquery packages.

I think Nix has gone some of this way with haskell packages; at least they seem to be able to add new ones and update existing with very little busy-work. Probably not all the way though.

There are some challenges. Such a program needs to have as an input the current dependency tree of jquery packages. Copyrights still need to be manually reviewed (ugh).

Also, the right versions of things need to be picked when selecting what to package for upgrades.. Or do they? If versioned dependency information is available, the packaging program could lift it into the package manager's dependency system, and simply package all versions of everything, and let the package manager pick appropriate versions. Nix and Guix seem to be making the right choices to allow this kind of universe of versions of software to be used.

This is, perversely, one reason I've been reluctant to dive into either Nix or Guix. Using their languages this way means you're doing Real Programming when you package stuff. I am doubtful about using the Nix language for large-scale programming; it's a weird DSL. And Guix's Scheme is great, but I'm not a schemer. If I were writing a jquery package conversion program, I'd want probably something like Aeson for automatic import of json into strongly typed data, etc. I'd want to be able to compile my system and know if it broke. I'd want to use advanced type system features to prevent foot-shooting by users.

(BTW, I've been kicking around the idea of a haskell to nix EDSL. Apparently there is already a javascript to nix DSL.)

Posted
books
The Just City
The Just City
author: Jo Walton
name: Joey
average rating: 3.73
book published: 2015
rating: 0
read at:
date added: 2015/04/16
shelves: currently-reading
review:

Posted
books
The Highest Frontier
The Highest Frontier
author: Joan Slonczewski
name: Joey
average rating: 3.42
book published: 2011
rating: 0
read at:
date added: 2015/02/01
shelves: currently-reading
review:

Posted
books
Hieroglyph: Stories and Visions for a Better Future
Hieroglyph: Stories and Visions for a Better Future
author: Ed Finn
name: Joey
average rating: 3.74
book published: 2014
rating: 0
read at:
date added: 2014/12/18
shelves: currently-reading
review:

Posted
books
Schild's Ladder
Schild's Ladder
author: Greg Egan
name: Joey
average rating: 3.91
book published: 2002
rating: 0
read at:
date added: 2014/11/17
shelves: currently-reading
review:

Posted

List of feeds:

  • music: last checked (0 posts)
  • identi.ca posts: last checked (1461 posts)
  • twitter grep: last checked (2229 posts)
  • books: last checked (37 posts)