Dave's Notebook

How to be (Personally) Agile

When I first wrote down the idea for this post, I was originally thinking about how we might use agile development practices in a work place that practices Water Fall or worse.  But since then, I’ve expanded my thinking to include the concept of using agile everywhere, including where it “isn’t allowed.” Here’s what I’m talking about.  What does your work environment look like?  Many of the places I end up working either are using no formal process at all, or weakly attempt some form of Scrum or Water Fall.  In fact, my current major gig has a “project manager” (I use the term loosely) that manages our project with MS Project.  There is not even a formal issue tracking system.  And this is at a very LARGE organization that SHOULD know better.

image

Read More

JavaScript Crazy Talk - Are you guilty?

I heard this so frequently, I decided it is time to write about it.

(When writing web applications)  Business rules always belong on the server.

One of the last conversations I had at the last place I was working was on this same issue.  And, I had a similar reaction a couple of years ago when I was doing a Selenium testing presentation and mentioned that the organization I was currently working for put all of the code on the client side and that the only thing the server did was save the data.

Maybe you believe the same thing? Nothing is ever that cut and dry.

image

Read More

Multi-Threaded JavaScript - Not The Problem You Think

A couple of weeks ago, I posted 7 Reasons Every Programmer Needs to Learn JavaScript.  In the comments, Dean tried to refute my arguments first by claiming that my sources for JavaScript’s popularity were “a problem” because JavaScript is used in combination with other languages.  A point I refute in the comments.  But then he goes on to claim that “JavaScript is poorly suited for client side applications” because JavaScript is “Single Threaded”.  At this point, I just sighed and realized that Dean doesn’t want to learn JavaScript and that there MUST be some reason I’m not seeing for why he is so critical of JavaScript.

But then Brandon jumped in and offered a very clear defense of JavaScript on the server side.  Nearly making this post unnecessary.

And yet, there are things that were not said, and most people will never see the great comments that Brandon supplied.  And so we look at Multi-Threaded JavaScript in depth.

image

Read More

CefSharp Offscreen [Why do I have so many instances of Chromium?]

I’ve been using the CefSharp.Offscreen library to drive the Chromium browser for a couple of months now.  While the code I’ve been working on has been working correctly, I could never figure out why so many instances of Chromium are left dangling in my task manager.  Oh, they’d all go away once I exited the application, but then it would take a very long time for my application to completely close because there were so many instances of Chromium hanging around.

This past week, I finally figured out how to keep the number of Chromium instances in line with the number of off-screen browser windows I was actually creating.

image

Read More

ASP.NET, Angular.js & html5mode

I’ve been looking at Angular.js recently.  I’ve already got enough of a project done in MongoDB (with Mongoose), Express, Angular and Node.js (MEAN) to be comfortable with how Angular works.  But I wanted to give it a try using ASP.NET as the back end.  I’m always learning.  Always improving.

To start out, I just setup an index.html page to hold my basic form as I got the basic look and feel going.  But as I progressed, I wanted to make sure I progressed, I wanted to add in the capability of using Angular’s html5mode for the client side routing.

Read More

3 Reasons Responding To Useless Interview Questions Makes You Happier

I’ve noticed a trend recently.  Someone will write a post about some technical interview question and someone will write a comment about how that’s such a dumb question that they wouldn’t even bother answering it.  I’ve actually been that guy recently.  John Sonmez wrote about “Cracking the Coding Interview” and I responded that I don’t do coding interviews.  In fact, I wrote a whole post about this.  But as John pointed out, this may actually cause you to be limiting your career.  You wouldn’t answer that question for a 33% raise?  Really?  There isn’t anything that could motivate you to consider answering a question that you feel is useless, stupid or dumb? This week, I saw another post about some technical interview question that someone said he wouldn’t answer.  Sorry, I don’t have a link for that one, I wish I did.

And then add to this, the number of useless interview questions I have answered in the last year.  Why did I answer them?  Because I could.  Because the challenge was actually fun.

And so, let’s reconsider the arrogant stance of “Thanks for your time, I’ll show myself out.” First let’s consider why we might not want to answer a particular question.

image

Read More

Effective Hacks to Enhance IT Careers of College Students

I just got back from sending my last child off to college.  OK.  Now that you all have some vague idea of how old I am…

The weekend had all kinds of events that would make for good blog post.

  • Quality Matters – and is relatively cheap.
  • Advice to Freshman – and young professionals.
  • Be consistent with yourself – and learn to say no.

Since I think I can hit the other two by focusing on the second, we are going to go after ‘Advice to Freshman’.

The advice I am going to provide here is going to be both general in nature and specific to the IT crowd.  It is what I would tell a young IT person if I were coaching or giving a speech.

image

Read More