This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2017-01-14
Channels
- # beginners (4)
- # boot (78)
- # braveandtrue (3)
- # cider (9)
- # clara (6)
- # cljs-dev (4)
- # clojure (57)
- # clojure-brasil (1)
- # clojure-russia (99)
- # clojure-spec (20)
- # clojure-uk (40)
- # clojurescript (162)
- # component (17)
- # cursive (4)
- # datomic (21)
- # docker (2)
- # emacs (5)
- # figwheel (2)
- # hoplon (363)
- # jobs (1)
- # leiningen (1)
- # om (4)
- # om-next (5)
- # onyx (10)
- # proton (1)
- # re-frame (13)
- # reagent (13)
- # ring (3)
- # rum (1)
- # slack-help (1)
- # test-check (3)
- # untangled (7)
- # vim (24)
@glenjamin Is that route on Strava? Can you share it?
Bringing it back on topic... Too scratch an itch, I'd like to write a mobile app for tracking my fuel usage and mileage to understand TCO of my lease car. In particular, I'd like to take photos of my odometer, and fuel receipt, and OCR both to get mileage, and litres / cost of petrol to add to a db. It would be a good little side project for digging into React Native, but I'm wondering whether to try and embed OCR into the project or have a little microservice that does that aspect if it.. Any advice?
Hehe, possibly so. Could always take photo and queue them for ocr / manually typing at more convenient time than sitting on forecourt with a car behind beeping to get on the pump ;-)
I made a little web app for recording my expenses, considered doing OCR but instead i just attach a photo and punch in the info
My day job is primarily using Spring. I do find in frustrating spending so much effort on incidental complexity. All the class definitions when maps would do the job etc.
Saying that, I still find OO to work well in some situations and like Ruby for that. And i enjoy swift development.
Afternoon just ;-)
https://github.com/clojure-vim/async-clj-omni/blob/master/rplugin/python3/deoplete/sources/async_clj.py#L98-L104 You know what I really want? a promise. But python, in all it's many threading constructs. Doesn't have promises.
Morning
I've been up since 6 just haven't logged on to Slack
@dominicm worse, I've maybe 6 times in the last week committed the following kinda code.
device = deviceRepository.save(device);
reassignment 🤢
got to say the above code doesn’t offend me. Will almost always try and use a threading macro or something else to avoid naming it… but sometimes there’s no other good name… and I’ve seen a lot of bugs due to people forgetting to return x2
instead of x
definitely should try and avoid it… but I don’t think its universally bad, there's always a tradeoff.
strictly speaking its also not reassignment, its shadowing 🙂
Also I think if the first thing you have is a let bind and the first thing it does is shadow an argument, that’s ok… I think the problems happen when the shadowing is in the middle of a bunch of bindings.
I try to avoid shadowing but not at the expense of good naming.
an additional consideration is that the argument name is exported in the documentation… IIRC you might be able rename it in docs with :arglists metadata… but would be a bit of a faf
https://github.com/clojure-emacs/cider/issues/1717 seems it is 😞
lack of threading or pipe operators usually means it’s the neatest of the remaining options
@dominicm: yeah, every now and then I have to go back and work on our legacy code base and I get so frustrated with the workflow (no REPL, side effects everywhere, ugly loops). Before Clojure I used to quite enjoy working on that dynamic OOP scripting stuff!
Oh, I forgot the lack of REPL. The inability to play with code when exploring apis is so hard.