This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
- # bangalore-clj (1)
- # beginners (16)
- # bigdata (1)
- # boot (16)
- # cljs-dev (79)
- # cljsjs (37)
- # cljsrn (62)
- # clojars (1)
- # clojure (260)
- # clojure-austin (3)
- # clojure-dev (3)
- # clojure-dusseldorf (3)
- # clojure-italy (1)
- # clojure-russia (32)
- # clojure-serbia (2)
- # clojure-spec (8)
- # clojure-uk (146)
- # clojure-ukraine (16)
- # clojurescript (66)
- # cursive (27)
- # datomic (57)
- # dirac (124)
- # emacs (10)
- # hoplon (12)
- # juxt (6)
- # keechma (6)
- # lein-figwheel (18)
- # leiningen (6)
- # lumo (51)
- # off-topic (1)
- # om (66)
- # onyx (41)
- # perun (1)
- # play-clj (1)
- # protorepl (9)
- # re-frame (20)
- # reagent (11)
- # ring (4)
- # ring-swagger (10)
- # rum (22)
- # specter (8)
- # sql (2)
- # test-check (5)
- # untangled (27)
- # yada (29)
If I say good morning, every morning, am I booting useful comments out of Slack history and into /dev/null?
dominicm: Is that like when a tree falls in the forest and no one is around to see it fall, does it make a noise?
Also, I'm pretty sure you can't view old history, unless you pay, at which point the history reappears.
If they didn't disappear, then they wouldn't be history as they'd still be present
@tcoupland re "good morning is a useful comment", that reminds me of the Dr Seuss Happy Birthday book: >"If we didn’t have birthdays, you wouldn’t be you. If you’d never been born, well then what would you do? If you’d never been born, well then what would you be? You might be a fish! Or a toad in a tree! You might be a doorknob! Or three baked potatoes! You might be a bag full of hard green tomatoes. >Or worse than all that...Why, you might be a WASN’T! A Wasn’t has no fun at all. No, he doesn’t. A Wasn’t just isn’t. He just isn’t present. But you... You ARE YOU! And, now isn’t that pleasant! >Today you are you! That is truer than true! There is no one alive who is you-er than you! Shout loud, “I am lucky to be what I am! Thank goodness I’m not just a clam or a ham Or a dusty old jar of sour gooseberry jam! I am what I am! That’s a great thing to be! If I say so myself, HAPPY BIRTHDAY TO ME!
Is the 10,000 across all channels? Meaning history wouldn't be visible for that long anyway.
yes, 10k across all channels @jasonbell ... you can personally save some messages by starring them and then they won't disappear, which is kinda useful
@yogidevbear but it is....and legacy is not a 'dirty' word. In the real world it means leaving something (usually of value) to future generations. This is actually a theme of some blogs I'm planning to write. Every time you write a line of code you're making a design decision and imposing some paradigm and/or abstraction on a future developer...maybe you... and there's a cost to that.
I thought agile meant I should just write stuff & then if it doesn't work for some future developer they write more code in their sprint until some PM, sorry, 'Scrum Master' agrees to allow someone to refactor it. Then it starts again.
I like that definition: "In the real world it means leaving something (usually of value) to future generations." :thumbsup:
has anyone used http://lambda.cd yet btw? I forget what the answer was after it was mentioned the other day
Saw it before I really started getting into Clojure and was thinking of experimenting with it for our code deploys at work (non CLJ)
@glenjamin I agree. The trick is making the right decisions about abstractions to apply and when/where to apply them to make it easier to turn off or delete in the future.
nope, i was looking at it a short while ago, but discovered i could do everything i wanted (CI/CD with multiple independent system components running on a cloud service) with docker compositions on codefresh or docker-cloud
@glenjamin - I wanted to use it, but I've not had the chance / work buy-in... May well change that VERY soon; if I get it going I will let you know.
The irony is that I originally typed "Jase" thinking I was using the meme version, so guess it's started to stick
@glenjamin unhelpfully my answer was, not used http://Lambda.cd in the wild yet, but looked at it briefly. In my experience the major blocker to adoption in most clients is that there's a separate 'devops' team who don't know Clojure.
because the knowledge is spread apart and they just end up doing niggly little things instead of anything strategic
and having a small central team support platform and tooling, and provide training and expertise to dev teams works well
@glenjamin I don't disagree with your statements above. I just meant that in my opinion it's still a separate 'ops' team using different tools that include code. I wasn't implying that 'ops' works best when embedded in dev teams, simply that a separate team should just be called 'Ops'. Although I think you have actually come up with the best reason for calling them 'DevOps' that I've seen > devops = ops with a focus on business outcomes, not uptime
Hmmm, WebOps is an interesting term...I always found definitions of it a bit restrictive.
Is there anything wrong with aligning the technical "Operations" team with the business "Operations" team? In some orgs there may be large overlap with tech "Operations" supporting business "Operations"?
I thought "DevOps" was the culture / practice of Developers also doing Ops work and essentially being responsible for the deployment / shipping of the code that they develop..? Am I mistaken?
an integration of development and operations, by having the same people do both
none of this “and then we throw it over the wall to the Ops team to try and keep it running” business
That was the definition I was applying but @glenjamin has an interesting take on what works, regardless of what we call it.
I think that’s part of it too, but in larger orgs / estates that can be difficult - a very wide set of skills would be required. So to me alignment in outcomes is more important than sharing individuals
let's face it dogma is less useful than the ability to do what works in any given situation anyway
I used to be on-call as a COBOL programmer but I was never Ops....they were the people who mounted tapes and disks!
Seriously tho, supporting your own code in a live environment is a great learning experience and is how it used to be.
@agile_geek - Not the "same", but my first two years as a webdev I had the same experience as I was working for the little company that me and 3 mates ran and I did a LOT (by which I mean all) of the sysadmin work.
I learned a LOT about FreeBSD, "rolling your own" and why having scripts to do things is broadly a good thing, but can be a very bad thing(tm) if you also don't test things... 😉
I need a Dinosaur emoji for moments like this...I remember submitting jobs on punchcards...
Mind it was when I was in Uni on very old equipment and at the knee of my Father when he was in work on a Saturday when I were a young 'un
Right, I am heading to a bar with colleagues - my last day at work in PH today - on Saturday we are off on vacation and by mid-March we'll be back in Blighty!
My favourite trick was punching rude words on papertape then making an infinite loop....
Although you also had to watch out for undesirable side effects...paper cuts..breathing in the punched 'holes' when emptying the hole collector on the punch machine..
I have a question about parsing, and this channel usually has interesting views on this stuff. Regex scares me, if I see a regex for urls or emails, I consider it wrong, without thinking. I've learned not to trust regex for parsing, ever. So, what are my alternatives for parsing everything, when do I pick each?
Every time I'm told that a + isn't allowed in my email by a site I get annoyed. They're using a dumb regex again :face_with_rolling_eyes:
Not used it but I remember glancing at this ages ago https://github.com/Engelberg/instaparse
While we're talking about parsing. I have to parse some XML (I know, yeuch, right). I know about
clojure.xml and https://github.com/clojure/data.xml . I think hte main difference is laziness in
data.xml but anyone got any better suggestions?
@agile_geek BNF is really good, for truly contextless grammars. I've found that a lot of grammars are not (😱)
https://github.com/lambdaisland/uri/blob/master/src/lambdaisland/uri.cljc this is what got me thinking, specifically how they do uri parsing via regex it seems
I think this project is OK, and it passes a good list of tests & is based on studying the RFC. But is there a "correct" way to parse a URI, I am left wondering.
the implementation of java.net.URI is very simple. It breaks a URI into strings e.g. scheme, authority, path, query etc. but path (for example) is opaque
It doesn't really do anything to help break down the components further though i.e. path is just a string
Only in bad code really. Obviously if you're server side the URI must have got you there and therefore will be valid. If you're constructing a URI you would presumably use the URI class so it must conform to even instantiate.
@agile_geek well, the browser will allow me to send a lot more URIs than j.n.u will necessarily accept
It would have to resolve to the http servlet on the server so it can only be a valid URI.
Of course you could input any string as data in a query string or request body and try and coerce that to a URI
You'd read the string representing the URI and try and instantiate a java.net.URI using the constructor that takes the string and it will throw an exception if it's not a valid URI
If it is a valid URI, but has a 1% usage character in, that j.n.u missed or was hard to implement, or something to do with not following proper escaping rules. It doesn't seem like there are any cases of that in j.n.u (that I know of! there may be, part of my question)
That is, the URI is spec compliant, but j.n.u cannot parse it for whatever reason. There doesn't seem to be many of those.
Probably cos the source for URI's is usually via an http/ftp/etc. request or code that captures the exception if it occurred
j.n.u has been tested to death in production around the world so I think they got the bugs out of all the escaping rules it applies so it's pretty solid. If you do give it something with invalid escaping rules etc. it would throw exception.
Interjecting something unrelated here, but thought this was interesting: https://www.oreilly.com/ideas/2016-software-development-salary-survey-report Some mentions of Clojure further down the survey results
the problems are when you get overly specific regexes, or exactly spec-compliant ones
I'm pretty sure I've seen one that goes onto the mail server and does an MX against it
i’ve heard second-hand that one of the best email validations approaches you can do is to warn about misspellings of common email providers
@weavejester I've been thinking about a library of "really useful form predicates" independent of valip
Anyone know how the ClojureX Bytes events differ from the dojos in terms of structure, etc? The Integrant talk next week looks interesting