Dont need no loops



  • http://what.thedailywtf.com/t/dont-let-physics-majors-masquerading-as-electrical-engineers-code/2136

    Continuing the file format, its time for the parsing logic! which was a pita to obfuscate. I gave up trying to match the lines to the obfuscated format but close enough.

    [code]

    Sub ReadOldTestParameters()
        Dim tmp As String
        FileOpen(1, StupidFilePath, OpenMode.Input, OpenAccess.Read, OpenShare.Shared)
    
    
        tmp = LineInput(1) 'first get the selected test
        FooTest = tmp
        'MsgBox ("selectedtest = " & SelectedTest)
        Do Until EOF(1) = True
            tmp = LineInput(1)
            If StrComp(tmp, "$", 1) = 0 Then
                'MsgBox ("Found $")
                tmp = LineInput(1) 'comment about what it is
                ImportantString = tmp
                'MsgBox ("ImportantString = " & ImportantString)
                tmp = LineInput(1) 'comment about what it is
                tmp = LineInput(1)
                Test1UpperLimit = Val(tmp)
                'MsgBox ("Test1UpperLimit = " & CStr(Test1UpperLimit))
                tmp = LineInput(1) 'comment about what it is
                tmp = LineInput(1)
                Test1LowerLimit = Val(tmp)
                'MsgBox ("Test1LowerLimit = " & CStr(Test1LowerLimit))
                tmp = LineInput(1) 'comment about what it is
                tmp = LineInput(1)
                Test2UpperLimit = Val(tmp)
                'MsgBox ("Test2UpperLimit = " & CStr(Test2UpperLimit))
                tmp = LineInput(1) 'comment that this can be 1 of two DIFFERENT TYPE OF OPTIONS
                tmp = LineInput(1)
                If Not FooTest = "FooTestType1" Then
                    Test2LowerLimit = Val(tmp)
                    ' MsgBox ("Test2LowerLimit = " & CStr(Test2LowerLimit))
                Else 'else other option
                    DifferentOptionFuckYou = Val(tmp)
                    ' MsgBox ("DifferentOptionFuckYou = " & CStr(DifferentOptionFuckYou))
                End If
    
                tmp = LineInput(1) 'comment about what it is
                tmp = LineInput(1)
                If Len(tmp) = 2 Then 'old scripts that have only 00 or 10 or 11 or 01
                    BooleanFlag1 = Val(Right(tmp, 1))
                    BooleanFlag2 = Val(Left(tmp, 1))
                Else 'else new scripts where length is 8 characters
                    BooleanFlag3 = (Val(Left(tmp, 2))) And 1
                    BooleanFlag4 = (Val(Left(tmp, 3))) And 1
                    'MsgBox ("BooleanFlag4 =" & BooleanFlag4)
                    BooleanFlag5 = (Val(Left(tmp, 4))) And 1
                    BooleanFlag6 = (Val(Left(tmp, 5))) And 1
                    future_test4 = (Val(Left(tmp, 6))) And 1
                    future_test5 = (Val(Left(tmp, 7))) And 1
                End If
                tmp = LineInput(1) 'comment about what it is
                tmp = LineInput(1) 'test limit or important setting could be 0 or 99 or 50
                'If (Val(tmp) <= 2 And Val(tmp) <> 99 And Val(tmp) <> 9999) Then
                If (Val(tmp) <= 2) Then
                    ImportantSetting = Val(tmp)
                    ApparentlyOptionalSetting = 0
                Else
                    ApparentlyOptionalSetting = Val(tmp)
                End If
                tmp = LineInput(1) 'comment about what it is
                tmp = LineInput(1)
                TestValue1 = Val(tmp)
                'MsgBox ("TestValue1" & CStr(TestValue1))
                tmp = LineInput(1) 'comment about what it is
                tmp = LineInput(1)
                TestValue2 = tmp
                TestValue2_hex = Val("&H" & TestValue2)
                'MsgBox ("TestValue2 = " & TestValue2)
                tmp = LineInput(1) 'comment about what it is
                tmp = LineInput(1)
                TestValue3 = tmp
                frmTestResults.TestValue3.Text = tmp
                'MsgBox ("TestValue3 = " & TestValue3)
                tmp = LineInput(1) 'comment about what it is
                tmp = LineInput(1)
                TestValue3 = Val(tmp)
                tmp = LineInput(1) 'comment about what it is
                tmp = LineInput(1)
                TestValue4 = Val(tmp)
                'MsgBox ("TestValue4 = " & TestValue4)
                tmp = LineInput(1) 'comment about what it is
                tmp = LineInput(1)
                TestValue5 = Val(tmp)
                'MsgBox ("TestValue5= " & TestValue5)
                tmp = LineInput(1) 'comment about what it is
                tmp = LineInput(1)
                TestValue6 = Val(tmp)
                'frmTestResults.TestValue6.Text = tmp
                'MsgBox (" TestValue6 = " & TestValue6)
                tmp = LineInput(1) 'comment about what it is
                tmp = LineInput(1)
                TestValue7 = Val(tmp)
                'frmTestResults.TestValue7.Text = tmp
                'MsgBox ("TestValue7 = " & TestValue7)
                tmp = LineInput(1) 'comment about what it is
                tmp = LineInput(1)
                TestValue8 = Val(tmp)
                'MsgBox ("TestValue8 = " & TestValue8)
                tmp = LineInput(1) 'comment about what it is
                tmp = LineInput(1)
                TestValue9 = Val(tmp)
                'MsgBox ("TestValue9 = " & TestValue9)
                tmp = LineInput(1) 'comment about what it is
                tmp = LineInput(1)
                TestValue10 = Val(tmp)
                'MsgBox ("TestValue10 = " & TestValue10)
                tmp = LineInput(1) 'comment about what it is
                tmp = LineInput(1)
                TestValue11 = Val(tmp)
                tmp = LineInput(1) 'comment about what it is
                tmp = LineInput(1)
                TestValue12 = Val(tmp)
                tmp = LineInput(1) 'comment about what it is
                tmp = LineInput(1)
                TestValue13 = Val(tmp)
                tmp = LineInput(1) 'comment about what it is
                tmp = LineInput(1)
                TestValue14 = Val(tmp)
            ElseIf StrComp(tmp, "#", 1) = 0 Then
                tmp = LineInput(1)
                tmp = LineInput(1)
                tmp = LineInput(1)
                TestValue15 = Val(Right(tmp, Len(tmp) - 12))
                'MsgBox ("TestValue15 = " & TestValue15)
                tmp = LineInput(1)
                tmp = LineInput(1)
                tmp = LineInput(1) 'comment about what it is
                If InStr(tmp, "ThirdImportantSetting") <> 0 Then
                    ThirdImportantSetting = Right(tmp, Len(tmp) - 22)
                End If
            End If
        Loop
    

    [/code]

    Notice how the INI is processred at the end? 😃



  • And Discourse being unable to syntax highlight VB is now the next wtf.



  • @delfinom said:

    And Discourse being unable syntax highlight VB is now the next wtf.
    Does adding VB after the ``` help?



  • No



  • Damn... Looks like it supports stuff like JavaScript, Java, C, CS and so on, but nothing like VB or VisualBasic. You could just mark it as css to render most of it in blue.



  • It was mentioned in this thread: check, check, testing, one, two

    Basically, the highlighter they're using supports VB (and a host of other languages), but it is an optional add-on, not part of the core. No clue if anyone besides @apapadimoulis can get a version with any additional languages supported in place for Discourse to use (since @PJH says elsehwere he can only access the admin console of the site, and chances are that's not something that can be dropped in from there).


  • Discourse touched me in a no-no place

    @ChaosTheEternal said:

    No clue if anyone besides @apapadimoulis can get a version with any additional languages supported in place for Discourse to use (since @PJH says elsehwere he can only access the admin console of the site, and chances are that's not something that can be dropped in from there).

    @Sam - any way of getting a version installed with everything checked?



  • Supporting as many languages might be a good idea on this site.


  • Banned

    Let me have a think about how to pull that off.



  • Do you really think it's a good idea to add more complexity to this already insane-complex markdown implementation that no human being, including the ones who WROTE THE THING, can understand?



  • @blakeyrat said:

    Do you really think it's a good idea to add more complexity to this already insane-complex markdown implementation that no human being, including the ones who WROTE THE THING, can understand?

    I'm sure if @codinghorror sees this his reaction would be:


  • Banned

    The issue here is nothing to do with markdown just figuring out how to allow you to add a custom js to replace one we ship, Ill probably make a plugin for it and install here.



  • Buck Passing!

    Seriously, I'd just be happy if I could type "3." at the beginning of a line and see "3." at the beginning of the line in the actual post. But we're only in the year 2014, surely that crazy science fiction technology can't possibly exist.

    Has anybody coined the phrase WYSIWYDG before? What You See Is What You Don't Get? Fuck Discourse, what a fucking mess of shit.



  • I'm actually contemplating a fork called recourse. Basically a collection of patches fixing discourse. Everytime they do a release, I would just do a git rebase to fix it.



  • You know what's great is when someone makes a shitty product to sell for cash money, and then a bunch of fucking idiots come by and add value to the shitty product for free.

    OH YAY, OPEN SOURCE! Let's reward people who give us bullshit by giving them free money in return! THIS IS A BRILLIANT STRATEGY!

    You sure showed them.



  • @blakeyrat said:

    You know what's great is when someone makes a shitty product to sell for cash money, and then a bunch of fucking idiots come by and add value to the shitty product for free.

    That's why you make any fork have a focus on shaming and humiliating the main line developers and product. All legal under the licenses the code is under.



  • @delfinom said:

    That's why you make any fork have a focus on shaming and humiliating the main line developers and product. All legal under the licenses the code is under.

    I'm not saying it's illegal, I'm saying it's fucking stupid.

    Why would you help these assholes make more money for subjecting us to an awful software product? It's like you don't understand the most basic fundamentals of economics.

    While you're "shaming" and "humiliating" (as if Jeff Atwood has a sense of shame and/or humility! Hah!) these dumbshits, you're also giving them free features they can implement to make their product better. Even if you could somehow prevent them from just glomming up your patches, you're still giving them valuable data on what features people want, and showing them exactly how to implement them.



  • you're still giving them valuable data on what features people want, and showing them exactly how to implement them.

    You are joking right?

    Because their current mantra is the complete opposite.

    I am pretty fucking certain Discourse will never have pagination for starters.



  • Do what the fuck you want.

    I'm just saying what you want to do is fucking stupid.



  • This.

    See also "stop reporting the fucking bugs"


  • BINNED

    @tufty said:

    See also "stop reporting the fucking bugs"

    I'm sick of doing it too. But, to paraphrase blakey, I have to use this shit to talk to you assholes.

    I'd rather have shit somewhat working, so I can get pissed at assholes more than the medium.



  • Only yesterday on the SMF forum, someone was actively suggesting we look at Discourse as an example of a modern forum to take ideas from.

    I only wish I were kidding.


  • :belt_onion:

    @Arantor said:

    Only yesterday on the SMF forum, someone was actively suggesting we look at Discourse as an example of a modern forum to take ideas from.

    Sounds like a good idea to me.
    Implement the things that are useful, and use the crappy parts as examples of ideas to avoid.



  • Yea honestly, the editor isn't too bad, except the use of fucking markdown.



  • @darkmatter said:

    Sounds like a good idea to me.
    Implement the things that are useful, and use the crappy parts as examples of ideas to avoid.

    Except I'm struggling to see what actual things are useful that don't already have analogues in SMF and co... the only things that are genuinely newer and interesting are the things we all hate anyway.



  • @Onyx said:

    I'd rather have shit somewhat working, so I can get pissed at assholes more than the medium.

    My opinion (which, of course, remains my own) is that the major annoyances with this pile of septic excrement are not to do with poor implementation, but with it being designed by a megalomaniac cretin. Fixing bugs is a classic example of rearranging deckchairs on the Titanic.

    Discourse is not designed to be used the way people use software. It shows little sign of anything with regard to actual user interaction having been considered at all, in fact. It's an experiment in the the way @twatwood seems to think software should be used, how people would use software if they were all fucking retards.

    Put it this way. Would fixing the spelling of the Paula Bean make it significantly better, or simply less funny?



  • It is an opinion quite widely shared; the majority of 'actual implementation' bugs are mostly derived from the design being broken and I don't think most of us are actually that bothered by the 'actual implementation' bugs because we all know that bugs happen.

    But yes, your take on it being an experiment in human machine interaction is definitely pretty apt, I think.



  • @tufty said:

    Fixing bugs is a classic example of rearranging deckchairs on the Titanic.

    Gee that sounds familiar.



  • Gee that sounds familiar.

    Well, it is a relatively common metaphor.

    @Arantor said:

    the majority of 'actual implementation' bugs are mostly derived from the design being broken and I don't think most of us are actually that bothered by the 'actual implementation' bugs because we all know that bugs happen.

    Thing is, the "design is broken" bugs won't ever get truly fixed - they are the sort of shit you can only ever sweep under the rug and hope the next "fix" doesn't involve moving the rug. Truly fixing them would require going beyond

    WORKSASDESIGNEDWONTFIX

    The situation with the implementation bugs has, since the fucking thing got installed here and "we" all got our heads down to reporting them, improved massively. Almost to the point where <a @twatwood could point to it and say "look, I made that" without people instantly realising what sort of clueless fuckwad he is. To the point where the fucker might be able to sell it.

    Yay us.



  • @tufty said:

    Well, it is a relatively common metaphor.

    As is Sisyphus.


  • I survived the hour long Uno hand

    In Waterfall, 45% of defects on average are introduced before the coding begins.



  • What about waterfragile?


  • I survived the hour long Uno hand

    100% of defects are introduced by the choice of methodology.



  • Nope, there are some methodologies that don't inherently introduce defects as a result of the methodology itself. Except in Discourse where approximately 97% of the defects were introduced by the pre-coding stage.


  • I survived the hour long Uno hand

    I was replying specifically to the "waterfragile" methodology.

    I was serious about my first statistic though. I'm having to memorize all kinds of crap statistics and lists of things nobody ever does in order to get a cert I'm after.



  • Oh yes, waterfragile introduces damn near everything XD

    Hope that cert works out for you 😄



  • @tufty said:

    To the point where the fucker might be able to sell it. [unsanitized quote]

    This...is exactly what blakeyrat is vehemently objecting to. I have to agree with him.

    I created the account on DissedCourse (sorry Jeff, but that describes the overwhelming opinion here to date) about a month after all the ranting hit the fan and what major fixes were going to be done were already implemented. My experience has been decent as a result, though it runs slower on my Chrome that other forums (e.g. /.) run on my IE (which is a slow WTF browser in itself).

    Given the consistently lower participation in discussions on DissedCourse as compared to the old CS forum (of which I may never get unlocked on), I have to say this is a prime example that belongs in discussion of the thread: "What are the TOP reasons that explain Failed I.T. Projects?" Multiple reasons apply here. Determination of those reasons is left as an exercise to the reader, as I'm sure they can come up with much more humorous ways to express them than I.

    This is a tough crowd. A group of competent people have to be. But certainly not impossible to work with (witness Sam and his responsiveness to the issues that at least can be addressed), as long as one remembers that flaming and criticizing WTFery is the pastime here, and doesn't take it personally. That's hard to do when one's creation is what's getting flamed, but that's what's necessary. We've ALL done WTFs in our lives; it's what we DO when our WTF(s) are identified that shows a person's character. One thing that can prevent the required response is the first barrier to learning, which is simply: "I know it all already." Its consequences can range anywhere from nothing to death; in this case, it's close to the death of the creator's reputation to date.

    Forum: a place, meeting, or medium where ideas and views on a particular issue can be exchanged. (with apologies to Captain Obvious)

    The forum here is supposed to serve as an escape from the WTFery we have to deal with in real life on a regular basis. The forum was never meant to be another obstacle that needs to be overcome just to communicate. When it became that obstacle, it became a target.

    The way I see it (and my opinion is my own):

    1. To Jeff, this (Discourse) was a success, because the program did what he wanted it to do.
    2. To the crowd here (correct me if I'm wrong), this was a failure, because it was lacking in so many ways to work per the definition of a forum as the crowd here would expect it to work.
    3. To Alex...FILE_NOT_FOUND (i.e., insufficient data)

    In the end, customers [employers] pay consultants [employees] for producing and delivering what the customers [employers] want.

    One thing pointed out in the LinkedIn article is that if the customer asks for "X," but really wants to accomplish goals "A" and "B," if "X" doesn't deliver "A" or "B" the customer holds YOU the consultant responsible for the failure. The reverse applies here. You the consultant offer "X" to the customer to provide "A" and "B." If it doesn't deliver "A" and "B," rage, anger, disappointment, sadness and a whole slew of other mis-emotion follows, and you probably don't get paid.

    If this were my forum, a new forum software should result in no less than a 10% drop in participation within a month of initial switchover to be "successful" in my book, followed by a steady rise in membership (assuming the content itself is drawing more people in than are leaving). Seeing 100's of responses to main articles in CS and seeing 30-50 in DC (62 being the record as of this writing, as far as I can tell) shows a greater than 50% drop. I didn't run exact numbers, but responses are consistently significantly higher in CS than DC, and DC's been put to use off and on for over 3 months now.

    Sorry, this post ended up much longer that I thought it would be. Let me end by saying that I'd be ok with going back to my silent screaming in CS than continue on a product that is using >250MB of my RAM in one instance of Chrome as I write this, and this with infiniscroll partially unloading content towards the top of this thread to conserve RAM!

    But I'm not holding my breath, as CS registration and password fixing is broken & prevents new members, which probably trumps all else.


    Filed under: Nope, a crowbar won't fix this one (sorry Onyx)



  • @redwizard said:

    Given the consistently lower participation in discussions on DissedCourse as compared to the old CS forum

    Is this true?

    I was lurking the last few months on CS and my impression is that activity is much higher than it used to be. In the old forums, I was following WTF sidebar through RSS and getting maybe one or two new threads a day. Even deader in other sections. That's nothing compared to the torrent of activity on Discourse, even if most of it is stinkin' meta whining about Discourse in the first place :-)



  • @cartman82 said:

    Is this true?

    Clarification: look at the main articles as listed on thedailywtf.com - those have a mix of CS and DC.

    Sidebar and others force you onto DC unless you know the old links. So there's a "lot of activity" on DC - by those who have registered. Many have not, and those are the extra participants in CS that you don't see here in Sidebar, etc.



  • If 85% of that activity is in that retarded "likes" thread, is that really a good thing?

    The quality discussion is much, much lower.



  • @redwizard said:

    Clarification: look at the main articles as listed on thedailywtf.com - those have a mix of CS and DC.

    Sidebar and others force you onto DC unless you know the old links. So there's a "lot of activity" on DC - by those who have registered. Many have not, and those are the extra participants in CS that you don't see here in Sidebar, etc.

    @blakeyrat said:

    If 85% of that activity is in that retarded "likes" thread, is that really a good thing?

    The quality discussion is much, much lower.

    I frequent neither Likes nor Article threads. I can still barely keep up.

    As for the quality... hmm, I don't know. Perhaps once the discourse circlejerk finally dies down, things will become clearer.



  • @cartman82 said:

    Perhaps once the discourse circlejerk finally dies down, things will become clearer.

    That ain't gonna happen. You're delusional. It's already fucked. Alex fucked it up, it is fucked. Past-tense. There's no going back.



  • Oh come on. Arent you tired of it already? Of course it will die down. Im surprised it lasted this long.


  • :belt_onion:

    @cartman82 said:

    Oh come on. Arent you tired of it already? Of course it will die down. Im surprised it lasted this long.

    It's hard for it to die down when the bugs don't ever die because they're intentional.

    Every time someone tries to start a line with

    5. this is a continuation from the previous post
    and get it........ SERIOUSLY THAT WAS EMBEDDED IN A FUCKING QUOTE - YOU FUCKING CHANGED MY FUCKING QUOTE, AND IT WASN'T EVEN ON ITS OWN FUCKING LINE, IT'S MOTHERFUCKING EMBEDDED IN THE MIDDLE OF A FUCKING SENTENCE IN THE RAW INPUT, WHAT THE FUCK.

    Thankfully Dicsourse has only helped me to prove my point.

    [code]

    5. this is a continuation from the previous post
    [/code]

    Even better, it helps me prove my point twice, FUCK YOU PREVIEW PANE YOU LYING PIECE OF SHIT:


  • :belt_onion:

    So there, I finally fucking got to show you what I actually put in that comment.
    Just 1 step short of having to print the shit off, take a pic on my tablet of it sitting on wooden table, and paste a copy of the image in just to get it to motherfucking display right.


  • :belt_onion:

    @darkmatter said:

    and get it........ SERIOUSLY THAT WAS EMBEDDED IN A FUCKING QUOTE - YOU FUCKING CHANGED MY FUCKING QUOTE, AND IT WASN'T EVEN ON ITS OWN FUCKING LINE, IT'S MOTHERFUCKING EMBEDDED IN THE MIDDLE OF A FUCKING SENTENCE IN THE RAW INPUT, WHAT THE FUCK.

    I seriously wasn't expecting it to break when embedded in an inline quote tag... but once it did, I merely let my immediate reaction spew forth the second I realized what happened.



  • @darkmatter said:

    Just 1 step short of having to print the shit off, take a pic on my tablet of it sitting on wooden table, and paste a copy of the image in just to get it to motherfucking display right.

    Instant Classic.



  • We were told "In 3 months, the moaning will be forgotten". That was, more or less, 3 months ago, and the noise is still drowning out the signal. I fully expect, in a couple of weeks or so, someone more pedantic and dickweedish than I to pull out Alex's (at least, IIRC it was Alex) post saying something along the lines of

    Give it 3 months and then we'll decide what to do

    … and say

    So, Alex?

    My "Criswell Predicts" is one of

    We're stuck with it

    or

    Give it another couple of months

    What makes me laugh the most is that Alex is getting assraped on hosting charges for this "free" piece of shit everyone hates (ruby/postgres/all the other shit is not common), although he could be hosting something tested and more usable for significantly less money, even if he was paying for the software itself.



  • @darkmatter said:

    I seriously wasn't expecting it to break when embedded in an inline quote tag... but once it did, I merely let my immediate reaction spew forth the second I realized what happened.

    Yeah but in the old forums you had to basically manually type in html...

    @tufty said:

    We were told "In 3 months, the moaning will be forgotten". That was, more or less, 3 months ago, and the noise is still drowning out the signal.

    That's what I'm saying. I'm surprised at the level of rage and meta this software keeps causing months after the switch. It can't be the bush league editor bugs you keep bringing up. There's some deeper psychological mechanics at work here that I just don't understand.

    @tufty said:

    What makes me laugh the most is that Alex is getting assraped on hosting charges for this "free" piece of shit everyone hates (ruby/postgres/all the other shit is not common), although he could be hosting something tested and more usable for significantly less money, even if he was paying for the software itself.

    I'm pretty sure it's a dedicated host, like the old forums.


  • Discourse touched me in a no-no place

    @redwizard said:

    Seeing 100's of responses to main articles in CS and seeing 30-50 in DC (62 being the record as of this writing, as far as I can tell) shows a greater than 50% drop. I didn't run exact numbers, but responses are consistently significantly higher in CS than DC, and DC's been put to use off and on for over 3 months now.

    Hate to be a pedant, but the front-page article comments never ran under CS. The logins may have been shared between the two systems, but that's about all they had in common.

    @darkmatter said:

    So there, I finally fucking got to show you what I actually put in that comment.

    1. You shouldn't have to resort to HTML to get your point across? ;)

Log in to reply