Chris Benard

Chris Benard is a software developer in the Dallas area specializing in payments processing, medical claims processing, and Windows/Web services.

99 posts

Pebble Watch

Meet Pebble I got the Pebble Smart Watch a couple of weeks ago, and I’m really enjoying it. It’s a watch that connects to your smart phone and lets you get your notifications like text, emails, and phone calls on your wrist without digging out your phone. It lasts a really long time, about 9…

Continue reading Pebble Watch →

New Website and Host

Site My last post was in April 2012, so it’s probably time for an update. I successfully imported my blog into a static HTML generating tool called PieCrust. It creates the files serving this site now. As part of the move, I totally redid the site’s design and functionality at the same time. I had…

Continue reading New Website and Host →

Zip File Classes Finally Available in .Net 4.5

Right now .Net 4.5 is still in beta, but I noticed something that will make developers who must interact with zip files happy: .Net 4.5 will have native support for dealing with zip files. Up until now, the System.IO.Compression namespace only had support for GZipStream and DeflateStream. This post explores how working with SharpZipLib now compares to working with what is upcoming in the .Net 4.5 framework.

Continue reading Zip File Classes Finally Available in .Net 4.5 →

Pretty IPropertyNotifyChanged Declarations for Windows Phone

The Problem I’ve been doing a bit of WPF/ Windows Phone development. Usually INotifyPropertyChanged declarations for properties are really ugly. The big problem is that the INotifyPropertyChanged interface relies on strings, which don’t refactor well. I’m also using the fantastic MVVM Light Toolkit, which makes life a lot easier when doing Windows Phone development. MVVM…

Continue reading Pretty IPropertyNotifyChanged Declarations for Windows Phone →

First Impressions with Google’s Cr-48 Chrome OS Netbook

On December 7, 2010, Google announced their Chrome OS Notebook reference hardware, the Cr-48 (a bit of a chemistry joke). They also announced a pilot program, by which participants would receive a free netbook running the release version of Chrome OS, with the understanding that the user would provide Google feedback about the operating system.…

Continue reading First Impressions with Google’s Cr-48 Chrome OS Netbook →

Hosting Windows Workflow Foundation in a Console Application without Ugly Code

I’ve been using Windows Workflow Foundation for a small personal project to learn more about it and see what it can do. It’s pretty powerful and I’m looking forward to delving more into it. For my purposes though, I’m hosting the workflow in a console program. If you look around the internet, you’ll see lots…

Continue reading Hosting Windows Workflow Foundation in a Console Application without Ugly Code →

Chase Visa Fraud

I just got a call from the Chase fraud computer voice. He told me that somebody had just charged my card about $250 to a clothing website called ASOS.com. He asked if it was me and I kept pressing zero so I could talk to a person. I knew if I said it wasn’t me…

Continue reading Chase Visa Fraud →

A Lesson in How Not to Conduct Website Security

Louisiana Tech just sent me a “reminder” email with my full username and password in there. That information is everything necessary to logon to the school student portal and get the rest of my personal information, full school transcript, etc. Not only do I not like them emailing my password, I don’t like that they…

Continue reading A Lesson in How Not to Conduct Website Security →

Followup on My Predictions for Apple's Tablet Event

Happy birthday to me! Also, Apple announced their iPad today. One thing I meant to mention in my previous predictions: I thought it would have at least a front facing camera for video conferencing with iChat and/or Skype. I’m very surprised it doesn’t have that. I predict this will be in the first hardware revision…

Continue reading Followup on My Predictions for Apple's Tablet Event →

Beyonc□, or How We Can All Learn From Other Developers' Character Encoding Mistakes

I’m sure everyone who reads this blog has noticed, at some point, the result of another developer’s mistake in dealing with Unicode or other character encodings. I’ve had a few issues myself. To the left, you can see how my Napster displayed a Beyoncé song as Beyonc□. You may have seen a black diamond symbol…

Continue reading Beyonc□, or How We Can All Learn From Other Developers' Character Encoding Mistakes →

Hacked by Chinese

On our main product, in a branch on which I’m working on a Point of Sale product, something happened in the process of checking files into source control. In our case, we’re using Team Foundation Server. My guess is that the corruption happened on my hard drive for who knows what reason, but this is…

Continue reading Hacked by Chinese →

Using Reflection to Dynamically Generate ToString() Output

Update: Added code to show “null” when a property is null, like Visual Studio does. If you’ve ever used Visual Studio in any iteration in any language, you have most likely used the immediate window. It’s insanely useful and lets you just type an instance of an object and if the object doesn’t have an…

Continue reading Using Reflection to Dynamically Generate ToString() Output →

Buy My House!

My house is finally listed and on the market (as MLS #: N114783)! It’s been repainted, the yard has been mowed, and Amanda and I worked really hard to get the house ready to sell by cleaning everything inside. I am using Robin Ramsey of the Chris Hayes Team to sell the house, and so far I’m very satisfied with their work. This is a very important piece of my continuing quest to get out of Shreveport and move to Dallas. You have to search to see the listing on the Chris Hayes Team site, so I’ve linked to the data for the house on realtor.com. However, the pictures and captions Robin posted are linkable through their site. Here are the pictures and descriptions Robin wrote: Exterior Front: Character Galore! Privacy wall in the front that adds protection from the setting sun in the evenings. Nicely manicured yard and landscaping. This home sits on a very quiet street with unbelievable neighbors. There are more pictures and descriptions after the jump.

Continue reading Buy My House! →

Strong Name an Assembly Without Source Code

Because I program in the 1970’s, part of what I do is programming against modems and serial ports. Specifically, we send medical claims over modem to adjudicators, in the event of unavailable internet access. As a customer, you’ll appreciate having your pharmacy delay you for 20 seconds rather than saying “Sorry; you can’t have your…

Continue reading Strong Name an Assembly Without Source Code →

How Insensitive

Update: Added section at the bottom detailing what not to do. As part of the updater process that I wrote for a current project, a “boot strapper” program queries the database for available versions, and if there is a newer version available, it deletes the current program folder, replaces those files with the new files…

Continue reading How Insensitive →

Happy 123456789 Day!

Happy 123456789 day! It just passed 12:34:56 7/8/9 right now in the United States (central time zone)! Hooray for arbitrary dates, but at least that one won’t happen like that for a while. For our friends almost everywhere else in the world, you have August 7th to look forward to for your 123456789 day.

Continue reading Happy 123456789 Day! →

A Day Late and a Property Declaration Short

I know this is a bit late to the game, but this morning, as I’m refactoring a bunch of old code to be shared with a new project, I’m cleaning up the C# 2.0 property declarations we all know and love: public class SaleResponse: Response { protected bool _addressVerificationSuccess; public virtual bool AddressVerificationSuccess { [DebuggerStepThrough]…

Continue reading A Day Late and a Property Declaration Short →

Out of Memory Exception While Attempting to Do SQL CLR

Update: We figured out how to make it work with the help of our DBA and Jonathan Kehayias (see comments). We increased SQL Server’s MEM_TO_LEAVE property, by adjusting the –g command line switch for the service, to 448MB. This increase of the shared memory pool gave SQL Server enough breathing room for its worker threads…

Continue reading Out of Memory Exception While Attempting to Do SQL CLR →

Comcast's New Network Management Technique: Protocol Agnostic

I got an email from Comcast titled "Improving Your Online Experience Through Congestion Management". After my previous experiences I’ve had with Comcast lately, I thought "great, now they’re going to screw over my bandwidth too". Generally, I’m pretty satisfied with their Internet service, even though their TV service sucks. I actually like their Powerboost, and I don’t think I’m paying too much money for the service. The email had no details in it whatsoever, and the FAQ said (emphasis mine): [The technique] will identify which customer accounts are using the greatest amounts of bandwidth and their Internet traffic will be temporarily managed until the period of congestion passes. The "managed" bit scared me a little bit. Saying you’re going to "manage" me for downloading too much sounds a bit like you’re going to send a hit man to my house to take me out. I decided to dig further and noticed they had a link to documents the filed with the FCC at the top right of the Comcast network management page. I had to read through 20 pages of boring crap, which is probably actually necessary to explain simple concepts to the FCC, in order to figure out exactly what this technique employs as its counter-congestion tactics. I plan to explain, in simple terms, how the new management technique works. Please ask any questions in the comments section. The important thing to realize about the new technique versus the old technique is that the new technique is protocol agnostic, meaning it doesn’t discriminate against certain kinds of traffic versus other types. For example, it doesn’t prioritize web surfing or VoIP calling above using BitTorrent to download the latest blockbuster movie *cough* Linux distribution release. Users hated Comcast for the previous incarnation of their network management, and the FCC forced them to stop it and come up with another protocol agnostic scheme. What they ended up with, is in my opinion, a fair process that doesn’t penalize anyone unless the network is in serious danger of being degraded, and even then, doesn’t actually do anything until it actually is degraded. I am, in a word, satisfied. All information and pictures that follow are from Comcast’s document and are probably copyrighted by Comcast, even though they were submitted to the FCC. I have a reasonable basis to believe I can reproduce this information for informative purposes. First, you must understand how your home cable connection reaches the Internet. Your home coax (screw on cable that connects to your modem) connects to an optical node in your neighborhood area, which then connects to a CMTS (Cable Modem Termination System) at the headend (local office), which then connects to a series of routers and finally to Comcast’s Internet backbone connections. Each of the CMTS boxes have a number of ports on them, with separate ports for downstream (stuff you download) and upstream (stuff you upload back to the Internet). Comcast says that there are about 275 cable modems, on average, sharing a downstream port, and about 100 sharing an upstream port. Your cable modem has what is called a "bootfile" which is assigned by the DOCSIS protocol on startup. The bootfile contains a lot of information about your cable service, perhaps most importly, how fast you can download/upload. The traffic management occurs based on activity at the CMTS ports and is actually applied with a combination of flags set on your cable modem and those flags being processed on Comcast’s routers. The process is really quite simple. Here’s how it works: Each port (keeping in mind it is either upload or download) is monitored independently. Each cable modem has a flag for its current state PBE – Priority Best Effort. The default state. BE – Best Effort. A lower priority state. PBE traffic is prioritized below BE. If a port reaches "Near Congestion State", which means that it has average over a certain threshold of utilization over a 15 minute period, network management will commence. Downstream threshold: 80% utilization Upstream threshold: 70% utilization The network searches for users on that CMTS port that are in an "Extended High Consumption State", which means they have averaged over a certain threshold of utilization over a 15 minute period. The user’s modem is set to BE. Downstream and upstream threshold: 70% utilization The network keeps the user in "Extended High Consumption State" until the user’s average utilization has dropped below the threshold for 15 minutes User’s modem is set back to PBE. Downstream and upstream threshold: 50% utilization When in the BE state, all PBE traffic will be processed by the Comcast Internet routers before the BE traffic, regardless of the type of traffic, however the likelihood of it reaching a congested status is very low, and even in that case, the probability of dropped traffic is even lower. This means, while doing my large USENET downloads, if the network is in danger of being congested, I’ll likely be set to BE. However, Comcast has been using several trial markets with this new technique, and they have this to say: For example, in Colorado Springs, CO, the largest test market, on any given day in August 2008, an average of 22 users out of 6,016 total subscribers in the trial had their traffic priority status changed to BE at some point during the day. … NetForecast, Inc. explored the potential risk of a worst-case scenario for users whose traffic is in a BE state: the possibility of “bandwidth starvation” in the theoretical case where 100 percent of the CMTS bandwidth is taken up by PBE traffic for an extended period of time. In theory, such a condition could mean that a given user whose traffic is designated BE would be unable to effectuate an upload or download (as noted above, both are managed separately) for some period of time. However, when these management techniques were tested, first in company testbeds and then in our real-world trials conducted in the five markets, such a theoretical condition did not occur. I think it’s a very sane system, and I hope they continue to add bandwidth so that the network doesn’t get congested in the first place. However, I think this system is very fair, and a lot better than the previous one. Below, I reproduce the original email they sent me:

Continue reading Comcast's New Network Management Technique: Protocol Agnostic →

Comcast Sucks and is the Worst Company Ever

I really hate Comcast, a lot. I hated them before, and I hate them more now. Before anyone tells me to, I’m going to send this to Comcast Frank (comcastcares) when I’m finished. All I wanted to do was get the hours of the local office, but you can’t get that on their web site, because they have no "Store Locator" type function that every other business has. I thought I’d do the live chat option to find the information, but knowing the problems that my coworker Dave Anderson had trying to get the phone number for the local office before, I was very specific. I ended up spending 32 minutes, more than half and hour, and ended up with nothing to show for it. They first gave me the address of a grocery store that hasn’t dealt with Comcast in over 5 years and then gave me the address of a shopping center in Shreve City that has no Comcast there. I’m not sure what business they intended me to contact. Then, amazingly, they gave me the same information for Thrifty Liquor that they gave Dave before, except this time, I noticed they’re not giving the name of the business where they’re referring you anymore. Way to go on the changes Frank! She then tried to get me to leave the chat by telling me to call the "local" number because she’s in Canada. She gave me the wrong number to the local office, giving me an "out of service" message! Ridiculous! I knew far more about the cable locations and numbers than she did, which isn’t saying much. The reason I’m returning 3 cable boxes in the first place and canceling all of the digital cable is because of the absolutely horrible "SARA" software they put on the Comcast DVRs. The old "Passport" software wasn’t exactly TiVo, but it was completely usable, and actually intuitive. The new software "looks like an old Nintendo game" (actual quote), according to my girlfriend, and I completely agree. My father hates SARA. My mother hates SARA. All of my coworkers hate SARA. Two of my coworkers are canceling cable for their household because of SARA. Everyone I know hates SARA, but according to Comcast Frank, it’s here to stay, because of some contractual agreement with TV Guide. If you’d like to read the absolutely excruciating transcript with their support agent that took me over 32 minutes to make it through, please read on. She did end it with an amusing mistake: "I do apologize for the Chris."

Continue reading Comcast Sucks and is the Worst Company Ever →

Do You Have a Job???

Those radio commercials are pretty ubiquitous. Every car dealership wants to know: Do you have a job??? Do you have $149??? Then you could be approved for a brand new Kia from Elkins Kia! What occurred to me the other day was that a person that doesn’t have one or both of those might get…

Continue reading Do You Have a Job??? →

161 Days

It’s been 161 days since my last blog post, far too long. Lots of stuff has happened in my life since then. The anniversary of my birth has passed once again, and I’m 25 now. I’ve loved. I’ve lost. I’ve been things in between. I’ve been sick. I’ve had a tooth pulled out. My car…

Continue reading 161 Days →

MBA, Obama, and Water

MBA Today, I finally was able to register for LSUS ‘Masters of Business Administration program. I had to go to a stupid orientation that wasted 30 minutes of my life and then had to go across campus to a computer lab to waste another 30 minutes of my life where they showed people how to…

Continue reading MBA, Obama, and Water →

Zero Gravity!

After ice skating last week, Chris, Jen, and I were going to go to Dallas to The Galleria to go ice skating there on a better rink. Jen sent me a link to a nearby place, where you can do all kinds of fun things that involve jumping from high altitudes, called Zero Gravity Thrill…

Continue reading Zero Gravity! →

Emergency Command Hologram

Update: As pointed out by Jen, Q is actually much cooler than Wesley. I apologize. I love the Emergency Medical Hologram from Star Trek: Voyager. Played by Robert Picardo, he is probably my favorite Star Trek character from any Star Trek, save possibly Wesley Crusher, played by Wil Wheaton. I’m big into Star Trek, and most people won’t care about this post, but I went to the trouble of editing and cutting out the ECH part of Voyager episode 6×04 – Tinker, Tenor, Doctor, Spy and posting it on YouTube for everyone to see. It’s below. I was reminded of how awesome he is from a very inaccurate and completely incorrect article Courtney sent me via del.icio.us. In case anyone has forgotten how awesome the ECH is, especially during his transformation from EMH to ECH, watch the video. You can also subscribe to my delicious or Courtney’s delicious to keep track of links we find interesting. In case you’re wondering what I find so awesome, it’s his transition from medical teal to command red and then the appearance of his captain pips after he activates the ECH. The source for most of the things I linked for Star Trek, Memory Alpha, is the best source for all things Star Trek and is an amazing community-powered resource. For your viewing pleasure, an EMH music video remix is after the break.

Continue reading Emergency Command Hologram →

Independence Bowl

My work allowed all employees to sign up for two free tickets for the Independence Bowl. I’m not normally into football, unless it’s LSU playing, but I figured it was free, and I’ve never actually been to a football game in real life. It was pretty fun. It was Alabama vs. Colorado. Apparently, I’m supposed…

Continue reading Independence Bowl →

Firestone Blows

Firestone has just made my shitlist. Tonight, after work, I drove all the way across town away from my house to get my hair cut. I wanted to look "presentable" for pictures tomorrow since I’m graduating tomorrow night. After I did that, I drove way back over to the Time-It Lube on Bert Kouns to…

Continue reading Firestone Blows →

Last Weekend

I normally don’t post “Dear blag, here’s how my life is going” posts, but I haven’t posted in a while, so I suppose one of those is better than none at all. Last weekend was pretty busy, so here goes. On Friday (10/19/2007), I helped Jenny move a bunch of heavy stuff from her old…

Continue reading Last Weekend →

Taking Jenny Shooting

Today, Chris Leon, Bill Porter, and I took Jenny Roe shooting. I think Bill put it well when he said that taking someone else shooting is one of the most fun things you can do in shooting. I took a bunch of pictures since it was Jenny’s first time and put them on facebook and myspace. The videos of her shooting a .45 and a 20 gauge shotgun are below.

Continue reading Taking Jenny Shooting →

Best Summer Ever

This has been the best summer ever. Summer usually sucks because it’s so hot and walking outside makes me feel like I’m melting. However, last month (July 2007), it rained 18 out of the 31 days and all the other days it was cloudy. This has to be the coolest July I’ve ever experienced in…

Continue reading Best Summer Ever →

Anywhere But Shreveport

I just got back from the Dallas/Fort Worth metropolitan area on Sunday. I left Friday, May 18th and got back Sunday, May 27th and I stayed with my friend Mike in Grapevine, Texas. I had a lot of fun, which was mostly due to Six Flags Over Texas. I purchased a Season Pass here and Courtney, Mike, his girlfriend Heather, and I went there on various days. In total, I probably spent over 48 hours at the park.

Continue reading Anywhere But Shreveport →

Enabling SQL Cache Dependency With Schema Solution

My solution has now been included in a published book about ASP.NET for SQL Server This post is about programming and ASP.NET / Microsoft SQL Server 2005, so any of my friends who aren’t programmers won’t find this interesting. With that said… If you’re reading this post, it’s more than likely that you’ve encountered the…

Continue reading Enabling SQL Cache Dependency With Schema Solution →

Certifications, Helping, and Racism

Yesterday, I took the Microsoft 70-526 certification exam and passed it with a 940. That certification is for Microsoft .NET Framework 2.0 – Windows-Based Client Development. After I take the 70-536 (Microsoft .NET Framework 2.0—Application Development Foundation) on 1/31/2007, I’ll be MCTS: .NET Framework 2.0 Windows Applications. I’m already MCTS: SQL Server 2005. Doing these…

Continue reading Certifications, Helping, and Racism →

Weekend Movie Reviews

I watched three movies this weekend. On Friday, I watched Borat: Cultural Learnings of America for Make Benefit Glorious Nation of Kazakhstan (hereafter known as “Borat “), on Saturday, I watched Jesus Camp, and today, I watched Casino Royale. I have been doing a lot of homework for my various classes and continuing education classes…

Continue reading Weekend Movie Reviews →

The Prestige, PlayStation 2, and Programming

Update 1: Added Krystal Meyers picture and GH2 news. Update 2: Fixed “lost”/”lot” typo, thanks to John McCain. Before I begin on the title’s topics, I’d like to begin with another: Christian Music. Normally, I dislike it because it’s completely boring, and of course the content is verbal diarrhea. However, recently, I prepaid for two…

Continue reading The Prestige, PlayStation 2, and Programming →

Contrast Shower For The Mind

Contrast showers have long been regarded as a “way to stimulate vitality and promote detoxification”. Basically you get in the shower and you continually vary the temperature widely. It’s supposed to exercise your central nervous system or something by going from hot to cold several times. I just had a contrast shower for the mind.…

Continue reading Contrast Shower For The Mind →

Sharing Media to the Xbox 360 Using Windows Media Player 11 Beta 2

I heard about this from DigitalLifeTV. Microsoft now has on their Windows Media Player 11 Beta 2 site the following information: Share it New for Beta 2 The new Media Sharing feature of Windows Media Player 11 lets you enjoy the contents of your Windows Media Player library from anywhere in your home. If you…

Continue reading Sharing Media to the Xbox 360 Using Windows Media Player 11 Beta 2 →

I'm Caffeine Free

Well, I’ve been caffeine free for about four and a half days. I had Diet Coke at Chick-fil-A when Chris and I went there before seeing Clerks II on Friday. To get off topic for a second, that movie was great. Go see it ASAP, unless you’re easily offended that is. I’ve been wanting to…

Continue reading I'm Caffeine Free →

I Quit My Job

Today was my last day at Highland Clinic. It was not unexpected, and if you know me well, you knew about it already. I gave only two weeks notice because I didn’t know whether or not they would flip out and fire me immediately, and I wanted to at least be able to have my…

Continue reading I Quit My Job →

Eating Boogers Each Day Keeps the Doctor Away

Mucophagy The Top 10 Craziest Science Stuff you didn’t know has quite a few awesome facts. For instance, regarding eating your boogers (mucophagy): Some research suggests that mucophagy may be a natural and even healthy activity, which exposes the digestive system to bacteria accumulated in the mucus, thereby helping to strengthen the immune system. I’ve…

Continue reading Eating Boogers Each Day Keeps the Doctor Away →

Mothers Against Noise

Cranky old lady who hates music Mothers Against Noise is a group of old women that seek the elimination of all music they deem to be “noise”. You may ask, “What is ‘noise’?” Noise is music that uses unpleasant or painful or extremely loud or discordant sound. Noise is also a very dangerous musical trend…

Continue reading Mothers Against Noise →

I hate Overstock.com

Update: They did sell out of that stupid thing I bought. I wouldn’t have been able to believe that I could hate them more. They gave me a $5.00 coupon toward a future purchase, but even including that, I had to spend $15 more in order to get an item similar to the one I wanted to buy. Sure, Overstock might lure you in with their ads featuring a seductive austrian woman prancing about in a white wonder world of online commerce, but what really awaits you on the web site? I hate Overstock.com. Don’t get me wrong, I shop there, but I hate it the same way I hate Wal-Mart, and I hate it too, but for different reasons. Read on to see why I hate Overstock.com.

Continue reading I hate Overstock.com →

LOST - 4 8 15 16 23 42 EXECUTE

If you know what that means, more than likely you’re a fan of LOST too. I was recently introduced to LOST after prodding from someone I met via Facebook, which I will discuss later. I had heard lots of people tell me about it, but I am naturally skeptical of new shows. My roommate told me to watch it, and he acquired all of the old episodes, but I declined. I didn’t care about a show with a main plot device of a plane crash. I’ve seen that, and it was a movie; Cast Away. Read on for the reasons why LOST is the best show ever.

Continue reading LOST - 4 8 15 16 23 42 EXECUTE →