fujisan has quit [Quit: Connection closed for inactivity]
alexgordon has joined #elliottcable
Rurik has quit [Ping timeout: 240 seconds]
<ec>
ugh
<ec>
alexgordon, or somebody who's closer to rurik's timeone, ask him to tweet at me when he's around and has time
<ec>
we keep passing in the night >,<
<alexgordon>
lol ok
<purr>
lol
<alexgordon>
but I'm probably going to sleep same time as you
<alexgordon>
ec: how's stuff?
<ec>
I mean in the future if you're in here and see him
<ec>
he's literally not been online at the same time as me for days
<ec>
>,<
<ec>
alexgordon: stuff's frantic
<ec>
I want v. bad to finish the current massive rewrite of Paws
<ec>
so I can talk somebody into helping with the fun-stuff by showing them my functioning programming language
<ec>
but I keep getting side-tracked
<ec>
and with any luck school will start v. soon,
<ec>
and just eek
<alexgordon>
concentrate on school, lol
Rurik has joined #elliottcable
Rurik has quit [Changing host]
Rurik has joined #elliottcable
<alexgordon>
Rurik -- ec
<Rurik>
alexgordon, hi
<alexgordon>
<+ec>alexgordon, or somebody who's closer to rurik's timeone, ask him to tweet at me when he's around and has time
<Rurik>
alexgordon, done
<alexgordon>
my mission is complete
<Rurik>
What do you guys think about coding bootcamps?
<alexgordon>
Rurik: in what context?
<Rurik>
alexgordon, I applied to one
<Rurik>
dunno how will I pay for it tho
<alexgordon>
I don't have any direct experience
<alexgordon>
the main criticism I've heard is that they are expensive :P
<alexgordon>
Rurik: you know how I learnt to code... I was a teenager and I bought a book on C
<Rurik>
alexgordon, It is not the learning part I am stuck on
<alexgordon>
then what?
<Rurik>
The actually doing things part
<alexgordon>
Rurik: you just have to write code
<alexgordon>
I mean... that's all it is
<alexgordon>
I started coding in 2004/2005, and I've been doing it pretty much every single day since
<Rurik>
alexgordon, ok, let me cancel it then
<alexgordon>
is this in india?
<Rurik>
nope
<alexgordon>
I dunno how much these things cost in india
<Rurik>
murcan
<Rurik>
there is an indian one which is free
<Rurik>
but requires relocation to Bangalore
<alexgordon>
Rurik: I think what you need are people to work with... it's kinda boring to write code on your own
<Rurik>
hmmn, seems so
<alexgordon>
Rurik: really do learn C though! it's impossible to understand what's really going on, unless you know a low-level language
<Rurik>
alexgordon, K&R?
<alexgordon>
yeah, or whatever works
<alexgordon>
C and POSIX too
<alexgordon>
whenever I imagine say a hash table, I just think of its implementation in C. I just think ok you've got an array of N buckets, each with a linked list of (K, V)
<alexgordon>
I dunno how people manage who _don't_ know C, because potentially they'd have to think of every data structure as an independent entity
<alexgordon>
whereas with C it's all just pointers, integers and structs, computers are no more complicated than that
<Rurik>
alexgordon, what should I work on, though
<Rurik>
I have literally no idea
<alexgordon>
I don't know
alexgordon has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
<pikajude>
when i encounter a shit printer i like to pretend that it'll eventually start working if i just wait long enough
<pikajude>
it's a lot like the time i once waited for apache to respond to my web request for 11 days
<pikajude>
and convinced myself not to file a bug report on apache's trac thing saying "please make default request timeout shorter than 11 days"
<pikajude>
i don't know why i'm so spiteful
<pikajude>
but in this case, there's an immediate disconnect
<pikajude>
printer utility says "Printing..." and the printer is clearly doing nothing
<pikajude>
what's the problem? is my laptop sending the request and the printer is saying go fuck yourself? is my laptop pretending to send the request but actually just sitting there twiddling its thumbs?
<pikajude>
also finding that every printer related problem i'm googling is for HP printers
alexgordon has joined #elliottcable
Rurik has quit [Ping timeout: 240 seconds]
Rurik has joined #elliottcable
Rurik has quit [Changing host]
Rurik has joined #elliottcable
alexgordon has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
Rurik has quit [Ping timeout: 256 seconds]
Rurik has joined #elliottcable
Rurik has quit [Changing host]
Rurik has joined #elliottcable
Rurik has quit [Ping timeout: 240 seconds]
Rurik has joined #elliottcable
Rurik has quit [Ping timeout: 260 seconds]
Rurik has joined #elliottcable
Rurik has quit [Changing host]
Rurik has joined #elliottcable
Rurik has quit [Ping timeout: 240 seconds]
Rurik has joined #elliottcable
Rurik has quit [Changing host]
Rurik has joined #elliottcable
Hrorek has joined #elliottcable
Rurik has quit [Ping timeout: 265 seconds]
eligrey has quit [Quit: Leaving]
fujisan has joined #elliottcable
Hrorek has quit [Ping timeout: 256 seconds]
Rurik has joined #elliottcable
Rurik has quit [Changing host]
Rurik has joined #elliottcable
Rurik has quit [Ping timeout: 246 seconds]
Rurik has joined #elliottcable
Rurik has quit [Ping timeout: 272 seconds]
Rurik has joined #elliottcable
Rurik has quit [Changing host]
Rurik has joined #elliottcable
Rurik has quit [Ping timeout: 240 seconds]
Rurik has joined #elliottcable
Rurik has joined #elliottcable
<ec>
hi all!
<ec>
Rurik!
<ec>
pikajude: “and convinced myself not to file a bug report on apache's trac thing saying "please make default request timeout shorter than 11 days"” wat.
<ec>
purr?
<ec>
pikajude: "and convinced myself not to file a bug report on apache's trac thing saying "please make default request timeout shorter than 11 days"" wat.
<ec>
derp
<ec>
Not gonna lie, the reason I *actually* use CoffeeScript:
<ec>
`(->@)()` is almost as short as `this`, and even only one character longer than `global`
<ec>
I'm the guy who came up with the ≤2.0 URLs trick!
<ja>
and CS, but I try to keep away from client-side web dev as much as possible
<ja>
o.o
<ja>
the wat?
<ja>
!g the ≤2.0 URLs trick in Ruby
<ja>
wait wat, why did you !g a duckduckgo url?!
* ja
very confuse
<ec>
it broke with Ruby 2.0, but iirc the popular request-resolution library switched to my approach, and then almost immediately had to revert because 2.0 came out
<ec>
writing URLs as literals in your code, that evaluate variables or functions
<ec>
lolol
<purr>
lolol
<ja>
nice… if you’re _why…
<ec>
I'm a dirty nasty programmer
<ja>
lol
<ja>
you are, ec
<ja>
really
<ec>
maybe I am. ¯\_(ツ)_/¯
<ja>
why did it break?
<ja>
O_O
<ja>
maybe so
<ec>
oh I dunno I left Ruby before 2.0
<ja>
could very well be come to think of it
<ja>
ah
<ja>
I can’t see why that wouldn’t still work
<ec>
parser changes.
<ja>
oh wait
<ja>
yeah
<ec>
it becomes stupid if :// doesn't work anymore.
<ec>
and I'm pretty sure that's what broke.
<ec>
parsing failure, because regexen became high-priority.
<ec>
wanna know another of my insane projects?
* ja
just realized that you could actually type `http://:google.com/my_var/:index.html`, not just `http( :/ / :google.com() / my_var / :index.html() )`
<ec>
parsing *all of Ruby* with regexes.
<ja>
LOL
<ja>
*all of Ruby*?!
<ec>
which is possibly more of a fools' errand than p͖̞ar̤͙s̴͉i̡̥n̞͜g̪͈ ̲̦H̛̱T̙͎M̗͞L̢̫ ̮͓w̜͔i͙̥t̞h̪͕ ͏̫re̦̞ǵ̙e̙͔x͜ḛ͓s̘̗
<ec>
a nigh-impossibly fast 'grep'; *especially* so when grepping for simple globs instead of extended regexen; and **mind-bendingly* so when searching for literal strings
<jfhbrook>
pff
<jfhbrook>
I can barely handle regular grep
<ec>
also super-usable and simple and dev-friendly. You know, like, by default ignoring anything in your .gitignore …
<ec>
yeah! that's just it
<ec>
it's just `ag 'whatever'`
<ec>
like, all the time
<jfhbrook>
My secret is that I'm actually pretty bad at computers ;D
<ec>
it does everything super-zeroconf
<jfhbrook>
also isn't gnu grep supposed to be really fast?
<ec>
seriously `brew install ag` and just type 'ag' instead of 'grep'
<jfhbrook>
I remember reading a mailing list thread specifically about this
<ec>
dw about the rest, your life will quietly improve
<jfhbrook>
okay, I'll at least install it
<ec>
grep is fast, this is faster. I mean, searching the entire WebKit codebase in milliseconds (i.e. returning 'instantly' from your point of view)
<ec>
I loooove ag
<jfhbrook>
oh dang, line numbers
<jfhbrook>
line numbers alone make this valuable
<jfhbrook>
I'm sure there's a flag for clean output too?
<jfhbrook>
cool
<jfhbrook>
there are a *few* of them
<jfhbrook>
I should learn how to jq too
<jfhbrook>
since I'm usually grepping versions out of package.json files
<jfhbrook>
I have a number of shell scripts in my ~/bin
<ec>
brew install prettyping; alias ping=prettyping,
<jfhbrook>
I like whattimeisit.sh
<ec>
`fzf` obviously, `drip` if you ever work with java or clojure or anything based on java,
<ec>
`gifsicle` is beautiful and simple and v. powerful,
<jfhbrook>
I've half considered getting into java but learning what's idiomatic there seems hard
<ec>
`nmap`, which you've probably heard of
<jfhbrook>
and like, everyone's all, "you should get intellij" and I'm like, that costs money
<ec>
`pv`, short for ‘pipe viewer’, does exactly what it sounds like: you can display a progress-bar for data being piped, or output it to STDOUT in the middle of a long and complex shell pipe, or a bunch of other cool piping tools
<ec>
cat /a/disk | pv > /another/disk
<ec>
or sommat like that, I forget specifics
<jfhbrook>
dang that's pretty alright
<ec>
`source-highlight` is a terrible complicated over-architected piece of GNU software ... but it's pretty well-supported and actually *works*; so I've got a `less` configuration that automatically invokes source-highlight and ties it all together
<ec>
so `less afile.coffee` for instance always works; but so does `cat afile.coffee | less` or sommat
<ec>
was a day's work, but is so worth it for code-highlighting without opening vim every time
<ec>
(I really like pagers.)
<ec>
tmux > GNU screen, obviously
<jfhbrook>
yeah, I don't know half of tmux but I know enough
<ec>
`brew install youtube-dl` is a ridiculously powerful python script that supports a crapton more than YouTube
<ec>
lets you rip basically any video, from basically any website/URL/app, into basically any file-format ffmpeg supports
<ec>
yeah, 5k full-rez MKVs from YouTube videos? yesplz
<ec>
zsh > bash, but that's a bit like vim: don't bother unless you're going to invest a month of unproductivity into learning *why* it's better /=
<ec>
if you *did* switch to zsh, I'd have approximately ten thousand useful zsh tricks for you, though :D
<jfhbrook>
eww zsh
<ec>
just stay away from oh-my-zsh or any of that crap
<jfhbrook>
oh yeah?
<jfhbrook>
I've never heard that one before
<ec>
wat
<jfhbrook>
I tried oh-my-zsh and yeah I wasn't all that, uhh
<jfhbrook>
impressed
<ec>
the sort of people who hang in #zsh, or have actually, you know, read the zsh manpage, will tell you that.
<jfhbrook>
but nobody ever told me they used zsh without oh-my-zsh or that it's bad
<ljharb>
omz is awful
<ec>
yeah, it's absolutely terrible.
<jfhbrook>
I think I know like 2 people that use zsh though
<jfhbrook>
what's so bad about it?
<ec>
OMZ is like a little cult of people who know nothing whatsoever about the platform they're on *top*, and only advertise it as an avenue to *their* sub-group
<ec>
one of those weird insular within, but well-advertised without, groups
<ec>
a bit like Rails maybe?
<jfhbrook>
I don't have a negative view of rails though, beyond it being a lot of magic
<ljharb>
omz sets a ton of zsh options
<jfhbrook>
I have the same problem with django and spring
<jfhbrook>
nobody actually explains it from the bottom up
<ec>
1. it stomps all over a bunch of reasonable Zsh defaults to make it (in some ways) a little more Bash-like, and (in other ways) a bit more like What The Original Creator Wanted for very little good reason;
<ljharb>
basically, in the name of "convenience", it gives you a shell environment that tons of things break in, and that behaves in lots of surprising ways
<jfhbrook>
you either have to just take shit on faith without really understanding it, or you have to read source code
<ec>
2. almost every plugin written for it is written *horribly*, and is very slow
<jfhbrook>
hmm
<jfhbrook>
I see
<jfhbrook>
I, uhh
<jfhbrook>
I rarely use plugins for anything
<ec>
like, I'm talking, ‘install a few plugins, and your shell windows will take literally a whole second to open on a Mac Pro.’
<ljharb>
nvm breaks in lots of ways in omz and i have to work around each of them individually
<ljharb>
it's super annoying
<jfhbrook>
like vim, all I do is set tabs to turn into spaces, crank up syntax hilighting and line numbers
<jfhbrook>
like, that's it
<ec>
yeah, there's no point to OMZ without using plugins from the OMZ library; and unfortunately, most of *those* are terrible
<jfhbrook>
I don't even know how vim paging works, my coworkers hate pairing with me because of it
<ec>
see, zsh is great if you just install it and let it be what it is by default, for the most part
<ec>
start changing settings in your profile or zshrc or whatever *when you find that you need them changed*
<ec>
it'll walk you through some sensible defaults when you first install it, but even then, like. nah.
<ec>
jfhbrook: vim is a terrible pager /=
<ec>
imho.
<jfhbrook>
that doesn't surprise me
<ec>
I much prefer specific tool for a specific task. People who use vim as a pager should go over to emacs. we'd be better off without them. ;)
<jfhbrook>
by pager I mean, like
<jfhbrook>
not pager as in less, that was bad word choice on my part
<jfhbrook>
I mean like, being able to flip through "tabs" a la tmux
<ec>
hm
<ec>
don't understand?
<ec>
rephrase?
<jfhbrook>
switching buffers or whatever
<ec>
oh!
<ec>
navigating multiple Stuffs inside a vim instance
<ec>
I getchoo
<jfhbrook>
right
<ec>
I can make that trivial for you right now, if you want.
<ec>
I promise you, it's not one of the more complex things. Yah?
<jfhbrook>
I mean, you can give me a protip and I won't promise to use it but I'll nod and probably say, "that doesn't sound so bad"
<ec>
do you want me to tell you how *I* do it, which I think is slightly better, but requires you to listen for like five more messages / add something to your config; or do you want to know the *default* way, which is a little contortionist and emacs-y, but will be more portable?
<jfhbrook>
oh, let's do both
<jfhbrook>
I can't imagine the short versions take *that* long
<jfhbrook>
I'm not *going* anywhere
<ec>
okay
<jfhbrook>
well, not for a few hours anyway
<ec>
first off, `:help ctrl-w`
<ja>
aww, I didn’t ec: wat you in time, ec
<jfhbrook>
wow that *is* emacs-y
<ec>
basically: ⌃W h/j/k/l, will *navigate* you through multiple panes, quickly
<jfhbrook>
Something I've kinda always wanted to do
<ec>
it's very intuitive, once you realize ‘put ctrl-w in front of anything, and it does basically the same thing, but with windows.’
<jfhbrook>
is take like a stick-shift (the kind on vintage harleys would be ideal) and maybe a foot-stomp headlight switch
<ec>
⌃W= is another really useful one, ⌃WT to split a pane out into a new *tab*, ⌃Ws to split the current window, ⌃Wv to split it vertically instead,
<jfhbrook>
and wire them up to vim to control windows and command mode somehow
<ec>
if you're an arrow-key user, ⌃W ↑/↓/etc all work too
<jfhbrook>
like the stomp switch would be the escape key
<jfhbrook>
and the stick-shift would flip through windows
Rurik has joined #elliottcable
Rurik has joined #elliottcable
<ec>
jfhbrook: I was just talking to incomprehensibly about this the other day!
<ec>
I have this weird obsession with tactile interfaces for programming
<ec>
and alexgordon too
<Rurik>
ec, here
<alexgordon>
yo
<ec>
I want a big red button for ‘run the tests’
<alexgordon>
lol yeah
<purr>
lol
<alexgordon>
I want a deploy button
<ec>
and a toggle-switch under one of those ‘fire ze missiles!’ plastic lids, that enables sudo or enables `rm` or whatever
<ec>
I want a bank of physical toggle switches for vim or terminal settings I toggle often
<Rurik>
alexgordon, Actually
<Rurik>
alexgordon, I want a big deploy button too
<ec>
like, a single physical toggle that makes my Terminal and MacVim instances all instantly switch over to dark-background Solarized?
<ec>
I've put a lot of thought into these
<alexgordon>
ec: so, buy one :P
<ec>
I'm probably going to make an npm module that listens for USB HID input and maps it to ‘change this file’ or ‘send this signal’ or ‘run this command’
<jfhbrook>
maybe a big knob like the ones you see on variacs that changes the "mode" of your levers?
<Rurik>
alexgordon, these guys in russia are making a killing doing cookie cutter sites based on wordpress in a week
<jfhbrook>
variacs are like right at home in a mad science laboratory
<ec>
because I've got a couple interesting physical devices that use weird USB HID input: stuff from flight-simular toys, a 6DoF that I use for modelling, etc
<jfhbrook>
I think I need something graphical to teach me this windowing stuff
<ec>
jfhbrook: nnods
<ec>
jfhbrook: we can tmux sometime and I can demonstrate
<ec>
increase your wait-time setting, and type very slowly, protip for learning Vim stuff in general
<ec>
watch the bottom right, as your keypresses are echoed there until they collect into an actual instruction
<jfhbrook>
I think I only really need a subset of these
<ec>
of what? the ⌃W controls? just learn-as-you-go kinda thing.
<jfhbrook>
like in tmux/screen I don't use the splitting stuff at all because (a) I never bothered to learn it and (b) I like a window taking up, well, the entire window
<ec>
:vsplit or :split to *create* panes
<ec>
(tmux tip! prefix-z ‘zooms’ a pane to the entire window, and same unzooms it)
<ec>
I use this when I need to focus on a complex command but don't want to create a new window/environment
<ec>
if you want to do so a little more permenantly, prefix-! will ‘break’ the pane out into its own window (at the bottom).
<jfhbrook>
lulz, I just did ctrl-z naively and was surprised when it backgrounded irssi
<jfhbrook>
oops
<ec>
lmao
<ec>
ooo oooo ooo here's one
<jfhbrook>
how do you go in command mode in tmux, I don't actually know that one (surprisingly)
<ec>
you presumably know `tmux new -s something` followed by `tmux attach -t something`
<jfhbrook>
right
<ec>
but do you know ... `tmux new -t something`? :D
<ec>
do the first two, then try the second in a new window.
<jfhbrook>
new, target?
<ec>
the third*
<ec>
yes. if you give `new` a *target*, it will initiate a ‘dependent session’: one belonging to the same ‘session group’ (and thus sharing *windows*!),
<jfhbrook>
wow, I forgot detach
<ec>
but since it's still a second, new session, it can be *looking* at a different window
<jfhbrook>
that's sad
<ec>
basically, you can create a second Terminal window that is sharing tmux-windows/panes with a first Terminal window
<ec>
meaning that when you *close* the second Terminal window, all of those activites still exist as tmux-windows/panes in the original Terminal window.
<jfhbrook>
ohhhhhhh
<ec>
sorry lol did that map at all?
<purr>
lol
<jfhbrook>
I never configured my local
<ec>
I use it when I'm using my iPad as a second screen
<jfhbrook>
to use ctrl-a instead of ctrl-b
<ec>
(you saw me doing that at the conf, right?0
<ec>
I full-screen a second Terminal.app window, and then load up a second view into my project tmux session, and permanently assign that second-Terminal-window to tmux-window-0
<ec>
then I keep stuff like automatic-test-output, or `git log` output, anything long-form and list-y, in that tmux pane
<jfhbrook>
this is new
<jfhbrook>
and interesting
<ec>
if I disconnect my iPad, the test output lives on in tmux, and I can `0 to get to it
<ec>
oh: my prefix is backtick, not ⌃B
<ec>
because fuck that lol
<ec>
and I've mapped backtick-backtick to ‘switch to previous window’ the same way ⌃B⌃B works by default
<jfhbrook>
I'm a creature of habit
<jfhbrook>
if anything
<ec>
so `1 is ‘go to window one’, `2 is ‘go to window two’, and then `` is ‘go back to window 1’
<jfhbrook>
and ctrl-a as a habit is pretty ingrained
<ec>
which can be kind of janky™ because *application-specific* key remaps rely on some behind-the-scenes Assistive interface in OS X, called AFNotifier, which can sometimes have a couple milliseconds lag (I move really, really fast. lol.)
<purr>
lol
<ec>
but … nonetheless, stuff like ⌘W and ⌘S and ⌘{/} and … so on and so forth, mapped *inside terminal apps*, are fucking invaluable
<jfhbrook>
karabiner?
<ec>
this means that my MacVim and my command-line vim are nigh-indistinguishable until I hit ⌘W
<ec>
(powerful OS X app to remap key presses.)
<ec>
used to be called KeyRemap4MacBook
<ec>
you've probably heard of it.
<ec>
(I use Karabiner, with a tiny little additional utility called Seil, to remap capslock to escape, which turns out to be a rather involved process.)
<jfhbrook>
can that make pageup/pagedown work right?
<ec>
‘work right?’ probably. it's ridiculously powerful once you start writing your own XML remaps.
<jfhbrook>
like I want pageup to take me to the start of the text in the address bar of firefox|chrome
<ec>
I also re-map the *original* escape key to F1, F1 to F2, … so on and so forth,
<ec>
to give myself an extra F13 key; and then remap eject to F14 as well
<ec>
thus two extra Fkeys
<jfhbrook>
eject? I have a power button at that spot
<ec>
it could certainly do that. Beware, though, as that'd be aforementioned flavour of Janky: that'd have to be a FireFox specific mapping.
<jfhbrook>
oh dang
<ec>
but may I gently suggest just ⌥↑/⌥↓
<jfhbrook>
yeah maybe not worth it
<jfhbrook>
what characters are those?
<ec>
idk if FireFox, though, 'cuz, Cocoa? idk. works in Chrome and Safari and iMessage and everywhere tfuck else though
<ec>
try in a Spotlight field if you want to dick around with them
<jfhbrook>
but what is a ⌥ ?
<ec>
option / alt
<ec>
⌥←/→: left/right one word (like w/W in vim)
<ec>
⌥↑/↓: Beginning end of *whole text field*, including over multiple lines (like ⌃A and ⌃E, which are emacs-isms that escaped into Cocoa back in 10.1)
<jfhbrook>
right, so fn-<arrow> works in, say, the terminal, but not in certain text windows like the address bar
<ljharb>
⌘ ⌥ ^
<ljharb>
hm, i'm missing shift and escape and fn
<ec>
⌘←/→: Beginning or end of *current line*, in a multiline field
<jfhbrook>
oh my god
<ec>
⇧⎋
<jfhbrook>
this is fantastic
<jfhbrook>
I just needed to use the command key this entire time
<ec>
hahahaha
<ec>
jfhbrook: <3
<ljharb>
ty
<ec>
here's another cool one:
<ec>
⌘␣, open a Spotlight window, and search for something that will show up lots of places
<ec>
‘e’ for instance
<ec>
try ⌘↑/↓
<jfhbrook>
how do you type all those unicode blobs? are those all really inside fn-<letter> ?
<ljharb>
ooh, ty for the space underbar too
<ec>
this works *all over OS X*: anywhere you see a ‘section separator,’ basically. Works in stuff like Safari's address-bar's quick-suggestions; works in Finder when categories are enabled, works in all sorts of search-result places
<ec>
it's *so* fucking handy to not have to type ↓↓↓↓↓↓↓↓↓↓↓↓ to get to the ‘history’ section of Safari's quick-search, for instance
<jfhbrook>
you use safari?
<ljharb>
i do, exclusively
<jfhbrook>
that's so weird
<ec>
or when I *know* I want a dictionary definition for a common word that shows up in dozens of files, I can skip all the files with a couple ⌘↓↓'s instead of ↓↓↓↓↓↓↓↓↓↓↓
<ljharb>
it's far more stable than chrome
<jfhbrook>
no offense
<ljharb>
and almost as fast
<ec>
Safari is so fucking great
<jfhbrook>
and I'm sure it's a fine browser
<jfhbrook>
but that's just so *weird*
<ljharb>
chrome crashes all the time, and gets new bugs every 2 weeks
<ec>
jfhbrook: do you have *any idea* how fast Chrome eats your battery?
<jfhbrook>
I use firefox locally
<ljharb>
safari never loses my tabs
<jfhbrook>
and yeah it's a fucking beast
<ec>
my Macbook Pro will die *literally twice as fast* when I need Chrome running.
<ec>
Twice.
<ljharb>
ah. firefox is way too slow for me
<jfhbrook>
I'm one of those people that opens up hundreds of tabs at a time
<ec>
Not 10%, not 25%, ****twice**** as fast.
<jfhbrook>
and has to take a weekend closing half of them every month
<ljharb>
jfhbrook: see that i find weird
<ec>
yeah, I find Firefox laggy … /=
<ljharb>
also why would i close half of them
<ljharb>
i close tabs one at a time as needed
<ec>
Safari is very compatible with me. I much prefer its' web-inspector / developer tools for almost all common purposes.
<jfhbrook>
because the other ones are interesting and you want to come back to them someday?
<ljharb>
and i have as many open at a time as needed (spoiler alrt, it's a lot)
<ljharb>
sure
<ljharb>
and i'll come back to them regardless
<jfhbrook>
some of them are things I go to all the time like facebro
<ec>
(Chrome's are more powerful in several key ways; but Safari's team has spent all of that time working on making it *easier to use* and *more intuitive*.)
<ec>
(so for everyday tasks, the Safari one is much more … pleasant.)
<jfhbrook>
some of them are just weird articles that I know I'll never see again if I close the tab
<jfhbrook>
and if I bookmark things it quickly becomes unmanagable
<ec>
jfhbrook: ahhahaha that's me and MobSafari
<jfhbrook>
so yeah, I just, uhh
<ec>
for whatever reason I've been unable to break my habit of using Mobile Safari's ‘tabs’ / backgrounded windows,
<ec>
as, like, a todo list
<jfhbrook>
my browsing habits cause firefox to do all kinds of outrageous things
<ec>
a month or two ago, my girlfriend at the time compulsively closed all my apps and all the tabs in Safari
<ec>
not realizing how fucking pissed that would get me
<jfhbrook>
oh yeah ec, anything open on my phone is a "look this up later" thing and I always forget to do so
<ec>
I lost dozens of pages I meant to read later >,>
<ec>
I never do this on the desktop.
<ljharb>
also, using safari, my open tabs are synced to my ipad, other mac, and iphone
<ec>
no idea why I do it on my iPhone.
<ec>
ljharb: UGH RIGHT GOD I LOVE THAT
<ljharb>
SO MUCH
<jfhbrook>
was that the coup de grace?
<ljharb>
and yeah if my wife closed a tab or an app that would be a serious problem
<jfhbrook>
I live alone so like nobody touches my laptop ever
<jfhbrook>
it's great
<ec>
ignore any porn in that screenshot ¯\_(ツ)_/¯
<ec>
my machines are all Super Very Encrypted a Lot, Thanks™
<jfhbrook>
not that I recommend being single or anything, but it is nice to have things that are explicitly *yours*
<ec>
whereas my phone is ‘every one of my friends and acquaitencens knows the passcode’
<ec>
so the fact that iOS and desktop sync stuff behind-the-scenes can sometimes actually be a problem =/=
<ljharb>
jfhbrook: establishing clear boundaries of "this is MINE and this is ours" is key to a healthy relationship
<ljharb>
ec: have you not yet read every Foundation book??
<jfhbrook>
heh
<ec>
oh, twice through
<ljharb>
lol ok just checking
<purr>
lol
<jfhbrook>
this is my macbook there are many like it but this one is mine
<ec>
I just started re-reading for the third time
<ljharb>
ps the End of Eternity is amazeballs
<ec>
still in the pre-Empire crap
<ec>
yesss ljharb yessss
<ec>
are we goodreads friends?
<ljharb>
i love how it sets up all the foundation books
<ec>
wait
<ljharb>
probably not, i don't use it much, but add awa
<ljharb>
y
<ljharb>
wait what
<ec>
end of eternity is the one with the people who live outside of time, right?
<ljharb>
yes
<ec>
and can only visit each time once?
<ec>
yeah k I loved that premise so much omfg
<ec>
it's powered a huge quantity of my idle daydreaming ever since
<jfhbrook>
I've read asimov short stories but I don't think I've tried tackling an entire book much less anything from foundation
<ec>
ljharb: add away … how? link?
<ec>
jfhbrook: asimov is difficult.
<ljharb>
dunno, let me check
<ljharb>
jfhbrook: it's amazing tho
<ec>
It's been a life goal of mine, for a long time, to finish his entire corpus of novels
<ljharb>
"the last question" is also great
<jfhbrook>
yeah that's a short story though right?
<ec>
because he holds the record for the most prolific novelist, at four *hundred* novels
Hrorek has joined #elliottcable
<ljharb>
ec: i'm reasonably certain i've read every piece of his writin
<ljharb>
g
<ljharb>
jfhbrook: yes true
<jfhbrook>
that's nuts
<ljharb>
ec: ok wait i haven't read 400
<jfhbrook>
I want to have read many works by multiple authors
<ec>
I'm, like, halfway through in my life so far, but I always burn out tooo hard on his writing style to make *too* much progress
<ljharb>
i've read a ton tho
<jfhbrook>
and I don't actually read that fast
<ec>
ljharb: idk like from what I've heard a lot of it is truly utter crap
<ec>
like most of his writing ≤1980, I really … don't love.
<ec>
I get really tired of 1950s Asimov, really quickly.
<ec>
I love his thinking and his world-building, but I kinda deeply hate his writing.
<jfhbrook>
I mean, that makes sense right? that you would become a better writer over time?
<ec>
Like, honestly, I tend to read fantasy for *good writing*.
<jfhbrook>
you ever read the hyperion cantos ec?
<ec>
idk why, but Shit Writers (like, paragraph-level writing, not story-arc or worldbuilding ‘writing’) tend to congregate to scifi
<jfhbrook>
that's the most epic sci-fi I've read in probably 3 or 4 years
<ec>
and despite me loooooooovovvvvvviiiiiing a lot of my scifi writers (Reynolds, Vinge, Stross …),
<ec>
they're all kinda ... shite. >,>
<ec>
jfhbrook: wasasatasfg
<jfhbrook>
wut
<ec>
Vinge is probably the best writer-writer of the lot; Stross the most *accurate* feeling (like it almost doesn't feel like sci-fi as much as sci-prediction), and also a fair *writer*,
<ec>
jfhbrook: wassat*
<ljharb>
ec: i love it. but maybe i've only read the good stuff
<ec>
ljharb: well, like, all three I just read, I basically hated
<jfhbrook>
it's a series of sci-fi novels, all very good
<ljharb>
which three?
<ljharb>
even end of eternity?
<jfhbrook>
the first one is basically canterbury tales in space, the others are structurally a bit different but dig deeper into some of the crazy shit
<ec>
dust / currents / pebble
Rurik has quit [Ping timeout: 246 seconds]
<jfhbrook>
so like buy the first and if you thought it was good get the other 3
<ec>
the ‘Empire’ novels (I hate that they're called that, because the *other* ones actually have the word ‘Empire’ in the titles. lol.)
<purr>
lol
<ljharb>
ec: ah yes, those are my three least favorite ones
<ec>
yeah that's 'cuz that's 1950s Asimov, iirc
<ljharb>
ec: "currents" is also scientifically inaccurate
<ljharb>
ah
<ljharb>
"inaccurate" like, "proven false", not like, "not proven true".
<ljharb>
ec: thats the order i ended up reading in, almost, and i like that.
<ec>
Foundation itself and Foundation and Empire are early 1950s, too, and they come out rather weak
<ec>
but Prelude / Forward are great, and Edge / Earth are I think my favs iirc
<ec>
all 80s
<ljharb>
i also love lots of his shorts
<ec>
yesss
<ljharb>
the one where they discover the origin of jokes, the one where they discover nuclear force shielding
<ec>
that's why I love asimov
<ec>
I sort of ... put up with his novelizations, *because* I love his mastery of the short-story as a *format*
<ljharb>
the one with the universes with different physical constants
<ec>
waaaaaaaay too many authors do one of two extremes:
<ec>
1. ‘Plot and characterization don't matter in a short story; I'm here to convey an idea, and I need to spend all of my limited time focusing on the ramifications of that idea.’
<ec>
2. ‘A short-story is just a shorter novella, and thus needs full development of the characters and setting.’
<ec>
The former end up failing to engage, and feel artificial / forced (they feel like ‘thought exercises,’ not actual stories.)
<ec>
and the latter *the same*, for opposite reasons: you simply *can't* fully develop a setting or more than maybe one single character in the short-story form.
<jfhbrook>
I think if I were writing sci-fi/etc I'd try to focus on characters rather than setting
<ec>
I really, really really think Asimov perfected the short-story-as-a-thought-experiment *while still building characters and fitting it into the framework of a told-story* well, keeping you engaged despite the inherently masturbatory nature of short-stories
<ec>
jfhbrook: yeah, that's very asimov in general
<ec>
that's kinda a description of ‘soft scifi’, and Asimov is kinda the King of Soft
<jfhbrook>
I see
<ec>
I generally prefer hard-scifi, but I can only stand hard-scifi when there's still good *writing*; quality arcing and characterization and exposition and *feeling*.
<ec>
unfortunately I've found that to be pretty rare. /=
<jfhbrook>
I'd say the Simmons books are soft sci-fi but they're still a lot of fun
<ec>
most of the skilled writers (by all of those latter standards) don't seem to want to *also* put in the time to research the science; and most of the ones who *do* put in the time to do the research, have a formal grounding in hard science instead of a formal grounding in writing
<jfhbrook>
like, you know the kind of sci-fi that almost feels like fantasy except it's not just elves in space because that would be stupid?
<ec>
and as much as I love hard-scifi writer's cool ideas and cool science ... there's just a lot that a college-education in English will teach you. /=
<ec>
jfhbrook: yah
<jfhbrook>
like, something where it's so far in the future that legends involve robots and blasters
<ec>
I should be writing instead of waxing pseudointellectual on sci-fi writing.
<ec>
coding*
<ec>
that sentence got confusing
<jfhbrook>
heh
<jfhbrook>
I could see writing prose as well though
<jfhbrook>
like, if I enjoy reading sci-fi maybe I'd enjoy writing it too?
* ec
nods
<ec>
I've had dozens of people tell me I should write.
<jfhbrook>
I have this project idea I'm trying to refine so I don't build something annoying
<ec>
And I'm like, maybe if I had the time to take a formal background in it ... but I only write well at the *sentence* level. I'm a skilled grammarian, and a fan of communication, but I've got no touch for *the story*: building characters and relationships, following an arc, etc
<jfhbrook>
so imagine a wiki, and the wiki recognizes hashtags --- then you use those hashtags to generate mini-games
<jfhbrook>
and model it so that the whole wiki is a game, and each page probably represents a location (maybe pages representing items as well?)
<ec>
oh re: vim and stuff,
<jfhbrook>
so you can go to that location by visiting the url
<ec>
I have F8..F12 mapped to ‘toggling some useful settings’:
<jfhbrook>
and if the article has #orcs #lvl5 you can battle level 5 orcs
<ec>
F8 to toggle spell-checking, F10 to that whitespace-erroring, F11 to toggling the sign-column (which turns out to be complicated), and F12 to toggling :hlsearch
<ec>
(which highlights all of the matches to your search, which I have turned on by default)
<jfhbrook>
spellcheck? is that a plugin?
<jfhbrook>
sign-column?
<ec>
lollll no of course that's a built-in vim feature
<purr>
lollll
<ec>
a text-editor without spell-checking would be a pretty gnarly-useless text-editor
<ec>
`:set spell!`
<ec>
with the bang
<ec>
*shift*-F12 clears the search register
<ec>
and alllllll of those are mapped in every mode
<ec>
here's one: auto-save every time you tab out of MacVim:
<ec>
autocmd BufLeave,FocusLost * silent! wall
<ec>
here's a really cool one that most people who aren't me seem to hate:
<ec>
vim *can*, and way long ago, did by default,
<ec>
save every change you make to the file *to a file*, so if you re-open the same file in a second vim-instance, you can keep hitting `undo`, all the way back to when you first opened it years ago
<ec>
(for me, anyway, lol)
<ec>
set undofile
<ec>
set undolevels=100000
<ec>
it defaults to storing that shit in your working directory though, in a mess of `filename.bf~` files, which are uuuuugly
<ec>
so I have it save them *all* in a central location (you can get weird filename conflicts if, like a fool, you use super-generic filenames like index.js, but .... worth it, to me.)
<ec>
set backupdir=~/.vim/backup
<ec>
set directory=~/.vim/backup
<ec>
set undodir=~/.vim/undo,\ .
<ec>
finally I use about a billion great plugins that you should ask me about sometime <3
<ec>
now back to work with me
<jfhbrook>
I actually dislike spellcheck
<jfhbrook>
but yeah o/
<ec>
I keep it off by default, and toggle it on with that feature.
<ec>
I mostly use it when editing documentation-blocks. Longer-form prose I copy into Pages.app to get the much more robust grammar-checking and whatnot.
alexgordon has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
<ec>
there's a dozen-ish magical markers in your code: stuff like last place you edited, top of document, last search result … and they're all accepted as sources for ‘motions’ when executing code
<ec>
but *I* forget all of them regularly
<ec>
you can also set them with m<character>, like ml (or for ‘global’ ones, jump-to-able from any file, mL with a capital letter)
<ec>
again: constantly forget where I, probably-usefully, placed them.
<ec>
showmarks is great because it fills the ‘gutter’ (column on the left, to the left of line-numbers, when enabled) with *all marks currently set by vim*
<ec>
what do you call a datatype that sits between two others?
Hrorek has quit [Ping timeout: 264 seconds]
<ec>
like if I have Execution and Thing, and Executions can own Things, and Things can belong to Executions … if that relationship is *expressed* through another type, what is a term for that flavour of type?
<ec>
Execution <=Liability=> Thing
<ec>
or in old-school Rails style, Execution :to Thing, :through Liability
<ec>
wtf do I call Liability.
<jfhbrook>
a relationship maybe?
<ec>
like I remember there being a specific term for that in SQL-culture, tho
<ec>
join-type? or? something? fuck
<jfhbrook>
oh yeah, I wouldn't know it
<jfhbrook>
I mean, I've heard of join tables
<jfhbrook>
but idk if that has an associated type at the mapping layer
<ec>
I haven't Rails'd in literally a decade, like
<ec>
but
Hrorek has joined #elliottcable
<jfhbrook>
I've never railsed :(
<jfhbrook>
I want to build something non-trivial in a heavy-handed framework
<jfhbrook>
but everything I want to built, it seems like I have to learn everything so I can rip out something stupid
<ec>
the big frameworks are yuck af
<jfhbrook>
for that wiki thing for instance, there's a django project that implements the wiki already but (as someone who knows little django) it's nowhere near obvious how I would inject the things I need (inventory/stats, hashtag parsing, minigame state)
<jfhbrook>
it'd almost be easier to just build it on express