2018 August - Projects Log

More of the usual, with a possible new project...

2018 August 1, Wednesday

Finally, some feedback on the library checkout app. I managed to fix a few problems, and make it more usable. I also decided to show the columns for the buttons for students and books a little better, more in their places even if one column is missing, for some more visual consistency.


2018 August 4, Saturday

Wrote up some instructions for someone to setup and test a new rewrite of Faith PRC church's website. The idea is to see if this work-in-progress is something we want to commit to maintaining, and is better than what we currently have, or whether I need to make it easier to edit and modify.

I also did some design work on theoretical plans to make a replica of the Prague Astronomical Clock (with a useful website for metrics and measurements). A lot of my plans are testing designs and renders in Blender, and seeing how they work with 3d printing.


2018 August 6, Monday

This day was dedicated to math-related clock design work. After much thought and thinking about my delima with the inaccuracy of the Prague Astronomical Clock's three dials, after accounting for leap days and exact month rotation, I came up with a solution. I realized that one layer of compound gears should provide me with the flexibility to turn one axle with respect to another with a sufficiently small margin of error. The trick is to find ideal gear ratios between the 1st source and driven pair, and the 2nd source and driven gear pair. I realized then that a far easier solution was to brute force a bound range of parameters, resulting in millions of possible test cases. Using a JavaScript console, I wrote a test inside 4 nested for-loops, and found ratios in the range of 32 to 220 teeth per gear that allowed me to control the Moon and the Zodiac axes with an error of less than 5° in 50 years! Eventually, I hope to publish an un-organized file of calculations that I've been using.

I also discovered the equations of stereographic projection that were common with astronomical clocks back then. I can use these equations to figure out the radii of the circles for the Equator, the Tropic of Cancer, and the Tropic of Capricorn, as represented on the astronomical dial. Eventually, I should be able to figure out equations for the unequal hours line arcs.

All this math uses parts of my brain I haven't used since college, and I wish there was a way for me to keep fresher what I had learned back then. The good news is that equations can be re-learned, and methodologies can be re-studied, and I can use them to construct anything I want, or so I feel right now. What I love about this clock is how it captures the order of the heavens in how all the parts move through time. To construct something like this does require quite a few calculations, but with enough persistence, I am confident it can be done, especially given all the resources available to us now.


2018 August 11, Saturday

Today, I did some more clock math work to figure out the steps to an equation for the sunset and unequal hours lines on the main face of the Orloj clock. It was pretty basic trigonometry, and the final curves are dependent upon the latitude. I still haven't figured out the night-time circle equation yet, but should soon.


2018 August 15, Tuesday

Today involved more math work on the clock, and I decided that for the metrics of the outer ring showing the old Czech hours, I would cheat a little and use the circle radiuses from this online replica, and multiply the ratio by the radius I had previously figured out. I managed to get figures with about 4 significant digits, and they looked more than adequate in my model.svg file, my sanity check to see that my math is accurate.

Also, tonight was the night I decided I was going to switch from Linux's default bash shell, and finally learn zsh. A shell is basically the environment that helps a programmer enter commands in a command prompt, or Terminal. By switching to Zsh, I get not only better tab completion, faster navigation, and a more efficient experience, but combined with the oh-my-zsh project, I get access to literally hundreds of plugins that make it easier to use tools like git, npm, and many many others. I've been wanting to learn it for a while, but haven't mustered up the strength to throw the chsh switch until now. This webpage got me up to speed with basic usage. Time to feel and be more efficient!


2018 August 20, Monday

Tonight, my main work was the 3D model of the moon mechanism for my replica of the Prague astronomical clock. I'm starting with a skeleton sphere for the moon so that I can see inside and make sure it's working correctly. The intent is for this part to be 3D printed, because I have no idea how I could otherwise make these parts. One of my coworkers has shown some pretty promising results, so I have hope that it can be done sufficiently detailed. I expect to do some refining and testing, but it's moving forward.


2018 August 23, Thursday

After seeing what some 3d-printed parts for the moon mechanism looked like, I made almost a dozen revisions on all the parts for it, including a better mechanism for the slide-in of the worm gear, and spacers on where two teeth mesh together.


2018 August 25, Saturday

Today was spent very heavily on the orloj replica, mostly in studying designs and deriving metrics for all rings based on pixel matching for the quantities that couldn't be derived, like the inner radius of the Zodiac ring and the positioning of the old Czech hours outer ring. I'm starting to wonder how to get vectorized symbols for the old Czech hours, the zodiac ring, and the other labels on the face. An embedded '.otf' font file inside of a beautiful online Orloj simulator contains all of these, but I have to wait to see if the author will give me permission to use them. Alternatively, I can start with an svg vectorization of some good photos of the clock from https://www.vectorizer.io, a great free/paid website for this stuff, and then fine-tune to make them look more accurate. I'm also realizing how many computations depend on the latitude of the observer. I think I'll make a little app of my own to automate some of this if I need to re-construct the clock for other latitudes - create-react-app will be perfect for this!

I also finished getting a phone ready for my Library Checkout App to run on. A few small hiccups in the process, but now it works as expected. I look forward to seeing if it can be sufficient for real-world use. Pretty soon, I want to migrate the currently-disparate state over to Redux, both as a learning exercise and to make the app that much more maintainable.


2018 August 27, Monday

A lot of fun tonight - I used a react native app to construct circles for the sunset and night lines on the astrolab face, along with the guide lines just to be sure. It was very exciting having a slider to drag between the different latitudes and watch in real-time as the circles and guides slid around their geometrically-sound places. I still have to figure out the unequal hours lines though.


2018 August 28, Tuesday

Tonight, I got the unequal hours to plot correctly (or close enough to never notice). I also refactored much of the math functions and the helper components I made for my app to something more maintainable and navigatable. I wonder if I'll release it or not? The delima of good will, open source, and commercial use in software is one that I still think about on occasion, and I'm not sure what my ideal path is. I know it is possible that for a decent quality replica, some people might may a significant portion of money. Everything I do now, I do in a way that it might be able to be done for any location on the earth. I'm still not positive that I will even finish this one, but it is a good thought to keep in mind.


2018 August 29, Wednesday

Tonight, just for fun, I fixed the math I was doing for the face svg app I made so that it's technically correct for the polar latitudes.