Fork me on GitHub
#clojure-uk
<
2018-02-19
>
maleghast00:02:40

Anyone still up?

seancorfield00:02:32

I am -- but it's mid-afternoon for me šŸ™‚

maleghast00:02:18

Hehe - Heya @seancorfield šŸ™‚

maleghast00:02:48

Sorry was reading a slide deck for tomorrow...

maleghast00:02:00

How's the West Coast?

seancorfield01:02:38

Warm and sunny šŸ™‚

seancorfield01:02:52

Although, today, it's windy...

maleghast01:02:58

I gotta head to bed - catch you another time šŸ™‚

otfrom08:02:45

hmm... not sure how that works with the nightowls...

thomas08:02:34

moin moin morning

yogidevbear09:02:03

Morning šŸ™‚

chrjs09:02:14

^ That was a typo (Dvorak, left hand displaced on home row) but I rather like it.

maleghast09:02:08

@chrjs - You're using a Dvorak Keyboard?

chrjs09:02:20

Back when I decided to learn to touch type, I reasoned that if I were going to do it, I should do it properly. Throw away the shackles of the past (QWERTY) and use a more efficient layout.

chrjs09:02:26

Should have just learned QWERTY.

maleghast09:02:53

I learned to touchtype at school and there was no option. I didn't even learn about Azerty and Dvorak keyboards until I was past Uni.

maleghast09:02:13

So for me, the shackles of typing oppression are a warm cosy set of shackles šŸ™‚

maleghast09:02:22

Still, I am always intrigued by alternatives.

jarohen09:02:26

was quite tempted by colemak at one point, a bit closer to qwerty, so thought it'd be easier to transition - never stuck, though seems to take a long time to get up to the same speed

chrjs09:02:55

One time I took my laptop (Mac) to the Apple store, and the ā€œGeniusā€ realised something was weird with the keyboard when he started typing. I said ā€œOh, sorry, itā€™s Dvorak, let me change thatā€ or something. He knew what it was - which hardly anybody outside programmers do - and told me he had a son who typed dvorak because he had reduced hand function in his left hand, and it worked better for him. I just thought that was a cool story.

dominicm09:02:57

There's a workman's layout or something similar, kicking about.

dominicm09:02:21

I hear good things

dominicm09:02:37

My biggest issue with switching to an alternative layout is that the vim homerow is extremely well optimized. I'm not sure what I'd do to operate with an alternative layout.

chrjs09:02:06

Thatā€™s why I should have learned qwerty ^

chrjs09:02:45

Donā€™t have to choose between remapping keys or learning a less-intuitive vim layout.

maleghast09:02:05

I use Vim less and less - how is emacs on Dvorak?

maleghast09:02:30

(also I was never a proper vim power user - I mean I can do more than a lot of people but never scratched the surface with Vim, really)

chrjs09:02:35

On the bright side, one can type a lot of words from the dvorak homerow.

chrjs09:02:51

I donā€™t know emacs. Or at least, I only know it with vim key bindings (spacemacs)

maleghast10:02:07

LoL Fair enough! šŸ™‚

maleghast10:02:52

Has anyone built a form with Reagent that needs to update in-place when the user makes a choice, i.e. user picks a specific option in a select and more fields / controls appear in the form..? I am sure that I am being a n00b, but I can't figure out the way to do it that does not require me to have a completely different form that is rendered in instead if the user makes the choice that requires more fields.

maleghast10:02:58

I find myself amused, but shocked at the same time @jasonbell, in a "Moi?" sort of a way šŸ˜‰

jasonbell10:02:30

I was only joking.....

maleghast11:02:19

Hehe, it's cool - I was playing along!

yogidevbear11:02:42

Jade in the house!

jasonbell11:02:37

I'm good thanks @maleghast, well I was until @yogidevbear made the common naming faux pas šŸ™‚

mccraigmccraig11:02:45

@maleghast when a selection is made update some key in your app-db ... make the rendering of the alternative form options conditional on the value of that key

mccraigmccraig11:02:15

(if you are not using re-frame you will presumably still have some atom containing your app-db equivalent)

maleghast11:02:00

@mccraigmccraig - Thx, this is the conclusion that I had come to with some other help, but I was Hoping__ that there was a solution that did not include "polluting" the app-db (@app-state in my app) with form-state information.

maleghast11:02:14

Still if it's the way to do it then I will do it this way šŸ™‚

maleghast11:02:16

Thanks šŸ™‚

mccraigmccraig11:02:57

@maleghast @app-state is your view-model (not just an abstract app-model)... it should rightfully contain form-state information

jarohen11:02:51

I'm sure I've seen some people on the Internet suggest having more transient state in a normal reagent local atom, outside of the normal re-frame state mgmt - haven't tried it myself but might be an option if you don't want to pollute re-frame's app state

maleghast12:02:57

@mccraigmccraig - I guess I am prepared to accept that, but it does feel icky. I suspect that I just need to get over myself šŸ™‚

maleghast12:02:49

@jarohen - Yes, I've seen stuff suggesting such approaches on the 'net, but I am concerned about getting tied up in knots if I am trying to manage state for the app as a whole and state for this view / component or another .

maleghast12:02:32

I think that I need to get over my misplaced negative feelings about the use of @app-state to maintain display/view/form-state as well as the actual app data-state.

jarohen12:02:54

again, not tried it, but I wonder whether there is room for a hybrid of global app-state + local atoms - thinking particularly about whether the lifecycle of that state is tied to the lifecycle of its component

jarohen12:02:33

i.e. if it is tied to the lifecycle of the component, having a local atom that gets created/disposed of with the component may be preferable; if it's not, then in the global app-state with you

jarohen12:02:43

I don't know, that might be a crazy idea

mccraigmccraig12:02:03

app-data state can be in a different area of your app-db @maleghast - we have some areas which are just app-data and quite often objects taken straight from the api, and other areas which are view or form state, often with path, key or type refs to the app-data

mccraigmccraig12:02:54

some (few) times component-local state is unavoidable, but itā€™s harder to inspect & debug, so i try to avoid it

Rachel Westmacott12:02:56

Catching up here but can confirm that dvorak is awesome, and if I were eg. a journalist I think I would have stuck with it. For text it is far and away superior to qwerty, and far easier to learn as well. Some say that they worry that knowing two layouts will confuse them, but I never found that (human brains are great at contexts; people donā€™t forget their first language when learning to speak another one!) Keyboard shortcuts largely make no sense though. If the whole world was on Dvorak it would be better, but its a coordination problem - if you move, youā€™re on your own.

maleghast12:02:13

@mccraigmccraig - Yes, I think that I will approach it in that way; segregate things by using some top-level keys and putting view-state information in one branch of the tree and domain data in another.

maleghast12:02:29

Right, must go and buy some lunch...

mccraigmccraig12:02:13

although @peterwestmacott i found that, while learning a third language (norsk), i did forget my half-learned second language (french). it came back later, when i had gotten to fluency in norsk and didn't have to think about it anymore, but for a while whenever i wanted a french word i got a norsk word instead

Rachel Westmacott12:02:21

perhaps itā€™s not the best analogy then

chrjs12:02:07

Your experience is fully congruent with mine @peterwestmacott.

dominicm13:02:48

I notice a transparent context switch between my laptop and my ergodox. My arms are in a different position, and I sink into my other layout immediately. There's no confusion.

maleghast13:02:22

I want an Ergodox keyboard, really badly. There is a 5 week wait and I can't really__ afford one at the moment, so I am putting off my purchase, but I WILL have one...

dominicm13:02:01

5 weeks right now? ouch.

maleghast13:02:22

They are asking for patience on the website...

maleghast13:02:01

Oh, hold on the message has gone away. When I looked last week they were saying 5 week wait.

maleghast13:02:52

I also want to wait and see if they are prepared to supply the keyboard with USB-C instead of USB-A plug...

maleghast13:02:06

(Both the machines I would use it with have no USB-A sockets)

dominicm13:02:12

that would be interesting.

dominicm13:02:44

@maleghast the connector on the keyboard is a micro-usb, so you just need any microusb->usb-c

maleghast13:02:32

That's a good point, I hadn't thought of that... Does that mean one can make the keyboard wireless with micro-usb bluetooth thingumy..?

maleghast13:02:20

I've emailed them to see if they will supply the keyboard with the right cable for me anyway - may as well ask.

dominicm13:02:12

I suspect you could indeed do that, yep.

maleghast14:02:13

Just to report back... Having added a "branch" to my app-state and thereby not polluted my app state and the functionality works really well šŸ™‚ thanks all for assistance on this šŸ™‚ I am trying to be less n00b

thomas15:02:40

@maleghast those keyboards look yummie...

thomas15:02:49

I might have to get me one

maleghast15:02:46

I would already, having barely tried one out, say you should... @dominicm will be happy, I am sure, to evangelise "properly" as he uses one... šŸ˜‰

dominicm15:02:22

@minimal well, it's still pre-order of course šŸ˜‰

nha16:02:12

They are shipping now though šŸ˜„

minimal15:02:28

Pretty similar ETA to 5 weeks of ez ergo. Mine arrived 3 months ago and itā€™s awesome

danm15:02:24

One of my workmates has just bought a sampler of all the different cherry mechanical switch types. He's planning on building his own keyboard

guy15:02:26

wow that looks amazing

guy15:02:43

sounds silly but what is it like @minimal?

Olical15:02:59

Model 01 / keyboardio user chiming in šŸ‘‹

danm15:02:27

with cherry MX browns

danm15:02:36

Well, with cherry mx clears, but noone seems to use those šŸ˜ž

Olical15:02:49

I have the K65 with reds at home for gaming, high recommend. (might be a K60 actually, with no numpad or lights etc)

minimal15:02:22

@guy itā€™s beautifully made, really solid and the design is really nice for typing on

danm15:02:24

Reds are too clacky

danm15:02:34

Sorry, that's blues

danm15:02:38

Reds are too smooth

danm15:02:53

Browns have a bit of a bump, but not as clacky as blues

guy15:02:00

@minimal do you work remotely or did you just bring it into your office?

danm15:02:03

I'd like a bit more of an obvious bump though

minimal15:02:11

brought it into the office eventually

danm15:02:26

At that price, not the sort of thing you buy one for the office and one for home šŸ˜‰

guy15:02:12

its less about that for me, but if you have a loud/louder keyboard other people can get a bit annoyed by it. If that makes sense?

danm15:02:48

Oh yeah, part of the reason I got browns at home and not blues is because my wife said if I went with the blues she'd beat me to death with it šŸ˜‰

guy15:02:01

hahaaa I had similar experience but with a gaming controller šŸ˜‚

minimal15:02:26

I have an atreus and a realforce as well

Olical15:02:32

If you're going for adadad in CSGO or something, low resistance is nice šŸ˜„

Olical15:02:31

Also people waiting for ergodox, consider building your own, it's fun. Ergodox EZ looks super well built though.

maleghast15:02:28

Oh no... Now I've seen another shiny keyboard (i.e. http://keyboard.io)

maleghast15:02:47

it was all so simple, I was going to buy an Ergodox...

Olical15:02:44

My ergodox is now in my desk drawer, looking quite sad

Olical15:02:59

I have two ergodox actually šŸ˜…

lsnape15:02:54

I built my own ergodox, but I've not yet got round to using it. I wasn't doing myself any favours when I ordered keys without characters printed on them!

Olical15:02:31

Best thing you can do is design your own layout from scratch, it'll sit in your head much much better then.

Olical15:02:08

Put the keys where you think they should go, what makes sense for your workflow. This of course means dedicated open and close paren keys šŸ˜‰

Rachel Westmacott15:02:17

Why would you ever need a ā€˜close parenā€™ key? The editor does that for you.

Olical15:02:20

Two reasons: If I want to type (+ a b) (* a b)

Olical16:02:54

Then I want the ) to be closed, yes, which it will be. But as my cursor reaches the first closing paren and I press the key, I want it to jump over it like a noop

Olical16:02:35

The other reason I have, which is niche I guess, my emacs plugin uses parens as bindings to jump into the special paredit mode thing

Olical16:02:31

Ah, lispy and evil-lispy, that's what I use to edit.

Olical15:02:03

My keyboard config repo may be a useful base for people hacking their ergodox or whatever https://github.com/Olical/keyboards

maleghast15:02:31

Cool @olical, thanks šŸ™‚

yogidevbear15:02:11

Lol I always find it comical how the discussion proliferates whenever anyone starts talking about keyboards

Rachel Westmacott15:02:02

Itā€™s some very personal bikeshedding!

thomas15:02:57

sometime I wish I still had my IBM Model M keyboard. that was very nice as well

bronsa16:02:30

@mccraigmccraig youā€™re in good company

bronsa16:02:43

I never understood the fascination with them either

bronsa16:02:08

never found a mechanical keyboard to be noticeably easier to type in than other keyboards

jarohen16:02:24

considering changing the subject to politics or religion - might be less divisive

danm16:02:43

I don't find it easier per se

danm16:02:33

But I am horrendously notorious for hammering keys too hard and hurting my fingers/damaging the keyboard

danm16:02:50

And with a mechanical I can feel when it registers and find myself hitting the keys more softly

danm16:02:59

Plus I just like the way they sound

danm16:02:10

clacktyclacketyclacketyclack

thomas16:02:47

I like the sound as well.... but it can be very annoying in an open office

danm16:02:13

Which is why I didn't bring mine in

danm16:02:25

Also we hotdesk ish, so it'd be bound to go missing

thomas16:02:29

anyway... time to go home..... ttfn!!! šŸ‘‹

danm16:02:33

I can just about fit this one in my locker

Olical16:02:58

I prefer the feel and the layout + all the customisation. I wouldn't say I'm any faster or anything though.

Olical16:02:18

Split keyboards also make my shoulders hurt waaaaaay less, so there's that.

dominicm16:02:21

So looking at the http://keyboard.io, I remember my dislikes about it: - The firmware seems hand-rolled instead of using ol' reliable tmk/qmk, there's less features as a result - I prefer blanks, I wish they had blanks as an option - I slightly prefer the thumb pads of the ergodox ez. Both look overall very good. The firmware is the main thing that would bias me to Ergodox though.

dominicm16:02:49

@minimal can the http://keyboard.io tilt & separate? Or are they mutally exclusive features?

Olical16:02:58

I am using tented and split right now.

Olical16:02:34

The stands that come with it are angled.

dominicm16:02:37

It's hard to tell from the website whether that's possible.

dominicm16:02:44

Good to know it's not exclusive.

minimal16:02:54

Yeah it comes with 2 different length cables so you can have them close or far away

dominicm16:02:14

What is the firmware customization like?

minimal16:02:18

and there are brackets if you want the 2 pieces joined together as well

minimal16:02:07

itā€™s arduino, you can do macros and fancy stuff but i havenā€™t done anything beyond change bindings yet

dominicm16:02:22

that looks really limited actually. I'm not surprised. But compared to the qmk featureset there's a huge gap.

dominicm16:02:40

QMK has things like leader keys which are like vim's, so basically you get chaining.

dominicm16:02:00

It also has "tap speed", so a "double tap" sends "A" and a single tap sends "B".

minimal16:02:44

thatā€™s the basic firmware, there is also https://github.com/keyboardio/Kaleidoscope which does a lot more but i havenā€™t tried it

dominicm17:02:10

I thought that first link was b ased on Kaleidoscope.

yogidevbear17:02:26

Hahaha I could have placed a very safe bet that the keyboard discussion would still be going on when I checked back in on this channel šŸ˜‰

minimal17:02:26

yeah maybe

dominicm17:02:07

I'm rather grumpy that they went out and built their own firmware tbh.

dominicm17:02:52

I'm often grumpy though.

dominicm17:02:22

The "into software space" communication seems interesting, but I'm skeptical of it being a good thing to rely on.

minimal17:02:57

not sure why they built their own either

otfrom17:02:59

the noodlings that were me learning core.async, mult and reduce https://gist.github.com/otfrom/60b9f9fa7c3f345710aa894fca83771c