The Education of a Programmer (Me)

Just another WordPress.com site

Category: Uncategorized

What’s been on the plate

Well, while I’ve certainly been silent, I’ve not been idle. I’m progressing along with bachelor’s number 2; studying for the entry level Java certification. I hadn’t had a lot of review opportunities appear which has been beneficial because the cert exam hasn’t been kind to me nor have I had a great deal of time lately.

However, that hardly means I’ve been idle. My databases are keeping my attention as always, and now that we’re settled and I’m learning more about my new home community, we’re seeing a lot of opportunities show up. There have been enough that we’re looking at developing business cards locally and starting to ramp up a new venture; Dogwood Grove Studios. So next will come getting the domain name and the site built, along with the cards. Then we can have something better to present to clients. I have one possible on the horizon, but I want to get this going first so she has something to look at.

More details will be coming as time rolls along.

Video Review – Deploying Angular JS

I was recently contacted and asked by Packt Publishing to review a video, Deploying Angular JS by Thomas Tuts. I was asked mainly because I have purchased and have been given to review several books on Angular JS lately. In return for this review, I was given a copy of the video as compensation.

I am glad that I had the opportunity to access and watch this video. Mr. Tuts does an excellent job at reviewing how to scaffold an Angular project, develop it, and then use Heroku to deploy the site after completion of the coding. The video segments are fairly short, all around 5 minutes in length, and along with Mr. Tuts’ sonorous voice, the coding provides a very good lesson in building out an application quickly and efficiently.

Mr. Tuts also brings more than just Angular into the toolkit. He covers using Bower, Gulp, and many other tools together, including JSHint and testing frameworks. I was surprised how easy it appeared to be to get it all together. It’s inspired me to work on a couple of personal ideas to see what I can do with all of this together.

I really can’t think of any criticisms of the video. I learned a lot out of it in repeated viewings and would recommend it to anyone who wants to learn how to put this together into the tool belt.

Packt Publishing sale

Well, I’ve been a bit under the weather lately, so I’m a little late to the party for my friends over at Packt Publishing. They are running a huge eBook sale from now through the 6th of January. All eBooks will be $5 during this time. You have to go check it out. The link is: Packt Publishing $5 eBook Bonanza.

Go check  them out!!!!5 Dollar - Social Media

Step by step in Vim

I kept reading Ben McCormick’s blog entries about Vim and am going over other tutorials and books I have in my collection and I felt comfortable enough working on a file to never take my hands off the keyboard and NOT go into insert mode as the default way of doing things. For me that’s a bit of a win. I did a few significant updates to a behind the scene page so now I feel safe enough going from there to start building and having more fun with things to see just how comfortable I can get. 

I know it’s always one day at a time and that’s how you learn. It’s just fun to make some progress and remember the ways to do something more efficiently and go from there. (Yes, I’m a geek and things like v18ld to pull a piece of a string out of a url is pretty cool to me!)

 

Next step in the evolution and education

I spend a lot of time in front of a keyboard. That’s the nature of programming. Since I also write websites, I also spend a lot of time on the web, reading about programming and the like. 

Recently, I ran across a wonderful series of articles by Ben McCormick on Vim. Here is his first post in the series. He made me think about a few things, including the fact that though I have a couple of editors I love and use a lot in the Windows world, I have never mastered Vim myself. (Now, for those of my readers who are Emacs fans, I’ve never mastered it either, but in trying to use either one, Vim seemed easier to me, so I’ve tried several times to learn it as opposed to Emacs. No flame wars here please!) 

So I’m going to use his posts as inspiration and the resources I have available to me so I can really make an effort to learn Vim and learn it well. The truth is, it should not matter what computer I am at, I should be able to sit down, fire up Vim, and be able to work on a file regardless. I can’t do that right now and that bothers me. It’s not about programming chops or anything like that. It’s really about the ability to go where I need to go and be as productive as I can me. Yes, I know that I have Visual Studio or Sublime Text available on my normal rigs and I have sublime and Vim both on a flash drive, so for a Windows OS, I’m relatively well set. However, I came from the Linux world. (Yes, I actually have worked with Linux as a primary desktop OS since a 1.2 kernel and the fact that I have not mastered Vim and LaTeX do make me hang my head some days. I had more success with joe and nano.)

So the goal for the second half of the year is to learn both Vim and LaTeX well enough for every day usage. I know that I need to learn them and I know they will be beneficial for me to learn and master. 

My question for you my readers, if you are out there, is what other resources do you know of which might help? I know about vimtutor and I have a few eBooks on PDF which will help me. From there, it’s time to get cracking and any resources are fantastic.

Packt Publishing Sale

Disclaimer – From time to time, I do reviews for Packt Publishing and in return, I receive free copies of the books I review. I also write blog posts like these to promote their sales from time to time. I do this because I like the quality of their material and with more business, there are more opportunities for me to review books for them.

They are now celebrating their 10th anniversary and they are running another sale, hence the reason I’m writing this now. From the 26th of June until the 5th of July, Packt is offering all of their eBooks and videos for $10 a piece. While they are normally affordable, this is a very good sale. If you are going to go check it out, and you should, use this link so they know you came from my blog. Or click the graphic below!

 

10 days 10 years - Home Banner

Even more inches and Github Commits

Well, Bugs and I, from my previous post have made many more strides on my “wascally web app”. (Pardon the pun, but I’m full of them when I’m trying to make sense of this stuff.) Now, it’s deployed and useful. I’m at the stage, now, where it’s fun working on it and making the incremental improvements which ensure that my admins will not only use it, but will like how it comes out.

The nice part was solving each of these incremental mysteries and then improving it without saying, “I can’t do this, solve it for me,” on the various boards. I added in a search feature for subscriptions based on the user id so I can grab each users subscriptions. It was built in response to not being able to delete a user until the subscriptions were accounted for because of foreign key relationships. Later, read today, I changed the table structure of the underlying subscription table to enable cascade deletions so when you delete a user, the database also deletes the user’s subscriptions.

I’ve left the ID to be set by the admin because it works and because I can reuse IDs that way for deletions. Oracle’s default behaviour is to reserve 20 id’s at a time when you write an incremental ID trigger. So this seems to circumvent that. It’s a little more work from the admin, but it’s not too onerous.

I fixed the name entry into upper case through javascript. It works and it’s not problematic, so I’m happy about that.

I built my dropdown lists with a little bit of help and then added those into the page along with finding the IE problem. It turned out to be client side and with a little adjustment to the quirks mode, it’s all good. So this is, effectively, done and deployed. YaY!!

Getting Ever and Ever Closer

As I type the title, I hear Bugs Bunny, “Slowly he turns, step by step, inch by inch.” That is how this web application feels like. Step by Step, Inch by Inch I make some progress. I finally was able to break through the ODP.NET issues. I broke down and used the managed driver and then insured it was registered in the machine.config files for both x64 and x86 architectures. To me, this feels a bit like overkill. I had set the .dll to Copy Local=”true”, so IIS should not need to access the server’s copy. (Though I had already copied there just because I had learned that valuable lesson quite painfully recently.) Be that as it may, that is what it needed. After that came the ORA-12504 error. It couldn’t find the proper tnsnames.ora file. However, that is a relatively easy fix. I just changed the Data Source = from the alias to the full TNS name. Violá, the app likes the change and now it works.

Of course, I wouldn’t be discussing “step by step” if that were the end of things. Version 1 in classic ASP allowed you to filter a user list by the sponsoring agency. I didn’t include that this time. However, my users are quite content not to have it as long as they can have a search box which allows them to query the user base. It didn’t take me too long to find this page. I modified the basics to fit what I wanted and it works. I had to go back and make a modification and that was to ensure the search always hit the database in upper case. However, I’ve used ToUpper() many other times, so it was a quick fix.

The next step has arrived. How do I ensure that the data which is being entered is written into the database using only upper case for the subscriber names? I’ve worked through a couple of different solutions and they haven’t panned out. In fact, the whole thing has shown me that the ID field trigger on the database isn’t actually catching on that it needs to fire and the application doesn’t need to set the ID. So for now, I will set the ID in the /Users/Create page. It’ s not my preferred solution, but it’s on the list of enhancements.

Also on the agenda are to see why the site renders perfectly in Chrome and Firefox, but won’t render in any version of IE (I run 11 myself), but will render perfectly in IE when I use my IIS Express configuration locally to test the site functionality. I tried to alter the properties at the solution level, but garnered an error stating the .NET versions don’t match. Back to that drawing board. I need to build radio buttons and/or drop down lists for /Users/Create and 3 fields which need to be restricted as to their possible entries. So far, everything I have researched shows it’s really easy, but doesn’t work.

And, if I can do it, make sure that the first and last name entries go into the db in upper case, not lower or mixed case.

Simple? Maybe. But it’s taking time to research since this is the first ASP.MVC app I’ve built.

Decisions decisions

Well, I’ve had a few things on my mind recently. I’m still having the deployment problems. I don’t think anyone is surprised to hear that. What disappointed me was taking this to iis.net and to asp.net and having someone at the latter site patiently tell me this was an odp.net problem and that I should take it to Oracle for assistance. Really? This is a deployment problem. On my dev rig, this works perfectly, so I doubt that it is an Oracle failure.

OTOH, I also have been thinking. I like using VS2013 and all of the abilities I can find when I use it. However, I also know that I need to learn to use other text-editors to greater proficiency. I typically use either Sublime or Notepad++ when I’m at the office. They both work well and I’m used to them. However, I used to live in the GNU/Linux – Unix world before I started really trying to learn to program and now that I work as a programmer, I recognize my need to learn the basics, at least, of Vim and Emacs. It’s not really a want to, it’s a need to. It’s just part of programming life. I have worked with Vim a bit in the past as I thought it might be easier than Emacs, but I know future work I want to do will be better done in Emacs. So I need to make a concerted effort to get a good working knowledge of it.

The trick is being able to get over the learning curve and then figuring out what all I can do with it as I learn it. I know that, like anything else in programming, I have a lot of work ahead of me to get over the hump. Back to the mines….

Updates

Well, I had planned on writing at least once a week, starting in January and here we are in May and I’m writing for the first time in who knows how long. (Before anyone can answer, yes, I am aware of the fact that WordPress knows…) 

Life has been busy and that hasn’t always been a bad thing. I’m a newly minted A+ certified techie (Yay!) and have actually completed the next class behind that one. So now I’m a certified Web Design Professional; whatever that will mean to others. 

On the programming front, I was successful, finally, in getting ODP.NET working with EF 5 and have built a newer version of the Hot Calls program which seemed to run correctly in the first preliminary tests. Once I get this other project under control, I think I will test it further to see if I want to work it out and deploy it. Should it go the way I expect, I want to go ahead and blog about the progress and how I did it. I’m using MVC 5 to build the administration interface and it appears to be ready for deployment. I just need to figure out why I am getting 403 errors trying to attach to the web server to deploy it. Once I have that figured out, I want to get it running and decommission the old site. The current admin piece uses Razor syntax, but it isn’t as elegant or efficient as the MVC version.

My Good Lady Wife has had a few health problems of late, so I’ve been away from this beast to worry about her. She is getting stronger and back to her ornery self which makes me feel better. 

I’ve not abandoned my book reviews, just really haven’t had time for them and haven’t stressed about that.