HN user

mjhoy

705 karma

twitter.com/mjhoy

[ my public key: https://keybase.io/mjhoy; my proof: https://keybase.io/mjhoy/sigs/Lgv777O017C9VdFcAMn_DooZSPw1v0MuFNN95Ws-J_w ]

Posts4
Comments156
View on HN

The mockingbirds and catbirds I’ve heard are easy to identify, not from a particular sound but from how they string sounds together. It seems to me they copy notes, but not songs.

In my experience, Wyoming was one of the most pleasant states to bike across (apart from the bits of interstate you need to take). Highways with wide shoulders and little traffic. Just get started early to avoid the afternoon wind.

Love that this is a project, anything to get more people doing long distance biking in the US.

I'll just add that on my tours, I tended to avoid rail trails. They are nice at first, but quickly become boring. Too straight, too flat and monotonous. Roads are far more exciting. That said -- I'd probably prefer a rail trail in those parts of Wyoming that you have to bike on the interstate!

1 — Sure. But Nix isn't exactly the most friendly package manager to begin with. I wouldn't recommend it if you're not comfortable creating volumes.

2 — Could you explain? Mine is on and working, I didn't need to do anything else.

3 — Is this if you have login items that need nix to be available? I don't have this so I haven't noticed.

4 — I've never run into this, but again I might just not use Nix for the kind of things that would cause issues.

Nix is very cool, and I encourage anyone to at least install nix on their machine and try it out. I started using it on my Mac, mostly to set up a Haskell environment, which at the time meant quicker builds than using other tools, due to the binary cache.

I now use it for python, scala, emacs and basically wherever else I can get away with not using Homebrew. I share the config [1] between my work and personal machine. This works really well: it's just a git pull, and a `nix-env -iA nixpkgs.devEnv` and my environment is updated (and I can easily roll back to the previous state if something goes wrong). It does take a lot of up-front investment, learning a new language and paradigm, but once things are working they tend to stay working.

[1] https://github.com/mjhoy/dotfiles/blob/master/nix/nixpkgs/co...

What you describe can also be done with one buffer and multiple windows that show the same buffer, and I do this all the time. The position of the cursor is associated with a window when multiple windows present the same buffer.

It also has a nice side effect of putting less demand on the glass

I don't follow. How does a higher resolution capture -- however it's accomplished -- not demand more from the glass?

it seems like you want a way to easily pull stuff out of old files so your working set isn't spread out all over the place.

Hmm. What do you mean exactly? I have all sorts of stuff in my org mode files, and what keeps track of them for me is the agenda view (i.e. it finds TODOs, deadlines, events, etc).

I'm particularly excited about the prospect of linear types; not so much for helping with space/GC efficiency (which is good of course) but for modeling state transitions and ensuring that, for instance, some intermediate state must get consumed once and only once. It's one of the bugs I often run into when writing Haskell code.

I use org-mode to track my todos, track my time, and to take notes.

The big benefit for me is that it can link to lots of different types of things within my emacs environment. For instance, I manage my email from within emacs (using mu4e), and I can set up org-mode to quickly make TODOs that link back to whatever email I have open. I can also link to files (local and remote), web URLs (of course), and to git commits which will open in Magit (an excellent git interface). So using it as my todo tracking is really quite handy. It would be less so if I weren't mostly living in emacs already.

It is difficult to find the descendants of a check-in in Git - so difficulty that nobody ever does it. [..] That one deficiency is a show-stopper for me.

This is interesting. In my using git I haven't ever needed to look at descendants. Perhaps that's just because the limitation is deeply established in my mind (git is really the only VCS I've used). How might this information be helpful in normal usage?

I would prefer to have a "fold/folder" of commits which could be manipulated as 'one commit'

You can get this, more or less, with the combination of using `git rebase` and `git merge --no-ff`.

That's kind of my point. Usually when you're just learning "general functional programming", you're thinking about, say, (+) as a function that takes two numbers, and returns a number, because you're at the stage of figuring out how something like

    fold (+) 0 [1,2,3]
works. Introducing "Semiring" as a concept at the same time can be a bit much for a beginner!

I do think it's a useful concept, and that Purescript is an excellent, intermediate-level FP language.