Fauie Technology

eclectic blogging, technology and hobby farming

Apple likes me…

well, maybe they don’t LIKE ME, LIKE ME.. but they validated Fauie Technology, LLC.  I can finally complete the registration for the Follow Me app!   I’ll start to push this heavier once the application is published.

For day one, compatibility will be a PTZ Optics camera that does control over IP as well as an Amcrest 1080P POE camera with HTTP controls. 

This allows a top end and a low end camera to be controlled by the same application. More information to come!

chris.

Building a Mac OS App

While building my “Follow Me” application,  I got to learn a new programming language in quite a while.   Swift 4 is new to me.  I’m a super huge fan of Python.  I’ve done Java for about 20 years professionally.  This was the first time it took me a ‘while’ to understand some things.  It also could be since it’s a non-web based UI application.  I mean, I’m used to a ‘main’ function that kicks off everything.  Even building a python UI, I started with a __main__ function.  This one, I don’t.  I get some sort of storyboard with a first responder.  Alright, I’m rambling.

One of the challenges I had was finding examples for Mac OS based (OSX) applications.  EVERYTHING seemed to be build for iOS.  I get it.  iOS is super duper more popular than Mac OS/OSX, but, I worked through it.

Thankfully, switching classes that start with UI to NS made a lot of the examples work!

Check out the first project:

Follow Me – PTZ Autotracking

Python 3 in 60 Minutes – Youtube Series

It’s turning out to be closer to 90, but, I figure if you remove all the whitespace then it’ll be sixty minutes.

I’m going to start pushing out a ton of content on integrating different open source technologies.  In order for me to feel comfortable doing so, I wanted to teach YOU about Python.  There is no language that is as versatile as Python 3 when it comes to integrating data and applications.   REST, JSON, HTTP, Databases etc are just EASY.

‘import something’

and it’ll do something.  seriously easy

I’ve completed 3 of the 4 videos in my Python 3 course.  This is free.  All I ask is you like and follow me here and on the Youtube.   It’s all about content creation!

This will be the base knowledge required for all of the future videos I do.  Once it’s done, I can reference it all over the place!   Below is the playlist:

 

 

 

 

 

Python Callback Function Declaration / Definition

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:

 

Announcing: Metrobus – A framework to simplify message bus/Kafka based microservices

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.

https://github.com/chrisfauerbach/metrobus

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.

metrobus

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.

Stateless and dumb: https://medium.com/capital-one-developers/stateless-and-dumb-microservices-on-a-message-bus-be78bca93ccb

Fast Cache: https://medium.com/capital-one-developers/blazing-fast-data-lookup-in-a-microservices-world-dd3ae548ca45

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
    • Send to Error log
    • Send to dead letter queue
    • Dropped on purpose
  • Is it too simple?   what am I missing?

 

« Older posts

© 2018 Fauie Technology

Theme by Anders NorenUp ↑