Categories
Documentation QR Codes In Action Uncategorized

INTRODUCTION

What is QR Snap? Simply put QR Snap is a suite of tools that enable businesses primarily dealerships to create and utilize QR codes for a multitude of purposes. which include some of the following. There are more features but overall these will be the highest value to most businesses.

  • Visual tags that customers and staff can interact with.
  • Tools to create QR Code batches with logo on standard 8.5×11 or 18×12 media.
  • Geotracking of inventory.
  • Direct access to product administration tools for authorized staff.
  • QR Code scan to Facebook poster with with GPT powered posts.
  • Customer redirect with loading screen to VDP or the desired page.
  • Notifications to staff members of a customer scan.

Now that you were just exposed to a barrage of technical jargon that only the IT guy would understand. Lets take a step back and go over why QR Codes are the best tool for product management, interaction, and engagement.

In 2020 following the ‘pandemic ‘ all major phone manufactures E.g. Apple, Samsung, Google enabled QR code scanning access in their default camera application. For most people these were used as tools to access menus at restaurants or even pay for the food itself but beyond that QR codes went overall remarkably unnoticed for being such an incredibly powerful technology. QR Snaps mission is to not only empower the business with QR codes and optimize inventory and management of various amounts of inventory, but also to enhance the customer experience though access to information and the ability to get assistance from staff quickly.

Note: QR Snap was developed with a focus powersports dealerships but that does not mean that QR Snap would not be an excellent fit for various other industries as well. One of the key issues QR Snap was built to solve is where a business has a variety of ‘loose’ inventory that gets put out on display for customers to interact with. Examples of this would be a car or rv dealership.

The building block of using QR Snap in a showroom is to create tags. There are various ways to do this but the simplest is to use an existing thermal label printer and just print QR Snap QR codes onto them. Just like a package you can stick this label to your inventory and then instantly your staff and customer experiences are both improved.

A large stack of qr codes that will be attached to various vehicles
A stack of QR Codes attached to a stack of versatags

The above are the highest quality QR Snap tags that can be attached to various inventory. Note the following characteristics

  • Large QR Code
  • Logo in the center (Now Color)
  • Stock number and other valuable information


Let’s take a closer look at each of these points, starting with the ‘Large QR Code’. There are two primary reasons for using a large QR Code. First, it encourages interaction with the code, making it a clear invitation for people to ‘scan me for the price’. Second, a larger code significantly improves compatibility across various devices.

NOTE 1 : When creating your own QR Codes from a link on the internet, you might end up with densely-packed black and white squares that resemble the static on an old TV screen. This not only limits the number of devices capable of scanning your QR Codes, but also complicates the interaction between the customer and the code. They may have to hold the code in an awkward position or twist to an odd angle in order to achieve a successful scan.


NOTE 2: QR Snap generated QR Codes utilize advanced URL redirection techniques to enabled the most compatible, aesthetically pleasing, and interactive experience for your customers and staff. The reason QR Snap has the ‘.io‘ domain is because it is only 9 character and as such generates a very low density QR Code.

Moving on to the second point, these QR Codes feature a logo in the center. You may have seen this design approach quite often, but it remains important as it serves as an additional visual cue, encouraging people to scan the code. Moreover, in many instances, it might be the only way to incorporate your company’s branding into a product. For example, if you attach a QR Snap tag to a Honda dirt bike, that tag becomes the sole representation of your business on the entire product.

Lastly, let’s discuss the third point: including stock numbers and other valuable information. Within any business, there’s a diverse range of technical skills among staff members, often correlated with age. Taking this into account, even employees and customers who don’t scan or adapt to the QR code can still access crucial information about the product they’re engaging with. For vehicles, this typically includes the year, make, model, VIN, and stock number.

For example, if you need to retrieve a key for a street bike locked behind a manager’s desk, it’s much easier to read the stock number from the tag or snap a photo of it. The alternative involves pulling back brake cables, turning on your phone’s flashlight, and bending over to read the VIN number from the steering stem. Ultimately, QR Code tags offer a much faster and more efficient solution.

Categories
Uncategorized

Renderd – OSM – 80,000% Speedup

Well this post should be quite simple to write. Lets start with the problem. Does your open street map server suffer from extremely slow tile rendering? The solution is quite simple and best of all it’s FREE!

Okay enough with the sales pitch. If your open street maps tile server has slow tile serving ever with good hardware specs. Lots of MT, SSD, and RAM. Make sure that if you are using the Open Street Maps carto rendering package to run scripts/indexes.py this file will create an copyable list of PostgreSQL statement to generate indices necessary to speed up the process of rendering tiles.

These indicies have increased my tile rendering speeds from 5 tiles/s to 1k tiles/s+

Categories
Uncategorized

Dev QR Snap – S0, Complete

Update 6/13/23:

QR Snap has made some substantial hardware upgrades to ensure the reliability and redundancy of it’s data whilst improving performance. Firstly a second Dell R730 was added to host this blog and provide a PostgreSQL replication and backup server.

New QRSnapS1 Server Specs

  • Dell R730 Chassis
  • 2x Intel Xeon 2620v3 x2 (weak but it’s all I need)
  • 288GB DDR 4 2133 Memory
  • Proxmox VE
  • Intel X520 10Gbit fiber link
  • 2x 870 EVO SSDs RAID 0 (working on getting raid 10)

Upgraded QRSnapS0 Server Specs (Primary QR Snap Server)

  • Dell R730 Chasis
  • 2x Intel Xeon 2699v4 (22 core)
  • 1.5TB DDR4 2400 Memory
  • Centos 9 Stream OS
  • 3x 3.2TB Seagate NYTRO SAS SSD Enterprise grade. (RAID 0)
  • 3x 18TB WD HC550 SAS HDDs (RAID 5)
  • 2x 2TB Samsung 870 EVO (LVM2 cache for the raid 5)

QR Snaps network infrastructure has also been upgraded as well, all servers are now linked with OM3 at 10Gbit full duplex. With a Ziply fiber 500/500 WAN on a static IP Address.

The software stack has also been upgraded to account for higher levels or linear scaling by using HAProxy, Nginx, PostgreSQL as the database and load balancers for QR Snaps traffic. The software stack keeps evolving to further take advantage of the multithreaded nature of the server hardware I have. Some examples of this are using Python instead of NodeJS to generate QR Codes. This is because Python handles threading via the use of queue objects much better than NodeJS which is by nature a single threaded executable.

ORGINAL POST

Finally after two months the QR Snap S0 Server is complete. In the infancy of QR Snap our service was hosted from a desktop computer running Node and PostgreSQL over WiFi. Overall this setup worked incredibly well in hindsight given how many points of failure existed. So what has changed since then? The answer is a lot. From software to hardware nearly everything has been revamped.

The biggest change would be the hardware used to host QR Snap. The original QR Snap host PC had the following specs.

  • AMD Ryzen 1700
  • 32GB DDR4 2866
  • 256GB Samsung 970 Evo NVME Drive
  • 12TB Western Digital Gold
  • Nvidia GeForce 970
  • TP Link T9UH
  • Windows 10 Pro

This setup was the humble beginnings of QR Snap and it worked quite well from a functional standpoint. Thought my humble hosts limitations were quickly realized. Firstly this PC was my workstation and as such was very venerable to getting updated, reset, crashing, and power outages. From the perspective of uptime I am amazed it did so well. The number of major service disruptions could be counted on one hand. The biggest issues were related to Windows updates and reconnecting to the WiFi after a reboot. Anther issue that was resolved in a nicer manner was power outages and recovery from those event’s.

Dell R730, the next generation of QR Snap hosting.

After some discussions about the shortcomings of the current setup for QR Snap services with a friend. A gracious offer to sell me some actual server grade hardware was made. I had no idea what these servers were but at 2.9mBTC each. The reliability provided by server grade hardware combined with the offloading the webserver to dedicated hardware would be extremely beneficial when implemented. The key word as always is ‘implementation’ this step would prove to be one of the most tedious processes I have ever experienced in my life. At the same time though one of the best learning experiences awaited and the payoff was massive.

As soon as I got these shiny new chassis home the lids were off. checking for parts and configuration options as well as overall condition. These were dell R730 servers so it seemed more modern than I anticipated and they each had 9 memory modules installed for a total of 144GB per machine. Each one had 2x spinning hard drives installed, a Intel E5 2620v3 CPU, and in Intel x520 networking card with 2x 10gbe SFP+ ports. The next step was to open each cassis and merge them into a single unit with a dual CPU configuration with 288GB DDR4 memory. 4x Samsung 870 Evo dives were added in raid 0 for database storage and Open Street Map tile rendering. CPUs were upgraded to Dual Xeon E5 2699 V4s. A 256GB SSD was added as a swap drive. Three 18GB WD HC550s were added for the caching of open street map tiles at lower zoom levels and redundancy. Overall this server was build to parallelism and work.

8TB Samsung 870 Evo Drives

After harvesting a whole chassis and building up the R730 a choice of which OS was to be used needed to be made. The first choice was Ubuntu do to the ease of access, user friendliness, plethora of tutorials, and massive community support. After installing Ubuntu and having this overarching feeling of being a ‘noob’ flow over me. The decision was made to utilize a RHEL based OS for ‘Enterprise’ grade reliability. Doing away with the plebian Ubuntu for the more robust Centos the pain began immediately. Upon booting from USB the centos installer had issues where upon clicking the field to setup update repos would create a condition where a reboot was necessary to get out. Second mistake to a degree was choosing the ‘Stream’ version of centos. Looking back using Centos Stream 9 only created pain in the short term. Long term rolling updates are what I want and need. After install once, Centos was reinstalled due to how the installer split the users home directory onto it’s own partition. Though useful for some cases for QR Snap a homogenous partition would let me get up and running faster and reduce the risk of running out of space. With a flew clicks and reboots QR Snap was now running with Red Hat Enterprise at it’s core.

The moment of truth, the trials of my manhood would now be upon me. The monitor was unplugged, server moved to the closet, and ethernet cable firmly attached. Moving back to my windows host a terminal was fired up and an SSH connection was made. Voila; QR Snap now has a giant loud fast Raspberry Pi to run on.

Note this is my first real foray into using Linux and there is no better way to learn than to be thrown right in to the fire. Centos uses the yum(dnf) package manager and Steam 9’s repositories are sparse to say the least. When compared to Ubuntu’s apt it feels like a ghost town, and later I would find out Centos Stream 9 repository depth is extremely small compared to the non stream versions of Centos. Many server utilities were missing without a repository to fall back on.

Categories
Uncategorized

Bitcoin on our Balance Sheet

QR Snap strives to be on the bleeding edge of technology. Bitcoin is and
will be a large part of that mission. QR Snaps commitment is that 100% of all
post tax fiat profits will immediately be converted into bitcoin and deposited
into a multi-sig address.

Why? Bitcoin has played an important role in many areas of my personal life
and at its core was the foundation of QR Snaps use case for QR codes. Adding
bitcoin to the corporate balance sheet is a strategic move to preserve capital,
provide sovereignty, and increase agility. Being a technology focused company
early adoption and integration of bitcoin and related services will provide
vertical integration of our finances and decrease dependence on legacy banking.
Integrating bitcoin now also provides a layer of futureproofing for QR Snap and
a massive technological edge.

Firstly, bypassing the banks is one step QR Snap deliberately implements at a
corporate level. Banks represent a tax on transactions and counterparty risk. First and foremost QR Snap doesn’t have any outstanding financial liabilities. Because QR Snap doesn’t utilize debt, banks could only be used to store fiat currency if we had any. Our company doesn’t accept physical cash, coins, or checks so there is no need for a bank physically store money. The most a traditional bank could do is store and present the digital representation of our companies worth in fiat terms and charge fees to do so. This is where bitcoin becomes the FOSS (Free Open Source Software) alternative to legacy banking. The representation of transactable value owned by QR Snap as viewed on the bitcoin network would be equivalent and over a long period of time more accurate than a privately owned institutions representation. All while being free to use and implement. Being on the bitcoin network provides the added benefits of not having counter party risk induced by legacy banks that can close accounts, withhold funds, and cancel transactions.

Secondly, bitcoin over longer time horizons preserves purchasing power With bitcoin on our balance sheet currency changes and fluctuations on a longer timescale become irrelevant. At the time of this writing, inflation is the largest currency risk faced in the United States of America. YoY inflation was measured by the federal reserve at 7.5%. If QR Snap chose to hold USD long term on our balance sheet; it would be detrimental to the medium and long term purchasing power of the reserves in the corporate treasury. Bitcoin will allow us to side step currency devaluation by holding an asset with a fixed supply and converting it into a currency with a variable supply as needed.

Lastly, adding bitcoin to the balance sheet increases mobility. With bitcoin reserves corporate mobility becomes extremely high due to the fact that bitcoin is accepted world wide so in the event QR Snap needs to operate in another jurisdiction, our company could sell bitcoin holdings into the local currency and begin/continue operations.

Best,
Reese R