My name is Daniel Curda. This page is a selection of web projects I've put together. Take a look around.
I originally started out as a chemist professionally, but worked my way into the I.T. sphere via a LIMS (Laboratory Information Management System). The system I used has a scripting language built into it that can be used to provide customized solutions, but it also provides out of the box templates that can be used. The data (laboratory data as well as configuration) is stored in a relational database. I've spent the last 12ish years working in that realm and am now trying to get into some aspect of web development.
These projects use html, css, php, and javascript (predominantly vanilla, but I have used JQuery for a few things). In my previous work, I queried databases (both oracle and sql server) quite extensively and am quite comfortable doing so. I have used a connection to a database in the Recipe and FRS/URS projects.
Somewhat by design, but mostly by blind stumbling, these projects each build on each other in complexity. I can't say that any of these are "done", but I generally took them as far as I could and then moved onto something else. In this process, I'd sometimes figure out how to resolve some of the previous roadblocks and I'd go back and tackle those.
This portfolio is very much a work in progress.
You can also check out my git: Adruc-robot
Please feel free to contact me at dgcurda@gmail.com.
After being frustrated with all of the recipe sites that consist of the author's thoughts on why the recipe is personally important to her or what his child did today, I decided to put together a site that would STRICTLY be a recipe site. This is also the first project I started with.
The recipes are stored in a database. I set up tables to contain the recipe name, the recipe steps, and recipe ingredients. There is also a stock table of ingredients to force some sort of consistency between the recipes. I use MySQL Workbench to maintain the database. WampServer allows me to emulate a webserver on my local machine. The actual page is driven by PHP.
I used an excel spreadsheet to help formulate the SQL insert statements to get the recipes into the database. Needless to say, adding recipes was pretty tedious.
"Snake" is an attempt at an idea I had from college. A large portion of organic chemistry is dedicated to naming organic molecules. To practice, I would make flash cards with the molecule drawn on the front and the name on the back. This was EXTREMELY time consuming and really only trained me on recognizing molecules and not necessarily learning the rules that govern the naming convention.
The idea is to have a program that creates the flash cards rather than a person. Back then I had no clue how to tackle the problem (let alone finding a program that would visually represent a molecule). At one point, I dabbled quite a bit with Flash and gave this idea a go, but didn't get very far.
I picked it up again when I started to work on my website and found that some portions could be implemented somewhat easily. Apparently, grid is a decent stand-in for a coordinate system (see the Guitar Chords project).
The project in its current state generates a molecule that consists of single-bonded carbons based on a numeric input (the numeric input translates to the number of C's displayed - provided the molecule does not collide with itself). The larger the molecule, the more likely the molecule will have a collision. Basically, the molecule is like the snake from the snake game - it will grow as long as possible before it collides with itself or it reaches the number of carbons in the input box.
The portion implemented is not even close to a finished product. It's been many years since I took organic chemistry, but I might have implemented the first 2 classes of the semester.
Lapse is a project I put together using a couple of raspberry pi zero's and a desktop PC. One pi took a picture every 15 minutes from my living room window, the other pi processed the pictures to more manageable sizes, moved them to a shared folder, and the PC synced the shared folder to my website. The webpage originally showed the current month's days (up to the current day) and a single picture from each day. Clicking a day shows a time lapse (the pictures shown for a fraction of time in sequence from just after midnight to just before midnight). Clicking on the green triangle at the end of the week displays the time lapse for the week.
I used JQuery for this and I suspect it's because I was able to find an example online that was a rough approximation of what I was trying to do: load a random picture from a days worth of pictures for each day in the month at roughly the same time (achieved via AJAX).
This project also taught me a valuable lesson about documenting my own home projects (I definitely didn't record why I used JQuery). I did a PC upgrade and realized a few months later that my pictures weren't getting uploaded. I had forgotten the bit about using the PC to sync the picture contents to my website and completely forgot how to set that bit up again. So, I have roughly 8 months of pictures and that's it.
I always thought the idea of having a website that changes almost every time its visited without having to perform manual updates was really cool. This project really allowed me to do that. Even the calendar is generated when the page loads. Well, that's technically not true any more since I've capped it from January 2020 to August 2020. But every new real life day would add a new day to the calendar. A new month would do the same. Additionally, each day that has at least 2 pictures will show a random picture on every load (or refresh).
After tinkering around with grid layouts for a bit, it seemed like grid could be used to represent the neck of a guitar. I'm not sure if this is ultimately a good idea, but here it is.
I use an excel spreadsheet to do the html formatting for me.
In trying to explain what I have implemented, it seems extremely convoluted. Using a table format probably would have been easier to implement and I don't know that grid offers a much larger advantage.
My vision for the recipe portion of my website has always included a way to add recipes from a webpage. This process would include data validation and pull from data already in the database (from a list of ingredients for example). However, when I put the recipe page together, I lacked the knowledge to accomplish this task.
After tackling other problems, my skills got to a point where I could give it a go and this is the result.
It's not very elegant, but it works.
Apparently Ruby on Rails has been around 20 years, so I'm 20 years late to the party. I dug into it because I saw some job postings looking for people with experience using it and immediately felt so so old.
That said, I was able to implement an actual functioning login system in a couple of hours where the one I built from scratch doesn't really function very well and it took me about a month to implement.
Having a login system takes care of` my concerns about people creating recipes with bad words in them by restricting created recipes to the user. I was also able to put together a much better recipe creation method.
"Satisfactory is a first-person open-world factory building game with a dash of exploration and combat." At least according to the website. It's a game where you make things that opens up new things to make so you can make them and open up new things to make
After running across the map multiple times only to find out I didn't bring enough resources with me, I thought "gee, it sure would be nice if there was a tool to help me remember what I needed" and decided to jump right in and make one (instead of looking on the internet to see if one already existed). Before those of you that play the game get fired up about the To Do List that already exists in game, that tool only seems to work for buildings.
I poked around the game files to see if icons lived in a convenient folder, but I was not lucky. I did, however, find a massive JSON document that held all the information I needed (even paths to icons within the game).
After exploring the JSON doc and a lot of banging my head against the wall, I come up with an approach and started taking screenshots of in game items. I quickly realized that was dumb. I asked the internet "extract satisfactory game icons" and found a tutorial that explained everything I needed to do.