‘MySqlConnection’ is ambiguous in the namespace ‘MySql.Data.MySqlClient’

by shuff 11/15/2009 6:34:22 PM

Everything worked fine locally, but when I uploaded the website to my hosting provider I got the error:

‘MySqlConnection’ is ambiguous in the namespace ‘MySql.Data.MySqlClient’

Searching the internet for a solution didn’t work, although I found several suggestions.  I thought I’d post my solution in case someone else has this problem.

In my BIN directory I had the following files:

MySql.Data.CF.dll
MySql.Data.dll
MySql.Data.Entity.dll
MySql.Web.dll

I had to delete the file MySql.Data.CF.dll and then everything worked.  Strange considering it was not even referenced in the web.config file.

Tags:

Toastmasters Project 7 - Research Your Project

by shuff 10/16/2009 7:12:30 AM

I just gave my Project 7 speech yesterday at my company’s Toastmasters Club.  The title of the speech is Social Engineering and here is a copy of the speech:

Madam Toastmaster, fellow toastmasters and honored guests – Our Company has a problem. 

Sure, they have purchased firewalls, antivirus software, and even blocked users from known malicious websites – but this doesn’t stop the problem. 

The problem is – “social engineering”.  Employee’s can fall victim to Social Engineering attacks which puts the entire company at risk.

Social engineering is a hacking technique used to manipulate people into giving out information such as credit card numbers, passwords, or access to a network.

When many people think of a hacker, they think of a nerd who hasn’t had a date, since they took their cousin to the prom – not a person who has the social skills, to trick you into divulging corporate information.
Let me walk you through an example of hacking via Social Engineering:

Susie in Claims gets a call and answers, “Claims Department this is Susie Smith” someone on the other side identifies themselves as Eddie from the help desk.

For the sake of argument let us assume that, like me up until a week ago – you had one of the phones from 1980 that didn’t have caller id -- although -- you should be aware that caller id can be spoofed.
Eddie explains that he is trying to track down a network problem and wants to know if Susie or anyone in her group is having problems with the network dropping. 

Susie asks around and tells Eddie no.  

Eddie says “great” -- makes some more small talk -- and asks if he can verify Susie’s Port number while he has her on the phone, as he is trying to make sure their database is up to date.  

Susie reluctantly crawls under her desk and looks at the number her network cable is plugged into and tells Eddie it is Port D-167. 

Great Eddie tells her, that’s what we have down for you.  Eddie goes on and gives her his cell phone number -- since she’s been so “helpful” and says -- “call me – if you have any network problems”

Fast-forward 2 days later. 

Eddie calls the Network Operations Center at Our Company and says this is Bob; I’m in Susie Smith’s office in Claims – I’m trying to troubleshoot a cabling problem, can you disable her port for 30 minutes – it’s port number D-167.  The person at the Network Operations Center sees that port number is going to a Susie Smith and doesn’t think twice about turning off that connection for 30 minutes.

A few minutes later Eddie’s cell phone rings and he sees it’s from Our Company.  He answers, “Help desk, this is Eddie”. 
Susie explains how happy she is to have gotten hold of Eddie.  She explains her network connection has gone down, Eddie tells her -- he’ll see what he can do and for her to stay off her computer till he calls her back.  

About 45 minutes later -- Eddie calls Susie -- and asks her to try again.  She says, “Great, it is working”. 

Eddie apologizes for the mishap and tells her they are going to be pushing out a software package to fix the problem at some point.

But since she is already having the problem, he can walk her through downloading and installing the software fix if she wants too. 

“That would be fantastic, I can’t afford any more down time”, she tells him.  Eddie tells her the website to go to and how to install it.  He tells her she shouldn’t see the problem again.
As you may imagine, Our Company has now been hacked.  The program Susie just installed, allows Eddie to remotely connect to Susie’s machine any time he wants from the outside and get onto the Our Company network. 

You might think this is an unrealistic scenario but unfortunately it isn’t.  I just finished a class on Corporate Security and Controls where we learned that social engineering is one of the top security concerns.
You may think the firewalls, anti-virus software, and other security programs should prevent these types of problems, but they can only do so much. 

Many friends and family members I help with computer problems are always amazed when they get viruses and spyware on their machines.  They have Antivirus software how could this have happened.

Well, just because you used protection -- doesn’t mean you will always be safe.

The solution to the problem of Social Engineering is education.  Our Company educates employees with training, posters, and email communications.

While practicing safe surfing habits is essential to stopping viruses, you have to be careful what information you make available to smooth talking guys or girls that call you at work too.

Tags:

TKIP encryption is cracked, WPA as a whole is NOT.

by shuff 12/31/2008 10:50:00 AM

I'm a big fan of the show Security Now with Steve Gibson.  A few months back he did a show explaining in-depth the so-called WPA hack.  Since then I've seen several people Blog on it and give very misleading information.  For example this Blog Entry "WPA Wi-Fi encryption is cracked" by Sherman Hand.

The problem with the information people such as Sherman are giving, is they don't tell you the EASY work around to fix the hack.  Yes, TKIP encryption is cracked,  wouldn't it be nice then if we had another encryption choice with WPA, ohhh... we do.  It's called AES.  Simple go into your router and change your encryption method to AES.

linksysconfig

 

Sherman's blog also says that WPA2 is not cracked, well it is if you are using the TKIP algorithm with it.  I tried a month or so ago to post a comment to his blog addressing this, but I guess he never approved the comment as it never showed up. 

Tags:

AES | TKIP | WI-FI | WPA

The Price is Right? You mean the price is WAY Wrong!

by shuff 12/23/2008 9:47:18 AM

I'm on Christmas vacation this week and while channel surfing I stopped on The Price is Right.  The game was simple, they gave three items: a couch, a life size Santa Claus and Sleigh, and a Samsung 56 inch DLP TV and the contestant had to pick the one that was the most expensive. 

What would you have picked? 

Knowing the extravagant mark up of furniture, I would have gone for the couch.  But, no -- they claim she was right and it was the TV at a whopping $3299!!  I had to snap a picture with my IPhone as I thought no one who knows technology would believe this one:

samsung

 

This TV has a list price on Amazon of $1499 but sells for $1059.  How in the world did they come up with that price?  The only thing I can possible figure is this was from last Christmas??  Was the TV that much last year?  If DLP TV's have dropped 50% in a year that's amazing (not that I'd recommend a DLP TV to anyone).

Tags:

IPhone 3G Potentially Costs A Life

by shuff 12/19/2008 7:28:58 AM

A co-worker and I typically take a walk around 2PM each day threw the Skywalk of downtown Cincinnati.  This past Wednesday there was a lady that collapsed in the Skywalk as we walked.  She was with two other co-workers who caught her and she seemed to go in and out of consciousness.  I asked one of her co-workers if I should call an ambulance and they concurred and mentioned that non-of them had a cell phone with them.

I quickly pulled out my handy IPhone 3G and dialed 911.  I got the typical screen that said "911 Calling..." and that is where things started going horrible wrong!! 

The phone just stayed on that screen and there was no ringing, or connection made, it just sat there on "911 Calling...". 

I hit "End Call" and tried again. 
Same Result. 
I tried a third time noting that I had full bars. 
Same Result.
 

At this point I realized the call was NOT going to work. So I ran down the Skywalk to the nearest place that had a Phone which was a Greek restaurant called Mythos and quickly asked for a phone to call 911.

The call was quickly answered and medical help was dispatched quickly.  By this time a former fire fighter had passed by and started CPR on her.  After the medical team arrived it was clear they were going to need some privacy as they worked on her and me and my co-worker left the scene knowing we had done all we could, which I wish was more.

The next day while we walked, I stopped in the same spot and tried making a call back to my house and then my desk to see if maybe it was just a bad cell phone spot (even though it shows full bars).  Both calls worked perfectly with no problems. 

Later that day another co-worker ate at Mythos and over heard some of the restaurant staff talking about it and enquired.  He learned that the lady I had called 911 for passed away and that it was a heart attack she had suffered.

I can't help but wonder if the 30 seconds or so that was wasted trying to call 911 from my IPhone could have made a difference and where the problem lies in not getting a connection.  Has anyone else called 911 successfully from an IPhone?  It's not like I can make a test call and say, oh I just wanted to make sure this worked from my cell phone.

Tags:

IPhone 3G

Use Virtual PC 2007 Effectively Without Joining The Corporate Domain

by shuff 10/7/2008 12:20:00 PM

If your a developer like myself in a corporate setting, there are MANY advantages to using a Virtual PC from time to time.  Including: to test different setups, research bugs that have been reported in a new environment, to test out new tools  that have been released without potentially messing up your local image.. just to name a few.

The problem is when you create a new image, you need to join the corporate domain in order to get to resources you need on the network.  This can be problematic for several reasons.  For starters, your network team might not respond kindly to you calling once a week to join a Virtual machine to the network (if the even respond kindly to you calling once).  Depending on the policies in place each time you boot up a Virtual Image you may have to wait for ever for it to update stuff being pushed down from the domain.

There is another way.

When you create your image, you need to create a local user with the same network ID that is used on your corporate domain.  Say your domain is ACME and your user name is JSMITH (acme\jsmith).  Create a local user account called jsmith.  The password does not need to match.

Once you are logged into the local Virtual PC you can create links to network shares by using the "net use" command.  For example, if you have server called acmefil01 that you use or you have applications that use issue the following command in a command prompt:

net use \\acmefil01 mydomainpasswordgoeshere /user:acme\jsmith

Now you will be able to access resources such as \\acmefil01\somefolder with easy.

Now the neat part is you access print servers to setup network printers too:

net use \\acmeprintserver01 mydomainpasswordgoeshere /user:acme\jsmith

If you want to map a drive to a drive letter, say your network personal drive use a command such as:

net use p: \\acmefil01\users\jsmith mydomainpasswordgoeshere /user:acme\jsmith

Which will map it to your P drive.

You can even get Microsoft SQL Server working in most cases if they have Named Pipes installed on the server, since kerberos authentication will not work since you are not on the domain.

The first thing you will need to do is make sure you are authenticated to the server box by creating a net use connection do it such as:

net use \\acmesql01 mydomainpasswordgoeshere /user:acme\jsmith

Now when you start up SQL Server Management Studio, just add np: in front of the server you want to connect to, for example:

image

You can even run your .NET applications by adding the np: in your App.Config files.  Your connection string might look something like this:

<add key="PROFILE_DB" value="data source='np:acmesql01';initial catalog=ACMEDB;Integrated Security=SSPI;" />

Now it's probably helpful to create a script file to run to set things up when you login and just pass your password into that script.  That way your print server, Sql Server, and file servers will be all setup.  Here is a sample of what that script might look like.  Save the following in a file called logon.bat in the root of your c drive (updating with real info obviously):

net use \\acmefil01 %1 /user:acme\jsmith
net use \\acmeprintserver01 %1 /user:acme\jsmith
net use p: \\acmefil01\users\jsmith %1 /user:acme\jsmith
net use \\acmesql01 %1 /user:acme\jsmith

Then from Start Run you can call it as: c:\login.bat mydomainpasswordgoeshere

Hope this helps someone...

kick it on DotNetKicks.com

Tags:

Setting Up My Domain Email On GMail

by shuff 8/7/2008 7:40:57 AM

I've been hosting my website with Crystaltech since 2001.  They are GREAT with Web Hosting and they have awesome Tech Support.  One of the things I really love is they have a community forum open to the public you can use to talk with other customers and support even chimes in quit often (http://forums.crystaltech.com). 

The one gray area that CT has never been all that great at is hosting Email.  I'm not slamming them by any stretch, there are trade offs in most everything and no one is great at everything.  Without going into all the why's (SPAM, Email's not going through etc.) I've been wanting to move my email some place else for some time but never got around to it, mainly because I don't know a lot about DNS, MX records, SPF and so forth -- I've also been afraid I'd just hose it up even worse.

After finding out that GMail would allow you to use your own domain name , setup 100 email accounts, and with 7 GIGS of storage; I decided it was time I moved my email to GMail.  Sure GMail has some ads on the side, but there SPAM filtering is fantastic plus it's another one of those little trade offs in life.

So I finally made the move this past week and wanted to share the details in case others are wanting to do the same. I also decided to use ZoneEdit as the DNS host for several reasons. For one it's free unless you have a TON of DNS lookups happening (your AMAZON.COM or Microsoft) or you add more then 5 domains to the same account.  Another reason is, they offer more DSN services then CT is going to allow you to maintain yourself on a shared account.

What follows is the instructions for moving your CT hosted email (which uses SmarterMail) to GMail via ZoneEdit DNS.  Keep in mind this shouldn't cost you a dime and you'll end up with what I believe is a much better email solution (minus the ads).

Step 1) Create your free account at Gmail Apps by going here: http://www.google.com/a/help/intl/en/admins/editions.html and signing up for the "Standard Edition" (Note: you could use the Premier Edition and get rid of the Ads but it's quit pricey at $50 per user per year).

Step 2) Once you have your Gmail Apps account it's time to enable email and create your accounts.  You'll want to create an account for each email account you have at CT.  Luckily all mine are family so I knew there passwords and could set them.  If you don't you'll just have to let everyone know that there passwords will be changing soon and tell them what they are.  They can also change there password themselves later.

Step 3) You'll want people to be able to go to mail.yourdomain.com to get there email once setup, so you'll need to tell that to Google.  Once in the Google Apps Dashboard select Service Settings -> Email and under Web Address click on Change URL.  I recommend clicking on the "Change URLs for all domain services" that way you can take better advantage of all Google Apps has to offer.  Click all of the buttons for custom entries such as:

http://mail.yourdomain.com
http://docs.yourdomain.com
http://start.yourdomain.com
ect....

Step 4) Log into the WebControl Center at Crystaltech and get you domains DNS information under the DNS Zone Admin screen.  You'll need to hit the "go" button to display the information.  Your best bet is to just leave this information up in the browser as you'll need to refer back to it as we go on.

Step 5) Create an account at ZoneEdit

Step 6) Setup the account at ZoneEdit.  Select the Zone you created for your domain such as youdomain.com.  You'll want to first add your IP addresses (A).  This is all the information under Host Records (A) in CT's DNS Zone Admin screen.  AT ZoneEdit you'll configuration will end up looking something like this:

(Note: CT gives all shared hosts a dedicated IP address which makes this all possible.  If your hosting company doesn't use a dedicated IP you may be out of luck or have to pay extra for one.)

zoneedit_a

Next you will add your Mail MX Servers for Gmail which will look like this:

 

zoneedit_mx 

Next You will add your Aliases (CNAME) which allow you to essential easily redirect to other Google Apps.  Those settings look like this:

 zoneedit_cname

Lastly you want to add a SPF record.  This one took me a while to figure out at its not out lined in the steps given by Google but if you search there help file you will find the info here: http://www.google.com/support/a/bin/answer.py?hl=en&answer=33786

In ZoneEdit go into Advance Settings and add in under "Text Data (TXT)":

 

zoneedit_spf

Step 7) The nice thing is, at this point nothing has really changed.  All your email is still going to CrystalTech (or your web host), allowing you to do this over a day or so if you want.  Nothing changes till you go to your domain record and change your Name Servers.  So for me I went to GoDaddy and changed my NameServers from the ones CT gave me ( 2 different nsX.webcontrolcenter.com's) to the ones ZoneEdit says to use (2 different nsX.zoneedit.com's).

Additional Tip:

It will probably take a while for your NameServer changes to propagate through the Internet.  Once they do you should start getting your email on GMail.  One thing you'll want to do is get your emails from your CT account moved over.  To do so you can still use POP to copy them down to your PC or you can POP them into Gmail.  What changes is instead of using mail.yourdomain.com as the pop setting, use mailXX.webcontrolcenter.com where XX is the mail server they have you setup on at CT (again you'll have to figure this out on your own if you use a different hosting company).  You should be able to find that information in CT's DNS Zone Admin screen under the MX record.

One of the nice things is GMail works much better for me in responsiveness on the IPhone and even on downloading POP emails to Outlook.  Plus ITS SECURE.

Let me know if I missed anything!! 

I'll do an additional posting soon on some GMail tips I've discovered (using POP, Filters, Labels & Archiving).

Tags:

So Close to the IPhone 3G but so far away...

by shuff 7/12/2008 8:03:00 PM

I've been wanting an IPhone for months now but decided to wait till the next generation came out.  So for the IPhone 3G launch day I took off work and went early to my local AT&T store in Florence, KY.  I really didn't think I'd have to get there early as this isn't exactly the center of technology here in KY.  I arrived 1 hour before the store opened only to find a line wrapped around the store.  After waiting in line 3 hours I get up to the door and the guy before me gets the LAST phone!!!

So then I drive 30 miles up to the closest Apple store and there was an estimated 5 HOUR wait!!! Plus they couldn't promise anything on the stock, so I left thinking I could try again on Saturday.  I had to watch my daughter Saturday since my wife had a hair appointment, so after get her breakfast I got to the store 30 mins after they opened.  There where two people in line, and the guy in front of me got the last phone again.  So I thought I'd try the Apple store again being the day after maybe it had died down, I was wrong; they said it was at least a 3 hour wait.  My daughter is way to young for that sorta wait.

Looks like my IPhone dream will have to wait till later....

This picture below is from the ATT&T store in Florence after waiting about 2 hours in line towards the front of the buidling... 

IMG_1960

Tags:

IPhone 3G

SSIS Transformation Output Columns

by shuff 6/24/2008 9:51:33 AM

We have an SSIS package at work that has a Transformation component in it which has a script that takes an Input Column called "Transaction" and depending on it's value puts an "Amount" Value from another Input Column in one of several other Output Columns.

In the script we have a case statement that determines which of the several rows to put the Amount in based on the Transaction, it looks something like this:

Public Overrides Sub Input0_ProcessInputRow(ByVal Row As Input0Buffer)

...

Select Case GetTransactionType(Row.Transaction)
    Case TranType.LOSS_PAYMENT
        Row.LossPaymentAmount = Row.Value
    Case TranType.LOSS_RECOVERY
        Row.LossRecoveryAmount = Row.Value
    Case TranType.LOSS_RESERVE
        Row.LossReserveAmount = Row.Value
    Case TranType.LOSS_RECOVERY_RESERVE
        Row.LossRecoveryReserveAmount = Row.Value
    Case TranType.TRUST_PAYMENT
        Row.TrustPaymentAmount = Row.Value
    Case TranType.TRUST_RECOVERY
        Row.TrustRecoveryAmount = Row.Value
    Case TranType.TRUST_REIMBURSEMENT
        Row.TrustReimbursementAmount = Row.Value
    Case TranType.AGGREGATE_PAYMENT
        Row.AggregatePaymentAmount = Row.Value
    Case TranType.AGGREGATE_RECOVERY
        Row.AggregateRecoveryAmount = Row.Value
    Case TranType.EXPENSE_PAYMENT
        Row.ExpensePaymentAmount = Row.Value
    Case TranType.EXPENSE_RECOVERY
        Row.ExpenseRecoveryAmount = Row.Value
    Case TranType.EXPENSE_RESERVE
        Row.ExpenseReserveAmount = Row.Value
    Case TranType.SUBRO_RECOVERY
        Row.SubroRecoveryAmount = Row.Value
    Case TranType.SUBRO_RESERVE
        Row.SubroReserveAmount = Row.Value
    Case TranType.SALVAGE_RECOVERY
        Row.SalvageRecoveryAmount = Row.Value
    Case TranType.SALVAGE_RESERVE
        Row.SalvageReserveAmount = Row.Value
End Select

...

End Sub

This has worked fine in production for several months now.  We needed to make a "slight" change to the package.  When doing unit testing in development we suddenly started getting odd values in several amount rows.  For one thing, it should be IMPOSSIBLE for more then one of these rows in the case statement to get a value.  Well we had several in one row getting odd values.

After looking into this for some time, Eugene Koblov of Microsoft told me on a MSDN forum that:

"SSIS doesn't guarantee initial values of output columns. When you ran it in runtime you were lucky to get a part of memory initialized with zeros. When you used debugger the probability of it is getting lower. So actually, a good practice is to initialize every added output column explicitly."

These seems ridiculous to me.  I know that in a language like C or C++ we can't expect default values, but in SSIS that scripts in .NET?  Come on.  If anything let us set a default value in the Data Type Properties in the Script Transformation Editor:

 

outputcolumn

I find it really strange that I can't find anything on the web about others having similar issues.  Has anyone else ran across a problem not setting default values on output columns?

Tags:

.NET | SQL Server | SSIS

VS 2008 File Finder

by shuff 1/23/2008 9:08:00 AM

I've rewritten Jonathan Payne's File Finder for Visual Studio 2008 in VB.NET.  You can find all the details here:  http://www.huffs.us/blogEngine/page/VS-2008-File-Finder.aspx

Tags: , ,

File Finder

Powered by BlogEngine.NET 1.5.0.7
Theme by Mads Kristensen

About the author

Name of author Steve Huff
A developer in the Greater Cincinnati/Northern Kentucky area.

E-mail me Send mail

Recent comments

Authors

Disclaimer

The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.

© Copyright 2010

Sign in