Technosutra

sutra - n: a group of aphoristic doctrinal summaries prepared for memorization
Welcome to Technosutra Sign in | Join | Help
in Search

Darryl T. Agostinelli on Software

  • The Role of Technology

    Technology is the decisive component which determines the speed at which a business can commoditize the competition’s advantage and simultaneously develop and protect its own. 

     

    I love that statement.  I run around quoting it as much as possible.  BTW, I'm talking business here, not healthcare, education, and all of the other humanistic things technology gets us -- just it's use in business (and war I suppose)

     

    It comes down to this. If your competition has a really cool idea, then copy it.  Use technology to make your competition's really slick idea boring and common.  Make it a commodity.  Make it nothing special.  That, to me, is the first use of technology -- By commoditizing it, you take away your competition's advantage.  The second use of technology is to try and innovate a new advantage.  To do that, you'll have to spend time thinking up ideas, applying creativity, research, experimentation, etc.  It's far easier to just copy someone else's great idea.

     

    I know this sounds kind of crappy.  So many companies, small ones usually, refuse to do that.  They'd rather seek to the nobler path by trying to innovate a better way without seeming like they are copying their competition.  That's very commendable.  I respect it.  It's also the hardest path and arguably the least profitable.

     

    If your competition has a great idea and they are using it to make money, and you don't have it, then you are leaving money on the table.  As fast as you can, you need to be doing the same thing or better.  If you have the time and the resources, maybe you should try to innovate a little, but becareful!  The competition will copy that innovation in short order.  But don't lose too much sleep over it.  It's inevitable and impractical to guard against.  The best you can do is

     

    Good Luck!

     

  • The Basic Factors of a Services Organization

  • Verizon XV6700 PDA Phone is CRAP

    For the last week or two, I got excited when I found out that Verzion finally released a phone with Wi-Fi that doesn't require me having to pay $50/month for EV-DO access to get on the internet.  I use the Wi-Fi when I'm home (I want it to sync with Exchange as soon as I enter my house -- with no docking) and when I'm at work (I want it to sync with Exchange again with no docking)
     
    Well, it was too good to be true. I just found out, after much pain, that I do not want that phone. Verizon has actually gone out of their way to hack the phone. What they did was make it so that you can't use the Wi-Fi and the phone at the same time. They deliberately damaged the phone. Sprint is currently the only carrier that carries this phone in it's original up form. To use the Wi-Fi, you have to restart the phone -- at that point, the phone won't work.  To make the phone work, you have to restart it again. So, the way to use the internet their way is to pay their stupid EV-DO $50/month thing -- which I want absolutely no part of.

    This is evil, evil, evil at its worst and I hate this.

    I'm so depressed.

    I hate cell phone companies. Why must they be so evil.

    I'm not going to switch to Sprint either.  I switched to Verizon back in 2001 because Sprint was being diabolical back then.

    I felt the same way when Road Runner turned off static IPs and then decided that the only way you can get one is if you upgrade to their commercial service which is a little faster, but far more expensive.  Then they go and release their "gamer" service which is really fast, but I can't have it because I have the static IP.  Grrrr.  I royally hate this.  Forget trying to reason with the reps on the telephone.  They know nothing about the technology they sell.  I wish there was a special "programmer" hot line -- where you can call and talk to a System Admin who knows his TCP from his IP -- and understands that we don't want no stinking rules and crap to prevent us from using the technology as it was made to be used.

    The rep told me that the reason they did that was because regular users would use the EV-DO without knowing it and without a plan. Then end up with a $3000 bill that they couldn't pay.  My ass, this is diabolicalness at its best.

  • SQL Server Express 2005 has a 4GB limit

    Yup, it's true...  SQL Express has a 4GB limit.  It's tough to get to 4GB for most normal things, but I'm building a data warehouse.  This irked me and cost me around 2 hours while I cleared space on a Windows 2003 Server with SQL Server 2005 running on it. 

    It seems that SQL Server 2005 has a number of license limitations.  I constantly run across them.  A number of particularly frustrating ones have to do with SQL Integration Services -- aka DTS.  Very annoying.

  • Boot Times and Dual CPUs

    I am often purturbed when I think about boot times, app load times, my memory usage.  So, I finally did some unscientifc experiments to get to the bottom of this -- at least to satisfy my own questions.  Mainly I was interested in determining if it was the OS or the applications that I run which are responsibile for the excessive use of resources.
     
    After I reformatted and installed Windows Server, I found it to be VERY fast!   It idled at less than 100MB of RAM which I thought was excellent.  I did the same experiment with my laptop (which runs Windows XP) and found the same.  With no IIS or SQL Server installed -- or MS-Word or anything, the OS is efficient.  It boots very, very fast and is good with the memory.
     
    Then I turned on IE -- RAM usage went crazy. I can easily end up with a 30-40MB IE process.  I turn it off -- it's better.  I turn it on -- excessive RAM use.  I guess it's to be expected. We don't get memory usage performance counters when we write HTML.
     
    NOTE: When you use the task manager -- don't be a meathead.  Turn on the "virtual memory" column.  If you try to figure out how much RAM your app uses without counting the VM, you're a meathead.
     
    Then I installed IIS -- Ram usage went crazy.  SQL Server, crazy again. MS-Word, Outlook, etc now I'm over 500MB of RAM and I'm not really doing much yet.  In fact, Outlook alone can suck up 90MB of RAM.
     
    Often, I'm working at around 800MB of RAM on my desktop and I'm not even playing a video game.
     
    Ok, I guess most people don't have IIS and SQLServer running all the time.  (I'm a developer)  But slow boot times also come from the MS-Office stuff, AIM, MSIM, ZoneAlarm, GoogleDesktop and that Adobe Tray Icon.  Together, AIM, MSIM, ZA and GD exceed 100MB of RAM just idling, often more when they are being used.
     
    So it's not the OS!  It's the apps you run on it.
     
    I chalk it up to programmers not profiling their code
     
    The "quick" solution to getting around the slow experience is to run with dual procs.  Everything "seems" faster when you run with 2 procs 
     
    Some might say that "the answer isn’t dual procs because the bits have to be written to take advantage of the second proc.  I’d be surprised if AIM was multithreaded on purpose."
     
    Well, the two procs don't help AIM run better.  But that's not the point!
     
    Multi-procs help me run Outlook, MSIM, IE and AIM at the same time.  They all "seem" to run faster, because they get more CPU time.  What you mainly experience right off the bat is increased load times -- which is in essence what makes booting faster.
     
    So, yeah, no one writes a multi-process application these days.  (BTW "multiprocess" applications take advantage of multiple CPUs, not "multithreaded" applications.  Only processes can jump CPUs.)  But who cares.  Dual CPUs still make the world load faster and gives more CPU time to my applications and that's why 2 or 4 or 8 is better than one. 
     
    There are a few motherboard architecture issues you have to be aware of when you build a multi-proc machine.  Mainly, you need to find a chipset that won't bottleneck the buses.  Intel's new Dual Core CPUs do a good job of that.  And incidently, that's pretty much the same as running 2 CPUs.  But becareful beyond 4, things get weird.
  • ASP.NET 2.0 Demo Videos

    Scott from Vertigo Software has done it again with his demos for ASP.NET 2.0.  I especially liked the ones on memebership and profiles. I learned what I needed to know to make it happen in 30 mins and then another 30 mins to do it for real.  I spent more time in between just thinking about how powerful this was and how much code I didn't have to write.  Quite amazing.
     
    Link:
     
  • ActiveX Display Issue in IE

    On April 11, Microsoft is expected to release a security update that will affect the way users interact with embedded rich media content including Macromedia Flash, Java Applets, Real Networks' RealPlayer, Microsoft Media Player, Apple's QuickTime, and ActiveX controls. Users will be shown the outline of the control and on mouse over of the area a tooltip will prompt the user to click and activate the control. This change is a result of a patent infringement lawsuit by Eolas Technologies against Microsoft. Needless to say that the user experience will be less than optimal on IE browsers once the security update is released on April 11 and gets widely installed.

    Fortunately, there is a work around. In short the code change required would be based on the following principle: If the tags (EMBED, OBJECT, APPLET) that get used to embed the rich media content is written dynamically using client side JavaScript, then the embedded content will function as before. The work around is outlined in the Microsoft article referenced below.

    Below are some useful references:

    http://msdn.microsoft.com/library/default.asp?url=/workshop/author/dhtml/overview/activating_activex.asp

    http://support.microsoft.com/kb/912945

    http://www.macromedia.com/devnet/activecontent/#captivate_before

  • LINQ Internals

    Linq uses C# Extension methods
    http://bloggingabout.net/blogs/olaf/archive/2005/09/18/9469.aspx

    Linq uses “lazy eval” or “deferred execution”
    http://blogs.msdn.com/dinesh.kulkarni/archive/2005/09/16/469340.aspx

     

  • Content Expiration and HTTP and Increasing Speed

  • LINQ Resources

    Here is a list of LINQ Resources

  • MSDN LINQ Home
  • LINQ Blogger RSS Feed
  • Download the Tech Preview
  • View 101 LINQ samples online

    http://blogs.msdn.com/danielfe/archive/2005/09/13/464904.aspx
    http://objectsharp.com/blogs/barry/archive/2005/09/13/3395.aspx

    A neat quote from here
    “I've been hearing for years that we're just about to see the end of relational databases and OO databases are the wave of the future.  Instead we're looking at a relationalal “language” coming to an OO environment.  Ha!“

     

  • Section 508 Tutorial

    I found this great tutorial on Section 508 compliance.  It's written by Jim Thatcher.
    http://www.jimthatcher.com/webcourse1.htm

    Just a quick scan of the tutorial will give you a very clear understanding on what making your site section 508 compliant is all about.

  • Google's Technology Architecture

    Insights into Google’s inner technology workings – from both a software and hardware perspective.

    Shows how they use software engineering for better performance and hardware engineering for reducing costs.

    http://www.infonortics.com/publications/google/technology.pdf

  • Alternatives to TOAD for Oracle Data Administration

    Someone in my office asked what people used for data access to Oracle.  The comments of this blog track the responses.  Why not add your suggestion?
  • PDC 2005

    Last week was the Microsoft PDC 2005 (Professional Developer's Conference).  It's every two years and, IMO, a pretty important conference for the work we do. I'm still trying to catch up on what was demo'd.  The two highlights that have caught my attention is LINQ and Windows Workflow Foundation.
     
    If you use http://blogsearch.google.com and search for either subject, you'll quickly get a feel for what these two things are and what they can do for clients.  I'm especially interested in the second one because it has direct business benefits.  The first one is more of a "gee whiz" for developers which will help move us even closer to total commoditization.  Aside from that point, it's a very slick way to do OR mapping and Database queries.  I'm curious about performance and a few other key points.  Anyhow...
     
    Here are some links to get you going if you are interested in any of this:
     
    LINQ:
    http://objectsharp.com/blogs/barry/archive/2005/09/13/3395.aspx
     
    Windows Workflow Foundation:
    http://www.msdn.microsoft.com/windowsvista/building/workflow/
     
  • Keyword Map of the Internet

    I ran across a fascinating link today.  This site, KwMap, has built a site around keywords.  The idea is that you put in a keyword and it shows you all the other keywords related to the topic.  In many ways, I can see this being somewhat useful.  If you think about it, what wastes your time when you use a search engine?  For me, it's choosing the right keywords.  I usually begin with the keywords that I know and begin reading related documents.  I try to build up some knowledge about the subject and a relevant vocabulary.  Then I start plugging in the words that I just learned to see what I find.  Over time, it starts to become obvious if you've got the right keywords or not. 

    Anyhow, a site like this might help getting to the right keywords quicker. 

    Now what would be really cool is if this thing could let you start selecting keywords related to the topic you are interested in.  It would put them in some kind of a clip board.  Then it would start suggesting topics related to my set of keywords.

More Posts Next page »

This Blog

Post Calendar

<January 2009>
SuMoTuWeThFrSa
28293031123
45678910
11121314151617
18192021222324
25262728293031
1234567

Syndication

Powered by Community Server, by Telligent Systems