Fork me on GitHub
#clojure-uk
<
2019-10-24
>
seancorfield05:10:18

Is it Friday yet?

seancorfield05:10:27

It's turning into "one of those weeks"...

dharrigan05:10:02

Nearly. For me, it's going relatively fast. This week, I deployed new code into dev, wrote some load testing scripts (in JMeter) - results are encouraging, wrote a new utility for Arch (mkinitcpio-wireguard) and drunk a lot of coffee 🙂

dharrigan05:10:21

Which is a win 🙂 Didn't write much Clojure, which is a fail 😞

dharrigan05:10:50

oh, and refactored my clojure to use the sql/call as mentioned in #sql 🙂

seancorfield05:10:09

I'm glad honeysql and next.jdbc are working out for you. I'm mostly rewriting legacy code to Clojure at the moment. But the last day did not go well. I spent half the day wrestling with Selenium tests 🤯

seancorfield05:10:06

I'm also wracking my brain over a core.memoize issue that someone reported 🤪

dharrigan05:10:43

I do enjoy next.jdbc and honeysql

dharrigan05:10:54

I've been pondering this recently

dharrigan05:10:58

and I think I know why

dharrigan05:10:42

At work, we use a lot of Spring (Boot) and Kotlin. I do like a lot Kotlin - it's a step up from writing Java (in its current 11 form - which is nice anyway, better than 😎.

dharrigan05:10:40

and although Spring Boot gets the job done - I've ending up as a "Spring" developer, not a programmer. A lot of the details are taken care of you by Spring

dharrigan05:10:59

From a business point of view, that's a win - get job done faster

dharrigan05:10:10

but from my personal pov, I'm loosing something

seancorfield05:10:33

Spring is a lot better than it used to be!

dharrigan05:10:44

So, getting a bit more "bare" metal with next jdbc and honeysql is very refreshing

dharrigan05:10:58

Oh yes - agreed - I've been using spring since the v1 days

dharrigan05:10:25

I had xml coming out of my ears

seancorfield06:10:16

< 👂:skin-tone-2: > :rolling_on_the_floor_laughing:

otfrom07:10:05

that isn't well formed. It should be <:ear:/> 😉

seancorfield16:10:15

It was xml coming out of his ears... the closing </:ear:> tag hasn't emerged yet! :rolling_on_the_floor_laughing:

seancorfield16:10:29

(and maybe it never will)

😂 4
seancorfield06:10:54

Did you ever do Struts?

😱 4
otfrom07:10:47

is this when I admit that I was part of the team in the UK that introduced struts to Equifax? (which is a bit scary given their breaches loooooong after I left)

mccraigmccraig07:10:59

i have vague memories of struts... think i departed for tapestry though, which was quite interesting, and then was lured away by a language with closures

Aleksander11:10:15

repressed memories of uni projects coming back ...

dharrigan06:10:02

So, thanks for the library Sean - interacting with the db at this level is great - I know what I want the db to do, and your library helps achieve that!

seancorfield06:10:39

I managed to avoid a lot of that somehow

dharrigan06:10:41

indeed - at that time, it was all that was there for templating

dharrigan06:10:56

that was ouch too 🙂

seancorfield06:10:08

Yeah I did a fair bit of jsp

dharrigan06:10:24

and remote ejb home etc...

seancorfield06:10:06

But I mostly managed to stay entirely backend and avoid any UI stuff

seancorfield06:10:45

Ah yeah corba. OMG Object Management Group

seancorfield06:10:21

The Dark Days

seancorfield06:10:00

Clojure makes me happy. So. Much. Simple.

dharrigan06:10:23

yes ++ totally this

dharrigan06:10:18

bbl - the boss (i.e., our 2.5 year old) is awake

seancorfield06:10:31

I gotta go too

yogidevbear06:10:33

Morning. Need. The.

otfrom07:10:05

that isn't well formed. It should be <:ear:/> 😉

otfrom07:10:47
replied to a thread:Did you ever do Struts?

is this when I admit that I was part of the team in the UK that introduced struts to Equifax? (which is a bit scary given their breaches loooooong after I left)

otfrom07:10:23

and morning!

Wes Hall08:10:49

@dharrigan my first ever pro project was built on corba. “Visibroker for Java”. Fun times. Went to an interview once. Interviewer said, “what is this ‘cobra’ technology that you keep mentioning?” Recruiter had been “helpful” and spellchecked my CV :)

Wes Hall08:10:08

Corba keeps coming back around though. 10 or 12 years later, hearing somebody extoll the virtues of “thrift” for remoting and it’s separate little interface definition language :). Like flared jeans man ;)

dharrigan08:10:04

Cobra Command 🙂

otfrom08:10:08

Every time I've seen a distributed tech fail it is because they try adding types and having some sort of central type registry. DCE/CORBA/SOAP

otfrom08:10:18

I remember when SOAP was actually simple

mccraigmccraig08:10:38

@otfrom we've got schema checking on both client and server side on all our REST APIs, which is pretty close to types. no central registry beyond git though

otfrom09:10:40

checking what comes in and what goes out on either side is just good practice. That is different from having some statically defined thing that you generate code from and a central repo to look up types

otfrom09:10:03

I think the only reason the web still runs (even tho it does actually have a central repo of types) is that everyone ignores it.

otfrom09:10:15

If TBLs semantic web ever takes off the web is doomed. 😉

rickmoynihan09:10:51

I dunno I always thought Jini worked really well… so long as every client was on the JVM. The trick being to share not just types/interfaces but service proxies. Shame it never took off. The first start up I worked for in 2001 used Jini a lot to build SOA’s before SOA was a thing. @otfrom: what is the webs central repo of types?

otfrom09:10:59

I'm not sure that jini can be called successful tho. 😉

rickmoynihan09:10:55

Indeed. It was a massive market failure.

otfrom10:10:24

blackboard stuff like that is pretty cool tho

rickmoynihan10:10:44

well the blackboard stuff was really just JavaSpaces, which was built ontop of Jini. Jini itself was more fundamental. You had a lookup service, consisting of java interfaces; (so you’d find services by their interface — and other attributes); then the lookup service would send you a proxy object, which new how to talk to the service that implemented the interface. Services would upload their proxies to the lookup service; and proxies would run sandboxed in the client. It meant that clients would discover at runtime how to talk to any service that exposed an interface they knew… i.e. the proxy object would implement the underlying communication protocol.

rickmoynihan10:10:39

It was far superior to corba SOAP/WS-* and Rest / GraphQL etc… so long as you were JVM centric. The main problem was java didn’t take over the world to the extent required… and arguably lookup-services etc were only necessary in heterogeneous systems beyond a certain scale.

otfrom09:10:19

sort of

😆 4
dharrigan10:10:35

man! that's a blast from the past - I looked at Jini yonks ago

maleghast11:10:10

Morning All 🙂

guy11:10:41

Morning all!

flefik12:10:36

Excellent password recommendations by the BBC today /s https://www.bbc.co.uk/newsround/48002968

dharrigan12:10:35

Damn! How did you guess my password?

dharrigan12:10:56

Have you been peeking over my shoulder?

Wes Hall12:10:32

"Create a password manager that doesn't suck" is on my long list of project ideas.

flefik12:10:46

https://www.passwordstore.org <-- GPG + git .. has android and ios clients

dharrigan12:10:03

Atm I use two (for I haven't settled on one just yet) - lastpass and bitwarden

dharrigan12:10:13

I self host bitwarden

flefik12:10:53

does Bitwarden have a CLI client?

dharrigan12:10:23

I remember looking at pass (by the same author as the excellent wireguard)

dharrigan12:10:29

I can't remember why I didn't pursue

dharrigan12:10:36

I think I have to look at it again

flefik12:10:17

it’s very easy to use. The android app isn’t the most polished client but it does the job

dharrigan12:10:41

I use a yubikey + android yubi to do 2fa stuff as well

flefik12:10:19

how many keys did you get?

flefik12:10:51

can you use multiple keys (i.e one backup) with android yubi?

dharrigan12:10:18

two, but you can't only use one since the secrets aren't stored on the key

Aleksander11:10:50

most services including Lastpass let you register multiple keys!

dharrigan12:10:44

if you capture the code you can

flefik12:10:18

the annoying thing about that is, you need to have access to your backup key in the event of enrolling a new one

flefik12:10:28

it kinda defeats the purpose if both my keys are at home and the house burns down

dharrigan12:10:43

don't keep both at home 🙂