Week 15 - PyDelhi
I attended PyDelhi conference this week. It was refreshing to talk about tech, non-stop, for two days.
These are some notes from the talks at the conference.
These are some notes from the talks at the conference.
NetworkX for network analysis
Navya gave a simple and quick overview of the NetworkX library with practical examples. I want to try this library. Though I don't have an immediate use-case, I want to explore something similar for recommendations. Something where I can just define the existing associations. And then ask the library to throw a recommendation based on certain selection. Something as simple as networkx.
Rust for Python Developers
We use Tantivy on Screener for full-text search. It is a Rust library with Python wrappers. This is why I was very excited for Tushar's talk on Rust for Python Developers.
I hope to connect with Tushar and contribute to Tantivy-Py library.
I hope to connect with Tushar and contribute to Tantivy-Py library.
JIT Compilers for 50x speed-ups
Ali gave a talk about JIT compilers. I had no idea about what JIT compilers were and why would I use them. This was the most insightful talk for me.
I understood the use case of libraries like numba. About how they improve the execution times of scripts by 50x through 1 line of change. Ali explained why these times improve, what are the side-effects and when should these be used. Totally worth it.
I understood the use case of libraries like numba. About how they improve the execution times of scripts by 50x through 1 line of change. Ali explained why these times improve, what are the side-effects and when should these be used. Totally worth it.
PDFs in Python
This one was a lightening talk given by me :).
Permissions in Django
Though I have been coding in Django for last 15 years, I haven’t used the Django Permissions till now. Reasons?
- It is very sparsely documented with very few live examples.
- It is a bit restrictive.
The talk on Django permissions gave a much better overview about the module.
On Screener, we check permissions mostly on individual pages. A person can edit a screen only if they created it. Person can add / remove stocks from their watchlist. These are owner-allowed kind of permissions.
The permission module in Django, however, is around full modules. They are better used as permission flags. I never thought from this perspective and will use it more for such use cases.
On Screener, we check permissions mostly on individual pages. A person can edit a screen only if they created it. Person can add / remove stocks from their watchlist. These are owner-allowed kind of permissions.
The permission module in Django, however, is around full modules. They are better used as permission flags. I never thought from this perspective and will use it more for such use cases.
Workshop on Visualisation
Jaidev took a workshop on Visualisation. Anything by Gramener guys is always excellent. I learnt about inbuilt stylesheets (ggplot), how to brainstorm, good practices and various snippets for quick plotting.
This was also the first time I used Google Collab. It is a handy tool for workshops.
This was also the first time I used Google Collab. It is a handy tool for workshops.
Wireless Projection
One of the very cool things the organisers did was wireless projection. It usually takes some time to setup projection for lightning talks. And sometimes it fails as there are no connectors.
Organisers had created a G-Meet link for talks. The presenter would join the G-Meet link and then share their screen. Woohoo! No cables. No setups. Nothing. Just join and present.
I found this very smart.
Organisers had created a G-Meet link for talks. The presenter would join the G-Meet link and then share their screen. Woohoo! No cables. No setups. Nothing. Just join and present.
I found this very smart.
Other small things
- Saw deque being used in one of the presentations around tokenisation. I learnt more about it later as I compared it with lists.
- Some new libraries to explore: flaky, detect_secrets (pre-commit hook) and safety (pre-commit hook).