The Heat is On
The heat is on!
This weeks required reflections are:
- What project milestones did you accomplish this week? If you're working in a team, please list what you personally contributed, not the project status overall.
- What is your plan for next week?
My milestones for the week are many, starting with turning in a four hour computer science architecture class lab including Arduino electronics and C programming language practice as well as SPIM/MIPS assembly language practice. and an obscure assembly language program comparing bits of 32 bit string integers in assembly language, which returns either the index of the closest match or -1 if there are more than seven bits difference. This includes use of knowledge in creating MIPS/SPIM function calls, storing $ra on the stack pointer, using the stack pointer to spill variables, recursion, memory storage, format conversion, and all kinds of obscure knowledge. We also began an enigmatic text exercises assignment which has proven challenging, enlightening, obscure, surprisingly interesting, and something I don't have nearly enough time right now to dive into as much as I'd like, because in addition, most of my accomplishments this week were finally in working on the final project.
I've been programming in MIPS assembly language with the SPIM simulator since this last August, 2022, but it was not until writing that last paragraph, that I realized SPIM and MIPS are mirror-image words.
The accomplishment list for the week is enormous, and I actually articulated it, since prior week's journals referenced it - and so, it is:
- Write obscure MIPS program, attend Architecture class lecture, do Architecture class 4 hr lab.
- Test for other methodologies extensively - again - with the same conclusion - two sites facilitate development of all needed features. This is like the fourth or fifth re-visit.
- Expanded data science category evaluation capability - got most excellent help from the data science professor here, Professor Ergezer, to get me through that.
- Realized the exponentially more-useful need to have the ability to use uploaded data sets, originally listed as a 'future expansion feature'.
- Created a drag-n-drop data uploading feature that works perfectly, including an example I found.
- Got stuck in communication with the data - because of data-transfer-size limits.
- Figured out how to get past that easily - and used that as a good feature - by simplifying the data uploaded, which actually streamlines a few things.
- Read and parsed the MLS data! I was shocked that I did not need my CompBlaster program to parse the data - the data science tools can parse it - easily! So that was a very exciting discovery. Data science tools automatically do half of what my entire computer program, CompBlaster does, but automatically.
- Appraised a house with data science! This was mind blowingly amazing. Data science never ceases to amaze me. I'm spending lots and lots of time on this project, but this step was not one of the steps that took hardly any time, at all! I swear - start to finish - I had the data science homework swapped, from cars, to houses - in like maybe five to ten minutes, I don't know, I wasn't looking at the clock, but, a half hour at the most anyway, and I could see real estate valuation conclusions coming out of our data science car valuation homework. I was thrilled, and the natural flow of seeing this happen naturally, and even easily, really boosted my enthusiasm for this project.
- I added dials, I did not have dials last week. The dials I did not create, I just used freely available JavaScript libraries. What I used was from https://www.jqueryscript.net/tags.php?/knob/ and more specifically, the one I picked out was: https://www.jqueryscript.net/other/Minimal-SVG-Based-Knob-Widget-For-jQuery-UI-Knob-js.html
- Created a video outline report - These next two paragraphs came out of my outline report I made for the video I'm going to make for this website I'm making for this computer program: Both the cars and real estate interfaces will feature similar UI components and style, which will be a control panel featuring dials, text input controllable by dials, a value output and stats on the data set. The inspiration here is like an airline cockpit or music mixer sampling interface or similar in-depth high-functionality interface. Dials alone allow for this which is why they are used commonly in professional interfaces, so these interfaces will be heavy in dial control.
- Even in our home, the main controls, the best ones, are dials. Stove controls, heater controls, faucets, volume knobs, dials are one of the most versatile components we use. So each interface is like a control panel with an estimate button.
- As I worked on this project, gaining momentum, seeing all the functionality come together, I began sadly realizing that the paradigm I was using would and could never ever allow the use of sessions variables. Session variables would exponentially enhance the sites capability - similarly to adding arbitrary uploaded data sets - nobody wants to upload the same thing they just uploaded just because they switched pages.
- As my longing for session variables increased, I realized something about the paradigm I was using. Something very big. Something clicked in my head, while worrying about missing the capability of having the use of session variables - something about how to actually accomplish the same paradigm I'm creating, but with session variables - in a simpler methodology that only included one server site - and almost exactly the same front end - but with just a little different methodology.
- Switching paradigms is always risky, but not having a paradigm is even worse, which is why I started with what I knew would and was working. I labeled each time I tried for a single-site setup and the count is nine, and at the ninth major try, I finally did hit it.
- It was risky to switch paradigms, just for time loss, but I saw the missing potential and embarked on a very successful final discovery of the actually correct paradigm for this project. It took about a day to switch everything over to a slightly different methodology - but with the final result of having the use of - extremely - useful session variables - so people don't have to keep uploading the same data every time they switch pages. This also had several hugely beneficial side effects - including development streamlining! My momentum is building, and I'm really not too far from finishing the entire concept. There is a lot of side work though so I have to keep moving as fast as I can - especially with embarking on risky unplanned endeavors. That one really made the project though, I'm super glad I finally figured it out and switched it over. Originally I was just going to have sample test data but this will let people use their own data and see actually interesting output for them.
- So with everything swapped over to the new paradigm, that has access to session variables, momentum on the up, I wrote a quick HTML framework in JavaScript that lets me build the components and pages super quick, accelerating my momentum even further.
- I couldn't get too far without the graphics, sound effects, and songs - which I dread every time - I just like the programming, not all the asset creation - but the assets are really what make the program, so you can't skimp on them - and I never do - so I didn't - I got cool graphics (Thank you Professor Attia and CSUMB's introduction to Computer Graphics class) - I got a car - I got a house - I got a giant site logo - I got dials, lightning animation (from my game, Super Bomb Reversi) I got sound effects (Thank you kitchen appliances and Audacity audio editing program!), I got animations (Thank you John Resig/JQuery!) I got flames (Thank you Google Fonts!) I got a lightning bolt cartoon (took the lightning bolt graphic from my AppraisalBlaster) I got a cool page layout and a super-speedy site development paradigm (Thank you Professor Lara and CSUMB's Intro to JavaScript/Internet Programming class!)
- The last thing I did on this project, before I wrote the paper on the video about it, and this journal, was to design the two remaining control interfaces for getting the car and house values, so now I have something very specific to work toward, and finish up - in the very quickly upcoming time.
For the rest of this week and next week, I just need to finish the two interfaces I designed, finish the site, and begin testing with the user base, as well as write a paper on it documenting the program's design requirements, and then create a video introducing the program and demonstrating features, usage, capabilities and maybe a little explanation on how the program works. I'm not exactly sure if all of that needs to be done next week, or how exactly the timeline is going to work - but I'm shooting for ASAP - for each of those line items, either way. The video is always a huge gotcha - for everyone - because of computer resources, and having to stop everything else to hope your computer can deal with the enormous software, hardware, time and risk requirements video production necessarily requires. Heavy resources drastically increase crash-risk to the point of making it a not-if-but-when-situation - everything needs to be closed - everything should be backed up - the whole nine yards - which means this whole project has to be wrapped up - quick - if a video about it is going to be made. I wouldn't make a video without having a song for it, so, I already made one, just for the intro.
Comments
Post a Comment