@ndji
iAccount based inUnited States
About this account
- Account based in
- United States
- Connected via
- United States App Store
Account-level information from X, not a live location or the device used for a specific post.
A recovering over-thinker. One half of @clojuredesign.
Los Angeles, CA
Joined July 2008
- Tweets642
- Following415
- Followers383
- Likes2.7K
Pinned Tweet
The right editor to use when learning #clojure is whatever editor you're most familiar with.
We're back! Huge thanks to @enigma2a for working with me on this awesome project.
I'm so glad we get to continue our discussion on pure data models. It's such a unique approach to core functionality, and we have more to come.
State over time? Insight from data? In our latest episode, we look at two types of models; one that will follow you through time, and one that helps you make sense of collections.
#clojure #functional #podcast
clojuredesign.club/episode/1…
Clojure team:
What’s a compile time?
Nate Jones ⚽️ retweeted
I had so much fun watching Christoph Neumann's (@enigma2a) Clojure/conj talk on his work enabling live sports and e-sports programming.
I haven't watched e-sports much, but I did watch the documentary of Google DeepMind’s AlphaStar, where it played some of the best StarCraft II players in the world. The event was so brilliantly done, and was hosted by professional commentators, who helped explain and give context to what we were observing.
It was so good that I made my kids watch it, and I’m not ashamed to say that it actually made me cry! (As did watching the documentary on Google DeepMind AlphaGo — holy cow. Move 37 FTW!)
(I'll include the links to those videos at the bottom of this tweet.)
Christoph gave an amazing talk on how the code he wrote enables these types of live e-sports broadcasts of some amazing gaming brands:
- Heroes of the Storm (including the draft tool to facilitate team hero selection in real-time, as well as enabling the commentators to do their job, too)
- Hearthstone (including tools to analyze and display the game state live on-air)
- Overwatch (including integrating live game statistics for the Overwatch League)
He also describes some of the work he did to help brands such as Blizzard Entertainment (home of StarCraft II, which was obviously the game that AlphaStar competed in), NFL, Overwatch League, Heroes of the Storm, Activision, Call of Duty League, Hearthstone: Heroes of Warcraft, NEP, Twitch, Wimbledon Championships.
One reason I was nerding out so much during Christoph’s talk was because he had hinted at so many of these things in his awesome Functional Design in Clojure podcast (@clojuredesign), but never really elaborated on what he actually did. I’ve listened to every one of their 100+ episodes that he did with Nate Jones, @ndj, and always hoped they would go into more detail about what they’ve done in e-sports.
Wish granted! It’s such a cool talk.
Among other things, he talks about the high stakes involved in live events — mistakes are seen by everyone, and could actually jeapordize events where hundreds, thousands, or even millions of people are watching!
Christoph: "You have hours of boredom followed by seconds of terror."
Ha!
Everything he's built is done in Clojure, whether it's a event in front of an audience, broadcast over the airwaves, or streamed to a channel.
"My hope is that by the end of this talk, you're going to have an idea of what's involved in pulling off a live sports production, and then how to build a system using it."
Yes!!!
1/n
Source: youtube.com/watch?v=kIhY4VDa…
Also: the amazing video of StarCraft II AlphaStar live broadcast: youtube.com/watch?v=cUTMhmVh…
Happy Birthday Babashka! This wonderful tool enables me to bring Clojure's data-oriented simplicity to my terminal scripts. I no longer have to bash my head against the wall trying to remember how to write a conditional or loop in a shell script.
#babashka #clojure
Today is #babashka's 5th birthday! To celebrate, share your favorite bb scripts, tips, tricks, projects with the #babashka and #clojure hashtag, star the repo if you haven't done so or RT this tweet! Thanks for using bb!
github.com/babashka/babashka
Nate Jones ⚽️ retweeted
What are the building blocks of pure data models? How does each part contribute to robust, understandable code? In our latest episode, we look at pure data models we've created and see what they have in common.
#clojure #functional #podcast
clojuredesign.club/episode/1…
Nate Jones ⚽️ retweeted
What code is the essence of an application? Is it concentrated together or spread all over the codebase? In our latest episode, we find a clear and pure heart in our application, unclouded by side effects.
#clojure #functional #podcast
clojuredesign.club/episode/1…
Nate Jones ⚽️ retweeted
Frontend codebases a dizzying maze? Code, markup, images, media, events, bundling, frameworks, browser APIs, oh my! In our latest episode, we turn our attention to the frontend, and our eyes burn from the complexity.
#clojure #functional #podcast
clojuredesign.club/episode/1…
Nate Jones ⚽️ retweeted
Have you felt lost in a new codebase? How can you make sense of it quickly? What clues show how it all fits together? In our latest episode, we look for a suitable place to dig into the code and find an entry point.
#clojure #functional #podcast
clojuredesign.club/episode/1…
Nate Jones ⚽️ retweeted
Have you joined a project and felt frustrated with the docs or tests? Was it hard to figure out the structure and flow? Worse yet, it's your old code! Listen to our new series about setting your future self up for success!
#clojure #functional #podcast
clojuredesign.club/episode/1…
That game was somewhat memorable too. 😉⚽️
For just the third time in club history and first since March 31, 2018 (vs. LAFC), the @LAGalaxy produced a comeback victory after they trailed by two or more goals when entering the 70th minute of a match.
Nate Jones ⚽️ retweeted
How do you get from a blank editor to a battle-tested application? Why is the Clojure way different than other languages? In our series finale, we highlight the highlights of the Sportify! series.
#clojure #functional #podcast
clojuredesign.club/episode/1…
Nate Jones ⚽️ retweeted
Programming can create so much wasted effort. Even worse, computers are exacting, so extra code is often slow to write! @ndj and I created this series to help you save time and make better software using a bottom-up method of coding in #Clojure. Check it out!
How do you get from a blank editor to a battle-tested application? Why is the Clojure way different than other languages? In our series finale, we highlight the highlights of the Sportify! series.
#clojure #functional #podcast
clojuredesign.club/episode/1…
Nate Jones ⚽️ retweeted
How can you make software extremely reliable? What makes it testable, inspectable, and predictable? In our latest episode, we loop back to our new approach and find more, and less, than we expected!
#clojure #functional #podcast
clojuredesign.club/episode/1…
Nate Jones ⚽️ retweeted
Do you love waking up in the middle of the night to troubleshoot a bug? I don't either. That's why @ndj and I recorded this. Learn a functional programming pattern for making extremely reliable software.
How can you make software extremely reliable? What makes it testable, inspectable, and predictable? In our latest episode, we loop back to our new approach and find more, and less, than we expected!
#clojure #functional #podcast
clojuredesign.club/episode/1…
Nate Jones ⚽️ retweeted
Have you ever tried to handle one more case only to end up refactoring your entire approach? In our latest episode, we throw our code in a loop, and it throws us for a loop.
#clojure #functional #podcast
clojuredesign.club/episode/1…
Nate Jones ⚽️ retweeted
Why does it take longer to gather information about an error than actually fix it? Can we do better than println debugging? In our latest episode, our downloads fail at random, but our dead program won't give us any answers.
#clojure #functional #podcast
clojuredesign.club/episode/1…
Nate Jones ⚽️ retweeted
Have you ever spent more time scaffolding a test than writing it? Must I/O-laden code be awful to test? Can simple logic be tested simply? In our latest episode, we need to test our logic, but the I/O is getting in the way.
#clojure #functional #podcast
clojuredesign.club/episode/1…