- What Higher Kinded Types (HKTs) are and why they are useful
- How they are implemented and what limitations there are
- How can you use them in your own projects
Without further ado, let’s talk about typing!
Without further ado, let’s talk about typing!
Craig Kerstiens told me about this on our recent Postgres episode of The Changelog and my jaw about dropped out of my mouth.
… earlier today I was starting to wonder why couldn’t I do more machine learning directly inside [Postgres]. Yeah, there is madlib, but what if I wanted to write my own recommendation engine? So I set out on a total detour of a few hours and lo and behold, I can probably do a lot more of this in Postgres than I realized before. What follows is a quick walkthrough of getting a recommendation engine setup directly inside Postgres.
Craig doesn’t necessarily suggest you put this kind of solution in production, but he doesn’t come out and say don’t do it either. 😉
Mimesis… provides data for a variety of purposes in a variety of languages. The fake data could be used to populate a testing database, create fake API endpoints, create JSON and XML files of arbitrary structure, anonymize data taken from production and etc.
Data generators like Mimesis are fun to use (and I imagine fun to code as well):
>>> from mimesis import Person >>> person = Person('en') >>> person.full_name() 'Brande Sears' >>> person.email(domains=['mimesis.name']) 'email@example.com' >>> person.email(domains=['mimesis.name'], unique=True) 'firstname.lastname@example.org' >>> person.telephone(mask='1-4##-8##-5##3') '1-436-896-5213'
This is not a tutorial on using Git! To follow along I advise that you have working knowledge of Git. If you’re a newcomer to Git, this tutorial is probably not the best place to start your Git journey. I suggest coming back here after you’ve used Git a bit and you’re comfortable with making commits, branching, merging, pushing and pulling.
Even though this may not be the most efficient way to implement and build FSM but it is the most intuitive way indeed. The edges and state transitions, translate well into
elifstatements or the decision functions, while each state is being modeled as an independent coroutine and we still do things in a sequential manner. The entire execution is like a relay race where the baton of execution is being passed from one coroutine to another.
There are a whole range of ways to package your Python software: Wheels, Pex, RPM/DEB, Conda, executables, Docker images, and more. Which ones should you use? In this overview you’ll learn why they all exist, the pros/cons of each method, and how it deals with things like code distribution and support for multiple applications.
Write your slides in Markdown and play pre-recorded code blocks with codio.
Everyone working in data science and AI knows about Anaconda and has probably “conda” installed something. But how did Anaconda get started and what are they working on now? Peter Wang, CEO of Anaconda and creator of PyData and popular packages like Bokeh and DataShader, joins us to discuss that and much more. Peter gives some great insights on the Python AI ecosystem and very practical advice for scaling up your data science operation.
from guietta import _, Gui, Quit gui = Gui( [ 'Enter numbers:', '__a__' , '+' , '__b__', ['Calculate'] ], [ 'Result: -->' , 'result' , _ , _ , _ ], [ _ , _ , _ , _ , Quit ] ) with gui.Calculate: gui.result = float(gui.a) + float(gui.b) gui.run()
Produces this UI:
Brett Cannon, writing for his personal blog:
But when thinking about the daunting task of creating a new implementation of Python, my brain also began asking the question of what exactly is Python?
What follows from this point in Brett’s post is a stream of consciousness writing style of question and answer, back and forth, iteration over all the points of what makes Python be Python in an attempt to consider what it might take to “compile Python down to WebAssembly.”
Your sync and async code can be identical, but still, can work differently. It is a matter of right abstractions. In this article, I will show how one can write sync code to create async programs in Python.
Acme is a library of reinforcement learning (RL) agents and agent building blocks. Acme strives to expose simple, efficient, and readable agents, that serve both as reference implementations of popular algorithms and as strong baselines, while still providing enough flexibility to do novel research. The design of Acme also attempts to provide multiple points of entry to the RL problem at differing levels of complexity.
Saul Pwanson is the creator and maintainer of VisiData, a terminal interface for exploring and arranging tabular data. On this Maintainer Spotlight episode, Saul joins Jerod for a wide-ranging discussion on crossword puzzles, biographs, and Saul’s open source gift to the world. Thanks to AJ for the suggestion!
How to track your Stripe payments from your store or billing integration as they happen using Slack, powered by Python with faasd. Extend to do anything you like such as responding to new customers.
I made a website that generates cute 8-bit avatars using Conway’s Game of Life. Simply type in your name, and it will create a unique sprite just for you! Try out
jerod santo, or
Conway’s Game of Life is something that we consider as a Cellular Automaton. It was a mathematical model created by the mathematician John Conway, who, unfortunately, passed away a few weeks ago due to the coronavirus. I highly encourage you to know more about Conway, he’s such an interesting and unique individual!
Built with Vue and Python. Source code here.
An interview with Ewa Jodlowska on how the Python Software Foundation is responding to the cancelation of in-person events.
Turns out ~63% of the PSF’s 2020 revenue was projected to come from PyCon. That’s a massive hit to take. Read the entire interview to learn what they’re doing to diversify, some silver linings that have come from this, and how you can pitch in.
This is an interesting take on email that I haven’t seen before. Process your email like you process your user stories.
Use the source code to your heart’s desire or hop over to the deployed version and use the API itself (there is a free plan available) right here
Look! I’m dialing into the millenium falcon with an open source camera stack!
The force is strong with this one.
A fun little project that uses a neural network to map your facial movements onto an avatar of your choice. You have to watch the demo to get the full effect.
Meta-Blocks is a modular toolbox for research, experimentation, and reproducible benchmarking of learning-to-learn algorithms. The toolbox provides flexible APIs for working with MetaDatasets, TaskDistributions, and MetaLearners (see the figure below). The APIs make it easy to implement a variety of meta-learning algorithms, run them on well-established and emerging benchmarks, and add your own meta-learning problems to the suite and benchmark algorithms on them.
This repo is still under “heavy construction” (a.k.a. unstable) so downloader beware, but it’s worth a star/bookmark for later use.
Lj Miranda explains their architecture decisions with a metaphor I’ve never seen applied to software systems…
In this blogpost, I’ll explain why we need Flask, Celery, and Redis by sharing my adventures in buying McNuggets from Mcdonalds. Using these three (or technologies similar to them) is integral to web backend development so that we can scale our applications.
I love these “why we did X” style posts where folks share their real-world decision making processes and how they played out over time.
A commandline tool + python library to glitchify images and even make GIFs out of them! Featuring 10 different levels of glitching intensity! The algorithm used to create glitched images is a slightly modified version of the popular ImageGlitcher tool’s algorithm, so you can expect the glitched images to look really cool!
Looks pretty rad on our Brain Science art.
Yetunde Dada from QuantumBlack joins Jerod for a deep dive on Kedro, a workflow tool that helps structure reproducible, scaleable, deployable, robust, and versioned data pipelines. They discuss what Kedro’s all about and how it’s “changing the landscape of data pipelines in Python”, the ins/outs of open sourcing Kedro, and how they found early success by sweating the details. Finally, Jerod asks Yetunde about her passion project: a virtual reality film which debuted at the Sundance Film Festival in January.