Skip to main content

WYBIWYG

My friends lament how I’ve turned coat against the Java establishment and joined the ranks of Microsoft.  For the past few years, I’ve enjoyed a model of efficiency that I hadn’t had since the early days of Java.  Back then code was king, and writing software quickly and smartly is what made Java such a hit.

When .NET was released, it was 1996 all over again for me.  I could write code quickly, and so I did. As a result, many products I did develop, and many of which were libraries that would be incorporated into future products.  Like many Java to .NET’ers, I didn’t really understand the implications of the Microsoft’s library versioning, so I did not establish a clear version protocol for my early work.

Yesterday, that lack of foresight was my undoing.  After 8 hours of fighting with ASP, I finally got my application to work.  This was all the result of a minor bug fix in a core library that is used ubiquitously. Additional products of mine that are incorporated into my client’s projects were also affected by this bug fix, so I had to update them as well, and so on.

In the realm of .NET 1, this was very easy to do.  ASP.NET in version 1 was good about letting you decide what libraries would go into your web application.  I call that WYBIWYG, or “What You Build Is What You Get.”  That’s a great thing for programmers, because we tend to have lots of junk on our development machines for other clients and projects.

In the world of .NET 2, though, it is different.  Microsoft has “fixed” ASP so that it can load libraries from the GAC (shared library space) as well as from a local bin directory.  Unfortunately, you specify libraries using the configuration file of the web application or just plunk them into the project output directory.  But that really doesn’t work.  You have to use the VS.NET 2005 IDE to figure out how to include the external libraries into your project output, which doesn’t work either.  All that ever did was cause the ASP worker process to “terminate unexpectedly.”

If you try to include libraries into your project, and they turn out to also be registered in the GAC, then they will be included as GAC libraries in your web configuration file.  When you go to deploy the web project, they aren’t in the deployment output because they are assumed to be in the GAC of your server. That’s not always the case when you have a variety of projects hosted on the same server.

From all of this, I concluded that ASP.NET 2 is not WYBIWYG compliant because it includes “phantom” library references that you can not override with any measure of determination.  You simply are forced to install your libraries into the GAC and hope that they do not conflict with any other projects on the server.  That, in the Java world, is considered a dirty deployment, tantamount to sticking your library jars in the “ext” directory (no no!).

I like .NET and will continue to espouse its efficiencies and support, but I can not say the same for ASP.NET 2.  The Java Enterprise platform is much more friendly to developers because you can truly get WYBIWYG (except in early versions of JBOSS) for your projects. That, my friends, is peace of mind.

Popular posts from this blog

THE RISE OF FASCIST SOCIAL MEDIA

The Merriam-Webster dictionary defines fascism as: a tendency toward or actual exercise of strong autocratic or dictatorial control .  The phrase "dictatorial control" is important for the case that I am going to make about fascism in social media. The word "dictatorial" means "of or relating to a dictator," and a dictator is "one ruling in an absolute and often oppressive way." In 2020, social media has seen a rise in the number of autocratic events of censorship. The two social media outlets that I am going to focus on are Facebook and Twitter.  Background Facebook is a semi-private curated blogging platform where you, the user, share information at your leisure. The public part of Facebook is in Facebook Groups. With a group, outside people who are not privy to your "Facebook Wall" will join your group and establish a communal discourse. This can be private, by invitation only, or public. The Facebook is auth-walled so that you must

DNS Custom Logs and selinux

If you google "named custom logs selinux" you will find quite a bit of chatter about setting up custom logs outside of /var/log for DNS (named). These posts are interesting, but they tend to be run on posts about learning selinux and becoming an expert on named. What you need to know? If you have setup custom logging locations in your /etc/named.conf file, such as:     channel default_file {         file "/var/log/named/default.log" versions 3 size 5m;         severity dynamic;         print-time yes;     }; Then you will likely see errors like this in /var/log/messages: Oct 26 11:41:13 namedsvr setroubleshoot: SELinux is preventing /usr/sbin/named from write access on the directory /var/named/chroot/var/log/named. For complete SELinux messages. run sealert -l 6eab4aaf-e615-4ade-9e88-4efdc789eaf2 Then you run the sealert command as suggested by the very friendly selinux audit log and you are told: #============= named_t ============== #!

Outlook Configuration

To read all email in text and be able to extract the mail using mail headers: > regedit HCU/Software/Microsoft/Office/16.0/Outlook/Options/Mail   MinimalHeaderOn = 0 (dword)   ReadAsPlain = 1 (dword)   SaveAllMIMENotJustHeaders = 1 (dword) restart Outlook afterwards, maybe even reboot just for good measure. Now you get to see all of those phishy urls in the emails and you can get all of those embedded image attachments as raw encoded binary when you get the header details on the message. Put the Message Options button in the hot button task bar so you can quickly get this info. No more phishy phish from the numbskulls. I take payment in coffee. It's been a long time since I've had Jamaica Blue Mountain. Just saying. If you know how to disable the jpeg thumbnail render of attachments, please share on twitter. That's an obvious vector.