Wilfred Hughes

@_wilfredh

What did you learn whilst programming today? Programming languages, human factors, and a healthy dose of Emacs.

London, UK
Joined June 2009

Tweets

You blocked @_wilfredh

Are you sure you want to view these Tweets? Viewing Tweets won't unblock @_wilfredh

  1. Pinned Tweet
    Jun 22
    Undo
  2. Retweeted
    14 hours ago

    Pressing e in a *Backtrace* buffer (bound to debugger-eval-expression) will let you evaluate local variables in that stack frame! Super useful when debugging.

    Undo
  3. 14 hours ago

    Arch Linux updates its linux kernel packages more often than I reboot!

    Undo
  4. 15 hours ago

    In addition to 'sufficiently smart compiler', I've seen tech concepts that require a 'sufficiently smart UI' or even a 'sufficiently smart user'. These should be stigmatised too. Teaching a new UI or abstraction sometimes shows that it's not ergonomic.

    Undo
  5. 21 hours ago

    Taken to the extreme, why don't link shorteners save the entire content of the destination URL? This would be an awesome fallback in the event that entire pages or sites go down.

    Show this thread
    Undo
  6. 21 hours ago

    Links in org-mode take an entirely content centric approach. They take the form: [[file:path::line-content][link text]] This is an effective, general approach. It's still a shame we don't go a step further: a link database could store multiple hints of the content's location.

    Show this thread
    Undo
  7. 21 hours ago

    One slide that really stuck with me was this discussion of XPath selectors in the face of documents being edited. This is a reasonable approach, but links could do so much more! If we stored the surrounding text, a browser could fuzzy-find the location if an ID is removed.

    Show this thread
    Undo
  8. 21 hours ago

    Fascinating introduction to early hyperlinks: there were 'linkbases' (storing links separately from the content), they weren't 1:1 (one link could point to multiple destinations) and had gossip protocols to update on other servers!

    Show this thread
    Undo
  9. Aug 26

    Some great perspectives from JupyterCon: reproducible/explicit state is important, notebooks are replacing bash scripts in some workflows, and they're even used to introduce programming to total beginners!

    Undo
  10. Aug 25

    A cute JS project that automatically instantiates controllers based on the HTML you've loaded, allowing you to easily add logic to pages using Turbolinks:

    Undo
  11. Aug 25

    I am fascinated to learn that Multics (the Unix predecessor) was a big influence on the lisp condition system (i.e. resumable exceptions)! From

    Undo
  12. Aug 25

    Common Lisp is the only language where I've seen other languages implemented on top. Today I saw an awk implementation! Racket comes close (and has great tooling) but I've not seen anything like the Python implementation on CL.

    Undo
  13. Retweeted
    Aug 24
    Replying to

    The first problem is recognizing you have a constraint problem. The second problem is knowing there are solvers for this problem. The third is teaching others / management about constraint problems and solvers. The forth problem is woops out of time write it in node for a month.

    Undo
  14. Aug 24

    Computers are stronger than humans at chess and go. They're even winning at arimaa, which was specifically intended to be hard for machines. Watching AI play Quake-style CTF recently, I've realised I no longer have intuitions on which games are hard for computers.

    Undo
  15. Aug 24

    The vast majority of PLs are either self-hosted or implemented in a systems language (one without GC). The only exceptions I can think of are PureScript, Elm (both written in Haskell), Hack (partly uses OCaml) and Clojure (Java). Are there others? Is it a good tradeoff?

    Undo
  16. Retweeted
    Aug 22

    I've found that the best response is persuasive demos. Demos that show P is in fact a problem they have, that W/Y/Z don't solve P, and that X does. That's what I tried here, using TLA+ to catch a bug expert testers couldn't find:

    Show this thread
    Undo
  17. Aug 22

    'Mouse copy' is neat way of editing sexps, based on a design from Lisp Machines: This lets you copy the sexp under your mouse cursor and paste it at point. Saves a few precious keystrokes! Full implementation here:

    Undo
  18. Aug 22

    Integers in Emacs Lisp are now arbitrary size, not just 32/64-bit!

    Undo
  19. Aug 22

    Elegant demo of SAT solvers: take a list of locks and which keys should unlock the (e.g. master keys unlock multiple), plus a set of manufacturing constraints. Feed it to a solver and calculate how to cut all the keys! A real industry usecase of SAT.

    Undo
  20. Retweeted
    Aug 20

    Syntax-highlighting inanimate code blocks is so last cycle. How about docs-on-hover, go-to-definition, and other fancy smarts in your docs and blog posts? Check out this demo! All you need is an LSP server and the open-source CodeIntellify front-end

    Undo
  21. Aug 21

    I've started naming my git remotes 'mine' and 'upstream'. It's a really useful way of tracking where you've pushed code: the name 'origin' doesn't really communicate anything.

    Undo

Loading seems to be taking a while.

Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.

    You may also like

    ·