Fork me on GitHub
#clojure-uk
<
2018-06-08
>
dominicm07:06:08

I had an indian breakfast today, it was very different.

dominicm07:06:11

spicier than expected.

agile_geek07:06:55

Shubh prabhaat

dominicm08:06:30

@mccraigmccraig chickpeas on samosas with some kind of curry sauce & corriander.

dominicm08:06:41

It had a name, but I'm not good with that kind of thing πŸ™‚

mccraigmccraig08:06:56

ru in india atm ?

dominicm08:06:29

No. New cafe opened up near the station, I asked him what else there was to try for breakfast, and he offered me that. I thought it sounded novel.

mccraigmccraig08:06:55

haha, cool. sounds nice

xianralph08:06:51

If anyone is interested in learning some clojure, the regular monthly clojure dojo is in the uSwitch offices this Monday June 11th.. All levels of experience are welcome!! you can register your interest here so we know how much food & drink to order https://www.meetup.com/London-Clojurians/events/kfpxnpyxjbpb/ πŸ™‚

❀️ 8
πŸ‘ 4
bronsa08:06:37

morning o/

manas_marthi09:06:44

@xianralph any option to remote participation..I am in Belfast

benedek09:06:32

Long time i have been around here, good morning :)

jasonbell09:06:52

@manas.marthi Waves from Limavady..... πŸ™‚

yogidevbear09:06:49

Did I say good morning already? Good morning

flefik10:06:12

@yogidevbear you said good morning last night, but i dont think that counts

flefik10:06:29

dont forget your cup of Java today

πŸ‘ 4
yogidevbear10:06:52

Feeling a little more human now. Everyone having a good week so far?

flefik10:06:42

i got to actually write a clojure app this week so im very happy

😁 4
πŸ‘ 4
otfrom10:06:38

wait, wait, there are 2 clojurians in Norn Iron? @jasonbell @manas.marthi

danm10:06:45

Norn Iron?

jasonbell12:06:31

@U0525KG62 Ha! I knew I wasn't alone. πŸ™‚

jasonbell12:06:54

@manas.marthi Are you involved with NIDevConf tomorrow?

manas_marthi12:06:08

just saw your msg.. was away from desk

manas_marthi12:06:42

I am not coming to nidevconf.. But if you are in town, we can catch up..

manas_marthi12:06:51

please let me know a time that suits you.. I live in city center.. we can meet somewhere between queens and europa..

manas_marthi10:06:44

learning clojure itself is a lot of work. I don't want to learn a bunch of emacs keys .. I prefer proto repl..

yogidevbear10:06:51

I love protorepl

yogidevbear10:06:29

I have both installed at the moment so if I need to be productive then I can switch to atom

yogidevbear10:06:14

But figured it was worth at least trying Emacs out so that I can understand what people are saying when they talk about modes etc

dominicm11:06:07

modes are basically just "what plugins are activated for this file"

dominicm11:06:19

they're rather meaningless vim

yogidevbear11:06:48

Haha I was waiting for that @dominicm πŸ˜‰

yogidevbear11:06:21

Matt was pushing for Vim when I was in the London office yesterday.

dominicm11:06:07

In earnest, modes don't mean much.

dominicm11:06:29

There's "not much" to emacs in principle. There's just a lot of plugins and things to memorize.

dominicm11:06:39

vim has a bit more to learn than emacs.

alexlynham11:06:57

what you need in emacs:

C-x C-s ;; save
C-c C-l ;; load into repl
C-M-x ;; eval form
C-c M-n ;; switch repl to current namespace
...and all of paredit

alexlynham11:06:23

can't think of much else I use.

alexlynham11:06:14

C-x-o ;;  switch pane
C-x-2 ;; split window
C-x-3 ;; split window
maybe those?

alexlynham11:06:46

I think on mac emacs you can also switch pane via shift-arrow but I forget πŸ™‚

alexlynham11:06:18

yup, just checked

mccraigmccraig11:06:00

not on my mac-emacs @alex.lynham - S-arrow does mark/select simultaneously

alexlynham11:06:31

weird... maybe it's that I've added it somewhere in my hokey emacs.d

alexlynham11:06:55

mark/select for me is cmd-space for some reason πŸ˜•

manas_marthi11:06:28

I have used vim for quite some time. I learned emacs for a while for to do clojure programming. Later @seancorfield told me about a talk by stuart halloway on "repl driven development", and his own experiences with emacs etc., and his latest decision to move to proto repl. I took his advise and saved my time and energy in doing a research of emacs/ed(1)/vim and coming up with an educated opinion..

manas_marthi11:06:34

At present I am working on a windows pc. I don't need to do programming on a linux terminal

manas_marthi11:06:41

so no hurry to use emacs

alexlynham11:06:43

if I was starting again today I'd use protorepl - that's what I've had other people install to try clj

alexlynham11:06:10

but I was working with two emacs users when I learned clj so it was less friction at the time

manas_marthi11:06:58

I spent some time to learn orgmode on emacs.. But quickly fell back to onenote

mccraigmccraig11:06:16

i've used emacs on and off since 1988 with C,C++,java,ruby,javascript,python,&c ... languages and other editors and IDEs come and go, but emacs remains

manas_marthi11:06:17

orgmode is the only usecase for using emacs for me

benedek12:06:53

Same here as @mccraigmccraig: emacs before clj

benedek12:06:33

One of the catches of clojure for me was that the main dev env was /is emacs based

flefik12:06:52

ive been meaning to try out spacemacs (from nvim) for a while, but im going to wait until there's decent support for parinfer.

manas_marthi15:06:09

Does anyone have some small projects on github so that I can run it, test it, and study the code?

manas_marthi15:06:11

So far, I have been just reading (read brave new clojure, clojure in action, a little bit of the web development ), and watching videos (stuart halloway's oreilly lectures, and two courses on plural sight, and one course by adam bard in oreilly)

manas_marthi15:06:23

I did these things over a long period of time, with many gaps in between, so I can't count all of it as intensive learning..

otfrom15:06:00

What kind of projects?

manas_marthi15:06:22

say todo web apps, reporting tools, document readers/parsers, web scraping, pdf file readers that store data into db, batch jobs that can read csv data and create html reports, programs that can convert unstructured data into relational table data..

practicalli-johnny17:06:44

simple server-side web app - introduces ring and compojure libraries which are commonly used http://practicalli.github.io/clojure-webapps/

manas_marthi19:06:31

thanks a ton !!

3Jane15:06:39

If you want a web scraper, a friend wrote this: https://github.com/nathell/skyscraper - there should be a presentation floating somewhere about it

4
[UNUSED ACCOUNT]15:06:11

Said friend is lurking here and actively developing Skyscraper, so AMA πŸ™‚

πŸ‘‹ 12
πŸ˜„ 8
4
otfrom15:06:14

a fair few things on http://github.com/mastodonc but a lot of them are libraries or bigger

4
alexlynham16:06:09

I'd recommend building an app with luminus or compojure-api to see how a bunch of sensible defaults can be thrown together maybe? πŸ™‚

maleghast20:06:07

Anyone about?

maleghast20:06:00

I feel like a great big n00b... I need to update a map, the structure is like this:

{:a {:foo "bcz"}
 :b {:foo "bsa"}}

maleghast20:06:31

I want to change all :foo entries to "bar"

maleghast20:06:07

I assumed that this would work:

(assoc-in testmap [_ :foo] "bar")
but it really doesn't

manas_marthi20:06:51

guess we need to use update-in?

maleghast20:06:32

I already have a function that works that is expecting this structure so I don't want to switch to a vector of maps

maleghast20:06:00

I will try that.

maleghast20:06:17

I never think of update-in...

maleghast20:06:16

OK I've reread the clojuredocs page for update-in and it has the same problem as assoc-in

maleghast20:06:23

you can't specify "for any top-level key, change the value associated with the following child key"

manas_marthi20:06:35

I recently discovered specter library

manas_marthi20:06:57

it might be what you need.. but I am a noob here .. so cannot advise much

maleghast20:06:21

no worries - thx anyway πŸ™‚

korny20:06:50

@maleghast you need to iterate over the map to make multiple changes - I don’t know the best way, I tend do to a lot of iterating over a map, then making a new map with into {}…

maleghast20:06:36

When you say "iterate" @korny what exactly do you mean?

korny20:06:09

(let [m {:a {:foo "bcz"}
           :b {:foo "bsa"}}]
    (into {}
          (map (fn [[k v]] 
                 [k (assoc v :foo "bar")])
               m)))

seancorfield20:06:25

Or reduce-kv...

korny20:06:51

produces {:a {:foo "bar"}, :b {:foo "bar"}} - but I’m sure there’s a simpler way!

maleghast20:06:07

That sounds like some next-level shit...

seancorfield20:06:50

(reduce-kv (fn [m k v] (assoc m k (do-stuff-to v)) {} m)

4
seancorfield20:06:27

(Let me go look that up!)

seancorfield20:06:16

Yeah, I was remembering correctly.

seancorfield20:06:38

Very useful function introduced in Clojure 1.4.

maleghast21:06:22

Seriously @seancorfield that is absolute magic!

seancorfield21:06:52

Always discovering fun new functions in core! πŸ˜„