Weather app

This is a web app implemented with django that aims to present weather data in  a simple format. I host this on my website running in a django instance. I currently am copyrighting this under the GNU agpl license because I want anyone who wishes to see my code to be able to see it. The core of this app came from a python based command line weather app I wrote to play around with the dark sky companies API. see developer.forecast.io for more info on the quite nice weather API they provide.

how it works:

It uses the native javascript location api to get the users current (quite precise) location. It then loads the weather data requested asyncrinously through ajax. On the back end, I am using post requests and a simple api located at /weather/forecast. Logic decides which subpage to load based on the parameters given in the request. I would do this differently if I rewrote this, it's a pile of junk how it works, but it was my first web app, so hey. The front-end presents most things textually. I may use the platform I have built to explore audio representations of weather radar. I built a little hacked together weather chart where I map tones to temperature and volume to chance of precipitation. I might explore using 3 dimensional audio and other factors to represent weather phenomena in a audio weather map, for once giving the blind the ability to see oncoming rain storms or threats from thunder or just to look at the next hours radar like a sighted friend might.

URL:

https://django.derekriemer.com/weather

Virtual Clock Tower

I am minorly enthusiastic about antique clocks. I don't really know that much about the mechanical workings but have an interest in them. This little program was a prototype I created to turn a desktop computer into a clock tower. It sucks because I can't find decent recordings of the proper bell sounds. Anyhow, it was an experiment I may put a ui on some day to see if I can turn the computer into a device that will engage children with an integral part of our societies history so they become interested in studying antique clocks, especially the massive towers that house clocks in some of the worlds coolest cities.

Source:

https://github.com/derekriemer/VirtualClockTower

Two math problems on money and sequences.

Math problem for the mentally curious

For those who enjoy a math problem to finish off a great day on this planet, here is a problem for you. I randomly came up with it while watching the democratic debate last night (must have been bored).  It is two problems, the second one follows from the first.

Problem statement!

Suppose you owe me money from a recent lone. Your unfortunate situation lets me demand money from you in either one of two ways. You get the choice to choose one of them .

Option 1:

You pay me 1 dollar a day for $$n$$ days.

Option 2.

You pay me 0 cents today (day 1), 1 cent tomorrow (day 2), $$0+1+2$$ cents on day 3, $$0 + 1 + \dots + i + \dots +(n-1)$$ cents on day n.

The dilemma:

[1]: At what day does it become not profitable for you to pay me with option two.

[2]: Additionally, create an expression to tell me how much money I will profit if you pick option 2. Hint: Negative profits for days 1 and so on, are possible until the day when statement 1 above is true.

Problem statement!  For problem 2

Suppose you owe me money from a recent lone. Your unfortunate situation lets me demand money from you in either one of two ways. You get the choice to choose one of them .

Option 1:

You pay me $$x$$ dollar a day for $$n$$ days.

Option 2.

You pay me 0 cents today (day 1), 1 cent tomorrow (day 2), $$0+1+2$$ cents on day 3, $$0+1+ \dots +i+ \dots +(m-1)$$ cents on day m.

The dilemma:

Find an equation for x and n that calculates what day it becomes not profitable for you to pay me with option two (in other words, figure out which day $$nx = m$$. Additionally, create an expression to tell me how much money I will profit if you pick option 2. Hint: Negative profits for days 1 and so on, are possible until the day where $$mx = n$$.

Crash Hero!

NVDA Developers and bug smashers! ATTENTION! This is an important announcement from the department of release stability management. Recently, a new member joined the NVDA community. Her name will remain anonymous, but you may refer to her as the crash hero. In fact, she is the first NVDA superhero. She exhibits her superpower in the form of an NVDA Add-on that can save all your crash dumps in a folder of your choosing on your computer and she does this automatically when NVDA reboots after a crash.

Read Crash Hero!… (6 paragraphs remaining).

Changes to Googles Youtube for IOS, and how to use it with voiceover.

Youtube was recently updated, and several voiceover changes were put in. At first, you may do what I did. "oh, damn, it, google, stop, breaking, things!!!" It turns out that google actually fixed a lot of things in this version, making the user experience more streamlined and much more efficient. They did seem to break one thing though.

Read Changes to Googles Youtube for IOS, and how to use it with voiceover.… (4 paragraphs remaining).

nvda-notepadPlusPlus

This is an NVDA AppModule to improve accessibility of the notepad Plus Plus editor. It adds support for announcement of many different things when navigating including find next and previous. It also allows the user to use autocomplete with audible announcement when suggestions appear, and reporting of each suggestion in the resulting list. Other notable features include support for the incremental find dialog, so that the user can get the same info a sighted person might from the dialog, and accessibility enhancements to the key mapper dialog. This addon was done in collaboration with tuukkao.

https://github.com/derekriemer/nvda-notepadPlusPlus

Learn To Type

This app is a prototype of a system in which a word is picked automatically for the user based on the text they have the most trouble typing. It takes the 3 most commonly miss typed characters collected over the course of a training session, and adapts future training by presenting a word for them which should challenge them to use the characters they miss type. This app doesn't save the training data for future reference, however this could be arranged easily. The goal of writing this was to practice working with priority queues and other data structures. Learn more at https://github.com/derekriemer/learnToType

Indentone, making NVDA read indents as musical spacial tones.

This addon has been deprecated. See (https://derekriemer.com/blog/indentone-deprecation)[The indentone deprecation post for details]. I have decided to make an addon that lets NVDA report indents as tones. This for now is not an official NVDA Add-on which has gone through community review (see future work for more reasons). Here is how it works. When you are reading some code or text with indents, if NVDA sees 4 spaces, or 1 tab, it plays a note. Each indent level we increase, the add-on plays the next whole tone up. Example: c3 all the way on your left (one octave below middle c), 0 tabs. D3, slightly farther right, 1 tab. for each level of indent NVDA sees, it plays a note farther to the right, and up that many levels on a whole tone scale. Then, when indent level decreases again, the notes pitch decreases, and the tone moves back to the left a bit. NVDA previously played no tone for no indent (technical reason) (fixed in indentone0.3.0).

The readme is pasted here. for those who don't care and just want a download link, go to the download heading level 2.

How to use:

Installation

Install this addon by pressing enter or double clicking it from the file manager. Then tell NVDA to install it by following the prompts.

Using

When NVDA  would normally speak indents, this addon should activate. If it doesn't, please contact me. This addon will detect changes in indent level and beep to inform you that an indent occurred. When the text you are reading is more indented than the last text you were reading, it beeps farther to your right than it did before. Also, the tone will play one whole tone higher  than the previous indent level would. For example, no tabs will be all the way to your left at one octave below a middle c. The first tab will cause NVDA to play a D3 (one step up), 2 tabs an E3 (two steps up), 3 tabs an fSharp3 (technically 3 steps), and so on. The 3 tabs will be slightly farther right of the C, and a middle c would be much closer to the center of your body than the c below that. When the text is less indented than it was before (assuming it was already indented), NVDA will do the opposite. For example, lowering the tone and moving it to the left. The farthest right tab level is 3 octaves higher than the no indent level.

Future work

I may play around with panning the audio dynamically. This would allow me to start the beep at your left, and move it 1 indent unit over a time of about 200 milliseconds. The advantage of this is you could judge the difference in indentation that just occurred, while in parallell hearing the code you are currently editing, even if you don't musically easily judge whole tone steps. I am also probably going to experiment with integrating this into NVDA core (I'm going to open up a ticket about this after finals). I spoke about Indentone at NVDACon 2016 in a session about my add-ons. I received much great feedback, and I am excited to continue work on this.

https://files.derekriemer.com/indentone-0.3.0.nvda-addon

Source Code:

https://github.com/derekriemer/nvda-indentone