I’m working on a metrobus based project, and was curious how to define a flexible callback method that had a required parameter, and other keyword arguments. I have used *args and **kwargs before, but wanted to really experiment on what I could do with them. For metrobus, I’m only going to ‘require’ a ‘message’ parameter (single parameter callback function), but, I’ll have to use **kwargs on my declaration just so I can be a little more picky about what I receive each time. Check out some experimentation:
I’ve been wanting to write this code for a while. If I were as efficient at writing in Java, I would have done so, but, I’m slower and therefore wrote it in python. It’s not very pythonic, but, whatever.
Metrobus is a framework that allows you to focus on your microservices application logic, not logic around pulling and pushing to Kafka. Kafka for now. Others to come soon. All the details you could ever want on the github page. I’ll be adding tickets in order to track some todo items.
Proof of concept and example for smart routing on a dumb bus.
This is a small project focused on my blog posts around routing on a message bus that’s dumb. Like Kafka.
I use some of the caching ideas in here for a few of my data lookups.
The concept for the ‘test’ example application is fairly simple. The ‘pusher’ generates records, as if from a client or application. These records are simple JSON structures. For our example, we get cool things like an account number (FAKE!). The ‘pusher’ sends the message to the ‘Source’ topic on Kafka. Consider this your public entry point for upstream clients.
KNOWN TO DO ITEMS (Cause you know, SHIP IT!)
Simplify the logic or break up the code for the main handling function in metrobus.py
Determine best how to handle different situations like
I have a genius idea (if I do say so myself) that I’m going to implement. It’s going to be based on blockchain (#notacoin). When I ran just a super high level past a friend of mine, it was almost shot dead in the water because it had blockchain as part of the implementation. I guess I didn’t need to go into that detail, but alas, it is what it is.
There’s a funny thing about ‘magic bullet’ technology that makes experts scoff at a project or a product. As a cybersecurity engineer and member of private community groups, anytime a vendor talks about their Machine Learning algorithm, they get immediately laughed at. Even if the technology can add a value. The opinion is that 9/10 folks that claim to use Machine Learning either don’t or don’t really add any value because of the technology. They’re promoting the technology of machine learning more than the problems their solution solves.
Maybe it equates to the fancy whizz-bang marketing language in general. Just because your marketing team came up with a really fun name for a feature, doesn’t mean that feature is what you promote. Promote how you solve problems that your customers have. It’s pretty straightforward. You have a pain point, and my problems fixes said pain point in a demonstrable way. Not necessarily the ‘how’ the code is implemented or what back-end tech (ML, AI, Blockchain), but how those solutions materialize to your customers.
Thanks for putting up with my silence! I have a few new projects in the works, and it’s hampered my blogging. I think that will be OK in the end.
Throughout my software engineering career, I’ve seen a lot of bad and some good. Some of the groups I work with now do amazing work and have inspired me to keep writing a book I started a long time ago. I’ve updated it significantly and will continue to do so. I judge I’ve knocked out about 50% of the first draft and wanted to see judge interest to see where I need to prioritize writing of it.
Leanpub allows me to write it and sell it at the same time. I’m putting out a big discount code here, in an effort to get some feedback. Check it out!
Dang, I’ve been quiet for a while. Been focusing heavily on my written word at Medium ( https://medium.com/@chrisfauerbach )
Over the past few weeks, I’ve started learning about ROS again. The Robot Operating System. I previously spent months looking at it for a robotic project that was left unfinished, but I want to get in on it again! Here are a few videos of ROS tutorial walk throughs