All posts by admin

Coding Projects

  1. Astronomical Clock
  2. AstroWideImageMapper
  3. Tag audio files / sheet music images to relate the audio to the location on the sheet music. Kinda like a Karaoke lyrics read-out but advanced and customizable for musicians / music students.
    • As a lifelong music learner, I view sheet music while playing as a crutch that probably hurts musicianship in the long-run. However, sheet music while listening I view as a major enhancement that could especially help kids learn music the same way they learn language, by mass exposure. Following sheet music while listening brings meaning to hours of listening and helps a person’s brain assign value to understanding the notes they hear while they listen. It can help a person “develop their ear.”
  4. “Chess Arena” using camera with software board recognition and Stockfish chess engine to analyze the games for an audience on a screen facing away from the players. Enhance in-person chess.
  5. Scrabble remote using camera with software board recognition.
  6. Fully-connected house with
    • Automated windows up and down.
    • Fully-automated lights.
    • Security system that stores footage on the LAN with fully open-source video storage code. No subscription with high-def storage not reliant on SLOW internet upload limits. (This does not exist because companies make money on security subscriptions).
    • Temperature monitors throughout the house.
  7. OstranderNet. A second internet. There shouldn’t be just one.
    • Limited bandwidth. Start by transmitting chess games.
    • Completely wireless using amateur radio bands.
    • ‘All equipment runs from 12V. Car batteries. Apocalypse-ready.
  8. Done. Wordle Scratchpad. Front-end practice. Model / View / Controller architecture. Python with tkinter is one-install set-up to start coding with powerful language.
  9. Done. Model number decoder (work project)
  10. Done. Buyouts and drawings search tools (work project)
  11. Secure text app like Signal with:
    • Annual / monthly / daily customizable word limits on group chats (with suggestions and holiday-specific text allowances).
    • Maybe a regular text message app that works with SMS / MMS that auto-replies to groups that go over a certain limit. Spam the spammers.

Watch Battery Types

This will never be a complete list, but there does not seem to be a good list of watch battery type by model online to even get an idea. Have to start somewhere! Owner’s manuals are not always available so usually you have to open the watch and take out the old battery.

  • Bulova Accutron N7, uses 344 battery.
  • ESQ, Swiss
    • E5402: 364
  • MVMT, from their customer support:
    • The batteries for our Classic, Chronos, Voyagers, Modern Sports, Rise, Signature, Gala, MOD, Field, Element, and Dot watches are SONY SR626SW. The 40 series, Revolver, Odyssey, Boulevard, Avenue, Nova, Bloom, Signature II, Signature Square, Coronada watch batteries are SONY SR621SW. Our Blacktop watches use SONY SR927W batteries. Our Element Chrono watches use SONY SR920SW.
  • Nixon
    • Bring It, The Porter 17F: 364
  • Wenger
    • Victorinox Swiss Army 24908: 377
    • S.A.K. Design: 362

Watch Batteries in a Flash has this good cross reference once you know one of the battery identifiers.

Also, from Watch Batteries in a Flash, PRO TIP: If you are having a hard time determining your battery, measure the width of the battery and then the height. Use the dimensions against the Dimensions column to find the battery that you need. You can also use a micrometer to measure the inside of a battery cavity to find out which battery you need.

Git Commands

Terminology

origin =

main =

master =

remote =

Head =

Headless mode =

Modified =

Staged =

Committed =

Informational Commands

Git can be a little intimidating at first because it has the power to change the files you are working on, so it’s good to start with commands that don’t do anything to get a feel for the situation before you actually do something.

git config --list

Shows useful information about the current repository. Shows the remote.origin.url variable for example.

git config --get remote.origin.url

Shows just the url associated with local git repository.

git config --list --show-origin

Shows ___.

git status

Probably the most common git command.

git diff

To see changes since the last commit. Or

git diff > gitdiff.txt

for a text file of the information.

ls -al ~/.ssh

To check for SSH keys (on Linux only I think).

git log --oneline

Is useful to see all the commits in a row with their commit messages. Or

git log --oneline --decorate --graph --all

for more detailed information.

git log -p filename.py > log.txt

Makes a file with the entire change history of filename. The -p is patch text. This is great for resurrecting “lost portions” of code and replaced the file I used to keep: “unused code.txt”

git branch -v -a

Lists all the branches including remotes, with the current branch highlighted in green plus an asterisk.

git branch --show-current

Shows just the current branch.

git tag -n1

Says to list all the tags and show 1 line of annotation per tag. Default is 0 lines of annotation.

Initial Set-Up Commands and Connecting to GitHub

Notice above command to check for existing keys.

The first step is establishing an SSH key on the machine to be connected to GitHub then copy the public key to GitHub. This is a pretty good description of how to do that. Notice Git bash in Linux is just the command line of a Linux machine with Git installed while on Windows you have to open the Git bash executable for a Git-specific terminal.

git clone [github url].git

Notice the format of the remote url determines SSH versus https transfer.

To initialize, navigate to the directory where your code is stored, and:

git init

to initialize git tracking of the directory.

git add

to add files. You can add one at a time to be selective or

? how to add all the files in the directory, then ignore?

Daily “Save Your Work” is Commit

This is a pretty good list here, but it lacks informational commands.

git commit -a -m 'commit message here'

git push

Are the daily “save your work” commands.

Renaming a File

git mv old-filename.something new-filename.something

To rename a file, use git to rename it instead of renaming it manually. This allows git to track the rename instead of appearing to be “delete and add new.”

Deleting a File

git rm filename

To delete a file, use git to allow git to track the deletion. Don’t do it manually or it just shows up missing.

Revert a Single File to an Old Version

git checkout <commit ID> filename

There are various ways to do this (restore and revert maybe?) but I did it once like this and it worked. You have to be OK with losing any work in that file since the last commit. The point is it doesn’t affect the other files.

Branching

git branch <new-branch-name>

To create a new branch.

git switch <new-branch-name>

To switch to a different branch (same as the still-valid git checkout <new-branch-name>)

git checkout -b new-branch-name

To create a new local branch and switch to it in one command.

git push --set-upstream origin new-branch-name

? is that right, not just push?

How to create a branch on GitHub here.

Tagging

git tag -a v1.0.0 ec595fb -m 'message here'

then

git push origin v1.0.0

to tag a past commit. Version naming convention is [Major].[Minor].[Patch]

Merging

To merge, create a pull request on GitHub, then compare and merge. It’s pretty self-explanatory, THEN to update your local repository:

git fetch

because you made changes to the GitHub version, but not your local version, so the changes have to be fetched (opposite of push I think?)

git switch main

to switch to the main branch, and you should see a message saying the local main is behind origin/main, then

git pull

to pull the commits into the local branch. Merge complete.

Remote Repository (GitHub Usually)

git remote -v

lists the remote repositories.

git remote set-url origin git@github.com:rr34/Astro.git

allows you to change the remote url for the origin.

GitHub-Specific Features

The following are features in GitHub only, not classic command line Git:

  • Releases – but tags are command line and also a way of doing releases.
  • Pull requests

AstroWideImageMapper – and Related / Similar Software

AstroWideImageMapper (AWIM)

The AstroWideImageMapper (AWIM) project aims to enable users to label images of any format – particularly wide-angle – with with pixel-by-pixel directional astronomical coordinate data, i.e. directional azimuth and altitude.

FITS Images

https://fits.gsfc.nasa.gov/fits_viewer.html

FITS stands for “Flexible Image Transport System.” FITS images are indeed “images” tagged with astronomical data. There are various tools enabling the user to convert among FITS and many other image formats. While FITS images are tagged with flexible astronomical metadata, the quotes around “image” are appropriate. FITS are not strictly images, they are more like observatory data files. From the link above:

“FITS data arrays contain elements which typically represent the values of a physical quantity at some coordinate location. Consequently they need not contain any pixel rendering information in the form of transfer functions, and there is no mechanism for color look-up tables. An application should provide this functionality, either statically using a more or less sophisticated algorithm, or interactively allowing a user various degrees of choice.”

EXIF Data

https://www.cipa.jp/std/documents/e/DC-X008-Translation-2019-E.pdf

EXIF version 2.32, released in 2019, did not contain azimuth or altitude directional data. All references to altitude are location with respect to sea level, not direction. There is one reference to azimuth, but it refers to the azimuth of GPS satellites received by the camera at snapshot time.

Astro-Photography Tool

https://www.astrophotography.app/usersguide/

The primary purpose of APT is to help astro-photographers control their cameras with software and plan photo shoots of the stars.

OpenCV

https://docs.opencv.org/4.x/dc/dbb/tutorial_py_calibration.html

OpenCV is open-source python dealing with image distortion.

Adobe Photoshop and Lightroom

Adobe Photoshop has a various tools aimed at image distortion and some of the tools are included in Lightroom as well.

Google Sky

Google Sky is a phone app that enables the user to point the phone in any direction and see a labeled version of the sky in that direction. While Google Sky is impressive, it suffers from receiving its directional data entirely from the phone’s sensors, which can be particularly inaccurate because of azimuth.

Of note, I believe there is another similar app to Google Sky and there are certainly various computer programs with 3-D explorable models of the solar system, galaxy, and even universe to the extent we humans have mapped it.

TawbaWare

http://tawbaware.com/

TawbaWare is used by astro-photgraphers, but primarily focuses on image stitching rather than directional data.

Post-Industrial Clock

Modern technology has enabled machine timekeeping to supersede nature for more than a century.

However, for the first time since the International Meridian Conference of 1884, nature is making a comeback. Combining astronomy, photography, image processing, computer coding, and even recycling re-purposed computers, Time v3 Technology is proud to present the best consumer clock ever available, the post-industrial clock.

While it sounds complicated, to see the post-industrial clock is to understand – immediately. Schedule your post-industrial clock photo shoot today.

Price: TBD

Currently scheduling photo shoots. First available Monday, 11 Apr 2022 (Gregorian calendar, N.S.). Photo shoot lasts approximately 2 hours, begin 1.5 hours before sunset (or sunrise) until a half hour after.

Decibels Explained in 3 Steps

Part 1: Decibels are just a ratio:

Decibels are a ratio, just a number to multiply by. While decibels are often shown as a negative value, the ratio is always positive. The ratio can be very tiny or huge, but always positive. For example, 3 decibels means about 2x the power, but -3 decibels means half the power. ‘Drop by 3 decibels’ means power is one-half of what it was. Drop by 90dB is -90dB and means power is one-billionth of what it was. One-billionth is tiny, but still positive.

Part 2: “to the power” from math, the logarithmic scale  part of decibel:

A decibel is 1/10th of a bel. A bel means “power times 10 to the power __” so a decibel means “power times 10 to the power __ / 10.” Therefore, every 10 decibels is a change by a factor of 10. 10dB is 10x, 20dB is 100x, 30dB is 1000x, -10dB is one-tenth = 0.1, -20dB is one-hundredth = 0.01, -30dB is one-thousandth = 0.001 and so on. Always positive, but ranges from tiny to huge quickly.

Part 3: the “power from physics” part of decibel:

Where the math ‘power’ is the second ‘power’ in the dB description, the first ‘power’ means decibels are assumed to refer to the ratio of power of whatever it is describing. Therefore, don’t try to make physical sense of what a decibel actually is, just know that it means more or less power from any of a variety of other units that describe actual physical phenomena that produce power. Negative decibels means power has diminished (but is still positive). Positive decibels means more power.

Common Examples

The most common example of decibels is to measure sound level. I don’t know what the power reference is for sound decibels, but there must be one and I know the power of 3dB of sound is half the power of 6dB of sound, which is one-tenth the power of 16dB of sound and so on.

Another common example is signal loss in a cable. Since a cable is not powered, these are always “negative decibels,” and usually written as “signal loss per length wire,” which means multiply by something less than one. 3dB per 100 meters of signal loss really means -3dB / 100m and the signal loses about half its power every 100 meters. If the signal travels through 500 meters, it has lost 15dB, which means about 1/32nd of the original power.

TV Signal Power Units Explained

TV Signal Power

How strong is the signal in the air where I am? Since the government wants you to watch TV, the FCC provides this handy tool online:

FCC TV Channel Signal Power Tool

“dBμV/m”, Decibels, Signal Strength, and Confusing Units

The FCC’s site uses the unit dBμV/m or “decibel microvolts per meter amplitude” for signal strength. This is really a debacle of a unit. Units like this prevent people from understanding physical concepts, make people hate science in school, and even prevent technicians and probably many engineers from understanding the underlying concepts of their daily work (in my opinion). The proper way to write this unit is “dB (re: 1μV/m)” which means ‘decibels of power relative to a signal of amplitude 1 microvolt per meter.’ The unit “dBμV/m” further explained in 8 steps across two posts:

Step 1: your frustration at the many layers of confusion here are justified. Accept it and move on.

Step 2: Volts per meter. An electric field in the air is measured in volts per meter (V/m). For example, air breaks down at about 3 million V/m, very visible when lightning strikes. You might also say ‘3 megavolts per meter’ or ‘3 MV/m.’

Step 3: Amplitude. Any radio signal generated by an antenna for communication vibrates the electric field in the form of a sine wave at a specified frequency* and amplitude. The amplitude is the maximum at the peak of the sine wave.

*The frequency determines what channel the signal is and must remain within a tight range to not interfere with other signals in the air. Frequency is measured in Hz, MHz, GHz, etc. For example, 88MHz to 108MHz for FM radio. This is separate from the signal strength discussion.

Step 4: μ = micro. Being a Greek letter that looks like a ‘u.’ this is often written with a ‘u.’ It means ‘micro’ which is one millionth, so we are dealing with millionths of volts per meter, i.e. one-trillionth (1 / 1,000,000,000,000) of the unit used to measure air breakdown for lightning.

Step 5: Decibels Explained here.

In our case dB appears in front of μV/m, so you would think you would multiply by 10^(__ / 10) to get the μV/m amplitude of the signal. Nope, see the description of decibels and … in our case here, 100dBμV/m is a common strong signal level for TV stations and it means a signal with a power of 100dB above a signal with 1 μV/m amplitude. 100 dB  = 10^(100/10) = ten with ten zeros = 10,000,000,000 = 10 billion. Does that mean 10 billion microvolts per meter or 10,000 V/m??? No. Since the power of a signal is the amplitude squared, the actual amplitude in volts per meter only has to multiply by ten with five zeros to reach 100dB power above a signal of amplitude 1 μV/m, or 100,000 microvolts per meter = 0.1 V/m. Very manageable.

The signal received by an antenna is very weak compared to pretty much all signals powered by electronics on-site. The problem with receiving a weak signal is usually not that the signal is too weak to amplify, but that the noise has to be amplified with the signal and the signal can’t seen over the noise. There is always some level of noise and the signal has to be strong enough to be distinguished from the noise.

I Don’t – Apple Watch Screen Repair

I do not replace Apple Watch screens. The latest and most expensive Apple watches cost ~$750 new so it seems like there would be good money in them. However, the only good replacement screen kits available are from Apple and they cost over $300. The replacement is complicated, and should cost ~$150. Realistically, for the kit plus the repair would be $350 + $150 = $500 and in the end the customer has a watch that is probably already “dated” by Apple product perception, and it may have been damaged by whatever cracked the screen, and it has been opened by human hands when it was not designed to be opened at all. To replace a screen, the glue behind the screen has to be cut and replaced with new glue. It is just not as good as new from the factory, built and touched only by robots.

Maybe it is worth it for the older models when the aftermarket screen kits catch up after a few years? Maybe, but then the final product is “dated” and “only” worth $300 in the end and even generic screen kits cost over $100.

On top of all of it, buying used Apple watches is complicated by the security measure. If the watch is linked to an iCloud account, it cannot be released without the rightful owner (despite the various claims on the internet from shady people willing to take your money to let you try their software and fail).

Bottom line: the second-hand market competes with Apple’s main income stream so Apple watches are designed to go out of date and drop in price before the second-hand market can catch up and compete. In summary, do not crack the screen on your $750 watch unless you can afford a new one because the repair costs almost as much.