Garmin Watchface

At the end of May I got a new running watch, specifically the Garmin Forerunner 55 since I had started running a couple of weeks before to prepare for my IPPT and I didn’t want to run with my phone and the GPS tracking was also quite bad. Having gotten a new fitness tracker, the first thing I did was of course to find out how to develop on it.

Gw2 Market Analysis 0.2.0

Financial Data is difficult to get. Its often rate limited, or charged by the number of API calls. On top of that, one needs to be on top of things to understand what they mean. In order to get my toes wet, I decided to explore the GW2 API and the BLTC, or in-game aution house to get some practical experience on how quantitative analysis and markets work.

GW2 Market Analysis is a Java application which scrapes the market every 12 hours to avoid aliasing, assuming that there exists periodic market fluctations with a period of one day. v0.1.0 of the application was completed in late August/ early September and implemented the scraper and database, such that there would be data for me to work with in the future. I set up a Lightsail instance to host the database and used a Systemd timer and service to schedule the scraper to run and store its results. I made use of the JDBC API to interact with my MySQL database on the machine.

Sound Site Conception

Sound site, (read: sound sight), is a small project I worked on a bit in late June, exploring the Web Audio API. The idea was to make a easily accessible way for people to visualize sound and explore the effects of audio effects on the waveform.

The basic idea of the Web Audio API is an Audio Routing Graph, which lives within an Audio Context. The graph is formed of individual Audio Nodes, of which there are three types, Sources or Inputs, Effects and Destinations or Outputs. Sources can be Oscillators which basically produce notes, Audio Recordings like files and Microphones. The Ouputs are basically the device speakers. Effects nodes can be compared to guitar effects pedals such as the DelayNode, DynamicsCompressorNode and GainNode. They do however, also provide functions like data analysis with the AnalyserNodes and other functions such as merging and splitting channels with the ChannelSplitterNode, ChannelMergerNode and audio spatialization.

Hello Blog

Till now, I have been sharing my successes and completed projects on my portfolio at https://www.jiahe.dev, which you may want to take a look at. However, projects are never smooth sailing and some ideas have never seen the light of day. This blog is made for such projects, to document their progress regardless and for me to share my thoughts.

On that note, a couple of long running projects I have had which I hope to showcase some time in the future are my audio effects platform and drone development and simulation project.

Hello World

Orignally I had only planned for one Hello World post but because getting the blog up and running posed more of a challenge than initially expected, I’ll break it into two. This first post covers the process of creating the blog while the next will explain my rationale for creating the blog.

So, I started off looking at some popular options for webpage design and hosting like Wix and Wordpress, especially because I had heard things about how popular Wordpress was and figured it was a good skill to learn. I was quickly turned away by the monthly costs however and decided to look for something else as I’m still at that point in time where I have much more time than money. I turned to GitHub Pages because it’s what I used for my portfolio, but I wanted to see if I could do a bit more.