On Wednesday, May 10, 2017 at 3:16:42 AM UTC-4, Luke Burton wrote: > > > > On May 6, 2017, at 10:56 AM, Matching Socks <phill...@gmail.com > <javascript:>> wrote: > > > > This one. > https://tech.grammarly.com/blog/building-etl-pipelines-with-clojure > > > > "To be honest, this is a somewhat advanced usage of the transducers > machinery," says the Grammarly Engineering Blog, right after shoehorning a > BufferedReader into the mold with "reify IReduceInit". I already felt I'd > got my money's worth from reading up to this half-way point. But I was > astonished at what came next. > > Though it pains me to speak of it, I tell you now I have seen this "blog > post", and seen too what came next. Astonishing indeed! I admire your > simple description of these events, as it suggests either a man of great > fortitude in the face of horror, or a man who was able to flee and forget, > and I know that I am neither. > > I remember the reified specimen – still alive, god have mercy – placed > upon an altar to be offered up to `eduction`. Yes! Placed squarely on its > unsightly variadic first argument. Why? For what purpose? We are told: > "it's a recipe for the values to come." The blood drained from my face. > > It was soon apparent what eldritch function would feast upon the values > begotten by this unholy recipe. I saw the invocation of `transduce` and it > brought back sweeter memories, of burritos and airport conveyor belts. I > could see the `eduction`, presumably still wrapping the reified > IReduceInit, perched atop a ziggurat of lesser transducers. I looked, and > at the very bottom lay a blasphemous side-effectful invocation of map. I > did not belong in this place. > > Beyond astonished, I tell you, but still at this point I clung to sanity. > I cried out: Enough! The values have suffered enough! They were good > values, persisted to disk, why are they now flung into dimensions far > beyond our own? Why have you turned your back on open(2)? Why have you > forsaken the file descriptor? > > Alas, my sanity could not stand this final blow. The Grammarly necromancer > spoke the words: "Here Comes The Parallel Implementation." And lo, he did > throw `core.async` into the mix. I saw `pipeline` swallow `transduce` > whole, like a multi-armed multi-beaked creature from a Boschian hellscape. > The whine of the CPU fans drowned out my last cry: aren't you supposed to > use `pipeline-blocking`? > > You may think me sane now in having told you all this, but I assure you, I > am no longer. I should have run when I had the chance, but now I dream of > educing the pipeline, reifying the transducer, and shouting the misbegotten > outcomes into every channel that will >!! my message. It is too late for > me, but perhaps not too late for you. > > Hehehe! I don't understand much of the technical details here, but that was brilliant. :)
-- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.