Merge branch 'master' of git.tait.tech:tait/tait.tech

master
Tait Hoyem 2 years ago
commit 2436f3220e

@ -22,6 +22,7 @@ group :jekyll_plugins do
gem 'jekyll-minifier'
gem 'jekyll-scholar'
gem 'jekyll-contentblocks'
gem 'jekyll-toc'
end
# gem "rails"

@ -5,7 +5,7 @@
description: "Theoretical underpinnings to work towards my goal of a Master's in cybersecurity."
- institution: "Southern Alberta Institute of Technology"
level: "Diploma"
name: "Information Technology — Software Development Major"
name: "Information Technology Software Development Major"
years: "2019-2021"
description: "Full-stack two year software development diploma. Focusing on databases, interface design, systems administration, security and enterprise solutions."
- institution: "Dartmouth College (Open Corseware)"

@ -1,6 +1,6 @@
- company: "Zone4 Systems Inc."
position: "Software Developer"
years: "June 2021-present"
years: "June 2021-December 2021"
description: "Software development and QA (testing) for an international race timing company based in Canmore, AB. Testing using unittest and Selenium. Development done in Javascript and Tornado. Zone4 was founded in 2001 by Canadian Olympian Dan Roycroft."
- company: "Bytetools Technologies Inc."
position: "Founder"
@ -13,7 +13,7 @@
- company: "Independent"
position: "Tutoring/Transcribing"
years: "2019-present"
description: "Working with computer science students explaining introductory to advanced concepts. Covering languages from C/C++ to Javascript to Python. I am skilled in working with students who have visual impairments: transcribing inaccessible computer code (from images or a screen-share) and presenting complex math equations in an accessible format."
description: "Working with computer science students explaining introductory to advanced concepts. Covering languages from C/C++ to Javascript to Python. I am skilled in working with students who have visual impairments: transcribing inaccessible computer code (from images or a screen-share) and presenting complex math equations and diagrams in an accessible format."
- company: "Total Impact Signs"
position: "Contractor"
years: "2014-2016"

@ -12,15 +12,17 @@
- skill: "PHP"
- skill: "POSIX-compliant Shell"
- skill: "LaTeX, MathML"
- section: "Frameworks/Environments"
- section: "Frameworks/Environments/Libraries"
skilllist:
- skill: "Flask"
- skill: "Django"
- skill: "JQuery"
- skill: "Jekyll"
- skill: "Tornado"
- section: "Miscellaneous/Hobbies"
skilllist:
- skill: "Git"
- skill: "3D Printing"
- skill: "Proxmox Virtualization"
- skill: "Embedded Systems (RPi, ESP-compatible)"
- skill: "Founder & Ex-President of SAIT's Free & Open-Source Software Club"
- skill: "Founder & Ex-President of Southern Alberta Institute of Technology's Free & Open-Source Software Club"

@ -0,0 +1,11 @@
<div style="position: relative;">
<a href="#toc-skipped" class="screen-reader-only">Skip table of contents</a>
</div>
## Table of Contents
{:.no_toc}
* TOC
{:toc}
<div id="toc-skipped"></div>

@ -1,3 +1,13 @@
table {
table-layout: fixed;
width: 100%;
}
#wrapper {
max-width: 100%;
}
table ul {
padding: 0px;
margin: 0px;
}

@ -30,7 +30,33 @@
</header>
<main>
<h1 id="ideas">Ideas</h1>
<div style="position: relative;">
<a href="#toc-skipped" class="screen-reader-only">Skip table of contents</a>
</div>
<h2 class="no_toc" id="table-of-contents">Table of Contents</h2>
<ul id="markdown-toc">
<li><a href="#1-accessible-bios" id="markdown-toc-1-accessible-bios">1. Accessible BIOS</a></li>
<li><a href="#2-terminal-oriented-browser" id="markdown-toc-2-terminal-oriented-browser">2. Terminal-oriented browser</a></li>
<li><a href="#3-dead-simple-chess-app" id="markdown-toc-3-dead-simple-chess-app">3. Dead Simple Chess App</a></li>
<li><a href="#4-open-source-vpn-deployment-system" id="markdown-toc-4-open-source-vpn-deployment-system">4. Open-Source VPN Deployment System</a></li>
<li><a href="#5-3d-printing-of-google-mapsopenstreetmaps-data-for-the-visually-impaired" id="markdown-toc-5-3d-printing-of-google-mapsopenstreetmaps-data-for-the-visually-impaired">5. 3d printing of Google Maps/OpenStreetMaps data for the visually impaired.</a></li>
<li><a href="#6-3d-printed-binary-trees" id="markdown-toc-6-3d-printed-binary-trees">6. 3D Printed Binary Trees</a> <ul>
<li><a href="#65-javascript-binary-trees" id="markdown-toc-65-javascript-binary-trees">6.5 Javascript Binary Trees</a></li>
</ul>
</li>
<li><a href="#7-legopi-powered-logic-gates" id="markdown-toc-7-legopi-powered-logic-gates">7. Lego/Pi-Powered Logic Gates</a></li>
<li><a href="#8-more-tutorialsmaterials" id="markdown-toc-8-more-tutorialsmaterials">8. More Tutorials/Materials</a></li>
<li><a href="#9-self-voicing-modal-editor-like-vim-but-accessible" id="markdown-toc-9-self-voicing-modal-editor-like-vim-but-accessible">9. Self-Voicing Modal Editor (like vim, but accessible)</a></li>
<li><a href="#10-new-business-idea" id="markdown-toc-10-new-business-idea">10. New Business Idea</a> <ul>
<li><a href="#cost-and-copyright" id="markdown-toc-cost-and-copyright">Cost and Copyright</a></li>
<li><a href="#105-tactile-diagram-creation-tool" id="markdown-toc-105-tactile-diagram-creation-tool">10.5 Tactile Diagram Creation Tool</a></li>
</ul>
</li>
</ul>
<div id="toc-skipped"></div>
<h2 id="1-accessible-bios">1. Accessible BIOS</h2>
@ -133,7 +159,7 @@ They do not, however, have labels yet.</p>
<p>A simple hub/connection system to connect nodes of a binary tree together to have a physical object for visually impaired computer science students to use for initial introduction into the subject of (binary) trees.</p>
<h2 id="65-javascript-binary-trees">6.5 Javascript Binary Trees</h2>
<h3 id="65-javascript-binary-trees">6.5 Javascript Binary Trees</h3>
<p>Have a simple module for loading in an SVG of a tree, along with Javascript to make the diagram accessible by jumping left/right with the arrow keys and up to a parent with the up arrow.</p>
@ -179,6 +205,109 @@ Yes, the best case is the teacher cooperates 100%, but considering that is never
<p>This would all be licensed as CC-BY-NC-SA.
I may drop the NC. As long as I have specified SA, then anyone (even for-profit companies) can use it as long as any changes are shared to the public as well.</p>
<h2 id="9-self-voicing-modal-editor-like-vim-but-accessible">9. Self-Voicing Modal Editor (like vim, but accessible)</h2>
<p>Some pieces of conversation about it:</p>
<blockquote>
<p>“Vim itself is fine, almost any plugin that puts things on the screen isnt though because all Orca sees is a 2d grid of characters. Thats why I want to build my own modal editor, with a screen reader plugin. Id build one for vim but I really cant be bothered to figure out all of its quirks, and viml. I know I can write most of it in Python, but still, it wasnt designed to allow speech to read the stuff plugins throw on the screen, so it wouldnt work as well anyway.”</p>
</blockquote>
<blockquote>
<p>“Vim, which I intend to take inspiration from when it comes to modes and key bindings, doesnt really fit with the standard key bindings for moving around a graphical app, and its hard, sometimes impossible, to replace all the OS standard behaviour in graphical apps, especially while keeping it accessible. Plus, what if you want to run this on a Raspberry Pi, with no desktop environment? What if you want to include it on an accessible Arch Linux install CD, with no Xorg or Wayland?”</p>
</blockquote>
<blockquote>
<p>“Not just that, earcons for acknowledgement of your actions. If a : command is successful, play a small sound. If it fails, play an error sound and read the error. If your cursor smacks into a line boundary, perhaps play a sound. It all depends on the user settings of course.”</p>
</blockquote>
<p>All of these are from <a href="https://thefakevip.xyz/">TheFakeVIP</a>.</p>
<h2 id="10-new-business-idea">10. New Business Idea</h2>
<p>Given the current lack of accessible content at universities (see #8, I think),
what if I created a business around supplying accessible diagrams to the students.
I would have multiple services, and would price them differently depending on my involvement.</p>
<ol>
<li>Tool Access
<ul>
<li>The university already has somebody with some programming experience doing the transcriptions.</li>
<li>The transcriber needs some tools to make his job easier.</li>
<li>Python scripts to create binary trees, stacks and queues, concurrent blocks, clock timing diagrams etc.</li>
<li>Cheapest option as this requires very little from me other than hosting online access to the tools.</li>
</ul>
<ul>
<li>Note that although all the source code would be open source, unless the transcriber is actually a software developer by trade (which is very unlikely) they will need access to some kind of web interface to these tools, and they will not be ready to set it up themselves.</li>
</ul>
</li>
<li>Consultation
<ul>
<li>This is what I think works best for most universities.</li>
<li>A standard run-of-the-mill transcriber will transcribe all plain-text portions of the documents.</li>
<li>I (we, the company) transcribe all diagrams using our ever-expanding arsenal of tools.</li>
<li>Flat rate per course per month, over time with more tool development this will work in our favour; at the start it might not quite be worth it, however.</li>
</ul>
</li>
<li>Full Transcription
<ul>
<li>I (we, the company) transcribe the entire set of documents, slides, assignments, reference material, etc. (Although no textbooks… Unless the teacher created the textbook themselves, it would be very hard to get copyright on it… see more on this in next section.)</li>
<li>Most expensive option</li>
<li>Allows further development of the web tools for our own good.</li>
<li>Opens some position for semi-skilled collage/uni students.</li>
</ul>
</li>
</ol>
<h3 id="cost-and-copyright">Cost and Copyright</h3>
<p>So heres my plan for sticking to “free culture” licensing while still maintaining profit:</p>
<ol>
<li>License all code under the GPLv3</li>
<li>License all transcribed documents under CC-BY-SA-NC, and add transcribed files to a directory of information available to anyone.
<ul>
<li>(CC) You may change and redistribute our content.</li>
<li>(BY) You must credit the company.</li>
<li>(SA) You must keep the same license.</li>
<li>(NC) You may not make money selling the documents.</li>
</ul>
</li>
<li>If a school is adamant that they want full control over the transcribed documents and do <em>not</em> want them published to the public, the price goes up by 25-35%, maybe even higher.
<ul>
<li>Clearly they have enough money to have lawyers tell them they need to keep the documents “safe”, so they can pay an extra “fine” for not cooperating with the “free culture” licenses.</li>
</ul>
</li>
</ol>
<p>I think it would be a great deal better for schools like SAIT, or AUArts, or VCC (smaller schools) to just contract out the hard stuff like this.
Given my experience with a larger school (SFU), it makes me think even large schools could use help with it.</p>
<h3 id="105-tactile-diagram-creation-tool">10.5 Tactile Diagram Creation Tool</h3>
<p>For the case of a diagram like a clock timing diagram,
which is basically impossible to just “write” in any exact way,
make a tool which can do the following:</p>
<ol>
<li>Take an image upload (a screenshot from a slide deck, preferably.</li>
<li>Grayscale the image.</li>
<li>Find text by OCR and offer to automatically delete it and replace it with braille.
<ul>
<li>Allow repositioning via an advanced feature set; automatically draw a line to where the OCRed text originally was.</li>
<li>This should be relatively straightforward, even with a complex diagram, you can always move the braille outside where the text is.</li>
</ul>
</li>
<li>Save image, print, run through special printer to make black “pop” off the page.</li>
<li>Send to student (by courier if local) and the fastest possible shipping by Canada Post/DHL/UPS otherwise. This is expensive, but necessary on tight deadlines.
<ul>
<li>The other option is to have a friend in various cities around Canada have a special printer and special paper that they can print on demand for me. More money, again, but also might be worth it depending of if I know I will have a consistent base of clients in a given area.</li>
</ul>
</li>
</ol>
<p>This seems like something that, if it does exist, is probably proprietary and costs the same as my services would as a whole.</p>
</main>
<hr>

@ -2,7 +2,8 @@
layout: default
title: "Ideas"
---
# Ideas
{% include toc.md %}
## 1. Accessible BIOS
@ -99,7 +100,7 @@ They do not, however, have labels yet.
A simple hub/connection system to connect nodes of a binary tree together to have a physical object for visually impaired computer science students to use for initial introduction into the subject of (binary) trees.
## 6.5 Javascript Binary Trees
### 6.5 Javascript Binary Trees
Have a simple module for loading in an SVG of a tree, along with Javascript to make the diagram accessible by jumping left/right with the arrow keys and up to a parent with the up arrow.
@ -141,3 +142,72 @@ Some other things I would like to do, if I could find the time:
This would all be licensed as CC-BY-NC-SA.
I may drop the NC. As long as I have specified SA, then anyone (even for-profit companies) can use it as long as any changes are shared to the public as well.
## 9. Self-Voicing Modal Editor (like vim, but accessible)
Some pieces of conversation about it:
> "Vim itself is fine, almost any plugin that puts things on the screen isn't though because all Orca sees is a 2d grid of characters. That's why I want to build my own modal editor, with a screen reader plugin. I'd build one for vim but I really can't be bothered to figure out all of its quirks, and viml. I know I can write most of it in Python, but still, it wasn't designed to allow speech to read the stuff plugins throw on the screen, so it wouldn't work as well anyway."
> "Vim, which I intend to take inspiration from when it comes to modes and key bindings, doesn't really fit with the standard key bindings for moving around a graphical app, and it's hard, sometimes impossible, to replace all the OS standard behaviour in graphical apps, especially while keeping it accessible. Plus, what if you want to run this on a Raspberry Pi, with no desktop environment? What if you want to include it on an accessible Arch Linux install CD, with no Xorg or Wayland?"
> "Not just that, earcons for acknowledgement of your actions. If a : command is successful, play a small sound. If it fails, play an error sound and read the error. If your cursor smacks into a line boundary, perhaps play a sound. It all depends on the user settings of course."
All of these are from [TheFakeVIP](https://thefakevip.xyz/).
## 10. New Business Idea
Given the current lack of accessible content at universities (see #8, I think),
what if I created a business around supplying accessible diagrams to the students.
I would have multiple services, and would price them differently depending on my involvement.
1. Tool Access
* The university already has somebody with some programming experience doing the transcriptions.
* The transcriber needs some tools to make his job easier.
* Python scripts to create binary trees, stacks and queues, concurrent blocks, clock timing diagrams etc.
* Cheapest option as this requires very little from me other than hosting online access to the tools.
* Note that although all the source code would be open source, unless the transcriber is actually a software developer by trade (which is very unlikely) they will need access to some kind of web interface to these tools, and they will not be ready to set it up themselves.
2. Consultation
* This is what I think works best for most universities.
* A standard run-of-the-mill transcriber will transcribe all plain-text portions of the documents.
* I (we, the company) transcribe all diagrams using our ever-expanding arsenal of tools.
* Flat rate per course per month, over time with more tool development this will work in our favour; at the start it might not quite be worth it, however.
3. Full Transcription
* I (we, the company) transcribe the entire set of documents, slides, assignments, reference material, etc. (Although no textbooks... Unless the teacher created the textbook themselves, it would be very hard to get copyright on it... see more on this in next section.)
* Most expensive option
* Allows further development of the web tools for our own good.
* Opens some position for semi-skilled collage/uni students.
### Cost and Copyright
So here's my plan for sticking to "free culture" licensing while still maintaining profit:
1. License all code under the GPLv3
2. License all transcribed documents under CC-BY-SA-NC, and add transcribed files to a directory of information available to anyone.
* (CC) You may change and redistribute our content.
* (BY) You must credit the company.
* (SA) You must keep the same license.
* (NC) You may not make money selling the documents.
3. If a school is adamant that they want full control over the transcribed documents and do *not* want them published to the public, the price goes up by 25-35%, maybe even higher.
* Clearly they have enough money to have lawyers tell them they need to keep the documents "safe", so they can pay an extra "fine" for not cooperating with the "free culture" licenses.
I think it would be a great deal better for schools like SAIT, or AUArts, or VCC (smaller schools) to just contract out the hard stuff like this.
Given my experience with a larger school (SFU), it makes me think even large schools could use help with it.
### 10.5 Tactile Diagram Creation Tool
For the case of a diagram like a clock timing diagram,
which is basically impossible to just "write" in any exact way,
make a tool which can do the following:
1. Take an image upload (a screenshot from a slide deck, preferably.
2. Grayscale the image.
3. Find text by OCR and offer to automatically delete it and replace it with braille.
* Allow repositioning via an advanced feature set; automatically draw a line to where the OCRed text originally was.
* This should be relatively straightforward, even with a complex diagram, you can always move the braille outside where the text is.
4. Save image, print, run through special printer to make black "pop" off the page.
5. Send to student (by courier if local) and the fastest possible shipping by Canada Post/DHL/UPS otherwise. This is expensive, but necessary on tight deadlines.
* The other option is to have a friend in various cities around Canada have a special printer and special paper that they can print on demand for me. More money, again, but also might be worth it depending of if I know I will have a consistent base of clients in a given area.
This seems like something that, if it does exist, is probably proprietary and costs the same as my services would as a whole.

Loading…
Cancel
Save