Getting Back by Derek Gregoriev

So its been a hectic number of months. Not a ton of programming, but I accepted an offer from Raytheon to work in their Airborne Structures group in El Segundo, CA. Unfortunately for me, I was placed on a task that was DOA and I've realized that for a while now. The unfortunate part is I'm being asked to keep squeezing the engineering assumptions and environments to see if it might be passing (not much luck :/ ) so the failure is long and drawn out. Now that we are way late on the scheduled task too I've been pressured into working until I pass out at my desk. I'm frantically scrambling for what's being asked and racking up 11 hr work days regularly (kinda feel like I was duped into thinking these guys have a good work/life balance, obviously not the case here). So in short, I'm only 3 months in and its been awful (I was even sent a nasty gram on my 2nd day of work warning me that I was mischarging time on my first day of work). People I work with say it's not normally like the project I'm on but I guess that's still to see. At this pace though, I'm going to burn out shortly.

On the bright side, I got my P.E.!!!!

Busy by Derek Gregoriev

So, I haven't written much on here in a while, but I have been working on things. Between the holidays, working on the C++ kernel for my database application (sqlite), and studying for the P.E. exam, I haven't had much worth posting online. About the most remarkable thing to post is the findings during the design of the database. Pretty much just that I originally thought I would have multiple databases interact as though they are different files (1 database per 1 file of content) but have realized that the database can/should be able to represent more of a "project" as opposed to a file. Really this just moved around the architecture of the application placing the database as a holder of all content related to the session.

Also interesting to note, an article on NBC was talking about the principles I set out to provide programming for back in 2010 (kinda what started it all). The article is just the tip of the iceberg, this has WAY more application than just what they are showing. Personally, I like the math associated in the engineered distortions too (thank you Composites class in college). 

http://news.harvard.edu/gazette/story/2016/01/4d-printed-structure-changes-shape-when-placed-in-water/

 

Improved Scripting Shell by Derek Gregoriev

I improved some of the feedback on the scripting shell. There's still a transient error that I suspect is because of Java's mishandling of the native C but this is difficult to catch (transients tend to be). So I put a very crude try catch block in the C code and hopefully I can get enough info to diagnose it. In the meantime, the catch block should allow the program to not quit out like it was doing. Otherwise, the feedback is way better and its acting pretty well. I posted source and the executable to the sourceforge page. As before, you need the .dll in the same file as the .exe for it to work. Cheers!

Java,C++, Python all talking to each other by Derek Gregoriev

So, I finally have my 3 primary languages talking to each other(Java,C++,Python 3). While, the screen shot above is relatively pedestrian, it templates/prototypes the communications I am about to employ. FYI, the visible language above is Python 3.x, so if you're looking to put some stuff through it, that's the requisite language. I am going to upload the source code to the current project link (my sourceforge) and a J2PyTC.dll as well as the AdmiralShell.exe (apologies to macs and linux users). So if you're going to run the AdmiralShell.exe make sure you also place the .dll wherever you drop the .exe on your disk. I'm not going to bother with pretty all inclusive packaging since the above is still pretty fragile and not that difficult to break. That will be improved going forward, but for now I need to get back to some of the application architecture. Using Python is way preferred compared to trying to build my own weak-sauce parser.

So whats going on here is Java serves the UI which sends a string through the JNI into C++(C), where the C code embeds the python interpretor and passes the string values in for parsing. The output is then cascaded back to Java and to the screen and into your eyes. Pretty sure I don't get any awards for efficiency. YAY ! 

Project Management Program progress by Derek Gregoriev

So I've been working on integrating SQLite into something like a systems-design/project-management program. This is a screen shot which returns a default name for a project when initially started (technically no name is needed because the database is cached, but this would make it difficult for classes to identify the target project before applying/saving a real name to the stuff). This is being run in the "shell" mode but the design for the shell commands is encapsulated so the JNI stuff uses the same commands and will be (hopefully) a trivial swap. This has distracted me from working on the OPEN CV stuff but using SQLITE for that too might prove useful. Time will tell.

In Process by Derek Gregoriev

I haven't posted recently but I have been working on a couple things. I uploaded to the sourceforge link in "Current Projects" a bolting spreadsheet for simple resolution of loads on a bolting pattern assuming rigid distribution of loads to each of the bolts. I still need to fully check it so that is still a draft version.

I got all of my content rounded up to apply for the P.E. exam this spring. Much thanks to my references for returning the experience letters. So I will be dropping the full application in the mail this week.

I have been working on a Java Swing Layout manager. I am about 1/2 done with it. It is meant to emulate more effective docking than is offered by the JToolbar. The idea being Components can be placed so that they can float and "stick" to North, South, East, or West. I'm gonna post the source code on the sourceforge page when I finish as well.

I have also begun toying with the C api for SQLite as well as understanding the RAII principle for C++ since I am about to rely heavily on exception coding in my Kernel for the C++ portion of my "CAD" program. When I get the first part of it working I will post an executable, but I'm reluctant to provide source code for this one.

Well thats about it for what I've been up to since last time.

PI Vision by Derek Gregoriev

Amongst other projects and things, I got OPENCV up and running on the Raspberry Pi today. I also have the Python book for OPENCV, and will likely use that in conjunction with purist C++. The first OOP language I learned was C++, but I haven't coded much in C++ for some time. Nevertheless, it feels good coding in C++ again. It's like speaking your native language after a long stint away from it. But this also reminds me that I still need to finish the last quarter of Gilbert Strang's "Introduction to Linear Algebra". Totally recommend that book; it does a phenomenal job explaining and that math is AWESOME!!! and really precipitated a paradigm shift in problem solving for me. In college we only had 1/2 a quarter on Linear Algebra when it really deserved much more time. Well anyway, I'm trying not to overwhelm myself with things I want/need to do. <Fat chance I'll succeed with that>

Learning Python Step1 by Derek Gregoriev

Learning Python

I finished reading through "Learning Python" by Mark Lutz. Python is a new language to me and I picked up C++ in a similar fashion by reading "C++ Primer Plus" by Stephen Prata in its entirety before programming much. Really the goal of the read was to become familiar with syntax and overarching design of the language itself. As an example, I was looking for whether multiple inheritance is allowed in Python (it is). So at the moment I haven't toyed much with Python so that's the next step. I will be going through "Programming Python" (Mark Lutz) with much more hands on work and will post links to some of that work as I go.

Meanwhile, I am also going through "Learning OpenCV" by "Bradski & Kaehler". This book is 100% C++ and I'm very interested in Machine Vision so this should be a good "page turner". Most of the stuff I have written in C++ at the moment is for a CAD project that I'd rather not post yet and may eventually only post the executable. That program is now on its 3rd iteration and has a massive scope its trying to wrangle. The Kernel is pure C++ and I tried to force too much continuity on my last iteration and didn't originally think I'd have a UI. My #1 mistake I realized when I finally put iteration 2 down was that I had built the program from the bottom up as opposed to the top down. What this meant was there was functionality in the Kernel that didn't translate well at the UI level (got lost in the weeds). The UI is in Java and Java 3D and connected via the JNI. So, round 3 begins in the UI and works down. Anyway, I'll post the Open CV stuff I figure out too and eventually I'll merge the python with computer vision (going purist first then will move toward expediency).

TOO MUCH I WANT TO DO AND SO LITTLE TIME.