Archive for the ‘Rant’ Category

May 7th, 2009

Google Alerts for Real Life

I have always been driven by the idea that computers and to the greater extent the internet should be as transparent as possible to the users.  People shouldn’t care about what the hot new websites are to meet people with similar interests.  In fact I think this is most of the problem why people are becoming more and more disconnected from each other on a personal level.  And more and more disconnected from the human experience, of social interaction.  There is so much communication that is lost when you cannot see a person face to face, and experience things in the same environment that they do.  Wouldn’t it be great if you could find and meet new local people with similar interests, hobbies, and ambitions, whatever they maybe.  The Internet currently excels at all of this even getting people physically together to meet.

However, this requires a lot of active participation of the person searching and trying to find the right website where everybody of a particular interest meets, and then you need to find somebody locally who is willing to meet up for dinner or a gathering of some kind.  This is a lot of work to find people who are interested in the same stuff as you are.  And it is no wonder so many people just give up.  Now imagine that barrier is removed and finding people with similar interests, hobbies, and ambitions is a passive activity.  Where you are automatically alerted to a new person or group in your area that shares your interests, sort of like Google Alerts for real life.

I would really like to start working on this problem with a small group of developers and people that share a similiar passion to physically connect people in a meaningful way with other people that share their interests.

Tags: ,

Posted in News, Personal, Rant | kick it on DotNetKicks.com | Bookmark | View blog reactions | No Comments »

March 18th, 2009

The State of ALT.NET

Over the past 6 months I have been trying to really quantify what it means to be using ALT.NET practices. And I can honestly say that I still honestly don’t know what it means to be an ALT.NETer. But I have come to a number of conclusions about the state of the ALT.NET community, that I wanted to share.

(1) The ALT.NET Community is fractured among itself.

There are too many different ways of out there of what it means to be a true ALT.NETer. There is the Test Driven Design crowd, there is the Domain Driven Design crowd, and to many other Driven Design paradigms to mention right now. Each advocate will stand up and say that their way is the only way to develop a true ALT.NET application, and all other ways are an abomination to software development.

From this point forward…

We need to understand that it doesn’t matter what paradigm you choose to follow or even if it has a name, just that you choose a way to design your application before you start coding. And as long as the way you choose to code is robust, easy to maintain, and easy for another developer to pick up where you left off — you are doing it right.

(2) Take the religious zealotry out of ALT.NET

This sort of goes back to #1, but I feel that it needs to be called out directly. There are too many people out there preaching about how their brand of ALT.NET is the only path to salvation from the drudgery of everyday .NET programming. I have heard from a number of people that you don’t have a true ALT.NET application unless you are using an IoC library, nHibernate, and separate your domain model in to a separate project library away from your data access layer. These types of strict requirements and zealotry for one type of component set the bar way to high for any average developer to say they are following the ALT.NET principals.

From this point forward…

It is an acceptable practice to use what ever makes the most sense for your project and your team. For example if you need IoC container and it makes your life easier as a developer to build the framework of your application you should use it, on the flip side if your application is pretty static and there is no need to have these swappable containers you should feel free to not use IoC containers until your application requirements dictate they are needed.

(3) Craftsmanship with out Engineering is no way to program software.

There seems to be a very strong focus on craftsmanship over standard engineering processes in the ALT.NET community. It seems like each week there is a new hot craftsmanship feature from some other language that is trying to be replicated in .NET. Lately it has been the focus of fluent API’s and the duck typing features that dynamic languages like Ruby have built in to their frameworks. This constant change and focus on new hot must have craftsmanship features really detracts from good solid software engineering principals that should be the focus of the ALT.NET education process.

K. Scott Allen had a really good analogy of this focus on craftsmanship over solid engineering of your code. He called it the Aluminum Wiring in side your software. In his article he talked about how the shortage of copper in the US during the 60’s and 70’s caused home construction to use Aluminum wiring over Copper wiring in houses, and how the use of Aluminum caused oxidization, corrosion, and overheating of the houses electrical system. He then went on to ask if all these new craftsmanship features are going to cause the same problems in software development and he specifically called out:

  • Mock objects
  • Fluent APIs
  • Declarative programming

I believe K. Scott is not to far from the truth, because we are sacrificing good engineering practices for what really amounts to programmer candy, just like the US construction industry sacrificed good engineering materials to save a few dollars.  It didn’t pay off for the home owners in the long run, and I surmise that this focus on craftsmanship will not pay off for the software in the long run either.

From this point forward…

We need to focus on good software engineering over the latest fad in software programming.  Currently the latest fad is making C# work like Ruby.  But it is just that a fad, that will quickly fade away when something new comes along.  It is basically the programmers equivalent of the rise and fall of Paris Hilton in the media.  Ruby is a nice language and has its niche purposes on the web, however there is a reason why Ruby doesn’t run mission critical applications (ex. financial systems) like C#, C++, or Java does, it simply doesn’t scale all that well.  Only time will tell if it will be around for the long haul or fade way in to the abyss of languages that grace this earth for only a short time.  But either way we shouldn’t be making business critical changes to the way we engineer software applications based on the craftsmanship of the newest language to hit the streets.

Conclusion

My conclusion is a short one on the state of ALT.NET. From everything I have learned over the past 6 months and the immersion in the tools that have come from the ALT.NET community, I have really come to one conclusion that seems to sum them all up.

ALT.NET started with some really down to earth goals of educating .NET developers about alternatives to developing software, by taking principals from other languages and frameworks and integrating them in to the .NET developers thought process. However this simple mission statement has seemed to have morphed into zealotry for design practices and certain tools and an obsession to always change the .NET framework to work more like the latest fad instead of forging out the best practices from other languages and frameworks. The state of ALT.NET is that it is broken, because it seems to be governed by a disorganized committee of bloggers with their own agendas. ALT.NET needs a hero, and that hero just needs to set down some commandments that all other ALT.NET conversations are governed by. See Update Below This is the only way the ALT.NET movement is going to survive the test of time.

This isn’t going to be an easy task, but I am willing to work with anybody who wants to form a working group to explorer the creation of these ALT.NET Commandments. If you are interested please click the Contact link above and maybe we can get something moving to help ALT.NET survive the test of time.

Update: Lee Drumond pointed out something that I didn’t consider about what I said above, and it probably should be rephrased so it is not taken the wrong way.  I had said:

ALT.NET needs a hero, and that hero just needs to set down some commandments that all other ALT.NET conversations are governed by… I am willing to work with anybody who wants to form a working group to explore the creation of these ALT.NET Commandments.

This should have actually went something like this…  ALT.NET needs a commitee thats sole focus is on advancing the principals of ALT.NET forward and breaking down the bariers in corporations through education.  Once corporations see the benifits of ALT.NET, developers will be finacially modivated to learn the ALT.NET ways, to keep and advance their own careers.  If the movement is not organized, it is nothing more than a social group that may gain a couple followers here and there, and really piss off others, just like any social group would.

By the way nothing I have said here is anything new to the ALT.NET community, it has all been said and repeated many times over in different ways and different formats.  Unfortunately it is usually met with the same reactions, as Jeremy has commented below, and very little retrospective seems to be happening.  Everything just moves forward as the status quo, as if there is nothing wrong with the fact that the same concerns are voiced over and over again.

Tags: ,

Posted in Programming, Rant | kick it on DotNetKicks.com | Bookmark | View blog reactions | 26 Comments »

February 25th, 2009

How not to get help on an Open Source Project

So over the past couple of weeks I have been helping a user get up and running on a project I have developed called Managed Fusion Url Rewriter and Reverse Proxy.  Now I understand that my project isn’t well documented, and I really need to work on that.  So, until I get the time to better document the project, I willingly spend my time helping people through their issues.  99.9% of the time everything works out, and everybody walks away happy.  However there is this 0.1% of the time that the conversation ends like this:

Fuck all this shit crazy.  All I wanted was a revers proxy.  I can set this shit up in 20 minutes with ISA.  I don’t know why this is sooooooooooooooooooo hard.

The syntax of RewriteRule is soooooooo confusing.  WTF does ^/(.*)$ mean?
any why is there a $1 on the end of my other “thing”

RewriteRule ^/(.*)$        http://192.168.0.35/$1 [P]

What does port :8888 have to do with anything.

This is just getting to hard to make work.  I should need to have advanved knowledge of http to make stupid proxy work.
I want to proxy everything.

I don’t think the problem is with the traffic between the two web servers, the problem seems to only apply to the number of /’s in the query string and their placement.

My guess is if I could figure out how to make more RewriteRules and define all the / cases the shit would just go.  Somehow when there are a few slashes in the query string your guy drops the ball.  Maybe because my RewriteRule is balls or because it’s broken.  I wouldn’t know either way.

All I want it to do it fucking work.

Ugh

I mean how do you respond to this?  The guy basically has started freaking out on me, because he doesn’t understand the basic premis of what my open source project is trying to accomplish and is unwilling to spend the time to learn about the mod_rewrite syntax. Plus none of what he is saying is true, I eat my own dog food on this project.  So I imidiatly know about simple problems such as query strings are not working.

Basically the whole problem came down to the fact that this guy was in a crunch, didn’t understand the basics of the internet, and thought it would be easier to use a new technology instead of one that is proven for him such as ISA server.  None of this is my problem so it is inappropriate to swear at a person just trying to help you out.  I understood he was frustrated with a technology he has never used before, but I wasn’t going to continue a conversation with a guy who was proven to be unstable and irrational.  So I just replied with:

Ok I am done you are on your own.

There really wasn’t any point to this post besides airing my disgust at this type of user.  Also to shed light on the fact that even though I am developing this software on my free time, giving it away for free, and supporting it for free, that there are many people out there that don’t understand this and demand the same level of support as if they just paid you a months worth of their salery for support.

If you ever find yourself heading down this path, be aware that people who create open source software are dedicating their free time to help you out.  So be grateful for their help, because they could just as easily blow you off and spend time with their family.

Tags: , ,

Posted in How To, Rant | kick it on DotNetKicks.com | Bookmark | View blog reactions | 6 Comments »

September 2nd, 2008

Google Chrome, The New Kid On The Block

So when Google announced they had a new browser that was going to break down all the barriers of the internet and the desktop I got excited at the prospects of what they were going to do and what this new user interaction would be. Well today they finally announced the release of the browser and made it public at:

http://www.google.com/chrome

However after a quick inspection of the user-agent I soon realized that they didn’t create a new browser just a slight modification of Apple Safari.

It is Safari with just a more standard Windows interface, something Apple should have really done. They even copied it all the way down to the great XML support that Safari has.

Here are some more of the screen shots from Chrome.

I honestly would wait and not give this any air time, but I know that won’t be the case because everybody is already fawning over it. Now thanks to Google and the slight modifications they made we now have a 5th browser that us developers now have to support.

Thanks for nothing Google.

Tags: , , ,

Posted in Rant | kick it on DotNetKicks.com | Bookmark | View blog reactions | 1 Comment »

May 23rd, 2008

Microsoft Source Analysis Still Needs Work

Somebody is wrong on the internetMicrosoft just released a tool called Microsoft Source Analysis for C#. Apparently it is a tool they use internally to make sure all their souce code looks the same and is easily readable by all those who use it. According to the blog post that announced this:

Source Analysis comes with a set of default rules analyzers covering approximately 200 best practice rules. These rules are full compatible with the default layout settings in Visual Studio 2005 and Visual Studio 2008.

Specifically, these rules cover the following, in no particular order:

  • Layout of elements, statements, expressions, and query clauses
  • Placement of curly brackets, parenthesis, square brackets, etc
  • Spacing around keywords and operator symbols
  • Line spacing
  • Placement of method parameters within method declarations or method calls
  • Standard ordering of elements within a class
  • Formatting of documentation within element headers and file headers
  • Naming of elements, fields and variables
  • Use of the built-in types
  • Use of access modifiers
  • Allowed contents of files
  • Debugging text

So being a neat freak about my code I had to download this tool and give it a shot. I was very excited about the tool and had great hopes for it. However when I actually tried the tool, there was no configuration for turnning off some of the rules that you didn’t agree with, like there is in the code analysis analyics tool.

I got literlly over 1000 messages about using spaces instead of tabs, in 3 files, because they felt it nessisary to alert me about every single line of code in my files. They also suggest I put the using statements inside of my namespace. I don’t know about you, but I hate the look of that, because stuff should be logically packed together. Only the classes show up in the namespace when you are referencing them, and the using statements are just a compiler indicator, not actual code. It did alert me about a couple of things that I found useful, such as when some of my XML comments weren’t long enough and or missing, and other nicities that I can agree with.

However, I am one of those strange developers, according to Microsoft, that likes to use tabs and have my declartion of using statements outside of my namespace. If I were to take this tool seriously I would have to be shunned from the Microsoft Campus and shammed in to never coding again. I guess I should start including the Rob Conery SupressMessage on my code:

[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "1000:YouShouldntBeCoding", MessageId = "1#",
Justification="That's not very nice... but I'm used to it :p")]

Of course I am joking about this, and I think these rules from Microsoft are totally wrong and out of wack with most C# developers. Mostly for the fact that the rules are not fully compatible with Microsofts own defaults they ship. First of all when you create a new class in C# the using statements are outside of the class you create. Second I find that using spaces just forces me to resync my code formatting more often because the spaces tend to get out of wack when you are developing software. Plus you are creating 400% more bytes in your file by using spaces over tabs. I know harddisk space doesn’t cost that much, but if you are using a system like TFS it just adds unnessisary bloat to your SQL Server database.

I would have probably agreed with a good 95% of their over 200 rules, if I could get past the 3 files with over 1000 messages about using spaces instead of tabs. I really feel one alert is good enough. It still has many usability and configuration issues to overcome before it will be widely accepted by non-Microsoft developers. Plus all that being said above, I am just stubborn and like my coding style.

Posted in C#, Rant | kick it on DotNetKicks.com | Bookmark | View blog reactions | 8 Comments »

May 13th, 2008

Software Developers Never Change

Whenever I am tasked with looking over a fellow developers code I always keep the following in mind, in order to ground myself:

your program (n): a maze of non-sequiturs littered with clever-clever tricks and irrelevant comments. Compare MY PROGRAM.

my program (n): a gem of algorithmic precision, offering the most sublime balance between compact, efficient coding on the one hand, and fully commented legibility for posterity on the other. Compare YOUR PROGRAM.

I found this on Jeff Atwood’s blog last year, and it pretty much sums up every programmer that I have ever met even my self.

What made me think of this and want to share it with my readers was a posting I saw on Lazycoder’s blog today. Which was a reposting of a Reddit comment. I am going to break down the comment with my own comments on the subject, because I feel it is important for people, especially young software developers, to fully understand the wisdom in this comment that was posted on Reddit.

I’m sorry, but this is just nonsense.

People are forever coming along and proclaiming that software engineering is in a state of crisis. And always their reasoning is that (other) programmers aren’t smart enough.

You will find many software developers, in your career, who have a martyr complex. They see them selves as gods gift to the computer, and their code could only be matched if Einstein, Mozart, and Michaelangelo could be combined in to one person of complete brilliance. Of course this is all crap and their code usually is far below average. In reality they just don’t have enough time, to study up and learn new techniques, between playing WOW and filling out their fantasy football charts. So they need a scape goat and it is usually that their co-workers are slacking off, or they aren’t “smart enough” to keep up with their brilliance.

If you can’t figure out who this guy, that I described above, is in your office, chances are YOU are “that guy”.

They, of course, are special magical code gunslingers with superhuman intelligence, members of the top 5%. (Surely software engineering is blessed to have 90% of its practitioners located in the top 5%!)

But the truth is that there is no crisis, and there never has been. The only problem, and the reason software projects keep failing, is that of unrealistic expectations.

I believe there are unrealistic expectations, because many project managers were former coders, and in my experience half of them that I have worked for are “that guy” that I mentioned above. However the blame as I see it is a project managers complete ignorance in how to set expectations with his boss.

My personal philosophy, even before I had the words, has always been “under promise, over deliver”. That is how you become a rock star in your field, no matter what it is.

Software is hard. Really hard. This should not be surprising to anyone who understands that it is really the field of assembling instructions for doing… anything. Anything that people want to get done. It’s sort of a meta-field that encompasses almost all other fields, with more being added every day.

Of course it’s hard. The only real question is why people consistently underestimate its difficulty, especially why they underestimate the difficulty of any particular software engineering task.

One word: Hollywoodization. In Hollywood all programming is done through a GUI that doesn’t look any different than the kids games of dragging the square object in to the square hole.

Also project managers conveniently forget their stints as software developers, because their yearly bonus relies on released the code by using 80% of the staff that is required and doing it in 80% of the time it would normally take.

It’s always about numbers and money.

I think there are a number of reasons for this:

1. “It fits in the little box, how big can it be?” Humans, particularly those who aren’t technical, have a tendency to judge difficulty with their eyes.

There is nothing more true than this statement. Politicians have a statement for this: Perception is reality. The perception is that small things go in small places, in reality these people don’t take in to account the vastness of a hard drive or the internet. That is why companies such as IBM spend millions of dollars in advertising to explain how a whole server room can fit in one rack of blade servers.

2. “It’s just a word processor.” Everyone understands what they are building, what the set of instructions is supposed to do, and they probably know how to do it by hand, albeit very slowly. They tend to assume that writing the software is just a matter of telling the computer to do the same thing, but faster. What they do not realize is that they don’t really know how their brain works at all, and that all the details which they can just leave to their giant neural net when doing it by hand, have to be figured out and brought consciously to the software.

Programmers have an acronym response for this mentality: SMOP which means Small Matter of Programming. It is an inside joke, because most programmers understand there is nothing small even with the smallest feature request. New features have a rippling effect through the whole application especially when your widget was never designed to do what it is now being asked to do.

3. The Cult of Smart. Programmers, on the other hand, have figured out that software is complicated, and that being smart really helps; in fact, nothing is a substitute for it. This causes them to emphasize it, convince themselves that they have an abundant amount of it, and to convince themselves that results are not the result of them learning about problem domains, and building better and better versions iteratively, but just the inevitable consequence of bringing their enormous brain to bear. This leads to things like the “Agile Methodology”, as in “I’m so Agile I don’t need a Methodology.” Instead of realizing that you have throw one away (usually more like ten), they think they can be so magically smart they don’t have to.

This mental break down usually happens with “that guy” mentioned above. He might have started out as a decent programmer, buy somewhere in his career he got one too many pats on the back and it all went to his head. He stopped searching out for new knowledge and become content with his current set of knowledge. Or he got distracted in an unrelated field because he felt he was at the top of the software development field, and while he was collecting paychecks for software development, and focusing on his distraction, the software development field passed him by, but he was too distracted to notice.

Either way this person lost sight of what originally brought them to software development and kept them thirsting for every protocol and every byte they could consume. Most of these guys never get the chance to get back in the game either. So stay focused and do what you love. If you love hockey and software development is only your 9-5 make sure you don’t fall in the trap of thinking you are at the top of your game in software development because you don’t have the time or ambition to learn anymore. And fully understand that the software development field is going to pass you by.

4. Expectations based on hardware. Chips are square. A linear decrease in CMOS transistor size results in a quadratic increase in the number that can be packed on a chip. Code is linear. A linear decrease in the amount of time it takes to produce X amount of code is merely a linear increase in the amount of code that can be produced. This results in an ever-widening design productivity gap, where capacity forever recedes away from our ability to exploit it. We can waste some of that excess capacity to save programmer time (this is why high-level languages have an expanding role in the field), but this is never going to go away. It isn’t that software is inherently blighted. It’s that hardware is inherently blessed.

Amen to that… There is no scientific break through that is going to help one software developer add 30 new features to a well developed application in 18 months. Software developers don’t have “magic bullets” that introduce instant yield like argon-injected-krypton LASERS to make our software 35% smaller. In fact most software development is a total 180 from hardware development. In hardware everything gets smaller and uses less power, however in software everything gets bigger and uses more power.

Even with this all said and new software developers learning these facts of life in their profession, nothing is going to change, 30 years from now the same problems are going to face the same people. Half of the “problem” comes from the kind of people that the software development field attacks, and the other half comes from poor education of college vs. real life. In college the focus is on perfection, in real life the focus in is on turn around time. If you haven’t realized it yet perfection and turn around time are usually poler opposites of each other.

So if you are to take anything away from this rant, take this, do what you love, and become the best at it. And if what you love isn’t your 9-5 job, deeply understand this and get out of the way of people who’s 9-5 job is what they love.

Well I hope this rant amused some of your and educated others. I guess I just had a lot to get off my chest.

Tags: , ,

Posted in Rant | kick it on DotNetKicks.com | Bookmark | View blog reactions | 15 Comments »

May 1st, 2008

When Dell Usability Engineering Goes Horribly Wrong

Today I was reading Engadget like I normally do in the morning to check out all the latest gadgets that they scour the internet for. And I happened across this new keyboard design that Dell is releasing with their Vostro models in the UK. I don’t know about you, but I specifically stay clear of keyboards where the backspace key is crunched down to add the backslash key on the top row.  (This is my personal preference, apparently I have to point this out to some of the commentors, because it is not clear by saying “I specifically”) But I have never seen this keyboard layout before, where the backslash key is on the bottom left of the keyboard where the “Z” key is suppose to be. I think the usability engineer that designed this keyboard should be fired, that is assuming that Dell didn’t randomly toss keys at the keyboard and let them stay where they fell.

This design has to be experienced because me describing it doesn’t do it justice for how bad of a design it is.

US Version

Dell Vostro US Version

UK Version

Dell Vostro UK Version

Somebody may want to mention this blunder on Dell Idea Storm.

Note (2008-10-14): The US keyboard layout is my personal preference because I like a spacious LEFT SHIFT key and I don’t like my RETURN key so big.  There are some people on the internet who think I am taking a shot at the UK by saying “I personally don’t like their keyboard layout”, this is not the case, and it really baffels me that I have to write this statement on my blog.  So once and for all, this is my blog, my preferences, and anything above that I say about keyboard layout and design are my preferences.

Tags: , ,

Posted in Rant | kick it on DotNetKicks.com | Bookmark | View blog reactions | 8 Comments »

April 25th, 2008

Why isn’t Journalistic integrity important to Slashdot anymore?

Slashdot has been around for over a decade now and many tech nerds first cut their teeth on Slashdot as an information source for everything tech related, because it predated the blogging revolution by almost a half decade.  I can say with an almost certainty that every person who visits my blog each day, has at one point in their life read Slashdot.  I know this because, many of you like myself, for many years Slashdot was the first place you visited in the morning to checkout the latest nerd-news, and it was such an honor if one of your stories actually made it the front page.  Everything was bliss because the editors of Slashdot really tried to get good content to the viewers of the site, the editors were a little slanted towards the LAMP stack, but at least the content that made it to the front page was accurate.

Now like most journalism, no facts are checked, and stories are pushed through in order to driven an agenda.  For example:

500 Thousand MS Web Servers Hacked

Posted by kdawson on Friday April 25, @11:48AM
from the scream-and-shout dept.

andrewd18 writes “According to F-Secure, over 500,000 webservers across the world, including some from the United Nations and UK government, have been victims of a SQL injection. The attack uses an SQL injection to reroute clients to a malicious javascript at nmidahena.com, aspder.com or nihaorr1.com, which use another set of exploits to install a Trojan on the client’s computer. As per usual, Firefox users with NoScript should be safe from the client exploit, but server admins should be alert for the server-side injection. Brian Krebs has a decent writeup on his Washington Post Security Blog, Dynamoo has a list of some of the high-profile sites that has been hacked, and for fun you can watch some of the IIS admins run around in circles at one of the many IIS forums on the ‘net.”

Every person that reads my blog should have a basic understanding of why this title is 180 degrees out of whack with the actual article that is quoted.  If not here is the short description of what in this article, on Slashdot, is totally wrong and the editor who approved it kdawson should be fired for gross negligence.  Luckily most of the comments on the Slashdot article show a more intelligence and greater understanding of the actual problem than the Slashdot poster and editor.  But you shouldn’t have to read between the lines to get the actual story from the Slashdot article.

First of all SQL injections are a result of bad programming and are platform independent.  And are usually the result of concatenating a SQL string together in code instead of using parameters in your SQL queries.  So as you can imagine scripting languages like PHP and Old ASP have a ton of problems with SQL injection, which is unfortunate because these two languages are in the top 5 languages that run the web, luckily Old ASP has been decreasing because of ASP.NET.  However just to reiterate SQL injection can happen in any language on any platform because there are bad developers that use everything language and every platform.

So basically to say that 500,000 Microsoft web servers were hacked is a gross misrepresentation of the problem that was illustrated in the article.  The original F-Secure article had to clarify that this wasn’t Microsoft’s problem, probably because of the Slashdot article listed above.

We’ve been receiving some questions on the platform and operating systems affected by this attack. So far we’ve only seen websites using Microsoft IIS webserver and Microsoft SQL Server being hit. Do note that this attack doesn’t use any vulnerabilities in any of those two applications. What makes this attack possible is poorly written ASP and ASPX (.net) code.

If you are interested in seeing all the pages effected and if one of your pages is involved you can use this Google Link, however make sure to take precautions against getting infected.  I will leave everybody with this last posting that was left in one of the IIS forums as a sign of what good programmers are combating every day.

I also have been hit by this attack on Saturday 4/12/08. It compromised our database and overwritten that script into all of your products. Luckily a database restore fixed the problem. Two days later the same thing happened, I have changed all the database and login passwords and did another db restore. Now today 4/18/08 we got hit again by the same thing but this time as the pages are loaded ActivX is activated and wants to run but of course I did not allow it. Anybody has successfully solved this situation?

Posted in Rant, SQL | kick it on DotNetKicks.com | Bookmark | View blog reactions | 2 Comments »

April 18th, 2008

Apple Developers Continue To Not Impress

Apple “Windows Developers” continue to not impress me.  Check out the latest in “I decided to release something too early”-product from Steve Jobs and Apple.  I haven’t yet decided if Steve Jobs is trying to take down the Windows Empire with crappy Apple Software, or if Apple is just inept at creating anything but software for Apple.  I prefer to think Steve Jobs just forces Mac Developers to begrudgingly work on Windows Software, instead of actually hiring developers that are passionate about Windows Development.

Tags:

Posted in Rant | kick it on DotNetKicks.com | Bookmark | View blog reactions | No Comments »

April 17th, 2008

Google Ads Allowing Flash To Take Over Browser

So today I saw this Google Flash Ad, for John McCain for President, appear on a site that I am developing. I thought I would let everybody know to watch out for Google Flash Ad’s that have access to modify your browser. This isn’t a big deal, in my case, but Flash has the ability to also modify, other things such as:

  • Browser’s Footer
  • Browser’s URL
  • Back Button
  • Forward Button
  • etc.

Basically Flash is allowed to have more access because it actually runs as an application on top of the browser instead of through the browser. It is just disturbing that Google doesn’t police the advertisements better. It is conceivable that Google could potentially be providing malware via their ad network.

Tags: , ,

Posted in Rant | kick it on DotNetKicks.com | Bookmark | View blog reactions | No Comments »