Jason Firth

A small practical print I wanted to share

I'm Jason Firth.

3d printing is an amazing tool for a variety of reasons, but one of the big reasons is that you can create something you needed much more quickly than if you couldn't just 3d print a thing.

I've had this YI Home PTZ camera for some time, but the problem is where do you mount it? Every object talking about mounting a YI Home PTZ camera left out a really important piece: the part where you actually mount the camera! They had all these really fancy arms and the like, but that was totally meaningless without the piece to connect to the camera!

           

A few minutes with a micrometer later, and now I have a nice sturdy mount for the camera. I used a pair of drywall screws to connect it to a surface. Since I wish I was able to find one earlier, I've made it available here.

Here's a link to the STL file

Thanks for reading!

Tiny download, hugely important tool

I'm Jason Firth.

Industrial systems are unbelievably static compared to other systems. While the rest of the world struggles upgrading to Windows 10 from Windows 7, some industrial process control systems are still on Windows XP. In fact, there are even some still plugging away on Windows 98. These devices often aren't treated as computers, but as appliances.

This happens more than you think. Many internet connected devices out there today run Linux as a bottom layer, and there isn't even a mechanism to get into the device, let alone upgrade it.

For front-line technicians, this can be a bother. There are twin concerns: On one hand, you want to have the latest OS for the latest software, but on the other hand you have issues leaving behind old software.

Recently, Windows 64-bit OSes have become standard. Microsoft finally decided, after 25 years of supporting it, to drop Windows 16-bit and MS-DOS support. This makes sense for them from a business standpoint, but makes things complicated where you want to run that software.

Windows has maintained support for old OSes long after their end. Windows 3.1 applications functioned properly under Windows 95,98,ME,NT4,2000,XP, and 7 32-bit. They function by running a special program that allows the 16-bit applications to run on 32-bit OSes. In the 64-bit OSes, they have removed that functionality.

This causes a problem for us when software that won't get any updates but is mandatory for your operation is a win16 program. Instrument configuration programs, old PLC programming software, cross-reference software, and more might be stuck on win16, putting you in a bad position.

I found a piece of software called winvdm that appears to solve this issue. To install it, you download the software, place it onto some folder, modify the included registry file to point to the folder you've created, and run the registry file. After that, windows 16-bit programs will open natively with no additonal work.

Thanks for reading!

What is Bitcoin?

I'm Jason Firth.

One of the biggest questions out there, and one that I've been asked may times is "What is bitcoin?". I think it's an interesting thing to talk about for a bit. Before I start, I'm going to talk a bit about the money most people use. After that, We can talk about the technology, a bit about economics, and a bit about its impact on different societies. Finally, we'll talk about the ways blockchain technology can work in sectors besides currency.

Currency is a medium of exchange for goods and services. Currency generally has 3 important attributes: First, it is used as a medium of exchange. Meaning you can trade it for goods and services without first having to convert it into something else. Second, it can be used to measure the value of a general good or service. Finally, it can be used to store value.

Over the millennia, many different things have been used as currency. Kings once used to split branches in half, and use the one half branch to prove the other half was authentic. Gold and Silver have been used because they don't easily corrode, and there's a limited amount in the world. 

The problem with physical objects is they take up weight and volume, and if someone takes your gold or your sticks, you no longer have them.

As a result, businesses popped up to store your gold and silver, and they'd either issue slips of paper or let you write slips of paper to give the gold and silver to different people. Those slips of paper were much lighter and much smaller than physical gold. Writing slips of paper added a layer of security since you have to authenticate what you've been doing.

Those businesses eventually realized something: They can issue more pieces of paper than they actually have gold. As long as they have enough gold to give back to people who come in to cash in their pieces of paper, they won't have a problem, and as long as they can eventually get the gold back, then they can lend out the extra gold and make interest on it. That's how the banks became what they are today. That's called Fractional Reserve Banking because banks need to reserve a fraction of the gold in case people come in to convert their slips of paper to physical gold. When someone says money is "backed by gold" that's what this means.

Today, banks don't need to store gold. They hold money to lend out more money. Basically, if they have a dollar, they can lend out up to 30 dollars. The new dollars represent debt. This money is accepted as money because the government has deemed it so. This is why this why Bitcoin enthusiasts or proponents of a gold backed currency call regular money "fiat money". The government made it money by fiat, or by formal decree of the government.

Given these facts, money is created by banks issuing debt, and money is destroyed when debt is repaid.

One of the subtle but incredibly powerful organizations in an economy is the central bank. The main purpose of a central bank is a "lender of last resort". In the US prior to its development, a bank could be in a situation where it was in good financial shape but a lot of people got scared and pulled their money out quickly. This situation is called a "bank run" and can result in the death of a healthy bank. By creating a lender of last resort that banks can always borrow from, they can be assured to get capital they need for short term requirements. In most countries, the central bank is separate from the government to try to protect governments from themselves: if governments can print money whenever they want, they are likely to print money instead of taxing. Many countries did this, and many of those countries ended up with a worthless currency. Notable examples are the Weimar Republic before world war 2 where people used wheelbarrows of money to buy a loaf of bread, Zimbabwe where their dollar became so weak they minted a 100 trillion dollar bill that would not buy a loaf of bread, and Argentina, where prices are currently moving up daily. Most central banks want to limit inflation to about 2%, meaning that prices generally increase by 2% each year.

So why would they want inflation? To answer that, you need to go back to the great depression. Europe has vivid memories of hyperinflation in the Weimar Republic so they are shy about inflation. The United States during the great depression in the 1930s had a different condition called deflation. Prices were generally falling so people had reason to hold onto their money because it would buy more tomorrow than it did today. As a result of that holding onto money, the "aggregate demand" -- or the total demand for goods and services in the economy, fell. This drop in aggregate demand is one of the causes of the great depression. Modern economies are constantly trying to keep aggregate demand at an ideal spot, and chipping away at the value of money is one way to do that. For this reason, central banks consider both deflation and high inflation to be problems to be solved.

The way the amount of money created is controlled is by a number of levers that make it easier or harder for banks to lend, which in turn affects how easy it is to get or maintain debt. Remember fractional reserve banking? One lever the central bank has is changing the required reserve ratio. This can immediately increase or decrease the amount of money available to lend out by banks, changing the supply of money. Another lever the bank has is interest rates. The central bank doesn't directly dictate the interest rates consumers pay for loans, but they set how much the banks must pay to borrow money, which sets the tone for interest rates in the broader economy. Finally, the last lever most central banks have to pull is called quantitative easing. This is where central banks buy government debt. This has 2 immediate effects: first, it converts an asset the banks hold into liquid cash, which provides more money to lend. Second, it increases demand for government debt, which allows the government to issue more debt at a lower cost. The downside to all these levers is that they are all effective short term levers, but in the long term the economy comes to rely on these for continued growth, and if you're really unlucky you could overheat an economy by providing too much debt. Money will flow into any harebrained scheme, and for a while that will mean great profits for investors... Right up until markets turn out to be not as profitable as expected, people leave markets en masse, and the bubbles that has been inflated pop.

Anyway, that little macroeconomics lesson out of the way, let's talk about bitcoin directly.

At its base, Bitcoin is a list of all the list of bitcoin transactions that have ever been. Simple as that. It's called a "ledger", and that's the basic part of bitcoin. Ledgers are a basic accounting term that refer to a list of transactions.

Bitcoin is called Peer to Peer, because there isn't one bitcoin server out there. There are a large number of servers called Miners that work together as peers to provide the ledger to anyone who needs it and to maintain and constantly check the ledger to make sure everyone is following the rules. Everyone has the ledger and everyone adds to it. Because everyone has this ledger, it is called a Distributed Ledger.

If you're wondering why those miners do this willingly, and where bitcoins come from, the answer to both is the same: Miners are entered into a lottery to receive a bitcoin once they process enough of the ledger. By supporting the bitcoin network, they are paid in bitcoin. This is the process by which new bitcoin are created, and the process by which bitcoin is maintained. Since the amount of time until a Bitcoin is created may be massive, many small-time miners team up. With enough miners, there is an expected flow of Bitcoins, and they are distributed between all members of the team depending on how much of the ledger each miner processed.

This ledger is made up of a list of every transaction ever made. Each transaction is in a logical grouping called a "block". Each new transaction gets added to the end of the ledger, making a chain of blocks, where we get the term "blockchain". 

Everyone who has bitcoin has a "bitcoin wallet", which is essentially a piece of software that maintains a copy of the blockchain password called a "private key" for creating new transactions regarding the bitcoins associated with the wallet. The wallet reaches out to miners, first to get all the transactions that have ever existed and maintain a list, then to add new transactions that you make.

From there, when you send bitcoin to another person, you send a block to the miners, encrypted using your private key. They verify it is legitimate then send it to all the other miners. This process can take quite some time. At least 10 minutes and as much as a few days! Each transaction has a cost associated with it and miners will tend to try to complete transactions with higher fees first, so the higher transaction fees you pay, the quicker your transaction will close. If enough transactions paying higher fees are taking place, your transaction could take an indefinite amount of time.

Since most of us don't have massive server farms to get Bitcoin, there is another way to get them. Companies have set up websites called "exchanges" where people or companies that have Bitcoin put them up for sale. Individuals bid local currency on the bitcoins and pay with the local currency. This is the process by which Bitcoin is converted to regular money, how people become millionaires. They buy the Bitcoin low, or they mine it, and then sell the Bitcoin if it becomes much more valuable in the future. When websites or news organizations talk about the price of bitcoin, they're pulling the price people are willing to pay off these websites.

These exchanges are something a bitcoin user must be wary of. In 2014, the mtgox exchange, the largest bitcoin exchange in the world, shut down unexpectedly. They couldn't account for 850,000 bitcoins, so many users lost everything. More recently, the owner of the QuadrigaCX died without a backup of the passwords and many users lost their bitcoins to the tune of $190 Million. If the bitcoins had been in users wallets they would have been safe, but people trusted the exchanges.

We have gone over a lot of facts about bitcoin. To be honest, I personally think it is a terrible currency for people in most developed nations. Transactions take forever to process and cost a lot of money for small transactions, its extremely inconvenient -- you need to download the history of bitcoin before using bitcoin, the price of bitcoin is extremely unstable so you may be poor one day, rich the next, and poor a third, most vendors don't accept bitcoin, and you need to rely on unreliable exchanges to turn your bitcoin into local currency most people will accept. 

Let's compare to using banks here in Canada. Most transactions with the banks are free -- I can deposit money, I can spend money using debit or visa, and depending on my bank, I may be able to withdraw for free as well. Debit transactions appear within seconds, and visa transactions affect the balance immediately. I only need a number or a piece of plastic or a few numbers to purchase something, and the money is already in a form almost every vendor accepts, so you don't need to convert your cash into something else to spend it.

Now, that all being said, there's a place where Bitcoin is a fantastic choice. Remember earlier when I was talking about countries with hyperinflation? Bitcoin expands at the rate the algorithm expands it at, not at a rate the government desires, so even though it has all these negatives, it's used in countries like Argentina and Venezuela where money can't hold value, because people can mine it, get a bit of bitcoin, and use it to order products over the Internet. For such people, Bitcoin represents the one way they can hang onto currency.

Finally, let's talk a bit about the potential for blockchain technology. Thing is, money probably isn't the best use of this technology. Maintaining a ledger of every cash transaction ever completed is a pretty expensive task if you want to spend a dollar on a Coke. However, there are a number of situations where the attributes of block chain are beneficial.

Presently, precious metals come out of the ground, and can be bought and sold, but there isn't a ledger tracking the history of that precious metal. Because of that, unscrupulous companies might be selling the same gold multiple times -- unless you can account for it. One application of blockchain is to have a miner create an entry in the ledger for each bit of gold, and then trades in gold can be tracked using the blockchain, and you can't sell the same gold twice.

Another situation where blockchain might be beneficial is real estate. There is an entire industry for dealing with deeds. You pay for a copy of the deed, or you can buy title insurance, and it's a non-trivial part of the job. Using a blockchain, we can trace ownership of property going back to the inception of the property.

Yet another situation where blockchain might be  beneficial is stocks. Many trades are done electronically, so companies spend a lot of money on intermediates who handle the transfer of stock. With a shared ledger between  banks, the system can be handled without those intermediates.

In short, anywhere that we need a shared source of truth and an enforced transaction history, blockchain can be a huge benefit. As I said before, probably not great for buying a Coke, but if you wanted to buy a million shares of Coke or Koch, you might find blockchain technology has benefits over our current systems. We'll just have to see how history plays out!

Thanks for reading!

Two kinds of manager

I'm Jason Firth.

Lately my work has been closer to management than front line work. As a supervisor, my first duty is a safe workplace, but my second is enabling my workers to succeed, and that often requires management of one form or another.

I previously had a theory of management that I now fully believe to be fact: there are two types of manager.

The first is a subject matter expert. Such an expert knows intimately what is required to succeed at the job, and has the experience to steer a project in the direction in needs to go.

the second is a pure people manager. That kind of expert doesn't know anything about the subject matter, but surround some self with people who do know. People that he trusts, who will help him make the right decision and who he will support.

I would argue that every manager is a little bit of both. You're going to have situations where you are the subject matter expert in the room, where you have all the answers and everyone is looking to you because you're the guy. You're also going to have situations where even if it's in your field maybe you just don't know about this particular situation. if you've got enough going on, eventually you're going to reach a spot where you have to defer to your subordinates.

A lot of people have a biased towards believing that one type of manager or another is preferable. Myself, I think that the key is providing the support that workers need to successfully complete the things that we ask them to do.

I use the word project a lot. Certain schools of thought will establish a project as this big thing that requires project teams and all kinds of resources,  but in a lot of cases something that I would consider project doesn't include all that. It can't, or your company would simply go out of business for being so top heavy. Despite that, for these mini projects there is still a way that you need to manage them. Even for something absolutely tiny, you need to make sure that the materials are available, that the manpower is dedicated to the project, that there's a plan to get from point a to point b. The difference between the project that is properly managed and a project that isn't when we're talking about these small scale projects can still be the difference between success and failure. you can throw a thousand people at a job, but if you're missing a quarter inch nut everything stops. You can have all the quarter inch nuts in the world, but if you don't have a person who knows how to turn a wrench, that job isn't getting done. Even with all the people in the world, and all the materials in the world, and all the tools in the world, if you don't know what you're doing because no one has the information to succeed at the task, that job isn't getting done.

Both types of manager can help push through these projects. Subject matter expert can help with the planning themselves, and exactly what's going to be required in terms of manpower in materials. People managers can draw on the resources around them to find the right person to plan the job and the rate people to figure out what's going to be required to get a job done. besides that, they will make absolutely certain that the people that help them succeed feel appreciated and well-regarded and compensated for their extra efforts.

Expect me to talk a lot more though this sort of thing in the future, as my role in the world changes.

Thanks for reading!

And we're back!

I'm Jason Firth.

 

For the past most of a year, this site sat in limbo. The question was, "What do I do with this place?"

After several years, my web hosting was about to expire, and I didn't know if I wanted to pay to keep things running.

Bottom line is, yes I am, but along the way I learned a lot about behind the scenes stuff, and I'm more in control of my website.

At first, I was looking at hosting the site myself. I downloaded a copy of Ubuntu server 18.04 and threw it onto a spare machine. Ubuntu server is pretty straightforward to get running. I set up apache, mariadb, and PHP. This all came from different write-ups I found online.

Apache is a web server that's been around forever. It's open source and has a modular architecture that allows a lot of different technologies to be used by just loading a command line. One thing I learned this time around is that one apache Apache server can be configured to serve a lot of different websites. For example, jasonfirth.ca can be configured to point at /var/www/JasonFirth.ca/ but my fake outrage site canceljasonfirth.ca can be configured to run off the same server at the same IP address and configured to point at /var/www/canceljasonfirth.ca/

Apache is smart, it knows how you access the site. If you reach the server from the url https://jasonfirth.ca or something else.

Mariadb seems like a fork of MySQL. There's some stuff to unpack here. Open source projects allow any person to create a new project based on their source code. You could take the source code of Firefox and make all the icons green and rename it luckycharmsfox and as long as general Mills is ok with you using the lucky charms trademark and you follow the Mozilla license. 

MySQL is a database server that's free and open source, but it also has a paid version. The paid version is called "enterprise" and has additional features. Mariadb appears to be a fork of MySQL that brings many of those enterprise features to MySQL.

 

PHP is a scripting language also called "post hypertext processor". Essentially, it's a programming language that lets a website you're watching make decisions on the server and make modifications to the page before it is sent to you. One way i used PHP on a previous version of this website is I had a script to add a navigation menu from one file to all the pages without having to maintain the menus on all the different pages, but php can do many things. The entire page is now a PHP based content management system. 

So why did I go with these particular packages? Well, once I set up the server in my home, I was sitting there with a server whose only job was to serve webpages and who had a huge hard disk. I decided to play around with a software package called nextcloud. Nextcloud is a really neat package. It basically lets you run your own cloud services -- it starts with something like Google Drive and contacts, but there are hundreds of plugins that let you add new features -- calendars, task lists, budgets, chat systems including video chat, webmail, and much more. Obviously these services already exist, but in this way you own them and control them on your own server or your own web hosting, and that's liberating.

I made the joke about cancel culture before, but it's true regardless -- Google in particular is looking to pare down the number of people using their services on YouTube to "commercially viable" ones, and we have been seeing the freedom we previously enjoyed slowly but surely being reduced. By being the one paying for your hosting, by being the one controlling your cloud services, You take that freedom back.

Let's think about a completely different application. Some companies have air gapped control networks, but your team still needs to communicate. Imagine setting up your own cloud services within an air gapped network, so your workers get isolated chat, file storage, file sharing, video chat, web email, calendar management, and task management. You could end up with a team with all the tools of the cloud, working in an air gapped island. 

It's good to be back, now that I know what I'm doing I expect to post more.

 

Thanks for reading!

Happy new year, and some thoughts on AI

I'm Jason Firth.

A lot has been said about AI of late, the idea that AI could "evolve" and become a true intelligence.

With respect to any system I've seen so far, that sounds plausible, except that it isn't. Much like a stuffed doll will never evolve into a human because the fundamental stuff that makes up both are completely different, "Artificial Intelligence" and actual intelligence are made up of things that are absolutely different.

 
Take the blinker on your car. Is there a chance it will ever become truly self-aware? The answer is clearly "no". It is a switch and a timer circuit and a couple light bulbs, designed by a human being to do one and exactly one thing. How about if you replace the switch with a voice activation? It's still a switch and a timer and a couple light bulbs. How about if you have a wave file play saying "Activating turn Signal" when you turn it on? You've made the interface more human compatible, but the fundamental stuff that makes it up is the same. It's still a timer circuit at its root. The logic behind these three "Artificial intelligences" are very similar.
 
Every single AI I've ever seen is a more complicated version of the exact same concept as the turn signal. It's a purpose built machine made for excelling at one task. Deep Blue can beat Garry Kasparov a thousand times at Chess, but it will never beat him at Mario Kart unless a human intervenes and effectively creates a new device for beating Mario Kart. It will never beat him at writing a song unless a human intervenes and creates a new device for writing songs. It will never beat him at writing poems unless a human intervenes and creates a new device for writing poems.
 
By contrast, the human mind invented chess, and Mario Kart, and songs and poetry, then determined what was a good state and a bad state, and then determined methods to get to the good state. The human mind wired itself to do this, along with a thousand other things that were required to get there. No human ever opened up someone's brain to wire up a chess player or a mario kart player or a musician or a poet.
 
As long as that distinction exists, artificial intelligence will always actually be a mere tool created by a human intelligence. Such intelligence "evolves" by the humans getting smarter and applying different algorithms to different problems successfully, not by solving problems itself.
 
The day that an AI identifies and quantifies a problem then comes up with a solution on its own, that's the day I'd be concerned about a true intelligence developing. Until then, it's purely science fiction.
 
Thanks for reading!

Copyright © 2018

Lingonberry by Anders Noren — Proudly Powered by BluditUp ↑