Returned from EMPEX19, where fun was had.
No more than 150 people, all hanging out in a jazz club (yes, with projector and lectern) for a day of Elixir/Phoenix/Nerves talks and a *serious* commitment to the "hallway track". Except there were no hallways; instead we got 20-30 minute breaks in between nearly every talk.
The "crash course in Elixir" training I took the day prior was also helpful, in that it provided a precise marker for my place on the learning curve 😂
Bonus random: here is a Phoenix Live View demo, written in Elixir, doing 60 FPS animation *on the server side*. This link skips you to the demo plus a little explanatory preamble: https://youtu.be/Z2DU0qLfPIY?t=2490
Well, I was impressed anyway...
Pivoting to more practical concerns, I remain very, very impressed with the tooling around Elixir (and by extension, Phoenix, Ecto, Plug, etc.).
The iex shell has slick completion-- for example, 'String.[tab]' shows you the family of functions-- and the 'h' command, as in 'h String/split', will pull the inline docs from any module or function. These docs are surprisingly good, with useful examples (at least for a noob).
The mix build system and hex package manager are similarly solid.
Short, Shameful Confession: I have altered the default Sublime keystrokes to match the Ctrl-k-[something] commands from joe/Wordstar.
Since many ST3 commands on OSX use the Cmd key instead of control, this is rather more effective than you might assume! But it's very incomplete, even leaning on the work of others. My muscle memory strongly desires joe's block select/copy/move family of commands, and they either conflict or will need some macro work to function correctly.
I will solve it.
17" MBP update 3/3:
The 2009 model is currently my daily dev driver.
Maxed out to 8GB memory, I've been able to run Omnifocus, Slack, iTerm2 (many windows), Tweetbot, a couple small Postgres databases, nvAlt, Sublime Text3, Dash, and a truly unsupportable number of ffox tabs without it falling over. NOS battery fixed the trackpad and gives ~4 hours of use. Acceptable.
Can it build gcc in an hour? Ha, no. But I'm calling this a serious win, a few ticks shy of a flawless victory.
17" MPB update 2/x
The early 2007 pre-unibody model is maxed out at 2GB memory. On FreeBSD, under a minimalist XFCE desktop, that's some xterms, Atom or Sublime, and MAYBE 2 or 3 firefox tabs. No legit NOS battery source seems to exist, and /dev/sysmouse hates the trackpad still, so this is a plugged in desktop only.
Well *I'd* use it as such, but I ran a Personal DECstation with 16mb until 1999. I'm not sure anyone else could stand it.
Shame. The KB and screen are still very nice!
17" MBP update 1/x.
Apple stopped supporting these at El Capitan (or, maybe at Snow Leopard for the 2007 model...but it's with FreeBSD now). Among other things, this apparently means that there is no Mastodon client that can actually, you know, POST A TOOT.
If 3 slightly different versions of a long MBP post show up an hour from now I'll just laugh.
Web client it is, for now.
I start playing "The Galaxy Song" with an Fdim.
Note for non-musicians: no musician you know can name a song that starts with Fdim off the top of their head. Feel free to test this.
Still, I am gobsmacked when I hear R. start singing the song, on time and in tune, while the chord is still ringing, from upstairs where she is getting ready for bed. "Whenever life gets you down, Mrs. Brown, and things seem hard or tough..."
A true clutching my head like a stunned monkey moment.
Also: so proud 🤣
(Expanded from birdsite)
So I am playing guitar, practicing for a potluck gig this Friday-- both kids will be playing/singing also, we have the low key "play while people eat" part of the evening-- flipping through saved tab and chord sheets, making a set list.
Ooh, "The Galaxy Song" from "The Meaning of Life!". So, so, SO not written for guitar but that's hardly stopped me before, plus it's fun to sing and both kids know it by heart.
Having the damned touch pad be the critical flaw in both laptops is the kind of bullshit I could do without frankly. Sure, let's have the ONE THING that cripples portability be broken on both.
Ok two things: neither battery is good for more than about 1:15 which is not gonna cut it.
Gonna haul both to a local boat anchor repair shop and see if I can either get parts or trade both in for a decent substitute.
Just after I'd gotten my editors set up how I like 'em :/
The ~2007 macbook pro 17" rebuild as a FreeBSD machine was mostly successful, but the ATP touch pad driver is too wonky, all the niche web browsers are hot garbage, and more than 2 FFox tabs brings it to its knees. It's a great terminal but too slow for daily dev use.
The ~2009 unibody 17" MBP, on the other foot, has juuust enough power to do the job, but: parts are impossible, the battery is swelling, which kills the touch pad, and it's stuck on El Cap so more than a couple apps are busted.
Apropos of nothing, Elixir seems delightfully Unix-y in its approach. Is this true of all functional languages?
Using pattern matching across a series of pipelined functions...yessss, very familiar.
Throw in the Erlang VM underneath it all and some great tooling-- the 'mix' command from the Phoenix Web Framework does a stupid amount of heavy lifting-- and this seems like a fast path to robust concurrent web apps.
I am at the point in my Elixir learning process that re-writing some stupid little utility seems like a reasonable way to explore how much I don't know.
So I says to myself, I says "I know, I'll do ddate! It's what, 250 lines of C?"
(I know *slightly* more C than Elixir)
Ok first of all, I forgot that everything having to do with date/time in computing can go fuck itself with a rusty harpoon.
But second...of COURSE Discordian code style favors humor over clarity.
Barging ahead anyway.
2/2 The Fix: grab the .pkg installer from fishshell.org which will install into /usr/local/bin just fine.
Open a terminal and `brew uninstall fish`. This only nukes the Cellar files for some reason, which you want, it leaves the binary you just installed alone...which I did not expect.
I realize this is Homebrew's failure, not Fish's, but a few other configuration elements have been borked lately despite no editing on my part, so I am kinda sour on it right now.
Why did I switch again?
HEY: if you installed the fish shell with homebrew on MacOS
DO NOT "brew upgrade" RIGHT NOW.
It will fail, somehow skipping the link into /usr/local/bin from the Cellar, causing every terminal window to exit immediately.
Can I make an alias from the Cellar and drag it into /usr/local/bin? No.
Edit /etc/passwd to change the shell: no, MacOS doesn't use that file except in single user mode.
Can I change the shell in the Preferences panel? Of course not, what OS do you think this is?
My main output mixer is completely out of control and housed it it's own 3u rack. It's a Ray Wilson MFOS stereo mixer with two of his dual VCAs bolted onto the 4 mono inputs. CV control of ch1-4, two stereo channels, two aux sends with stereo return, stereo main and headphone out. Sounds better than any low end Mackie and lets me attempt CV control of an entire mix.
After all, what did you expect?
I'm here as promised, if not as forseen.
Ceejbot's mastodon instance. This is an overprovisioned, personally-run instance running on AWS. I welcome friends to create accounts here. I intend to run it as long as people are using it.