Click here to Skip to main content
15,166,358 members

The Weird and The Wonderful

   

The Weird and The Wonderful forum is a place to post Coding Horrors, Worst Practices, and the occasional flash of brilliance.

We all come across code that simply boggles the mind. Lazy kludges, embarrassing mistakes, horrid workarounds and developers just not quite getting it. And then somedays we come across - or write - the truly sublime.

Post your Best, your worst, and your most interesting. But please - no programming questions . This forum is purely for amusement and discussions on code snippets. All actual programming questions will be removed.

 
GeneralRe: Uhhh... Pin
Jon McKee20-Apr-21 14:23
professionalJon McKee20-Apr-21 14:23 
GeneralRe: Uhhh... Pin
MarkTJohnson21-Apr-21 6:00
professionalMarkTJohnson21-Apr-21 6:00 
GeneralRe: Uhhh... Pin
Gary Wheeler5-May-21 11:51
MemberGary Wheeler5-May-21 11:51 
GeneralRe: Uhhh... Pin
Brisingr Aerowing7-May-21 14:37
professionalBrisingr Aerowing7-May-21 14:37 
GeneralRe: Uhhh... Pin
Gary Wheeler7-May-21 14:47
MemberGary Wheeler7-May-21 14:47 
GeneralRe: Uhhh... Pin
Greg Utas7-May-21 15:41
mveGreg Utas7-May-21 15:41 
GeneralRe: Uhhh... Pin
Gary Wheeler7-May-21 16:01
MemberGary Wheeler7-May-21 16:01 
GeneralThere are times when I really wonder exactly what I was thinking ... Pin
OriginalGriff30-Mar-21 0:26
mveOriginalGriff30-Mar-21 0:26 
I'm changing ISP's in a week or so, so I resurrected an old app I wrote to monitor my ISP and tell me when it changed.

And it didn't work any more, because the IP Geolocation service I was using has changed and needs an API signup instead of presenting the data as CSV.

So, I thought I'd re-write it using HtmlAgilityPack.
But it was odd that I got no error message in the original code ... until I spotted this:
C#
private void FillInDetails(string host)
    {
    Timestamp = DateTime.Now;
    IPAddress addr = IPAddress.None;
    try
        {
        using (WebClient wc = new WebClient())
            {
            if (string.IsNullOrWhiteSpace(host))
                {
                host = "http://freegeoip.net/csv";
                }
            else
                {
                host = string.Format("http://freegeoip.net/csv{0}{1}", "/", host);
                }
            string data = wc.DownloadString(host);
            string[] sections = BreakCSVLine(data);
            if (sections.Length != freegeoipDataSectionsCount) throw new ArgumentException("Data returned from FreeGeoIP has changed format!");
            addr = IPAddress.Parse(sections[freegeoipDataAddress]);
            CountryCode = sections[freegeoipDataCountryCode];
            Country = sections[freegeoipDataCountry];
            RegionCode = sections[freegeoipDataRegionCode];
            Region = sections[freegeoipDataRegion];
            City = sections[freegeoipDataCity];
            Zipcode = sections[freegeoipDataZipcode];
            TimeZone = sections[freegeoipDataTimeZone];
            Area = sections[freegeoipDataArea];
            float lat = float.Parse(sections[freegeoipDataLatitude]);
            float lon = float.Parse(sections[freegeoipDataLongditude]);
            LatLong = new PointF(lon, lat);
            }
        }
    catch (Exception)
        {
        // Ignore errors (it probably means the router is down...)
        }
    Address = addr;
    }


So I carefully create my own exception to tell me why it's not working ... and then explicitly ignore it.
I do wonder about past-me's thought processes sometimes ... Sigh | :sigh:
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
"Common sense is so rare these days, it should be classified as a super power" - Random T-shirt
AntiTwitter: @DalekDave is now a follower!

GeneralRe: There are times when I really wonder exactly what I was thinking ... Pin
Marc Clifton6-Apr-21 15:45
mvaMarc Clifton6-Apr-21 15:45 
GeneralRe: There are times when I really wonder exactly what I was thinking ... Pin
Sander Rossel11-Apr-21 1:32
professionalSander Rossel11-Apr-21 1:32 
GeneralRe: There are times when I really wonder exactly what I was thinking ... Pin
Bernhard Hiller6-Apr-21 21:52
MemberBernhard Hiller6-Apr-21 21:52 
GeneralRe: There are times when I really wonder exactly what I was thinking ... Pin
Dan Neely20-Apr-21 6:39
MemberDan Neely20-Apr-21 6:39 
GeneralC++ & Thinking about SSD & wear level Pin
raddevus27-Mar-21 12:58
mvaraddevus27-Mar-21 12:58 
GeneralRe: C++ & Thinking about SSD & wear level (updated) Pin
Peter_in_278027-Mar-21 17:03
professionalPeter_in_278027-Mar-21 17:03 
GeneralRe: C++ & Thinking about SSD & wear level (updated) Pin
raddevus27-Mar-21 18:47
mvaraddevus27-Mar-21 18:47 
GeneralRe: C++ & Thinking about SSD & wear level (updated) Pin
David O'Neil28-Mar-21 4:29
professionalDavid O'Neil28-Mar-21 4:29 
GeneralRe: C++ & Thinking about SSD & wear level (updated) Pin
raddevus28-Mar-21 4:37
mvaraddevus28-Mar-21 4:37 
GeneralRe: C++ & Thinking about SSD & wear level Pin
David O'Neil28-Mar-21 5:14
professionalDavid O'Neil28-Mar-21 5:14 
GeneralRe: C++ & Thinking about SSD & wear level Pin
raddevus28-Mar-21 6:11
mvaraddevus28-Mar-21 6:11 
GeneralRe: C++ & Thinking about SSD & wear level Pin
David O'Neil28-Mar-21 12:56
professionalDavid O'Neil28-Mar-21 12:56 
GeneralRe: C++ & Thinking about SSD & wear level Pin
raddevus28-Mar-21 13:50
mvaraddevus28-Mar-21 13:50 
GeneralRe: C++ & Thinking about SSD & wear level Pin
Dan Neely20-Apr-21 6:41
MemberDan Neely20-Apr-21 6:41 
GeneralAre you tired of keeping up with the latest changes? Pin
Slow Eddie20-Mar-21 3:58
professionalSlow Eddie20-Mar-21 3:58 
GeneralRe: Are you tired of keeping up with the latest changes? Pin
Julian Ragan20-Mar-21 4:22
MemberJulian Ragan20-Mar-21 4:22 
GeneralRe: Are you tired of keeping up with the latest changes? Pin
GuyThiebaut24-Mar-21 1:32
professionalGuyThiebaut24-Mar-21 1:32 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.