Friday, March 28, 2014

DONE: Moving to WordPress

Over the last few years I've looked for a different blogging platform.  I still haven't settled on one but the one thing most of them have in common is that migrating posts from Wordpress is easy.  I've recently started to support other blogs and websites using the Wordpress system and have decided to move this blog there as well.  Check me out there.

Wordpress: Amy's Tech Notes

Tuesday, March 18, 2014

JavaScript Tips N Tricks: Learning underscore.js


One of the tools in our SPA toolkit is underscore.js.  It was a new tool that I fell in love with instantly.  It really helps to make javascript code simpler, cleaner, easier to read, and more maintainable. Here is a list of links for learning and reference.

General Knowledge:
underscorejs.org
GitHub: Underscore.js
StackOverflow: About underscore.js

Videos:
Pluralsight: Underscore.js Fundamentals

Blog Posts:
An Introduction to Underscore.js by Dan Wellman
Eloquent JavaScript with Underscore.js by Something Somewhere.
Easy functional programming in JavaScript with Underscore.js — part 1 by Nick Morgan :: Part 2

Books:
This book is going on my "to read" list for JavaScript.  I read through the introduction and it appears to have some great information about JavaScript functional programming as well as being a good example of how to utilize underscore.js. Anything with good code samples is key in my world.

Friday, March 14, 2014

Learn the basics deeply

Learn the basics deeply.
Review the complex shallowly.

By learning the basics of development and programming languages deeply it will give you the foundation needed to create well formed solid software.  By reviewing many complex theories shallowly you know what is possible, expanding your toolkit and general knowledge base.

A person only has so much brain power.  We learn new things every day.  Old concepts and skills slowly degrade when not used.  We fill the space that is created when our old skills disappear with new knowledge.  Spending time carefully choosing what that new knowledge will be is an important part of our development as software engineers.

Spend your time focusing on truly deeply understanding the basic fundamentals of the tools and languages you use on a daily basis.  Learn to build a small piece of simple software properly with clean code, unit tests, proper documentation, and a simple clean user interface. Being able to do this will help a person better in the long run than being able to use a single piece of complexity that they will never need again.

Instead of trying to learn a complex piece of information completely, take the time to skim over many different complex pieces of information only studying them as deeply as is needed to understand why they are out there.  This helps you to build up a toolkit to understand what is possible and what has already been done.

When the time finally does come that you need to understand the complex. Make sure you understand the basics of what it is before you try to use it.  Really understand its purpose.

Tuesday, February 25, 2014

Web Dev Tips n Tricks: HTML to PDF Converter software

Right now we are using the Winnovative PDF Converter software to create some reports.  It's a great tool that allows us to create a page in HTML then when we want to print it we just change it slightly to pull off the elements that should not be in the report.

Monday, February 10, 2014

JavaScript Tips n Tricks: Writing Decent JavaScript Code

I've had a hard time learning JavaScript over the years.  Mainly because I only learn it as I need to use it and most of the code I use is what I find doing a search for a single specific topic.  One of my goals last year was to improve these skills.  A new SPA project at work has helped me quite a bit but I keep looking for better information.  Someone had recommended the book "JavaScript the Good Parts" by Douglas Crockford.  I picked it up, read the intro, paged through it a few times, and promptly forgot I had purchased it.  A few days ago I was looking at Pluralsight to find something new to watch and found out that there was a new course called "JavaScript the Good Parts" out there authored by none other than Mr. Crockford himself.  I watched it and realized that it was the piece I was missing.  Between the book and the course I have finally found both pieces of the puzzle that is JavaScript.  I'll be watching the course a few times to try to catch more of the nuances of the language that have evaded me.

Wednesday, February 5, 2014

ReportViewer: Display text as bold using HTML markup


I am trying to display a single word inside a larger text area as bold.  (Silly requirements.)  I have not been able to figure out if there is a way to do this within a standard express.  So far all my research has turned up is that I should try to turn markup on for that text box and use HTML markup.  Although, even that only has a limited set of supported tags

First I needed to turn markup on for the textbox.  Here are the instructions I found on this asp.net forum answer.
  1. If the Toolbox is not visible, click Toolbox on the View menu.
  2. Double-click or drag a Textbox report item to the design surface.
  3. Drag a field from your dataset into the text box. A placeholder is created for your field.
  4. Right-click the placeholder (<<Expr>>), and then click Placeholder Properties.
  5. On the General tab, verify that the Value box contains an expression that evaluates to the field you dropped in step 3.
  6. Click HTML - Interpret HTML tags as styles. This causes the field to be evaluated as HTML.
  7. Click OK.
To manually change it without using the UI tools add the tag "<MarkupType>HTML</MarkupType>" into the xml.

markup

Finally, I rewrote the text in the textbox to be formatted with html instead of the rdlc formatting. It was a pain to do but in the end will be more flexible and maintainable.

Monday, February 3, 2014

C# Tips n Tricks: Get Decimal Places

I needed a quick way to get the number of decimal places on a Double value.  I am displaying the values differently if they have more than 2 decimal values.  Here is a quick helper that I threw together.