Fauie Technology

eclectic blogging, technology and hobby farming

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?

 

Blockchain ruins a project before it begins – Marketing is hard

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.

 

« Older posts

© 2018 Fauie Technology

Theme by Anders NorenUp ↑