– blog

Learning in motion

Sunday 8/23/15 working through conflicts with gradle1_ib

without comments

I had to kill virtualbox – the gradle2_ib app was running but was not reflecting my local changes and I couldn’t figure out why – noticed the app was not running on tomcat because tomcat wouldn’t run due to another port using 8080 – did the ps and saw virtualbox – killed the process and the app broke – I was then able to run tomcat

However now I am running into servlet errors and issues with mysql – rebooting to see if that helps – it did not – I am able to get tomcat to start up without issue – I am able to get the index page to show up – I am able to click login and the login.jsp shows up – it doesn’t like what I give it though and I get an error in the servlet. I think it’s being buggy – I did absolutely nothing but refresh several times, scale over the apache error and related files. I even started to read up on stackoverflow – then I just stopped and restarted the tomcat and now I can access login.jsp without error – yet when I try to put in login/pw info I end up with the same error –


HTTP Status 500 – javax.servlet.ServletException: java.lang.AbstractMethodError: com.mysql.jdbc.Connection.isValid(I)Z

type Exception report

message javax.servlet.ServletException: java.lang.AbstractMethodError: com.mysql.jdbc.Connection.isValid(I)Z

description The server encountered an internal error that prevented it from fulfilling this request.


org.apache.jasper.JasperException: javax.servlet.ServletException: java.lang.AbstractMethodError: com.mysql.jdbc.Connection.isValid(I)Z

root cause

javax.servlet.ServletException: java.lang.AbstractMethodError: com.mysql.jdbc.Connection.isValid(I)Z

root cause

java.lang.AbstractMethodError: com.mysql.jdbc.Connection.isValid(I)Z

I also noted a jquery error on the home.jsp page – this error is stopping the page from pulling current “public” posts from the database and displaying on the page, the url is wrong – http://localhost:8080/gradle2_ib/book/InterfacebookServlet?start=0&count=20&username= 404 (Not Found)
I’ll have to pick this back up – hate to drop – I’ll be thinking about it all day.

Commandline notes:

cp build/libs/gradle2_ib.war /tmp – copies war file to tmp folder

cp /tmp/gradle1_ib.war . – copies war to current directory

cp = copy . = current directory

ps = process status – helps you see instances that are running – then you can make note of the process # and kill (process #) should stop the process – type ps again to be sure

Written by seenaomi

August 23rd, 2015 at 7:30 pm

Posted in Allthecode

Last week: Saturday 8/22/15 work session for IB

without comments

I met up with my friend Matt Payne at Aroma’s. The goal, of the morning, was to get the folder interface-final-project/gradle2_ib on the branch gradle2_payne[1] working on my MacBook.   We got there after a bit of frustration.

The git repo is checkout into $HOME/repo2 (aka ~/repo2) folder.   The files that have been imported into eclipse are in ~/repo2/interface-final-project/gradle2_ib

In the directory, ~/repo2/interface-final-project/gradle2_ib there is a build.gradle file that allows one to run the command “gradle war” to create a war in the build/libs subdirectory.   One can also run the command “gradle eclipse” to generate the eclipse metadata files/folders so the project can be imported from the git repo into eclipse.   Importing from the git repo into eclipse is “easy” (once you know the tricks of using the git perspective in eclipse and adding the repo).

We untarred a tomcat8 distribution (.tar.gz file or tarball) into the ~/java directory.   The ~/java directory is a handy central place to keep java related things.

Into the freshly unpacked tomcat8 directory we put the context.xml and mysql.jar files as called for in the of the orig/docs[2] directory.

Things did not work.   We noticed that the mysql.jar we downloaded from the Internet was an older version than what Matt had used to get things working.   So, we airdropped the newer version from Matt’s MacBook to Naomi’s MacBook.   Still no joy.   We could not even get http://localhost:8080 to load.   

We unpacked another copy of tomcat8 into ~java/something and just ran it without adding the mysql.jar or the context.xml as called for in the docs[2].   It worked!  Yay!

We copied just one of the datasource resources from the docs[2] context.xml into the ~java/something tomcat8, copied the newer mysql.jar into the lib directory as called for in the docs[2].    To further simplify things we used gradle on the command line to build a war that we copied into the ~java/something tomcat8 directory.    Things did not work!   Yikes!!!

So, we opened src/main/webapp/META-INF/context.xml via eclipse’s navigator view to compare the datasource it was using with the one we copied into ~java/something/<tomcat8>/conf/context.xml.   Eureka!   We found the problem.   For some odd reason the URL in src/main/webapp/META-INF/context.xml was not connectionURL=”jdbc:mysql://localhost:3306/interface2″ but something like

connectionURL=”http://localhost:3306/interface2”   After fixing that, things worked!  YAY!!!!

During the working session we did a lot of command line stuff.   A few highlights include:

  1. Matt is obsessed with tab completion.   It saves time and is just plain cool.
  2. There are two free online classes to help learn the command line[3,4]
  3. Copying a file into /tmp in terminal window “A” then copying it from /tmp in terminal window “B” is one way Matt likes to copy files from crazy directory to another crazy directory.

Near the end of the working session we were able to login to IB. But, after logging in, not much happened.   During the initial development of IB, the war was called “book” but now the war is called gradle2_ib (and the name of the war will be changing a lot).   So we talked about the JSP technique for getting the name of the current war.  The is called the context path.   For example:


           url : “<%=request.getContextPath()%>/InterfacebookServlet”,

Above is a jQuery AJAX request that reaches out to the InterfacebookServlet using whatever the name of the current WAR (and http port number) are.   When trouble shooting Matt suggested I try to put <h1><%=request.getContextPath()%></h1> near the top of home.jsp to see what getContextPath returns.

Matt’s suggested future work includes:

  1. Check stuff into git and push it to bitbucket
  2. remove the ~/java/<tomcat8> folder and move ~/java/something/<tomcat8> into the ~/java folder.    Confirm that everything still works.
  3. Make a change to home.jsp and run the app via eclipse.   Be happy things work.
  4. Change the ajax (and other) “/book” URLs to use getContextPath
  5. check things into git.   Do this anytime something works.   git is your friend.
  6. there is a list in the front of the small notebook Matt gave me. Make a google doc with your TODOs and share it with people (Matt, Kent, classmates, whomever you choose).
  7. Practice the fresh install from time to time to make sure it’s documented and you understand what’s going on.   A fresh install means you start with:
    1. a fresh eclipse (unpack from tar)
    2. a fresh workspace directory
    3. a fresh tomcat (unpack from tar)
    4. a freshly cloned repo from bitbucket
  8. Once you’re a bit comfortable with all of the above, consider the technique of a git branch for each major new enhancement to the project.






Written by seenaomi

August 22nd, 2015 at 7:22 pm

Posted in Allthecode

git fetch && git checkout gradle1

without comments

I have been learning git just like alot of other things on the side. What had me stuck was branches. I finally figured it out tonight! I was determined to pull the gradle app to check it out. It’s my turn to create a gradle app next.

What I was missing because it wasn’t in the directions I could find was the correct git url to clone. I needed the url that had both of our accounts linked to the same repos. You would find that url on the overview of your mates repo that they created from you. Once I had that repo cloned to my local drive then I was able finally able to get “git fetch && git checkout gradle1” to do what its suppose to do. Which was create the folder to my local and fill it up with the contents my mate had added to the new branch.

It’s all very streamlined once you figure out the process. I am still learning all the terminology, etc.


Written by seenaomi

August 6th, 2015 at 4:30 am

Posted in Allthecode

So geez… !

without comments

Time really flies fast in a short amount of time. Seriously! So now I’m NOT attending that course at Metro. Not because of anything wrong with the course but because I won’t have time!

Besides my awesome friend offering to mentor me through incorporating more java technologies within the interfacebook java app. The app that you can’t log into currently was the end project for the java fullstack course. We had created 2 others before it. The first was just a guestbook single page app that we created individually. The second was a more advanced but still single page app that we created as a class split into different developer teams. 2 major things I want to do to that app is make it so you can request logins via email request. I also want to change some of the guts of the app to accept more than 1 image uploaded per post. We have the guts set up they just need to be tweaked and released! Yeesh this wasn’t even the point, see how I get side tracked? So much happening!

So yes besides that awesomeness above I have found another meetup where this man is giving us great core tools to learn with to be awesome developers. Check out the meetup page and website. Then click the link on the website to hop in IRC and get started! Jim has been holding setup sessions nightly starting at 7 or 9pm CST. He will send out a post via meetup to let the group know. It’s totally free and you learn at your pace for the most part. He’s helping new people setup every evening via IRC it’s really quite wonderful. Then he posts lessons on for you to watch videos and read books, all free materials. We start with the setup and then jump into hardcorse commandline learning/refresher and getting awesome at vim.

I started a seperate blog for that here.

Also the director of Interface Web School offered me a job as an Experience Manager at Interface. It’s a super part time gig but it’s totally something I am excited to do. I’ll be working with the students and helping to manage their experience. I’ll be monitoring classes, following up on weekly assessments, having student one on ones, helping with student happy hours, and the course wrap ups.

Exciting stuff internet! School starts back soon, I’m only taking Applied Statistics this session. It’s going to be alot of homework. I wanted to be sure I was able to give it as much attention as it needs. Last year of my degree, it’ll be hard with so much going on but I want to finish strong!


Written by seenaomi

August 5th, 2015 at 2:06 am

Posted in Allthecode

Frustrations and exciting things and then more exciting things

without comments

I like to jump in feet first sometimes but most of the time I like to dip a foot in to test the waters. That’s what I had been doing the past 2 weeks going on several interviews. Oh the frustration! One company I was especially excited for ended up hiring within and that was oh so disappointing. We jived so well, I was even willing to jump into a very very old language for the opportunity. I’m still willing, the company just seemed like that good of a fit for me. Oh well, these things happen and who knows I may end up there in the future. One thing I did decide though is to take a pause on the hunt until my bachelors is complete.

It’s complicated as a nontraditional student to break in the world when you can’t exactly do an internship. But the good thing about being active and passionate about coding, people remember that about you. That brings up exciting(s). Exciting thing 1 is that I had a dinner with a new friend the other night. She works for the community college I got my associates from a few years ago. All my favorite instructors are still there. I really enjoyed that school but was semi bummed by their program at the time. It was about to be re-visioned I just jumped in during the end and right before the new. Anyway after talking with her I went home and jumped online to check out the course options and man was I surprised! Metropolitan Community College aka MCC’s INFO department has grown! It’s just great. I am taking a JavaScript course this Fall there to tight up my skills in that department. One of my favorite instructors G just so happens to be teaching it so that’s extra awesome. Also my new friend will be attending the course as well. So many wins here.

Because I can’t really do internships due to needing to work full-time at a higher rate than your average internship I reached out to another old instructor at MCC regarding volunteer opportunities. Art Brown has hooked it up in the past and my new friend stated he’s still the connector in that department. I also emailed G to let him know I would be attending and to see if he remembered me. As I’m snooping around MCC’s twitter page I see a re-tweet pertaining to Bring IT ON which is being organized by MCC and it just so happens to have Art and G as the contacts.  The premise of the Bring it on project according to the site is: “Organizations are encouraged to identify problems that call for technology solutions, such as social media platforms, data systems and dashboards, or mobile apps. This is a competitive application and a limited number of projects will be selected for development by teams of high school students, adult learners, and mentors.  The goal of this challenge is to advance team members’ technology skills through projects that provide technology solutions to real world problems. Teams will begin working on projects on a part time basis from September 2015 through April 2016. Preference will be given to projects that advance organizational innovation or social impact and are achievable within the proposed project time frame.” You can learn more by clicking the link here or mentioned above. So I got really excited about this and tweeted to Art and also brought it up to G via email as we were doing a little bantering back and forth. G advised me that this was actually for high schoolers which I also discovered while doing more digging. HOWEVER he suggested that I be a mentor on one of the teams! He brought Art into the conversation and both agreed I would be a useful resource. So that’s exciting! Nothing is finalized and details are forthcoming. I will know more later towards the end of August. But that fits right into what I would like to be involved with anyways. Helping nonprofits full-fill a need utilizing my skills.

Another exciting thing happening is a really great person I have met in the community is offering to help me learn more Java technologies. We will be using the final project from the Java fullstack course I completed in June. We will work through it together which will be so fun.

The starter list is:

1) gradle
2) tests
3) better JDBC with spring
4) ant
5) maven
6) selenium tests

This is exciting to me because I haven’t really been exposed to gradle yet and I know that Android Studio also utilizes gradle. I have had some exposure to maven via Heroku. I have also had exposure to spring but just a tutorial but its far easier than writing core Java code from scratch I know that much.

Oh! I’m also a co-organizer for the new Omaha Android Developers group! I am the voice of the newb! LOL The great thing about this group is that is going to be very newb focused. It won’t be entirely as we are still going to have talks that are geared more towards the experienced as well. However we intend to make these meetups very newbie friendly. Actual coding along will occur, video taping of the coding so you can refer back. We are talking about doing workshops and starting projects that people can take home and continue to work on. All the good things! It’s very exciting.

I keep saying this and I truly never will stop. Our local tech community is just wonderful. Being an active member even at my level has been pretty great. There are moments I get intimidated because I’m not a working pro but that’s ok. I am showing that I am serious and that my intentions are true. I am not looking to be a rockstar. I just want to be a part of something great and help my community. My dream is to have a sweet gig and be able to help nonprofits on the side in my free-time. As it stands my day job isn’t my dream and I’m often super busy with school. These things will change and I just have to stay focused and keep working hard. My time will come.

Written by seenaomi

July 31st, 2015 at 4:24 pm

Posted in Allthecode

Ureka and such

without comments

So I was able to successfully make the bare bones of my site responsive. Which is great because all the rest will just be filler so it’s pretty much a responsive site. It wasn’t as difficult as I was letting myself believe. I mean I’ve made “responsive” sites before but with a crap load of code and some hard wiring. So how responsive was it really? It was the footer that was tripping me up. Pesky bugger was doing that thing, yknow that thing they do floating to the middle of your page.

I’ll go into more detail and explaining the CSS later this week. I’m just happy I accomplished this as it had been bugging me all day. The alignment on the default page was a bit off when viewing on my iphone but I was able to resolve that really easily but shockingly REMOVING some code.

Another thing I need to do is add my Analytics code back to my site! At some point I gutted out the Google Analytics code and I have no idea when this occured or why! But let me tell you that makes me feel SO MUCH BETTER because I check my stats weekly sometimes daily. And when I started to see a down drop in activity I got super discouraged and just stopped looking. I seriously don’t know when I removed it or why, so bizarre. Anyways that’s getting put back asap.

But yea it’s still in progress but I like it thus far – I’ll dive in more again in a few days. I’m checking out Coding Bliss tomorrow night, they are doing alil jQuery presentation. Although I’m not new to jQuery I’m always open to check talks out it’s rare you will walk away without learning something new.

Oh also on Thursday CoVis Coworking some of us are gathering up to help PRI read pdfs and enter data into spreadsheets to help them get more organized. This is something anyone can do! You do not have to be a developer just a caring person with some spare time. Open Nebraska is banning together to help! We are meeting at 4:30pm check out the meetup event for more details. If you can’t help this time I’m sure there will be more opportunity in the very near future. 🙂

Written by seenaomi

July 14th, 2015 at 2:59 am

Posted in Allthecode

FRAMEWORKS …oh so that’s where everyone went

without comments

Being an adult learner means things take longer to learn! Not because I’m an adult so my brain is slower it’s because I have adult things that I have going on as well as learning. You see I’m almost done with my bachelors in application development. The focus of study has been the whole development package. Being that it’s a degree it’s broader and somewhat more generalized. I want that focus so I decided to attend a 15 week java full-stack course earlier this year. Now I may never be a java developer, who knows. I am completely open to it and I’m taking another Java course this Fall at my college. I am also open to mobile development of the native variety. I’ve taken 2 mobile development courses through my college to date. Android was pretty familiar to me as I’ve worked with Java and XML many times by that point.

But I ramble …

My point of this was that when I was obtaining my Web Development Associates almost every new quarter we had to create at the very least a website to post our course work on. This was great practice! I wish my university did that as sometimes I would go a few quarters without any coding at all. That’s not good… but that’s the norm. As an adult learner I have a full time job and sometimes a part time job and I generally take 2 courses at a time so my free time to freely code is limited. Because of this I get behind on the times. I am setting myself to not do that any longer thankfully. By signing up for that daily newsletter I posted about earlier from Sitepoint and by going to meetups!


Ok ok, so the point! The point is OMG FRAMEWORKS! There are so many. I’ve been slowly reading about them once in a while but as I am once again digging and stay dug into revamping my website into awesomeness I am noticing that a lot of the tutorials are dated! I’m like, what is the deal here? Why is this happening? How can I be so behind on HTML5? I mean I’m not … it’s just extra WOOHOOO to XHTML so it’s not like hard to pick up where I let the dust fall. I’m realizing it’s probably because everyone is using frameworks for everything now. Seems to be writing from scratch is dated and silly? Forgive my ignorance as I am just a learning newb here figuring a lot out on her own but doesn’t that make someone a weaker developer? Relying only on frameworks and not really writing anything of their own? I mean I met someone a few weeks ago that is a Java developer that has actually never written a single line of Java code of his own. He is a Spring developer. I get it though, I mean I totally get it! It’s easier and faster! But is it better? Am I being a silly goose by writing my own code? This is a serious question! I feel like I’m behind the times and need to jump on all these framework ban wagons. I’m just kind of afraid of what it will do to me a developer. Not that I’m super wicked awesome I mean I am a student and not wicked fast due to not yknow being a pro or whatever but yeah… I think I’m going to check into frameworks. Like deeper. They do seem really cool to be honest. I have read that Foundation is not as popular in the grand scheme of it all as Bootstrap but is actually more preferred because it’s more configuratible (that’s a word right?). It does look slick as heck and would make the time I’ve been wasting trying to get my website responsive across all platforms freed up so I can work on getting my blog site functional. Yes again this is a blog but I want to build my own!

Perhaps I need to be challenged with something more complex. Perhaps I’m not pushing myself enough but I seem to only be able to create when there is a need and the only need I can think of is a blog site that I am proud enough to keep chugging away at. Or until someone gives me a need to focus on.

Written by seenaomi

July 13th, 2015 at 5:22 pm

Posted in Allthecode

Oh hey revamping!

without comments

So I’m revamping my current website, I believe this is version 5?

When taking the Java full-stack course through Interface Web School we started with our own personal site themes. That turned out to be a big task considering we were all from different backgrounds and some where more hands on needing than others. We ended up shifting gears and starting on smaller yet projects that were all the same but with our own spins to them. As a result my blog site got put to the wayside. Now however I’m pretty OK with that. Why so? Well hosting a Java site is expensive! It never occurred to me how expensive until I started researching. Not just any ole web hosting option will do. When they talked about expense in meetups I didn’t realize they meant literally. I just thought they were referring to being data heavy as the expense but no they mean literally size matters and it costs a lot to host a Java site and the larger the more expensive. There are free options out there but they are very limited like Heroku. Which is a great option for hosting small applications that aren’t heavily utilized on a 24hr basis. But as a blog host? No, that won’t work at all. Blogs can be very data heavy especially if they are active and if they are popular, forget about it.

I’ll be honest WordPress is not my favorite. It works for now but I am looking at other options. I like to code and therefore I like to write my own code and work with my own designs, etc. I know I could create my own and I’m leaning towards doing so with Jekyll. With Jekyll I can learn a bit of Ruby and Node.js as well as continue to work with Git which is always a good thing.

Oh! So I signed up for a pretty neat thing last week. It’s called Versioning by Sitepoint. I just got my first email moments ago! What it is, is a daily newsletter with categorized links to new and awesome things development related. I am a link freak, gimme all the links! A nice informative newsletter with oodles of equally informative blurbs about awesome things to learn and check out. Yeah I’m all over that, thank you very much.

That’s it for now.

Written by seenaomi

July 13th, 2015 at 3:38 pm

Posted in Allthecode

Have mercy

without comments

So I’m creating two topical blogs, I believe I’ve mentioned this. The frontend isn’t complete but that’s ok, it doesn’t need to be just yet. I pretty much know what I’m doing with it anyways and it shouldn’t take much more time. As I whined yesterday we started coding (yay) the backend yesterday. So whiney. I almost deleted it because it was just whining and semi babbling. My brain, so mushy.

I started my database and created a few tables with rows. I’m doing 1 DB for the blogs which will live on MySQL is the DB and Sequel Pro GUI is being used to build. Also eclipse as the IDE, tomcat as the local server, chrome as the test browser, and the Googles for HALP. I also test final frontend changes in Safari because it’s less of a hippy than Chrome. Meaning it’s stricter with the rules.

After struggling but finally gettinIMG_0068g the test content INSERTed into the BlogPost table successfully I was then able to get it to display on the page. It’s not at all formatted and there’s a problem that I have to sort out. I had to comment out in the Java code that sets the posts as drafts. That was stopping them from posting to the page when requested from the DB. Makes sense, heh. I just need to figure out how to communicate that the drafts are no longer drafts. I want the posts to default as drafts. Drafts, drafts, drafts.

Then I need to code the Comments class, the Subscriber class, and Links class. People who visit my blog and comment I’m only going to require that they put a name, it can be any name though. They can opt to include an email address but it’s not required. No subscription or registration required. Subscribers will be asked to give their name, a name, any name as well as the city and state of which they leave. Oh and their email address, all these items are required.

Most likely I am going to create a contact form, it will be a single form that both blogs can access. I’m leaning towards incorporating the ability to subscribe from the form as well. Maybe if they check the subscribe box additional fields will appear to include city/state they live.

I’m on the fence about creating a links class because I’m not sure if I want to be burdened by the upkeep of the links. Meaning links go bad. I suppose there’s probably a way to mass test, who knows. I can’t be the first to consider this issue, lol. I’ll have to Google. So many reasons to Google. I have multiple tabs open on all browsers on all of my devices.

I really need to upgrade the ram on this mac.

I also need to buy a mouth guard, I grind my teeth when I code…

Written by seenaomi

April 18th, 2015 at 4:26 am

Posted in Allthecode

Coding is hard

without comments

Learning Java, the right way. The complete picture way is hard. It’s killing my mind and my confidence. But I struggle on. Lots of struggling. We are just starting. Today was the first day we actually were coding java. My part should have been easy, I was the example and a portion of my work was set up for me. Still I kept getting error after error after error. I have also worked with Java before. Several times in fact. It’s been scattered but I should still be better than I feel I am.


It’s just the first day. I shouldn’t beat myself up about it. But I’m that person. I cried when I came home from my first day of kindergarten because I didn’t learn anything new. I push myself. I don’t give up easily. I don’t admit defeat. Java will not defeat me!


It’s hard. It’s really hard. It will get better. It won’t be so hard after time. I just need to practice and work with it more. It will be ok.

Java is hard.

Written by seenaomi

April 17th, 2015 at 3:21 am

Posted in Allthecode