Category Archives: Technology

Xojo

I’m looking at rapid prototyping for apps today. I found bubble.io and thought it looked a lot like Realbasic used to. So I decided to clomp on over to Google and see if Realbasic still exists, and it does! The changed the name to Xojo because, well… if it has a new name it’s a new thing? Anyway, kinda cool. it’s very nice to see they’re still in business.

I built a cross-platform desktop application for a company I worked at over 20 years ago with Realbasic. It was basically an ad/fashion image rotator that sat on a user’s desktop. If a user saw something they liked they could click on it, and a website would launch that would allow the purchase of said item. The company I worked at eventually died. Strangely, we were just too far ahead of our time. Xojo and their development platform let me develop, in a month, a solid app in a week that would have taken a year at least.

I have a project/client/startup that I’m looking forward to building an app for that needs to work across platforms, and I think I’ll try Xojo out for. It’s the closest thing to nocode that I’ve ever seen.

Anyway, Check out xojo if you’re looking for something that’s great for rapid prototyping and cross-platform. They’re long lived and have perspective, which is what I look for in a platform to build on.

https://www.xojo.com/

*They have no idea I’m writing this article, and I’m not being paid anything for it. I think it’s just good to give a shoutout to a great developer with years of experience. Software companies like this are fantastic.

A new start for an old project…

All of my projects and businesses are going to fall under a new umbrella company, “The Corrective”.

I’m starting database backups and the final takedowns of a project from a failed venture from a few years ago. It’s bittersweet. I need to move on as the information is no longer viable, and the format has to change. I’m also happy to be refocusing away from using the tools I created to creating new ones. I have a new goal/experiment for the project that will be focusing on taking bias in AI, and learning how to use it in a “differently” ethical way to change people’s mind. I’m not sure that it’s the right thing to do, but it’s no worse than the advertising we see everyday that tries to get us to buy products. The goal is still the same. Honesty in media and politics.

At the simplest, it is continually tunable bias in AI, with the assistance of a ledger based on blockchain technologies. A multidisciplinary approach is the best in most scenarios for software development. One of the things I hate the most about IT/Software Engineering, etc. is that the project is never done. It’s also one of the most exciting things about software. If you’re doing it right, you’re always thinking of faster, more efficient, more feature-rich methods. You should be thinking a few years down the road and have multiple road maps based on what does and doesn’t work. I suppose this is true for any successful and growing company. Stagnation in something you live and love isn’t an option. Continual growth and the realization that solid ground and givens are your enemy are going to be a major part of our philosophy and joy. Let the world learn and give back to itself through true democracy based on as close to solid fact as we can achieve. Our approach aims to be as incorruptible as possible.

For our blockchain, we’re going to go with Cardano. It has the most promise and is light and fast enough for our needs. We’re not discounting other tech, but a single country can’t decide what they think is true and let the rest of the world disagree or suffer anymore. World peace may never be possible, but a universal(worldwide) truth may be. After 5 years of research, we decided we need a Worldwide approach to the problem of bias. Our main problem is going to be developing a nation independent and unhackable system. It will clearly be an ongoing effort.


For now, The Full Aperture is effectively going on hiatus, and will start up again once this new project takes hold, as the background tech is usable.

Tallas Consulting will continue to be the consulting group.

The Corrective will be the umbrella thinktank for both ventures.

To Turn an Amazon Echo into a Spy Device… or not?

I’m sitting here on a Friday evening looking at my Gen. 1 Amazon Echo and wondering if it’s hackable enough to turn it into a live tracking device. There’s ample enough documentation and tear downs floating around the Internet at this point to make the project doable. But… does it really need to be done? Will I just be doing another fun weekend project, or something meaningful that will bring people’s attention to the fact that our technology driven world is a complete mess?

Considerations:

#1: It definitely has enough microphones to be able to track multiple people’s locations through a room.

#2: There has to be an audio library out there somewhere to measure the size of a room based on echo location, and it has a speaker and multiple microphones. If nobody has written it yet… how long would it take to hack from other code or from scratch?

#3: Can I take it apart without completely destroying it?

#4: Do I even need to put it back together properly? Do I even care?

#5: I’m awful at soldering and such and there’s a distinct possibility I would destroy it before creating/wiring a port so that I can hook it up to my laptop for a little of the deep, deep, hot programming action.

#6: Is this worth at least a weekend of my time?

#7: I would love to say the phrase, “I pwned Alexa in her dirty face.” out loud and it actually have an accomplished meaning.

#8: This is an awesome diagram: https://anatomyof.ai/img/ai-anatomy-map.pdf

#9: Will my cat ever stop trying to kill it in the middle of the night? Seriously. He hates it. He doesn’t bother with the 3 Google Home/Nest devices we have, but the Echo is his late night nemesis.

Quick Tip – Security as a Talking Point

Unless you *know* your company’s systems are extremely secure, don’t go around the Internet or in public telling people their data is secure with you.

If you don’t know about security and are using it as a talking point because it’s important to people, don’t talk about it. You are inviting criminals to attack you and your systems just for the fun of it. Your systems are primarily secure because you’re not being actively targeted. If someone or a group wants to get into your systems, they’ll find a way. Don’t put a target on yourself. It will cost you and your business.

AI Isn't Coming for Our Jobs, but It Will Change Them.

Let’s be clear AI is not a threat to most people’s jobs. AI and software will be created to augment current roles in offices today. We’re not going to get rid of nurses, lawyers, accountants, welders, etc. We’re going to augment them with new software and new algorithms. New jobs will be created that will take the place of current jobs that are going to disappear, or just maybe… your job will get easier. Wouldn’t that be nice?

Unless something goes incredibly wrong, or right, depending on whom you ask and we end up in an incredible dystopian wonderland, software will always be developed by people for people to make our lives better and easier.

If there’s anything I know, humans make mistakes. Tons and tons of mistakes. Software is never going to be self-correcting when it has to do with anything other than syntax, and will always have human authors, software developers, business owners, etc. The problem with having AI that is static, or even follows trends is that it will always follow a trend, and has to be watched after because the world is ever-changing. What is a clear down the road view of intended consequences for an AI algorithm today is or may be completely “wrong” and “bad” in the near future.

Take for example credit applications. Those applications are not done by hand and haven’t been for a long while. I’m sure there are smaller institutions that do look through them by hand, but not many. Application acceptance and denial are not done by hand for credit, at least on the first pass. That’s right, there are programs that take into account all of the variables about the applicant and their circumstances. The program uses rules, written by someone at some point. If your application doesn’t meet certain thresholds for those rules, you are denied credit, offered alternatives or different terms for the credit you are seeking. It’s completely acceptable for a company to use as an algorithm for credit applicants. The bank knows how much risk it’s willing to take on for the reward, and that of course changes based on a large amount of different criteria. It changes from day-to-day, town-to-town, state-to-state, country-to-country, etc. depending upon a ton of things about the applicant and the institution they’re applying to.

So the algorithm that is in the software above is based on “business rules”. Those rules are like a huge ever-changing filter. They were first written by hand, years ago. As one value goes up, another goes down, etc. In the end you’re given a score on your application and based on that score, you’re either accepted or denied for credit.

How does AI fit in here? Well… you see that set of business rules in the example above? It turns out we can automate the writing of that incredibly complex set of business rules by writing an AI. In order to get an algorithm for we need a set of old data we can feed the AI with. We already know all of the parameters for the “credit application”. If we’re an established bank, we have years of examples of loans that were given and how they were paid back, etc. Those examples, are our data set. To make it simple, we put them together and the “AI” creates us a new algorithm that fits the lender’s needs for credit applicants. Throw in the magic of AI, software, nerds and.. Voila! A new algorithm is born! This is what is commonly referred to as AI for most businesses. It’s far more efficient than a human would be at going through all of those applications and can make decisions based on targets to get us there, etc. It’s not emotional, and since business is about making money it’s created with it’s eye on the prize.

Now… there will still be bankers. If you get denied for credit, you can always take your business elsewhere. Smaller local lenders tend to be nicer about these things and take more risks. You could go into said bank and try to make a case for yourself as to why they should lend to you. There are all sorts of ways to get credit. That’s not the point though. The point IS… That AI has augmented or simplified the process of approving or denying credit for the bank. It hasn’t gotten rid of any bankers that still are there to service customers. Those bankers in your local branch have just taken on different responsibilities. Sure, there are probably a few less bankers but by and large AI is there to help, not replace people.

As time progresses, as it is want to do, we’ll find that jobs will shift as some jobs are replaced by software. Take robotics for example. Robots will take jobs, but writing software for and repairing those robots will become an in demand job skill. Like I noted earlier, people make mistakes. Lots and lots of mistakes. It’s ok. To err is human, as they say. We’ll be making new things and new processes until we’re destroyed or become one with machines, or whatever happens. We’ll use the tools we create or currently have at our disposal to make new things as we always have.

Embracing the future is an everyday process. Don’t let others drive you to fear the future. As far as we know the past is not coming back. Don’t fear the unknown, be prepared for change. Look at the work you do. Try and figure out how you could make it easier for yourself or others to accomplish. Why not make those changes yourself and sell them to others? If you don’t do it, someone else will. Maybe you don’t want to do that. Go search out a solution someone has already made? It’s not scary like some would like to make you think.

A Quick Lesson on Pipeline Architecture

While not many people talk about production pipelines in their every day work, they’re a factor in any and every industry out there. Every product you have ever used, every meal you have ever eaten, everything you have ever accomplished has had some sort of pipeline. Whether or not the production of said thing was designed or just happened, it had a pipeline.

Optimization is exciting.

Pipelines are what fascinate me about the world. Top to bottom maps of products in, product out are exciting. If you analyze pipelines from one business, you can take the lessons learned from other seemingly unrelated businesses. If you’re not learning lessons from and stealing from others, you’re probably doing it wrong.

Alternatively, as part of Toyota’s philosophy is a process of continuous improvement called Kaizen. The concept is essentially that the people doing the work, make continuous improvements in their process. Everyone is working towards the same goal and everyone has input on how to make everything work more efficiently. There’s more to it. Read about it at the website for the Kaizen Institute.

https://www.zdnet.com/article/google-deepminds-sideways-takes-a-page-from-computer-architecture/

The article I’m linking to above is talking about something called back-propagation in Deep Learning. For the purposes of the article, you don’t need to understand anything about neural networks. The article vaguely describes what they are and how lessons already used in modern computer chip architecture can be used to speed up AI processing. The beauty of the article lies in that while your business may not have anything to do with computers, processor architecture has some great lessons that you can apply to your business and efficiency. It very quickly describes how you could change and adapt your product pipeline to be more productive with the same amount of team members.

Understanding Machine Learning: From Theory to Algorithms – Book

This is a book from 2014 that is a decent starting point for diving into ML(Machine Learning.) There are exercises included in the book, and it seems to do a fairly good job of starting the reader from a point of almost no knowledge of ML to more complex subjects, many of which many people will never use. Don’t be fooled by the format. This is definitely a course textbook.

Machine learning is one of the fastest growing areas of computer science, with far-reaching applications. The aim of this textbook is to introduce machine learning, and the algorithmic paradigms it offers, in a principled way. The book provides an extensive theoretical account of the fundamental ideas underlying machine learning and the mathematical derivations that transform these principles into practical algorithms. Following a presentation of the basics of the field, the book covers a wide array of central topics that have not been addressed by previous textbooks. These include a discussion of the computational complexity of learning and the concepts of convexity and stability; important algorithmic paradigms including stochastic gradient descent, neural networks, and structured output learning; and emerging theoretical concepts such as the PAC-Bayes approach and compression-based bounds. Designed for an advanced undergraduate or beginning graduate course, the text makes the fundamentals and algorithms of machine learning accessible to students and non-expert readers in statistics, computer science, mathematics, and engineering.

In all honesty, I’ve only browsed through parts of the book. It’s on my reading list, but like many people the sheer length of my reading list is far beyond any distance I’ll live long enough to travel.

The nice part about this book is that it’s free. If you do or don’t like it you don’t ever have to pay for it. There is a link to a full pdf copy of the book, free for individual use. There are also links to a Solution Manual in PDF, and some of the classes that have used the book.

https://www.cs.huji.ac.il/~shais/UnderstandingMachineLearning/index.html

If you like the book, please consider purchasing it at the link below.

https://www.amazon.com/Understanding-Machine-Learning-Theory-Algorithms/

Smart Device Skills Security and Eavesdropping

I generally laugh when I see the media and most people saying that Amazon and Google are listening to you when you don’t know it. It’s simply not true. I try and correct people that don’t understand how the technology works. A lot of the time the conversation doesn’t get very far. People don’t trust technology and with good reason.

Most people have no idea how any of their devices actually work. We’ve gone very quickly into a world of magical devices that just, “do things”. It has always been one of my big gripes about Apple devices. Apple makes their devices so easy to use, that consumers don’t have to know anything about them. Don’t get me wrong, I’m all for capitalism. This plan is great for selling things to the masses, but not so great for the future when things will only become more complex. We should be upping education instead of ignoring it.

At one point recently the presumption was that to hack a smart device you had to have physical access to it. Now we have a whole different problem that allows 3rd party skills to spy on you, due to Amazon and Google not thinking their security through. This has apparently been solved pretty quickly, but it goes to show that technology is not the problem and that all these devices that we have are reliant on developers. Developers are just people. People are fallible. We can’t remove human error from the technology equation. We make mistakes. Well, we can remove human error from technology… but as so many stories and films have shown us it’s a really bad idea.

The article below from Ars Technica is something you should read and pass along. It’s important for people to read and understand how security works and figure out what devices they want in their lives, and how to avoid being defrauded by others.

The sound of silence is actually the sound of a malicious smart speaker app listening in on you.

AWS “This is my Architecture”

This is a great site for learning about how companies are using different Amazon Web Services to accomplish their application goals. It’s all about architecture and getting ideas for different designs. I don’t have time to try everything out and do every tutorial, but these are some at a glance ideas that might fit something I’ll eventually work on.

There are currently 425 different examples for all sorts of applications from Computing to Machine Learning to Databases and Storage. Amazon is adding to the list every day. It’s an honestly a fantastic resource.

https://aws.amazon.com/this-is-my-architecture/