Welcome to DevAuthority.Com Sign in | Join | Help

OK, this has been a strange journey.  A week or so ago I ran into a problem with a smart client (1.1) I had created for a client.  To recap, the problem was since I installed the 2.0 Framework (VS2005), when clicking on the link to launch the smart client, IE would bring up the File Download dialog.  In other words,  IEExec was not seeing that the exe was a smart client and thus not launching.

Well did some more testing and it is indeed 2.0 causing the problem.  If I uninstall VS2005 and the 2.0 Framework, the 1.1 smart clients start working again, reinstall just the 2.0 framework, they no longer work.

As a further test, I tried to convert the smart client to 2.0 and use the ClickOnce technology (which is very slick by the way).  This would be a better solution anyways and wouldn't take that much to convert the program to 2.0.  Well converted it, published it to the web server and tried to launch by pointing a link to the .application file and the browser simply brings up the raw XML from that file.  IE does not even try to launch the app.

I ran the 2.0 app from the command line using

rundll32.exe dfshim.dll,ShOpenVerbApplication http://www.malachicomputer.com/test/test.application

and everything ran fine....it is just as if the link between IE and the smart client technologies is broken when 2.0 is installed.

All very strange and it seems that some people are having simliar problems so I'm not alone, although I have yet to see anyone that has found a solution.  So any insight anyone possesses would be greatly appreciated.

Good article here that gives a good overview on Dual Core processors and those employing HT (Hyper-Threading).  I especially like the path the Microsoft has taken in it's licensing concerns with Dual Core processors.  Microsoft chooses to see that as one CPU in regards to licensing whereas some other companies have not gone that far yet.  Dual Core still being a bit pricey, it would pay to check with what software vendor you use to confirm the licensing requirements.  Seems to me that Dual-Core (will we see quad-core or higher in the future?) will be the way of the future.

I just found this nice free service where you can send files up to 1GB in size.  YouSendIt.com simply asks for an email address to send to, file to send and optionally the from and a message.  The recipient receives a notification email with a link to download the file.  The files stays on their servers for 7 days after which it is deleted.    They also have a secure site using HTTPS for those that need it.  Pretty handy little service.  They allow you to prepopulate the to address if you wanted to link from your website say.  They seem to make their money through advertisments on the page the recipient goes to pick up the file (although sometimes I don't seem to get an ad)

Just so I don't sound too much like an commercial for them.  I have been a bit disappointed with their support.  I emailed them twice asking about the possibility to prefill not only the recipient field but also the from, file and message through a querystring parameter and have yet to even receive an aknowledgement email, perhaps I've been too impatient, but even though this is a free service, it would be nice to recieve some sort of acknowledgement that they at least received my email.

I had an app that a user would run that killed the processor.  The app doesn't have a GUI to speak of so we weren't worried about the responsiveness of the GUI of the app itself, but the user would start the process, minimize the app and let it do it's thing.  The user complained that while the process was running the machine was sluggish.  The code running is within a third party FTP component that while downloading large files just sucked the processor's time.  What I ended up doing was just lowering the priority of the running process at the start of the long process (the FTP download) and then reset it to normal when it was finished.  This was enough that the machine was more responsive and the app ran well enough in the background.

Code here for my reference in the future.

      Process.GetCurrentProcess().PriorityClass = ProcessPriorityClass.BelowNormal;
      ... //perform long running process
      Process.GetCurrentProcess().PriorityClass = ProcessPriorityClass.Normal;


I see Jeffrey has released a new version of EZWeb.  I have yet to check it out, but have been reading about it for some time.  I need to look at this soon.  I've put up a few sites for some non-profit youth sports organizations on a volunteer basis, but need something for those sites that would make it easy for me or others to put up content.  I need something simple and easy to deploy and don't need the the full power of a portal like DNN.  Will check this out.
In my current project converting an ASP/SQL Server website to an ASP.NET / MySql site, I've turned to a tool I'ved used in the past occassionally to handle all the MySQL admin / and query development/testing needs.  It's called SQLyog,  and is really quite capable even in it's freeware version.  I've used phpMyAdmin in the past, but have always found it to be a bit hard to work with (I just don't care for the web interface).  There is a commercial version of the "Yog", as I like to call it, and I'm pretty sure I'll be purchasing it soon as I do maintain quite a few sites that use MySql as a backend.
Eric Wise once again comes up with a great writeup on keeping good talent.  I think it takes a number of things to keep the talent around.  I worked at a company that paid very well and raises were in line with performance, never had any complaints there and that alone attracted the talent.  However, once there, there was nothing else that was really attractive.  Oh, everyone was pleasant and it was a small company, but there were very few at-a-boy's or pats on the back, very few fringe benefits.  Everyone is always focused in on the salary and while that is a very important component, there are so many intangibles that as important (if not more important) to the overall satisfaction of the employee.
Noticed the Indeed job search engine today (then found that Darrell Norton mentioned it as well).  I agree with Darrell that this could be huge.  I used to work for a large recruiting network developing software for recruiters and the problem always was getting the jobs and job seekers the exposure to other recruiters.  Here we have finally a simple search engine (pretty fast in my testing) that gets those job listings into the hands of the ones that really need them, the job seeker.  This is one of those projects that I step back and look at and say, "Man I wish I would have thought of that first!"
Yes I can not wait until AOE III is released.  I've played since the first one was released and admit I can spend too much time playing.  Actually though, I've never really been that good, my wife and 10 year old son can play rings around me.  But boy 3 looks pretty impressive.  I may just have to upgrade my machine for this one!
A client I've been working with for about a year wanted to get their internet website away from using the SQL Server that is inside their DMZ.  Since the database work the site does is very minimal and mostly just lookups, the expense of licensing another SQL Server was out of the question, so we decided to use MySQL running on the webserver itself (not a high-traffic site).   The site was written in ASP with some VB6 backend DLLs doing mostly data access.  Well unfortunately the codebase was shared with the companies internal Intranet site and the way it was written to try and decouple it from the Intranet for use on Internet would have been unwieldy.  So we decided to switch the site to ASP.NET which they are wanting to move to eventually but was never a high-priority.  I figure it will be easier to recreate the site in .NET (no content / design changes) then to retrofit the VB6 code written many, many moons ago.

So not exactly a new project, but always fun to jump into something like this.  I enjoy these type of projects as they are typically low-risk and don't take a whole lot of brain-power so it's nice to get a break from a heavy new project from time to time with something like this.

Here's wishing Eric Wise success on his open source endeavor I look forward to following his success.  As a professional developer I have mixed feelings on open source.  While I like the concept, use a fair amount of open source utilities and such, and like to give back from time to time....at the end of the day, my kids still need to eat.  Conceptually, I have a hard time grasping how to make a living giving away software.  Please enlighten me if I'm missing something obvious.  Meanwhile, good luck to Eric and I will continue to follow his progress!
Recently working on an app that was uploading data from an Access database to remote SQL Server hosted by my clients website host.  The way the app was originally written just using inserts was taking well over 20 minutes to run and the amount of data was only growing and would therefore slow down even more.  I tasked myself with finding a better way.  I found some information on SQLXMLBULKLOADLib (although there's not much out there) and thought I'd give that route a try.

After some reading and trial and error, boy am I happy that I went that route...what  a difference it made... a 20 minute process is now under 2 minutes (and I could probably improve on that with some further optimization).  Code is simple..


            SQLXMLBULKLOADLib.SQLXMLBulkLoad3Class jBulkLoad = new SQLXMLBULKLOADLib.SQLXMLBulkLoad3Class();

            jBulkLoad.ConnectionString = "put your connect string to SQL Server here"

            jBulkLoad.ErrorLogFile = @".\error-ci.log";

            jBulkLoad.Execute("CustomerInfo-schema.xml","CustomerInfo.xml");


The Execute function has two parameters, the first being the schema of the data, the second being XML representation of the data.

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"

            xmlns:sql="urn:schemas-microsoft-com:mapping-schema">

 

  <xsd:element name="CustomerInfo" >

  <xsd:complexType>

    <xsd:sequence>

      <xsd:element name="CustomerID" type="xsd:integer" />

      <xsd:element name="CustomerName" type="xsd:string" />

      <xsd:element name="CustomerAddress1" type="xsd:string" />

    </xsd:sequence>

    </xsd:complexType>

  </xsd:element>

</xsd:schema>


It just so happens my Access tables and SQL tables match exactly structure wise so this fell into place quite nicely.  I believe there is a way to translate the Access data into a differently named field in SQL, but I haven't tackled that yet.  I imagine it is just a simple change to the scheme XML. 

To generate the Data XML file I simply create a dateset with my data I want to upload and save it in XML format

        // save the XML file

        ds.WriteXml("CustomerInfo.xml");


The Execute method also accepts an XML Stream for the data XML instead of a file.

That's all there was to it....I'm sure it can be optimized more, but this is a huge improvement over what it was.  I'm sure I'll be coming back to this technique in the future.

As always I'm open to suggestions or anything constructive as I'm always trying to learn!

Today is my 13th wedding anniversary, can't hardly believe it's been that long.  Doesn't seem like anything's changed, yet just about everything has.  Four children, changed jobs a few times, now I own my own business,  older, more out of shape, quit smoking, .... list could go on and on. 

Interesting to look back at the state of computers and see how far we've come in the last 13 years.  Back in 1992 I didn't own my first IBM pc....I was still working with an Amiga 500 at home and on UNIX VAX/VM machines in school (I didn't graduate college until 1994).  I was writing code on the Amiga in C and assembler.  Visual Basic 2.0 was just released, although I didn't get involved with VB until version 4 in 96 or so.  Windows 3.1 was just released and I can remember a lot of the PC people talking about this new OS.  From what I saw the AmigaOS at the time was still ahead in terms of features, functionality and performance so I never gave it another thought until a year or so later when I started my first real programming job writing code for DOS and Windows.

Well looking back I can say that not only did the computer industry improve over time as it matured, so did I and my marriage!

It appears that DNJ may be upgrading right now.  I've noticed for the last few hours an "Upgrade in Progress" page.  Hope the upgrade goes well for them and hope the community becomes stable again.


I've had my Dell laptop (Inspiron 9200) for about 6 months now.  Had a little issue with the wireless card a few months back that new drivers seemed to fix.  Well last weekend my harddrive died.  Luckily most everything was backed up and only lost some very minor things.  Still under warranty so called Dell and after about 20 minutes of diagnosis by the tech, he decides to send me a replacement drive.  Received it two days ago, now my laptop is up and running again like a champ......

Now my issue with all of this is

  1. This is not the first Dell machine I or a client has received where harddrives have failed within 6 months.  Had a client purchase 12 workstations about a year ago...within 3 months 10 of the harddrives failed.  Another client (I'm not doing their hardware just some software work), purchases D600s for most of their sales force has had harddrive failures.  Why so many failures so soon?  Is this an industry wide issue?
  2. Why, when I purchase a new laptop, paying good money for it.  The harddrive fails within 6 months and they send me a refurbished drive? 
I'm not wanting to start any problems as overall I've been very happy with my Dell machines as have my clients whom I've recommened them to, just curious as to why the seeming rash of hard drive failures.

More Posts Next page »