Practicall Teamλ︎
Practicalli founding principle
Learn by doing. Learn effectively by sharing lessons learned.
Practicalli is the result of many years "learning by teaching" in the community and commercial training for several consulting companies.
Practicalli content is designed to be understood so feedback on clarity and topics covered is always appreciated.
Visionλ︎
Practicalli started with a focus on effective development with the Clojure functional programming language, providing practical books for learning the Clojure language and supporting engineering tools. Collectively those books provide a deep insight to the complete workflow for Clojure REPL Driven Development.
The long term vision is to provide a complete set of practical guides for modern software engineering, covering principles, practices and tools. The focus on Clojure will remain as it is seen as the move effective programming languages for most modern systems.
Sponsor Practicalliλ︎
Sponsorship supports continued development of Practicalli books & videos. Sponsor feedback on content & topics is most welcome.
Domain registration is the only infrastructure cost, as zero-cost GitHub repositories, CI workflows and GitHub pages are used to publish content.
Thanks to Nubank and sponsors from the Clojure community for their continued support
About Johnnyλ︎
Johnny is the founder of Practical.li, using my experiences from teaching thousands of people over the last 3 decades.
A presentation to introduce where I came from was captured from my time working for StatsBomb in 2021 (focusing on my life rather than career).
Community Outreachλ︎
I started community outreach with Linux, running install parties and workshops across London. I introduced hundreds of people to Linux, mainly Ubuntu, covering a wide range of development tools and workflows.
Open Sourceλ︎
I joined forces with FossBox, which ran free workshops on Open Source Software (OSS) for the community in London. I created a workshop on using Inkscape for creating graphics using Scaler Vector Graphics. Inkscape is the tool I used to create custom graphics for all my work.
Afternoon workshops on Wednesdays at University College London (UCL). Event posters were designed and created by myself and posted around the University with help from their computer society. This was mostly people curious coming along to ask questions, although a good percentage were installing Linux and many of the tools I recommended. Demos of specific tools were done on request (and I also learned a lot from the questions that were asked).
Install parties were run in a pub, using a booked area (or a quiet pub). The first pub used was "The Slaughtered Lamb", which was near the SkillsMatter offices and a regular social venue for post presentation drinks
Scala Code dojoλ︎
I wanted to practice the new languages I was learning and a code dojo event was an ideal way to accelerate that learning by working with other people.
After a decade and a half of Java development I wanted to try functional programming. Scala was gaining a lot of interest and I became involved in the London Scala User Group (LSUG).
After suggesting we should run a code dojo event at a meeting of the LSUG organisers I was tasked organising those events. As I had never organised such an event I attended the London Python and London Clojurians code dojo events.
Sharing code from dojo events
Assembla GitHub
NOTE: Teaching people how to use Git and code sharing services was a highly valuable skill when I started working for Heroku, as their deployment workflow used Git and if you understood Git then you understood how to use Heroku.
Journey Into Clojureλ︎
Started looking at Haskell and Scala.
Both languages seemed more focused on defining types than solving problems. Many conepts felt quite academic and I was looking for something more pragmatic and generally simpler.
London Clojurians dojoλ︎
Code dojo events are an excellent event for learning and developing skills with a coding language.
Otfrom started running the London Clojurians code dojo in 2009 at the London based Thoughworks offices. Thoughtworks kindly provided lots of pizza (and occasionally sandwiches & quiche as a 'posh' alternative).
I attended the code dojo events at first to learn how to run the same kind of event for the London Scala User Group (which ran a successful code dojo event from 2010 onwards, across many venues in London).
A group of engineers at uSwitch also started their own code dojo event, so there were two Clojure events every month (which was a lot of pizza)
I took over running the London Clojurians from Otfrom when they moved away from London. Apart from a few nudges and some support, I was able to delegate all the work to each group of people hosting the event.
I did go to every code dojo event up until the end of 2019 (only stopping due to COVID).
ClojureBridge Londonλ︎
ClojureBridge is a community promoting education aimed at under-represented groups in our society. The largest under-represented group in the software industry are women and this is the group that ClojureBridge London focuses on.
Hack the Towerλ︎
After a very rewarding Hack day at The Guardian offices in the summer of 2012 I decided to use the Salesforce offices for a Saturday event that I called Hack The Tower, as the venue was Tower 42 in London (Its a tower of offices with 42 floors, hence the name).
The Saleforce offices were used predominantly by the sales team, so they were completely empty at the weekends (although the cleaners didnt come until Monday morning, so there was a bit of cleaning of stale coffee cups required before the event).
Salesforce kindly gave me a budget to buy food for the hack day, so we could all have lunch without having to leave the building (signing out and back in again would have been a hassle). Before the event I would go for a shop in Tesco supermarket (it was the supermarket closest to the tower) and buy sandwiches, crisps and anything that looked tasty without needing to be cooked.
The first event was surprisingly popular for a Saturday event at the start of winter, with 20 people signing up and 18 people turning up.
After 5 months at Tower 42, we moved to the Heron Tower (aka The Salesforce Tower). This was a huge space with 3 office levels and dozens of well equipped meeting rooms.
Commercial Experienceλ︎
- Citi : running 6 Clojure teams across 6 geographical locations, creating an equity derivatives data store that ingested data from multiple financial services and distributed across 3 geographical locations in real-time. Used Clojure and Tibco (the message bus for serious enterprise systems)
- StatsBomb : real-time sports statistics service, using Clojure & Kafka
- Billie : data ingestion system to feed data science models that analysed financial transactions for fraud in real-time
- Griffin : building a bank on Clojure (start-up)
How did Practicalli startλ︎
Workshops at software conferences.
Live broadcasts as part of 100 days of code
Studying clojure every day, writing projects, solving challenges, helping others learn 1-2-1 and in community events.
Created Practicalli YouTube channel and branded books as Pracitalli
- Practicalli Spacemacs
- Practicalli Clojure
- Practicalli Clojure Web Services
- Practicalli ClojureScript
Continued to develop books as commercial and community experiences evolved.
Conjure plugin and Neovim Treemacs and LSP support finally enticed me to try Neovim as a Clojure development.
Practicalli Neovim Config was created using Fennel language, an interesting challenge but within 6 weeks I had learned a lot about Neovim, available package managers, teleport and how to write some fennel code. There were some really nice parts to the config, but it did have challenges that I wasnt going to have time to solve.
AstroNvim provided an opportunity to make Neovim as easy to use as Spacemacs, which worked our exceedingly well. Adding Clojure support was relavitely easy, copying some of the work I had done previously but for Lua rather than fennel this time.
A Clojure Pack was designed and contributed to AstroNvim Community.
Thank you.