Jared.Szechy.com

My personal website.

First Atom Package

After receiving my beta invite to Atom I quickly started evaluating how well it could replace Sublime Text as my default text editor. I tested it with all kinds of projects and was quite amazed at how well it worked. However, once I opened an arduino project I quickly noticed the lack of support for syntax highlighting the arduino filetypes. I searched the available public packages and came up empty handed. My first approach to solve this problem was editing the language-c package that ships with Atom and adding the arduino filetypes to it. I really didn’t like this implementation though as it didn’t allow the flexibility of adding snippets and other options that should only apply to arduino files. I quickly concluded that creating a new package would be the best route to take.

Sheet Metal Overhaul

After a complete overhaul to my Sheet Metal app, I’ve officially released it as version 1.0. Since this was my first app I created it really wasn’t my best work, so I’ve determined it was in need of an overhaul. Version 1.0 ditches the previous tabbed interface and uses an entirely different GUI, this allows for easier display of more information. As requested I’ve included metric conversions for sheet thicknesses (I still need to allow for metric length/width dimensions). I’ve also spent some time adding more ASTM tolerance calculations, stainless and carbon steel are now supported. I still need to get my hands on the ASTM aluminum standards so I can add tolerances for aluminum as well. Some users also complained about sheet dimension settings, this feature has now been integrated right into the details page. Dimensions can be easily changed, and the weight and tolerance info dynamically updates, no need to change screens, or open menus. The sheet sizes are also saved for each material type.

Download or update today from the Market!

Ohio Liquor Released

I decided that the beta of Ohio Liquor needed a complete overhaul. The first issue was speed. The app downloaded and parsed the price list form the state whenever a new one was available. The parsing on the Android device itself was rather slow. I have now removed this parsing from the device and it now takes place on my servers. My servers check daily for updates to the price list, parse the list and creates a sqlite database available for download. The app then downloads this small file instead. This has significantly increased the speed of the app.

Ohio Liquor Beta

One of my good friends owns one of Ohio’s liquor agencies, they stock hundreds of different bottles of spirits, with prices changing monthly. For internal use product codes are associated with every bottle as well. This seemed like a perfect platform for an Android app. The State of Ohio publishes their updated price list on their website every month. My idea was to have the app pull this price list and parse it out into a database. This database would then be searchable to give the user up-to-date pricing on Ohio’s liquor prices on their Android device.

Sheet Metal

While working in a metal fabrication shop this summer I did a lot of work with sheet metal. As you may know sheet metal thickness is on a gauge scale. This scale is different for different materials as well. Needless to say, unless you have a table handy, it is difficult to remember the measured thickness for each gauge material. Surprisingly I was not able to find such an app in the Android Market, so I decided it was a good time to create my first Android App.

OBD-II Reader

Inspired by Alex’s PIC based OBD-II reader I decided I needed another project. Since I had just bought a new car back in July I needed a reader that supports the new CAN protocols. I then had to go searching for an alternative device. I then found the ELM327 by ELM Electronics. ELM provided a schematic and board layout to support their chip. After ordering up a few of their chips it was on to making the pcb’s. After printing the pcb out on the laser printer and ironing it onto the copper, it was then etched with muriatic acid. The boards came out very nice, a few broken traces, but easily fixed with some solder. Then after about a hour at the drill press it was then time to start soldering up the components.

Almost Done

A few days ago I finally got the chip. I ended up having to go to UPS to pick it up, something about they couldn.t leave it at my doorstep, Mouser required a signature. I dropped the chip into my breadboard and within seconds it was communicating perfectly with my laptop. It took me a while to figure out how to read a byte though. The chip has pins for write and read enable that are normally controlled by some form of clock, however for my application all I want to know is when a bit goes high. Looking through the programming manual for the chip I discovered a function FT_GetBitMode, which returns the instantaneous value of the data bus. So I wrote a thread that continuously calls this function and if it gets a response of zero then it will call my gate trigger function. Right now I’m having some trouble getting everything to run smoothly, most likely due to some threading issues. However, it works well enough that I can now go about figuring out how to house everything so it can be used at the track. I need to come up with some small rechargeable 12 volt batteries to power the gates, and a long length of wire to link the receptor gate to my USB interface.

Timing Box Software

The software is coming along rather well. I’m still waiting on the chip to come in, it should be waiting for me when I get home. I can then bust out the breadboard and finish things up. A friend also suggested that I make the software capable of doing lap times rather than times for single laps. So I think I will make the software function in 2 different modes. One of which, like it already is, stops the timer completely when the gate is tripped a second time. The new mode, would allow the timer to continue when the gate is tripped a second time and it will store the lap times for each lap, keep count of laps, and the overall time for all laps.