Move website source to /source
This commit is contained in:
parent
530fc76ede
commit
6981ccad43
81 changed files with 8 additions and 34 deletions
89
source/_posts/2023-5-6-calculators.md
Normal file
89
source/_posts/2023-5-6-calculators.md
Normal file
|
@ -0,0 +1,89 @@
|
|||
---
|
||||
layout: project
|
||||
title: Adventures with old calculators
|
||||
description: Shenanigans with graphing calculators my school was throwing away
|
||||
thumbnail_url: /assets/images/calculators.webp
|
||||
SEO_tags: [Calculator, Texas Instruments, TI82, Z80, Assembly, MS-DOS, Overclocking]
|
||||
---
|
||||
|
||||
**Note: This article is still expanding, check back later for more content!**
|
||||
|
||||
In January 2023, my high school was getting rid of over a hundred old calculators. Around half were mismatched
|
||||
scientific and 4-function calculators, and the other half consisted of graphing calculators from the early and mid
|
||||
1990s. Most of the graphing calculators are Texas Instruments TI-82, so this article will be focused on them, but I do
|
||||
plan on making other posts.
|
||||
|
||||
After replacing the dead batteries every single TI-82 turned on and functioned, but some had malfunctioning screens.
|
||||
|
||||
# Overclocking
|
||||
|
||||
This section is based on
|
||||
[this archived webpage](https://web.archive.org/web/20220303160216/http://richfiles.solarbotics.net/Turbo82.html).
|
||||
|
||||
There is a 26pf capacitor labeled **C7** on the top right of the TI-82's motherboard. When this is replaced with a 15pf
|
||||
capacitor, the speed of the calculator increases by 2-2.5x.
|
||||
|
||||
Here is the resistor before and after replacement:
|
||||
<img src="/assets/images/resistorcomparison.webp" class="auto-scale" alt="Split photo of motherboard with old and new resistor">
|
||||
|
||||
And here is a speed comparison between a stock TI-82 (left), and an overclocked TI-82 (right):
|
||||
<video src="/assets/videos/calculatorperf.webm" class="auto-scale" loop autoplay></video>
|
||||
|
||||
# Connecting to computer
|
||||
|
||||
The TI-82 and TI-85 introduced the ability to connect to another calculator or to a computer to share programs.
|
||||
|
||||
## Hardware
|
||||
|
||||
The TI-82 (and TI-85) used the TI Graph-link adapter, which connected to the calculator's link port and to a computer's
|
||||
9 or 25-pin serial port. Luckily, this serial adapter can be converted to USB (shown below).
|
||||
|
||||
<img src="/assets/images/graphlinkadapter.webp" class="auto-scale" alt="Photo of TI-Graph Link adapter attached to a serial to USB adapter">
|
||||
|
||||
## Software
|
||||
|
||||
The TI-Graph Link™ software only supports very old versions of Microsoft Windows based on DOS, and some ancient versions
|
||||
of Mac OS. I chose to run the software in an MS-DOS virtual machine with Windows 3.1 since I already have experience
|
||||
with the platform.
|
||||
|
||||
If you want to replicate my virtual machine, use the [MS-DOS 6.22](https://winworldpc.com/product/ms-dos/622) and
|
||||
[Windows 3.1](https://winworldpc.com/product/windows-3/31) images from WinWorldPC, and use this archive of the
|
||||
[TI Graph Link Software](https://archive.org/details/TiGraphLink). For transferring files I decided to use a physical
|
||||
Floppy Drive since I had one lying around. Here is my Proxmox configuration file (I would recommend editing the config
|
||||
file after creating a VM through Proxmox).
|
||||
|
||||
```yaml
|
||||
# Replace with your floppy drive block device
|
||||
args: -fda /dev/sdb
|
||||
acpi: 0
|
||||
|
||||
# You may need to enable booting from floppy to install DOS
|
||||
boot: order=ide0
|
||||
cores: 1
|
||||
cpu: kvm32
|
||||
hotplug: disk
|
||||
|
||||
# Change this to the storage device you want to store your OS
|
||||
ide0: local-lvm:vm-69420-disk-0,size=2G
|
||||
|
||||
localtime: 0
|
||||
memory: 512
|
||||
name: msdos
|
||||
numa: 0
|
||||
ostype: other
|
||||
scsihw: virtio-scsi-pci
|
||||
|
||||
# Replace with your serial adapter
|
||||
serial0: /dev/ttyUSB0
|
||||
|
||||
sockets: 1
|
||||
tablet: 1
|
||||
tags: ms-dos
|
||||
vga: std
|
||||
```
|
||||
|
||||
|
||||
## What's next
|
||||
|
||||
Both CRASH and ASH allow you to create and load programs written in Z80 assembly. In the near future I plan on creating
|
||||
some basic programs in assembly and stretching the limits on what can be run on a TI-82.
|
36
source/_posts/2023-5-6-informinator.md
Normal file
36
source/_posts/2023-5-6-informinator.md
Normal file
|
@ -0,0 +1,36 @@
|
|||
---
|
||||
layout: project
|
||||
title: "Informinator"
|
||||
description: News aggregator built with Python, AioHTTP, and Jinja
|
||||
thumbnail_url: /assets/images/informinator.webp
|
||||
project_url: https://informinator.owenryan.us/
|
||||
# TODO: Uncomment this when source code is published
|
||||
# source_url: https://code.owenryan.us/owenryan/informinator
|
||||
SEO_tags: [Python, aiohttp, News]
|
||||
---
|
||||
|
||||
Informinator is the one-stop site for all of your news needs! It aims to be a central hub that delivers the stories you
|
||||
need to know while also funneling you to the proper news sources to get more information. Informinator is currently in
|
||||
a very early beta and only sources news from Al Jazeera, BBC News, The Associated Press, and editorials from The
|
||||
Guardian.
|
||||
|
||||
**Note: Informinator will be open-sourced in the next few weeks when the server is stable**
|
||||
|
||||
## Origins
|
||||
|
||||
During the spring 2023 semester, two separate classes I was taking had weekly news quizzes that checked that you had
|
||||
been following current events. I decided that the best way to study for these quizzes was to create a news aggregator
|
||||
to simplify the process of looking at several news outlets per day.
|
||||
|
||||
## Current issues
|
||||
|
||||
The first version of Informinator was hacked together over a weekend, so some design choices are suboptimal. Some of these include:
|
||||
|
||||
- All articles are loaded on page-load, even though most are hidden behind the carousel.
|
||||
- Informinator's RSS parsing code only supports feeds from [RSSHub](https://docs.rsshub.app/en/).
|
||||
- RSSHub's New York Times English feed is currently unusable due to [a parsing error](https://github.com/DIYgod/RSSHub/issues/12371).
|
||||
- All articles are cached in Python when an in-memory database such as Redis would greatly improve performance.
|
||||
|
||||
## Roadmap
|
||||
|
||||
Informinator's public roadmap can be found [here](https://informinator.owenryan.us/roadmap).
|
16
source/_posts/2023-5-6-jambox.md
Normal file
16
source/_posts/2023-5-6-jambox.md
Normal file
|
@ -0,0 +1,16 @@
|
|||
---
|
||||
layout: project
|
||||
title: "Jambox"
|
||||
description: "Discord music bot built with Hikari and Lavalink"
|
||||
project_url: https://discord.com/api/oauth2/authorize?client_id=1102705272805404722&permissions=4298394880&scope=applications.commands%20bot
|
||||
thumbnail_url: /assets/images/jambox.webp
|
||||
SEO_tags: [Discord, Python, Hikari, Lavalink]
|
||||
---
|
||||
|
||||
Jambox is a *soon-to-be* open source Discord music bot built for convince. It utilises the
|
||||
[Lavalink](https://github.com/lavalink-devs/Lavalink) audio node for streaming music, and also adds support for
|
||||
streaming local files¹. Jambox was built from the ground up using Discord's modern feature set, and
|
||||
utilises [slash commands](https://support.discord.com/hc/en-us/articles/1500000368501-Slash-Commands-FAQ), embeds,
|
||||
message components¹, and modals¹.
|
||||
|
||||
- ¹ - Features are not currently implemented, but are planned additions
|
41
source/_posts/2023-5-6-website.md
Normal file
41
source/_posts/2023-5-6-website.md
Normal file
|
@ -0,0 +1,41 @@
|
|||
---
|
||||
layout: project
|
||||
title: This website
|
||||
description: The self-built site using Jekyll, Bootstrap, TypeScript, and more!
|
||||
thumbnail_url: /assets/images/website.webp
|
||||
project_url: https://owenryan.us/
|
||||
source_url: https://code.owenryan.us/owenryan/owenryan.us
|
||||
SEO_tags: [web, html, css, jekyll]
|
||||
---
|
||||
|
||||
After squatting on this domain for 7 years, I finally stopped procrastinating and decided to create a website.
|
||||
Here is everything I used to turn my visions into reality.
|
||||
|
||||
## Structure
|
||||
|
||||
This website was created using the [Jekyll](https://jekyllrb.com/) static site generator, which runs on the
|
||||
[Liquid](https://shopify.github.io/liquid/) template engine. Jekyll supports writing posts in [Markdown](https://en.wikipedia.org/wiki/Markdown), which makes writing simple pages
|
||||
like this one much easier. On the other hand, using plain markdown makes embedding videos and icons much more difficult.
|
||||
|
||||
## Theme
|
||||
|
||||
Every page is running a custom theme built with the [Bootstrap](https://getbootstrap.com/) CSS library, and styled wit
|
||||
[SASS](https://sass-lang.com/). Jekyll automatically renders markdown files to fit the site theme.
|
||||
|
||||
## Typescript
|
||||
|
||||
When it comes to creating websites, I try to keep scripting down to a minimum to improve client performance. On this
|
||||
site, there are currently only three times Javascript is used on this site.
|
||||
|
||||
- Lazy loading Stylesheets (Used for loading FontAwesome icons in the background)
|
||||
- Gradient rotator (Only on index.html)
|
||||
- "Get Email Address" button in contact.html (Decodes an obfuscated version of my email address to prevent scraping)
|
||||
|
||||
I chose to work with TypeScript over JavaScript since I prefer to use static-typing whenever possible to avoid confusion
|
||||
and to allow better static analysis and linting. On the other hand, Jekyll only has built-in support for CoffeeScript,
|
||||
so compiling to JavaScript has to be done manually.
|
||||
|
||||
## Hosting
|
||||
|
||||
Jekyll produces static HTML and CSS files, meaning that they can be hosted anywhere. I chose to host this website using
|
||||
the [Apache webserver](https://httpd.apache.org/) because it's reliable and has better documentation than NGINX.
|
Loading…
Add table
Add a link
Reference in a new issue