Click menu headings to see thumbnail menus
Development Projects
There is a large number of text boxes on this page to demonstrate the fluid handling of number of columns and their width.
It is written for a technical (student) audience and is still under construction. (Vs1.2Beta)
The theme is conservative with soft colour using numerous optionally expanding callouts and images.
Applied Research
Welcome to my personal and professional page. In a nutshell I provide scalable business applications on C#, Web and multivalued platforms and services addressing the complete SDLC for small business and developers (i.e < 500 staff).
If you need anything simply email at david_horsman @hotmail.com. I'll get back to you.
An important purpose of this page is an educational one. Many of the features and much of the javascript are intended to help new users observe and become comfortable with scripting.
There are two button controls that change the view of the web page or
alter how the animations behave.
The rest of the buttons consist of two groups.
The first group controls various debugging features, the second group controls a
text, event and state console.
The console is used display error, event and trace messages as well as access a large number
of configuration and control programmer's variables via a form.
Students interested in javascript, web page development and animation will find these two
groups useful.
Languages:
C#, Javascript, X/HTML/CSS, Silerlight, multivalued object databases.
Applications:
Service Billing, Accounting, Inverntory/SOE, Project Accounting, Purchasing, Mangaement
Reporting, OLAP, Service Billing, Release Management, Legal, Foods, Importing, Distribution,
many others.
Specializations:
Service Billing, Mangement Reporting, Broadcasting and Cable Television, Communications and
System Links, Protocols and Interfaces, e-commerce, IDE utilities, Data and Code Conversion.
Free Stuff:
see the "free stuff" listing on this page.
Myself:
Resumes, skills and accomplishments.
SDLC Areas:
I'm having a long career and so have naturally covered a lot of ground. With that said, my focus is always first and foremost on producing code and designs.
I have mainly served small developers and small enterprise clients. This resulted in my frequently providing most services found in the SDLC as well as product development roles.
One challenge was to effectively transfer these skills to large organization solutions. This works best by being focused on the role and task at hand in combination with drawing on a much broader than typical background of experience.
I want peers and students to look at this style and code, not use it necessarily. The parts I might use, particularly the calls, will all be revised first. But I always intented to use AJAX (and now two other libraries.) It is industry standards that I support and endorse, not a mix or third party solutions. And in coding style, I am generally pro complex (but brief) snytax (like $(?)). AND I cant' emphasise enough, I don't actually recommend hand-coding in a production environment, but in the classroom yes.
This is an educational, training , prototype, platform evaluation project intended to have some residual and potential economic value. It is a high priority, in that it advances critical path points in three projects that would otherwise stall.
There are tons of educational script samples out there... So I'm not sure that "look at what's unique about this incomplete project" is really of great value to the community. In fact what I really would rather do is make the .Net database layer from another project open. There are hardly any samples of C# code that abstract a layer over the databases (integrated with MVC app, or whatever.) when I looked. Code snipets are in no way the same thing. That pattern (layer, component or class) is way more compatilbe with MVC and DB models as well as both current or best practices.
HAVING SAID THAT... I would greatly appreciate any feedback, criticism or comment from senior web developers and peers. I think we'll all learn something from it. Who knows? Maybe the world will become a... OK let's not get silly now.
I am looking for criticism, deficiencies, strenghths, QA issues, recommended current/best practices and that sort of thing. Collecting other code samples is now on my todo list. If you can spare a few minutes or more though please have a look and contact me. This can be via email (david_horsman @hotmail.com), openly in ITT (IT Toolbox) forums or any manner you like and I will try to use.
I will attempt to convert any usable feedback into POSH and XML like programmers comments, documentation or discussion. It will take some time to complete the documentation, keep in mind this is a beta site. Contributions from students are also very welcome on the basis that lack of experience really doesn't alter the facts. Part of the project's purpose is after all to give a students eye view and progression.
This site was in most respects developed 100% without online research. With two exceptions all solutions developed or found on the site were either taken directly from my existing manuals or stumbled upon without aid of any sort. There serveral examples of inactive code, inactive failed attempts, UI redundancy and functions that perform similar or duplicated functionality. These functions are for demonstratioin purposes and I am concerned that anyone giving me a hand might misunderstand that and waste their valuable time. I want those comments too, but not under a mistaken understanding.
It is also very important to start off aware that this site is a script equivalent of POJ. It deliberately makes no use of external frameworks (including AJAX) and attempts to find solutions (if possible) within the domain and restraints of JavaScript and DOM alone (like that wasn't contradictory). There are frequent times when exploring english like sytnax that performance is being ignored.
Note: The CSS is intended to explore OO CSS concepts along with CSS functional, attribute and text decoration usage stratagies. The CSS is, like the JavaScript, is simple in it's syntax and a bit verbose. POSH, XML and OOD, though not used, and their relationship to CSS at a logical and implementation level are central to the CSS too. One unsolved issues in the CSS is could (separated) and should object like CSS entities be combined (composed) during obsfusication.
The project uses a single object array, avoids compound function calls, explores a verbose coding style intended for obfuscation (compression really,) and looks to provide an example of most basuc JS syntax and a variety of loops or patterns that navigate or access the page. My intent is to ultimately revise and only leave active only the script that might be considered a good (or best) practive given the above constraints as well as retain the sub-optimum or incorrect solutions, failed tests, etc. For example AJAX functions would be chosen before using a function from this library.
My intent is to ultimately revise and leave active only the script that might be considered a good (or best) practive given the above constraints. At the same time I hope to retain the sub-optimum or incorrect solutions, failed tests, etc. in some well presented form if it serves an instructional purpose. This should result in a history that consists of the script free version, the POJscript versions, an object based best practices version, and finally one that incorporates selected frameworks. Concurrent to this evolution will be a switch over to widespread server includes, PHP and database driven composition of the content.
Yes I did have some historical JS experience (2002) and am a senior developer and wasn't ignorant when I started. The isolation was more an attempt to get away from almost always locating a solution on the net when troubleshooting or developing. Thankfully, developers rarely have to do hard invistegation and find their own solutions and workarounds. While this is great, it tends to alter troubleshooting into the art of good browser research. Obviously, this in combination with hand coding was an imense advantage to my skills development; I already know how to learn libraries like AJAX or JQuery quickly and effeciently.
By way of amusing example, it turns out that of the two problems I looked up on the net or drew upon memory to solve (like the BR clear both) had an oddly circular relationship to internet research vs. ?bench? research. One of these two solutions was obsolete and I had indepently found the right solution currently in use. What was interesting is I didn't know that and failed locate that in subsequent code review searchs with any success until I "discovered" solution. (not DIVitis but nesting your floats in an outer float.) Only once I knew the answer was I able to phrase the question.
Potential clients and of course consultancies have tended to slam my lack of activity in PHP and ASP and my decision to put the effort there last; it is admitedly poor business economics on my part. Respectfully, I get that, but given my time are very limited resources they should only be done at the time needed or it would throw off other tasks. Frankly, these technologies are barely a challenge and a learning curve I dealt with a dozen times.
MOVE THIS related career economics thoughts.
Yes I strive to be an egoless programmer but...
Across the table (during the previous three years) there was a simple (or
understandable) business decision
to not take a risk with mid-level students and developers like myself in the 1-4
experience range.
As in there were dozens of C# and Web developers with 7 years experience out begging for
jobs.
I'm an IDE tools, data, code and legacy software expert, but I can accept the percieved
risks and caution I
encountered on the part of prospects during this and the previous development project.
But that should cut both ways.
However, the best overall strategy, tailored to my needs, personality and value to a client was the one adopted. In many respects, I just wanted to see how it turned out provided all the goals were met. This is worth mentioning in that I saw the "attitude" on the other side of the table as short sited in that a demonstated tendency toward long term loyalty was on the tableto the first decision maker to take the risk. On the other hand, my initially junior now senior rates (after 2 years effort) were increasing at a rate of 100% per year and if now stable, are still very inexpensive. Anyone smart enough to take the bait, or even back a technology would have that value at the rate then, not today regardless of wether it would rapidly stabilize at or below current market value. With the resources, there are many large companies that are able to implement that to varrying degrees through policy. So I think I can make a sound business case that I am of "great value" I investigate and take risks and would't make that mistake (hopefully) if I had similar resources. Not that I haven't been there too... I.E. I willing to risk to throw these two paragraphs somewhere on my career page on the chance I'll attract the right client that will get the underlying message and see past what might could easily be seen as imprudent, imature or egoish sour grapes.
ON TOPIC:
To provide further academic examples and alternatives, there are also three other ways to control the internal features of the page. One method shown is simple list of clickable links that toggle different settings. The second method makes use of a form where a variety of control variables can be altered by the developer. The third is programatically; to alter configuration via calls to the same component as the form.
The Web Template Project is typically of many projects I plan. I know that the greatest cost effectiveness can be gained by encorporating multiple goals within a project. In this case...
In applications design and development, the sound business case, close attention to business rules but also to user interface design will lead to a quality product.
Though mainly focused on producing a great deal of clean code; I am also committed to maintaining a broad base of skills. My longest specialization is with multi-valued database languages, and more recently in C# with a lesser focus on C++.
The bulk of my work has been in Service Billing, Customer Care, standard billing, accounting, invertory and sales order processing, management reporting and OLAP. This required a lot of transaction processing and electronic interchange of data as well as data conversion and cleansing. Secondary specializations included a good deal of both commercial and proprietary IDE and Communications Applications.
This no nonsense background combined business expertise complimented by experience writing development tools and utilities dating to the mid 80's. This also includes work on more light weight solutions in automation, workflow, Outlook VBA classes and MS Access applications.
Document management and portfolio management for small business proved to a rewarding area of focus. Scripting, templates and development standards have been a business area complimented by development of high production user interfaces.
Working for small developers and small businesses ranging up to two hundred staff has meant wearing a lot of varied hats and many interesting projects. The opportunity to include small business consulting has also been challenging.
With a background including work in markup languages, communications protocols and
database transfer and conversion I have naturally been following XML and Web service
technology closely. My own focus has been on hand-coded web pages, script and
templates as opposed to vendor tools. Current work includes a heavy emphasis
on WPF and Silverlight along with on-going work with CSS2 and transitional HTML4.
This web site itself was an evaluation project where the requirement was to be 100%
Java free, retain an attractive look, be interesting, and be easy to update.
My more complex applications have targeted areas such as service billing, accounting, sales order entry and inventory control, communications, and control system interfaces. Advanced development tools included code conversion, generation, data conversion and search utilities.
A sizeable portion of my consulting work has involved modifications and enhancements to existing applications. The ability to be efficient and cost effective in this form of contracting is critical. In this regard I not only employ RAD and Agile methodology but have a particular focus on low cost solutions.
The javascript for the user interface template along with the animated thumbnails (with random effects) will be available soon, I'm just not sure when.
This is mainly a "load test" in terms of testings javascripts limitations for complexity on the client side. This was done by having the framework interact heavily with the animation.
This is first and foremost an instructional and academic project. In includes a number of console features as well as alternate user interface strategies. There is also a java free earlier version with some rudimentary effects.
The Outlook folder replications classes could be cleaned up and useful as a starting point for some projects.
I have a mass of quite poweful PICK (or if you prefer, U2/Universe) code at my disposal. Some of the in house tools are available on a conditional basis to assist other developers, peers and users.
At the point it is unlikely that the Database Conversion, File System and MVVM Framework will be open source. I am totaly open to discussion of the idea but saddly have zero experience with the business model.
Why I thought it is useful was first it's educational value, the project was evaluative and academic in nature and scope. Previously, I was unable to find any examples or peers giving away C# database layers of any sort, there being a pretty substantial sample in that area.
For more on why you need similar components, see its DB detail page for the rationelle.
Software Products Available
Archived Projects
Error, the text was not set. ×