<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:image="http://purl.org/rss/1.0/modules/image/">
    <channel>
        <title>Work</title>
        <link>http://sean-lynch.net/category/4.aspx</link>
        <description>Work</description>
        <language>en-US</language>
        <copyright>Sean Lynch</copyright>
        <managingEditor>slynch13@gmail.com</managingEditor>
        <generator>Subtext Version 2.0.0.9</generator>
        <item>
            <title>ScriptControl question</title>
            <link>http://sean-lynch.net/archive/2008/07/07/scriptcontrol-question.aspx</link>
            <description>&lt;p&gt;As of late I have gotten a chance to use the ASP.Net AJAX extenders and script controls, and so far am really liking how they work, though it would be nice if adding the .js was a little cleaner then manually adding them to the assembly wether in the AssemblyInfo.cs or the controls cs file.&lt;/p&gt;  &lt;p&gt;I have to say I really like the extender and script controls that come with the ASP.NET AJAX. They really are so much nicer to work with then building up Javascript strings in the CS file of the server control. &lt;/p&gt;  &lt;p&gt;I do have a question about them though. One of the ScriptControls I made uses a webservice to pull data if the service name is set. At the moment I have it dynamically registering an JSON script service based webservice. Unfortunately I have found that this is not an optimal solution since the name of the Javascript object created by the ScriptService changes depending on the namespace and class name of the service. &lt;/p&gt;  &lt;p&gt;I am sure that there is a better way to do this, but I am not exactly certain of it. Any suggestions or links would be appreciated.&lt;/p&gt;&lt;img src="http://sean-lynch.net/aggbug/57.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Sean Lynch</dc:creator>
            <guid>http://sean-lynch.net/archive/2008/07/07/scriptcontrol-question.aspx</guid>
            <pubDate>Tue, 08 Jul 2008 04:09:08 GMT</pubDate>
            <wfw:comment>http://sean-lynch.net/comments/57.aspx</wfw:comment>
            <comments>http://sean-lynch.net/archive/2008/07/07/scriptcontrol-question.aspx#feedback</comments>
            <wfw:commentRss>http://sean-lynch.net/comments/commentRss/57.aspx</wfw:commentRss>
            <trackback:ping>http://sean-lynch.net/services/trackbacks/57.aspx</trackback:ping>
        </item>
        <item>
            <title>I think the 3.5 framework might be the straw</title>
            <link>http://sean-lynch.net/archive/2007/12/11/i-think-the-3.5-framework-might-be-the-straw.aspx</link>
            <description>&lt;p&gt;Yesterday my boss had me upgrade the project files of our main app to use Visual Studio 2008. &lt;/p&gt; &lt;p&gt;While doing this the migration wizard asked if I wanted to upgrade the app to work against the .Net 3.5 framework. He had said to just migrate the solution files for now, and later when there was time we would upgrade the framework version.&lt;/p&gt; &lt;p&gt;Then he asked something I hadn't really thought about. &lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;&lt;em&gt;"Does the .Net 3.5 framework support Windows 2000?"&lt;/em&gt;&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;And its been quite a while since a single question had essentially ruined my day, but this one pretty much had. I guess I should say that it was the "no" that I responded with that really did it, since it meant that it will likely be years until we upgrade it (we officially dropped support for SQL7 around June). The worst part is that not upgrading the framework for the most part the right decision for the company, as many of our existing customers use Windows 2000. &lt;/p&gt; &lt;p&gt;Unlike the 2.0 framework, which because of having our &lt;a href="http://whatstirs.com/archive/2007/09/03/i-think-reading-is-ruining-my-job.aspx"&gt;own framework essentially&lt;/a&gt; I could only really make use of generics, the new features in 3.5 framework (and inclusion of 3.0) had a lot of promise. However, since most of what I wanted to use it for could be done without it the 3.x features with some extra work, I find myself unable to come up with a strong enough case (though I really wish I could) that would counter act the possible loss of existing customers.&lt;/p&gt; &lt;p&gt;Unfortunately there is one other downside to this decision which, because of the environment that my boss has created, I doubt will come up until it is to late. Might expand on this at a later time, but I really want to get back to playing with the &lt;a href="http://weblogs.asp.net/scottgu/archive/2007/12/09/asp-net-3-5-extensions-ctp-preview-released.aspx"&gt;MVC framework&lt;/a&gt; right now.&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:478c6f49-e201-4457-ad9c-c081330922a7" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/.Net%20Framework%203.5" rel="tag"&gt;.Net Framework 3.5&lt;/a&gt;&lt;/div&gt;&lt;img src="http://sean-lynch.net/aggbug/37.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Sean Lynch</dc:creator>
            <guid>http://sean-lynch.net/archive/2007/12/11/i-think-the-3.5-framework-might-be-the-straw.aspx</guid>
            <pubDate>Wed, 12 Dec 2007 09:41:46 GMT</pubDate>
            <wfw:comment>http://sean-lynch.net/comments/37.aspx</wfw:comment>
            <comments>http://sean-lynch.net/archive/2007/12/11/i-think-the-3.5-framework-might-be-the-straw.aspx#feedback</comments>
            <slash:comments>3</slash:comments>
            <wfw:commentRss>http://sean-lynch.net/comments/commentRss/37.aspx</wfw:commentRss>
            <trackback:ping>http://sean-lynch.net/services/trackbacks/37.aspx</trackback:ping>
        </item>
        <item>
            <title>Blue screen in stereo</title>
            <link>http://sean-lynch.net/archive/2007/09/12/blue-screen-in-stereo.aspx</link>
            <description>&lt;p&gt;Had my first ever blue screen on my computer at work. Unfortunately, I think this may be foretelling a problem with the machine, since its my first blue screen since I started running XP that wasn't related to video drivers.&lt;/p&gt;
&lt;p&gt; &lt;a atomicselection="true" href="http://myheadsexploding.com/images/myheadsexploding_com/WindowsLiveWriter/Bluescreeninstereo_1E90/DualBluescreen.jpg"&gt;&lt;img style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height="180" alt="DualBluescreen" width="240" border="0" src="http://myheadsexploding.com/images/myheadsexploding_com/WindowsLiveWriter/Bluescreeninstereo_1E90/DualBluescreen_thumb.jpg" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;The picture really doesn't do it justice, but there really was something impressive and humorous (coworkers really liked it) about seeing this. &lt;/p&gt;
&lt;p&gt;Update: Turned out to be bad memory, so now Im running on 1GB at work (with a fix in the works).&lt;/p&gt;&lt;img src="http://sean-lynch.net/aggbug/27.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Sean Lynch</dc:creator>
            <guid>http://sean-lynch.net/archive/2007/09/12/blue-screen-in-stereo.aspx</guid>
            <pubDate>Wed, 12 Sep 2007 14:10:08 GMT</pubDate>
            <wfw:comment>http://sean-lynch.net/comments/27.aspx</wfw:comment>
            <comments>http://sean-lynch.net/archive/2007/09/12/blue-screen-in-stereo.aspx#feedback</comments>
            <wfw:commentRss>http://sean-lynch.net/comments/commentRss/27.aspx</wfw:commentRss>
            <trackback:ping>http://sean-lynch.net/services/trackbacks/27.aspx</trackback:ping>
        </item>
        <item>
            <title>I wish C# 3.0 was here already</title>
            <link>http://sean-lynch.net/archive/2007/09/10/i-wish-c-3.0-was-here-already.aspx</link>
            <description>&lt;p&gt;I was reading &lt;a title="IHttpContext And Other Interfaces For Your Duck Typing Benefit" href="http://haacked.com/archive/2007/09/09/ihttpcontext-and-other-interfaces-for-your-duck-typing-benefit.aspx"&gt;IHttpContext And Other Interfaces For Your Duck Typing Benefit&lt;/a&gt; over on &lt;a href="http://www.haacked.com"&gt;Haacked&lt;/a&gt;. It reminded my of something I did Thursday, which made me wish that .Net 3.5 was already usable.&lt;/p&gt; &lt;p&gt;I actually finally convinced my boss to let me try to automate at least some of the testing. So first order of business, change our the SQL installer program we use to allow it run without user interaction. &lt;/p&gt; &lt;p&gt;After a good amount of refactoring of the monolithic control function, I get that part working. It can now do everything it needs to do by passing in all the stuff I need on the command line. After answering some several questions from the junior developers, several of which they answered them selves during the course of the conversation, I start to move onto making it into something useful.&lt;/p&gt; &lt;p&gt;I decide to make a simple API that I could use to inside of programs, so I can make a quick proof of concept for my boss who is skeptical that it would be feasible to make tests for the SQL (business logic). Something along the lines of here are your options, start and let me know how it went. That's when the fun started, its a single executable file and "needs" to stay that way (which I agree with overall). After my momentary amnesia about not being able to reference exe files, I decide that I am going to use reflection.&lt;/p&gt; &lt;p&gt;My first attempt went something like: &lt;/p&gt; &lt;p&gt; &lt;/p&gt;&lt;blockquote&gt;&lt;pre class="csharpcode"&gt;//The installer has a start method
interface IInstaller{void Start();} 
public IInstaller Bind()
{
	Assembly assembly = Assembly.LoadFile("&amp;lt;Path&amp;gt;");
	Type type = assembly.GetType("namespace.frm");
	ConstructorInfo constructorInfo = type.GetConstructor(new Type[]{});
	IInstaller installer = (IInstaller)constructorInfo.Invoke(new object[]{});
}
&lt;/pre&gt;&lt;/blockquote&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;That didnt work so well, since while namespace.frm object had a Start method, it wasn't from that interface, and shared no assemblies in common that I could use an interface from. In the end I decided to make a wrapper class that would take the object and make use a delegate to keep a reference to the Start method.&lt;/p&gt;
&lt;p&gt;Something close to this: 
&lt;/p&gt;&lt;blockquote&gt;&lt;pre class="csharpcode"&gt;public interface IInstaller{void Start();}
public class InstallerWrapper:IInstaller
{
	private delegate void StartMethod();
	StartMethod startDelegate;
	object _installer;
	public InstallerWrapper(object installer)
	{
		_installer = installer;
		startDelegate = (StartMethod)Delegate.CreateDelegate(typeof(StartMethod), installer, "Start");
	}
	public void Start()
	{
		startDelegate();	
	}	
}
public IInstaller Bind()
{
	Assembly assembly = Assembly.LoadFile("&amp;lt;Path&amp;gt;");
	Type type = assembly.GetType("namespace.frm");
	ConstructorInfo constructorInfo = type.GetConstructor(new Type[]{});
	return new InstallerWrapper(constructorInfo.Invoke(new object[]{}));
}
&lt;/pre&gt;&lt;/blockquote&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Thinking about what I have read about the implementation of it in C# 3.0 I would likely have needed to do it this way anyways, since atleast from what I have read it is a compile time feature. Haven't tested it yet on my VS 2008 beta VM yet though, so I could be wrong. &lt;/p&gt;
&lt;p&gt;Oh, and please forgive the formatting of the code, haven't done it much yet.&lt;/p&gt;&lt;img src="http://sean-lynch.net/aggbug/24.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Sean Lynch</dc:creator>
            <guid>http://sean-lynch.net/archive/2007/09/10/i-wish-c-3.0-was-here-already.aspx</guid>
            <pubDate>Mon, 10 Sep 2007 13:12:44 GMT</pubDate>
            <wfw:comment>http://sean-lynch.net/comments/24.aspx</wfw:comment>
            <comments>http://sean-lynch.net/archive/2007/09/10/i-wish-c-3.0-was-here-already.aspx#feedback</comments>
            <wfw:commentRss>http://sean-lynch.net/comments/commentRss/24.aspx</wfw:commentRss>
            <trackback:ping>http://sean-lynch.net/services/trackbacks/24.aspx</trackback:ping>
        </item>
        <item>
            <title>I think reading is ruining my job</title>
            <link>http://sean-lynch.net/archive/2007/09/03/i-think-reading-is-ruining-my-job.aspx</link>
            <description>&lt;p&gt;Back in May I decided that I was going to &lt;a href="http://myheadsexploding.com/archive/2007/05/06/building-the-sit-and-read-muscle.aspx"&gt;start reading more&lt;/a&gt;. Admittedly my dedication to this has been nowhere near what &lt;a href="http://graysmatter.codivation.com/HowIAmBecomingABetterDeveloperPart1OfInfinity.aspx"&gt;Justice Gray's&lt;/a&gt;. &lt;/p&gt; &lt;p&gt;Since that first post I have: &lt;/p&gt; &lt;ul&gt; &lt;li&gt;Read 3 and 8/3rds tech related books &lt;/li&gt; &lt;li&gt;Listened to almost every &lt;a href="http://dotnetrocks.com/"&gt;.NET Rocks!&lt;/a&gt; (which I had already been listening to for a few years) and many of &lt;a href="http://runasradio.com/"&gt;RunAs Radio&lt;/a&gt; shows&lt;/li&gt; &lt;li&gt;Skimming the &lt;a href="http://blogs.msdn.com"&gt;MSDN main feed&lt;/a&gt;  for things that looked interesting. &lt;/li&gt; &lt;li&gt;Reading 25 or so mostly development blogs, thankfully &lt;a href="http://ayende.com/Blog/Default.aspx"&gt;Ayende&lt;/a&gt; is the only one who averages more then one post per day or I would never get anything done.&lt;/li&gt; &lt;li&gt;Reading through the source of a couple of open source projects I use, and submitted a patch to the &lt;a href="http://subtextproject.com/"&gt;Subtext project&lt;/a&gt; (hopefully it wasn't crap).&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;I have learned a lot. &lt;/p&gt; &lt;p&gt;Unfortunately it has been steadily reducing my job satisfaction. While some of it stems from working with a foundation I wrote in .Net 1.0 before having ever actually worked with tiered architecture, and I'm sure that a lot of it is also the "grass is greener on the other side" syndrome, I have been slowly noticing rather important deficiencies in my coding experience. &lt;/p&gt; &lt;p&gt;Chief among them are:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;No form of automatic testing or validation. This one probably isn't here for the reason that most people would think, because it improves code quality. Its here because having developers spend a day or two manually retesting a section of the program, rather then spending that day or two automating the testing seems to help &lt;a href="http://en.wikipedia.org/wiki/Parkinson%27s_Law"&gt;Parkinson's Law&lt;/a&gt; when there is no impending next task.&lt;/li&gt; &lt;li&gt;Platform backwards compatibility. While I completely understand why we need to still support SQL 2000, and completely agree with it too, it still makes me weep inside a little when I read the features in SQL 2005/8. &lt;/li&gt; &lt;li&gt;Most of what I do has little value elsewhere. Admittedly most of this one is kind of my fault, but I'll plead ignorance as my excuse. My boss is rather adamant that we only use control that we develop, or the comes from Microsoft. And since with .Net 1.0 there was no AJAX support built in, we recreated just about every ASP.Net control again, most inheriting from WebControl (I really wish .Net had multiple inheritance). &lt;/li&gt; &lt;li&gt;No real experience with cross browser support. This one is completely my fault, well 99.95% my boss did have to agree with it. For this one I plead Netscape 4.x and very heavy JavaScript/Dynamic HTML, and now there just is not enough justification to change it.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Now it is a very nice place to work, which combined with a rather intense dislike for job hunting means that I'm not highly likely to try to solve these problems by searching for a new job. Which might be a good thing, since it requires me to improve in areas outside of design/coding. &lt;/p&gt; &lt;p&gt;Hopefully I can avoid becoming &lt;a href="http://www.yafla.com/dennisforbes/Effectively-Integrating-Into-Software-Development-Teams/Effectively-Integrating-Into-Software-Development-Teams.html"&gt;the fictional guy&lt;/a&gt; who sent Dennis Forbes, and recently talked about on &lt;a href="http://www.codinghorror.com/blog/archives/000933.html"&gt;coding horror&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://sean-lynch.net/aggbug/23.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Sean Lynch</dc:creator>
            <guid>http://sean-lynch.net/archive/2007/09/03/i-think-reading-is-ruining-my-job.aspx</guid>
            <pubDate>Mon, 03 Sep 2007 12:48:58 GMT</pubDate>
            <wfw:comment>http://sean-lynch.net/comments/23.aspx</wfw:comment>
            <comments>http://sean-lynch.net/archive/2007/09/03/i-think-reading-is-ruining-my-job.aspx#feedback</comments>
            <slash:comments>3</slash:comments>
            <wfw:commentRss>http://sean-lynch.net/comments/commentRss/23.aspx</wfw:commentRss>
            <trackback:ping>http://sean-lynch.net/services/trackbacks/23.aspx</trackback:ping>
        </item>
        <item>
            <title>Still not sure, but it can be learned</title>
            <link>http://sean-lynch.net/archive/2007/08/28/still-not-sure-but-it-can-be-learned.aspx</link>
            <description>&lt;p&gt;I doubt I actually had anything direct to do with it but something seems to have clicked with one of the junior developers. I'm pretty sure it wasn't something that I had done, other then figuring out an effective way to make him realize that it is in his best interest to not need me to walk him through things. &lt;/p&gt; &lt;p&gt;Nothing threatening, simply reminding him of a couple of thing:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;I brought up that I had basically reached a plateau at the company, and that I was considering pursuing other opportunities (In fact I'm planing on talking to my boss about this tomorrow).    &lt;/li&gt;&lt;li&gt;I pointed out that if I or my boss have to walk them through the entire change, especially more then once, he wasn't really needed.  &lt;/li&gt;&lt;li&gt;I fixed my attitude, unfortunately it involved &lt;a title="Dynamics of software development by Jim McCarthy" href="http://http://www.amazon.com/gp/product/0735623198?ie=UTF8&amp;amp;tag=aspexamplesco-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=0735623198" rel="nofollow"&gt;"flipping the bozo bit"&lt;/a&gt; a little.  &lt;/li&gt;&lt;li&gt;I had him answer all of the newer junior developers questions for a day.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Truthfully, I think it was the last two parts that made the difference. Both yesterday and today I was able to answer most of his questions by pointing him towards areas in the code which implemented similar functionality, and he was able to take it from there. Saving me the 10-30 minutes while I tried to explain how to implement it.&lt;/p&gt; &lt;p&gt;Now I just need to figure out how to get them to look beyond the source file they are working in at the time.&lt;/p&gt;&lt;img src="http://sean-lynch.net/aggbug/22.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Sean Lynch</dc:creator>
            <guid>http://sean-lynch.net/archive/2007/08/28/still-not-sure-but-it-can-be-learned.aspx</guid>
            <pubDate>Wed, 29 Aug 2007 11:54:10 GMT</pubDate>
            <wfw:comment>http://sean-lynch.net/comments/22.aspx</wfw:comment>
            <comments>http://sean-lynch.net/archive/2007/08/28/still-not-sure-but-it-can-be-learned.aspx#feedback</comments>
            <wfw:commentRss>http://sean-lynch.net/comments/commentRss/22.aspx</wfw:commentRss>
            <trackback:ping>http://sean-lynch.net/services/trackbacks/22.aspx</trackback:ping>
        </item>
    </channel>
</rss>