Full Stack Clojure web app engineer
For Clojure as a 1st language it depends upon where you want to go. But here are great trail-heads:
- the best talks, most of which don't actually involve code: https://techyaks.com/clojure-all-tytop.html
- @yogthos list of beginner resources: https://gist.github.com/yogthos/be323be0361c589570a6da4ccc85f58f
- But most of all, the community: clojurians.slack.com, clojureverse.org, clojurians.zulipchat.com. That last one includes an awesome aggregator of all of them.
@worldsendless for me, also being able to manage **all** windows and buffers through Emacs commands. So much easier to handle, say, 30+ buffers than in any other window manager (including the tiling ones).
Innovation in decentralised social networks
Flipboard’s Mike McCue recently released the first episode of the new podcast Dot Social with Mike Masnick, where they discuss protocols, platforms, and the decentralised internet, and it’s worth listening to.
Johannes Ernst gives a thread with a summary and responses here, which is worth reading. One thing I’d like to comment on is Mike Masnick’s comment that he expects innovation more to happen on Bluesky’s ATProto than on fediverse’s ActivityPub.
I agree that innovation in the decentralised network space is happening to a signficant extend outside of the fediverse sphere, but I disagree with the idea that this will happen on Bluesky and ATProto. Instead, I think that Nostr is a more likely candidate:
Innovation in a decentralised network is currently largely dependent on individual hobbyist developers that are experimenting. For an individual developer the accesibility and difficulty of working with the protocol is an important consideration. From my understanding talking to developers is Nostr the easiest to work with. ActivityPub differs a lot, but can certainly be difficult, especially regarding actual interoperability. I have been told that ATProto is the hardest of the three to develop for, plus that it is simply not even put into practice yet.
Culture of the network is even more important though in driving innovation. The fediverse has cultures and etiquette that say that some innovations in the network are unwelcome, especially regarding search and consent. One of the things that interest me about the fediverse is that the social impact of technology is taken into account. We’re building these networks for people. But making features off-limits in a network does limit innovation as well, there is a cost to it.
Bluesky is threading a difficult middle ground here with the culture. The developers seem to have more of a technologist mindset to protocol design, and concerns about how federation will interact with content moderation are not given much care. At the same time, a core group of Bluesky users is not particularly interested in federation, and wants a simple Twitter replacement. That puts the team in a pretty difficult spot with regards to future innovation. They made great strides with custom algorithms, but they do experience significant pushback from the community on features that they themselves want to work on, especially relating to opening the network.
Nostr has an explicit culture of adverse interoperability, and a libertarian community who seems to be quite inspired by crypto’s mantra of ‘if we can build it we should build it’. This is not really grounds for a network that is safe for many people. It does provide a fertile ground for rapid experimentation and innovation. The network is by far the smallest of the three, but it has also created quite some innovations that the other two network haven’t, in the recent months. Multiple long-form article publishing sites, a torrent archive, an integrated payment system for subscriptions with crypto, and more. There are good reasons to be have some issues with some of these innovations, but it is hard to deny that they are developing at a rapid speed.
Overall I think that innovation often happens at the fringes where there is reasons for experimentation. But also, cultural reasons that inhibit innovation speed can actually be pretty good from the human perspective.
1. password-store.el, which makes emacs an ever-present (even in browsers) #password manager as present and more secure than LastPass
2. built-in emms, allowing me to interact (eg play, pause, skip, random) with my music from anywhere on my computer
3. well, I thought I had a third, but I can't narrow it down now. Let's say being able to execute shell commands from anywhere, any time with C-M-& (async) or C-M-! (blocking). Or maybe being able to do a quick orgmode capture regardless of what app I'm in. OR...
Worldwide community of activists protest OverDrive and others forcing DRM upon libraries - Greg Farough @ Defective by Design @ FSF: https://www.defectivebydesign.org/blog/worldwide_community_activists_protest_overdrive_and_others_forcing_drm_upon_libraries
On Friday 8th December they're asking you to:
* Not use Libby, etc.
* Discuss the harms of DRM, especially in relation to libraries, with hashtag #DayAgainstDRM
* Don't watch any DRM'd or streaming-only media, etc for that day.
Pfft, trivial for me! I'll binge DRM-free!
One of the biggest life-savers on #emacs #exwm has been the command `xrandr -s 0`. This somehow refreshes things and causes my triple-monitors to wakeup in ways that -auto and -set do not. But I cannot find documentation on it ANYWHERE; I've checked the manpages, web search... nothing!
EDIT: just tried `xrandr --help` and saw that it is short for --size. I'm still not sure why it works such miracles, though...
A fully switched to Firefox a few months ago when Google kept on pushing their "Manifest V3" Chrome policy, now that they continue to push it and remove V2 (and with it meaningful adblockers) from Chrome in 2024 maybe you want to start migrating as well?
Don't go to Brave btw. It's a shit company that keeps doing shady stuff and is run by a homophobe. There are so many browsers, just pick one. (Whether other Chromium-based browsers will keep an interface for effective customization for users around is for you to research. Just use Firefox TBH).
Key bit: "#Tumblr moving away from a growth strategy also aligns with the larger movement toward smaller and decentralized social media, characterized by the dispersal of Twitter’s users onto platforms like Bluesky, Mastodon, Discord, and even back to Tumblr itself.
'Every future for Tumblr that I’m involved in will include it being more open, supporting more standards, APIs, and open source.'”
Just got my @indivisibleteam newsletter, and I'm heartened to see that they're stepping back from Twitter. They're removing Twitter from their social media links on their website, phasing down on-Twitter content, and helping folks migrate to alternate platforms.
Read the inspiring story of how Eyüpsultan, Turkey switched to free software, gained independence from proprietary software, and saved money ($$$) in the process! If they did it in their city, your city can do it too! | Read more at: https://u.fsf.org/3m9
I always mentally wonder about #TypeScript vs #ClojureScript, knowing that #Clojure's decision to avoid #types is very deliberate. But TypeScript is conquering the world; is that an ad populum sign that Types are really a better way to go? Or does ClojureScript offer other things instead? If so, what are they, and to do the benefits of each option find value in different situations?
One of my biggest peeves is people spending time and effort "fixing" problems that have already been solved. I don't need you to fix my copy-paste! Stop coming up with replacements for email, planning, doing the dishes/laundry, etc. Unless your complaint is more substantive than "it's just hard for me," or "I'm used to something else".
If your complaint is inconvenience or difficulty, the answer probably doesn't require a disavowal of previous solutions, just a refinement for you (let's give you shortcuts, or reconsider the problem we are facing).
I strongly recommend this book to anyone who thinks about current events or who thinks in general.
(comment on Thinking in Systems)
People consistently underestimate how long programming tasks will take, because it's nearly impossible to think of everything that will need to be done on even very simple tasks. That's why it's better to use small/medium/large and use a time estimate based on what past tasks of that size took.
The problem gets superlinearly worse as the complexity of the task increases, which is why the scale can't be extended to extra large and above: the variance just becomes too high.
Now, apply this thinking to monumental tasks like AGI, or even autonomous driving.
Full Stack Clojure web app engineer
QOTO: Question Others to Teach Ourselves
An inclusive, Academic Freedom, instance
All cultures welcome.
Hate speech and harassment strictly forbidden.