An irrational part of me wants to write a children's story in the style of dr seuss about Monads. But it would be a lot time spent refining the dialogue to be entertaining and artwork to make it seem interesting. And in the end i would have a children's story that both adults and kids would judge solely on entertainment and artwork and not at all on how well it described a monad.
THREE
(Look at the picture at the bottom)
• you can choose either side of the path
• you can get to the path from anywhere
• the paths can merge.
THREE
• Choice
• transformation
• join
THREE
(if (nil? %) :success nil)
nil? % => choice
if => transform
:success nil => join
THREE=>MONAD
(macroexpand-1 '(some-> nil inc)) ;; => (let ;; [g nil] ;; (if (nil? g) nil (-> g inc)))
https://youtu.be/YR5WdGrpoug?t=1600 > you would never say "maybe anything" because when your talking about something in isolation, destined to be combined in aggregate, who knows that its maybe? What rich is saying is that the Maybe Monad represents a bad idea. It's possible, but its not something you want to encourage. The issue is that its a choice between complete success and complete failure. try catch success fail. The idea that you might have to makes a choice isn't what we do in programming, we make choices. A useful type is one that helps you understand the choice that was made. If a type just tells you that some choice was a choice, its usefull and its distracting and its pervasive. which is why it becomes necessary to put it everywhere once you adopt the idea. Because everywhere is nowhere at all.
Put another way, intentionally trying returning maybe is like intentionally returning nil.
I should note some of the literature suggests monads are associative. Which would mean your if expressions would need to be pure. i think
I don't see that in the category theory versions, I'm not sure they consider the idea of order at all
The Major gazed upon his land A might maze, his people lost, his job to make a plan! What to do? Where do they need to go! His advisors worked late into the night The strained with all their might A plan to let everyone know where to go When morning came, what is to be our fate? The city roads, now blocked by gates! The major his a head a thunder What is this massive blunder! The advisors, aghast, do protest Your excellence, the problem is addressed See now your subjects are never lost For they cant go adrift The major, his eyes a dark and stormy sea There is a problem, dont you see! for there is only one key!
@paul.legato i love your version. it inspired me to make my own 🙂.
https://www.infoq.com/presentations/why-is-a-monad-like-a-writing-desk/
^^ great talk :)
@alexmiller i'll give that a watch, thanks!
probably too early to know, but any speculation as to whether free Slack instances will be phased out post Salesforce acquisition?
They’ve allowed Heroku to retain their free tier. I’m not sure what their plan is for Slack, though.
I’d really love to know why Salesforce wants to pay so much money to buy a company with an easily cloneable product that’s losing almost a million dollars a day. For their customer list — mostly small startups with limited budgets who can’t afford Salesforce?
We're a small company with a limited budget and we already use Salesforce (as well as Slack) 🙂 Not sure whether you'd consider us a "startup" at this point since we've been around for almost 20 years...
Ahh, so even less reason for Salesforce to want to buy your contact info from Slack 🙂
I’d buy it.
If it could do both — have an entertaining story and artwork, AND explain monads properly — that’d be amazing
On a related note, as an Office365 user/subscriber, I've noticed Microsoft starting to push Teams more heavily lately (it auto-installed it for me and then prompted me to create a group and start adding integrations/apps)...
Microsoft has gotten pretty vicious with 365 lately.
They’ve added some kind of friendly looking employee spying and surveillance dashboard, too.
It sounds a lot better if you say “employee analytics”
Depends how paranoid you are, I guess. I like the My Focus thing it does where it automatically blocks off a few hours almost every day on your calendar for "focused work" and then tells you how much email etc your still responded to during your focus time.
That part sounds nice
I’m thinking of the “productivity score”
Conveniently, Office 365 offers easy tools to game all the metrics and rise in your boss’ good graces. Just ramping up your engagement with Office 365 leads to the best Productivity Score in the office.
I can almost hear the pointy-haired boss staff meetings now: “Our department’s Productivity Score must improve 20% this quarter — no more email attachments, ever. From now on, all files must be shared via Microsoft 365 files”
given the number of similar yet dead products I think you underestimate how easy it is to successfully run something like Slack at scale
they've won because they created a compelling product that works
Oh, on the contrary - they’re losing almost $1m a day because of that. I question why it’s worth $28 billion to acquire a company that can’t pull it off.
companies often lose money in favor of growth
Exactly. Many companies can post great growth numbers by essentially giving away free value.
At some point, that should stop? The company should at least have a path to being profitable?
how many big companies are heavily invested in slack and could easily be squeezed a bit
how many big free orgs (like this one) could be squeezed a bit
yeah the bots/integrations are now properly just workflow
and there's a ton of money on the table by having 20k person slacks that pay exactly zero and the lowest tier is like $8k per month or something crazy
how many ways can they extend their reach and integration with other enterprise apps in exchange for $$$? (I'm guessing lots)
slack has tons of latent monetary potential
Evidently Salesforce thinks so! 🙂
they are a gateway into fortune 500 companies where you can upsell them into a dozen other things
Aren’t most of those places already on Salesforce anyway?
well I'm sure all the ones that aren't are lucrative new business
If not, is there a more capital efficient way to reach them than spending $28 billion? Salesforce has a pretty amazing sales team, from what I’ve heard
all I'm saying is, it doesn't seem crazy to me
and now the ubiquitous chat application used almost everywhere in the industry
I freely admit I don’t have all the facts here. I have no idea why they’re doing this
you also have to trade against the risk of some other company like oracle or microsoft or whoever buying them and getting that advantage against them
salesforce may also see slack as a competitor in some areas too, so it may to some degree be an acquisition to fend off competition
having both lets you start to sell suites of products in enterprise licenses
They could clone Slack in-house for a small fraction of 28bn
if they could, they would have
my last four jobs have used slack as a completely integral part (or even primary) for communication
or they don’t care about the actual product / technology, it’s something else they’re after
it's so much easier to spend other people's money to buy stuff than to build it from scratch
haha. yes, I suppose build/buy looks quite different when you are in a position to move billions around
in my experience tools like slack become the place where the stuff that should be in a company wiki / document repository can actually be found, which becomes a huge lock-in
Same where I’ve worked. Slack becomes the de facto source of truth for so many things it shouldn’t be.
and I'm sure that kind of lock-in factor is calculated to be worth something
given how lax the us is about antitrust enforcement, and at least some noise that indicates maybe that might change, I do seriously suspect it is an attempt to head off possible competition while they can
Interesting, that could well be. Oracle (hated by customers) + Slack (loved by customers) is a much more compelling proposition than Oracle alone
so it'll be interesting to see what they do with slack
is slack loved?
As far as I can tell, yes, on balance most users love it
The product design, UI/UX are very well done IMO
Slack does threads terribly. Just look at this conversation. Try to follow it. Try to notice a new topic introduced in this noise. It’s intentional. The only way to truly make sense of it is to be a part of it in real time, aka “boost engagement.” There’s no way Slack is useful as an archive. Slack is a distraction machine
do users have a choice or do they have to use whatever stuff the company uses?
Especially in terms of making text chat accessible to non-technical people, who are the bulk of the userbase at any company
Usually no choice, which makes it all the more refreshing when you’re forced to use a product that doesn’t have terrible UX
it has many of the "gamified" elements that suck people into social media, tiny rewards and motivators
at my last three companies it was totally based on what the developers would use
and they overwhelmingly chose slack
which is kind of crazy, because the slack client is a pig
apparently the new m1 macs can run the iOS client instead of the electron app and get massive resource usage gains
at my last job one of the developers wrote an ircd in clojure and we used that for years, but by the time I was fired out of a cannon into the sun there was a move from it to skype chats, and then from skype chats to slack
Compare Microsoft Teams: same core features, much worse UX. Nobody would ever use Teams if they didn’t have to. Microsoft specializes in putting out “good enough” UX that people use only because their company forces them to.
Slack is reaching (or trying to reach, at least) beyond the engineering departments to the rest of the company, to accounting managers and HR people and so on. That’s why they pushed out the much demonized switch to WYSIWYG input.
my impression is of it moving in the other direction
e.g. as a mandated thing to use
slack already is used a ton outside of software orgs by non-engineers
I think that developers -- especially developers who favor OSS on principle -- find a lot to complain about with Slack and those are complaints that most Slack users (non-developers) just don't have...
I would wager most people employed as writers (editors, staff writers, etc) for any publication are in a slack
Yes. It’s friendly looking, easy to figure out, doesn’t appear formidable or technical at all. Nice jewel tone color palette. Jump right in and start messaging.
The huge ecosystem of integrated apps from such a wide variety of companies is very, very appealing to (non-developer) Slack users, for example.
but that is a sort of a chicken and the egg
having used more message systems than I count in my career, I like Slack a lot. nothing's perfect but it's pretty good
The non-technical boss will usually pick Slack over, say, IRC
did the huge ecosystem cause people to use it, or did the ecosystem arise because people used it
yes
if we are trying to explain its popularity
the virtuous circle in action
slack is fine, I lament the walled garden of it all, I lament the lack of a good command line client
There was kind of a greenfield scenario there in group business text chat about 10 years ago. IM was no longer perceived as for kids, and people wanted something better for groups than Google Talk / one on one chats. IRC was far too daunting for most non-technical people. There were a few things like Campfire / Basecamp that got some traction, but failed to break out into mainstream (non-engineering) success. Then Slack came along and refined the concept by specifically catering to mainstream UX expectations.
I think that is interesting (and the accepted) narrative, but what is the evidence to support that is why slack took off
Ultimately, it’s not proveable in any rigorous scientific sense, since we can’t wind back time and do experiments under the same conditions. One off heuristics is all we’ve got
Anecdotally, I’ve seen TONS of non-technical and less technical people enthuse about Slack the way I’ve seen them enthuse about very few other technologies.
Apple / iPad tier enthusiasm, or very nearly so.
like, do we have screenshots from slack circa 2010 showing its great ux?
The usual process for business technology deployment is: boss orders everyone to use x, everyone uses X, everyone wryly complains about how it messes up their day / makes their dog sad. With Slack, the same people are wary at first, but within an hour they’re happily sending each other cute emojis and cat GIFs and planning lunch.
I don’t, off the top of my head, but I was there in 2010 and its UX did blow away all the alternatives that were available at that time
As I recall
when slack started it was better (and I was using campfire and hipchat and grove and whatever the web irc thing was at the same time)
slack built an objectively good product, they grew the userbase by luring small groups and small cos and eventually big cos with quick free setup. they nurtured the ecosystem with easy clever integrations. they had good 2-way connectivity to irc for several years to siphon them.
slack is one of the very few tools I use for work that my kids and my wife also use for other things
(email and google docs prob being the others in that class)
will salesforce f it up? probably, that's how this works.
Before this pandemic I never heard about Microsoft Teams. Now my wife is using it for her work (she doesn't know what Slack is) and lots of schools are using it too. Basically anyone non-IT I come across is using it, while Slack isn't common at all with non-IT folks here in The Netherlands (from my limited personal viewpoint)
eventually it will grow too salesforcey and someone will make a lighter weight clone and eat their market share from the bottom.
Twist 🤞
huh, no treadmill emoji
Also, we were using Zoom for years and initially I thought we were using a niche product, while everyone else was on hangouts. Now even my wife's book club uses it.
my irssi process has been running since 2018 😬
kevin 6825 0.1 2.6 174136 27408 pts/1 Sl+ 2018 1595:17 irssi
To their credit, I was amazed at how little they f’ed up Heroku
That sounds similar to Slack in the US ~5 years ago or so. I think they started some deliberate “let’s get non-tech customers” effort around then. I guess it was country by country
I .. don’t get Zoom. At all. What the big deal is, why people latched onto that instead of the 20 identical products, including ones run by Google and Apple and Microsoft/Skype where they were already customers. Is it just because Zoom is a cute name?
well, I hope by now no one trusts google chat products to be around for the long term 🙂
haha. Yeah, Google had what, 3 video chat services going at the beginning of 2020
I think zoom has better adhoc meeting support
Ahh, was that the thing.
which is better for cross team, orgs, kinds of calls
Just send someone a URL and they’re in
skype had that to some degree, but I think there is some friction between skype for business and regular skype
Google Meet has that now. I don’t remember if they had that pre-zoom. If they did, I didn’t know about it
I've been using zoom for some time now and only just around to actually having a zoom "account" and connecting it the business's account. they made some recent changes that made the adhoc stuff more annoying, requiring the host of the call to manually approve all outsiders joining the call
The whole “lack of any friction to get going” thing seems to have a big effect on onboarding and retention, especially with non-technical users. I think a significant and underrated element of Slack’s success (in the context of already having a decent product launched) is how easy they make it to sign on when you’ve forgotten your password. They just email you a magic link that takes you to an already signed-in webpage of the Slack you want, or launches the app on your phone.
i'm actually annoyed that each login for each workspace is separate. i have like 9 "slack" passwords in my password manager
ha, yeah, me too. Their cross-account integration could use some work.
sure, I think that speaks to the cyclic nature of things like alex pointed out, almost all products that gain traction start with low friction onboarding, then start to add friction to "offboarding" which inadvertently adds friction to onboarding
so salesforce will add some features to slack that people think makes it too "sticky" and it will be one to the next low friction thing
They well might. Many other good products have fallen to this.
A lot of times too the founders / original staff who thought of the cool stuff and designed the product leave to move to Aruba as soon as their acquisition stock options vest, and are replaced with uncreative bureaucrats from the larger acquirer.
At least several years ago, when I first used Zoom, it seemed to just work fairly well. Most of the competitor's had crappy quality, constant droppage, etc. I've heard this observation from other colleagues as well.
At work we tried a ton of different video conferencing offerings -- Zoom was simply better: more reliable calls, better audio, better video, better screen-sharing. We just got tired of all the others glitching out, dropping calls, distorting audio/video, and blurred screen sharing.
Precisely
Guessing that's how they rose to the top
The only thing that came close for a while was Screen Hero (specifically for screening sharing with audio) and they got eaten up by Slack and it took ages before Slack integrated it -- and somehow they messed it up so we still use Zoom for remote pairing...