• (disco)

    Awk! Frist!

  • (disco)

    Well, if he's that into job security, who am I to stop him from being stuck there for time and all eternity?

  • (disco) in reply to Tsaukpaetra

    Depends on whether he signed a "your life belongs to us" contract or not

  • (disco)

    This is the first time I learned that awk existed and was a programming language. I'm from the CMake generation...

  • (disco) in reply to LB_

    awk is where I go if I'm doing string manipulation and sed isn't cutting the job. Usually because I need to do multi-line stuff or column-oriented stuff. Occasionally also because I need to pass in variables.

  • (disco) in reply to PleegWat

    After doing more research, yeah, I think I've heard of awk before on occasion. This article completely skewed my interpretation for what awk was - it had me under the impression that it was a primitive build scripting tool, but clearly that isn't the case at all...

  • (disco) in reply to LB_

    Yeah, that's a :wtf: thing to use awk for.

  • (disco) in reply to PleegWat

    But

    awk can handle anything

  • (disco) in reply to Fox

    For everything else, there's Mastercard Perl!

  • (disco) in reply to dkf

    I just threw up in my mouth a little bit.

  • (disco) in reply to Fox
    Fox:
    I just threw up in my mouth a little bit.

    Priceless.

  • (disco) in reply to Fox

    Well, yes. So can our business rules engine. Your point?

  • (disco) in reply to PleegWat

    I was quoting Rupert for lulz.

  • (disco)

    Awk's maintenance problems are well documented, which is why perl was invented. It's soooo much easier to maintain.

  • (disco) in reply to Zacrath
    Zacrath:
    Awk's maintenance problems are well documented, which is why perl was invented. It's soooo much easier to maintain.

    :eek:

  • (disco)

    What's with that double listing?

    [image]
  • (disco) in reply to LB_

    :doing_it_wrong: "Locks? We don't need no friggin' locks for atomic operations!"

  • (disco) in reply to Zacrath
    Zacrath:
    Awk's maintenance problems are well documented, which is why perl was invented. It's soooo much easier to maintain.
    So there is a little "I LOVE/LIKE/HEART THIS SOOOOO MUCH" icon under each message, but your reply really deserves the creation of a new icon. One that says: did you forget the sarcasm tag or do I need recalibration?
  • (disco)

    coughantcough

  • (disco)

    Using AWK to error-check code is so the wrong thing to do. You use AWK to generate the code, then it doesn't have coding errors in the first place!

  • (disco)

    This story sounds almost like my current workplace - except instead of AWK, we have makefiles. Lots and lots and lots of makefiles. Mixed with shell scripts. As in, make calls shell scripts, and shell scripts call make. How bad it is? Well, I'll just say that our build system has its own manpage.

  • (disco) in reply to LB_
    LB_:
    This is the first time I learned that awk existed and was a programming language. I'm from the CMake generation...

    If CMake is the techno-philic Millennial generation of build tools, awk/sed is the senile Baby Boomer befuddled by new things. You've missed out on all the joy of make, configure, and autoconf in between them, you lucky whippersnapper!

  • (disco)

    I'm so glad I came into the programming world where we could just edit files directly on the server, without the need for these fancy pants things! No compiling, no error checking, just change and go!

  • (disco) in reply to uncreative
    uncreative:
    I'm so glad I came into the programming world where we could just edit files directly on the server, without the need for these fancy pants things! No compiling, no error checking, just change and go!

    You always could, but you'd better know your machine language opcodes. ;)

  • (disco) in reply to foxyshadis

    Just typing in machine code directly? I've done that…

    And yes, you learned to avoid writing code that required a literal zero byte.

  • (disco) in reply to Fox

    So can Brainfuck.

    Brainfuck all the things!

  • (disco)

    Btw, regarding "awk" and i18n, there's interesting article on the topic.

  • (disco)

    This is the story of my life as a tech manager. Choosing the right solutions, tools, etc. You have to have a balance between old and new. I see a lot more new developers than old so tend to be more defensive about those. The amount of time lost on these things can destroy projects or set them back years.

    The new often do not understand a few things. These are the intimate details of problems faced in long term commercial programming and how solutions relate to those. There tends to be a focus on new solutions purely because they are "trending". In the worst case you have migrations to solutions that don't really solve or improve anything, use of new technology that ends up worse than using old technology, instability and chaos as too many immature non-battle tested or well used technologies are used, etc. Often there is a belief that any new thing must also be constructed from new things.

    However I've had problems with the old as well. I spend a lot of time rewriting or scrapping huge portions of my own code and systems when I can replace them with simpler, more maintainable or appropriate solutions. Sometimes requirements change and things have to be redone. With clean organised code this task tends to be easier. The worst cases I have had to deal with in this area is with people who make a solution and refuse to rewrite it or scrap it when no longer appropriate. Risk aversion is common even when the benefits outweigh the risks.

    Both often suffer the same complication, refusal to accept new requirements spanning a variety of layers (maintainability, scaling, new features, etc).

    In one of the worst cases someone refused to make any major changes to components and systems or to replace them even though they were meant as stop-gap measures. When I took a look and saw how messy and unmaintainable the code was I understood. Some developers can get stuck in their own mess. When there is data involved, integration with other systems, etc then they become stuck in their own chaos.

  • (disco)
    isthisunique:
    (post withdrawn by author, will be automatically deleted in 24 hours unless flagged)

    What's with everyone wanting to be @fbmac all of a sudden?

  • (disco) in reply to uncreative

    (post withdrawn by author, will be automatically deleted in 24 hours unless flagged)

  • (disco) in reply to uncreative

    The forum went berzerk (some small outage). Ended up double posting. WTF is with this fbmac guy posting about Islam and Micro Aggressions on tech sites?

    There is still a WTF here. You can store all of your multibyte translations out side of the application. So the statement that developers should code in ASCII is correct. The failure appears to be SOC.

  • (disco) in reply to isthisunique
    isthisunique:
    The forum went berzerk (some small outage). Ended up double posting. WTF is with this fbmac guy posting about Islam and Micro Aggressions on tech sites?

    There is still a WTF here. You can store all of your multibyte translations out side of the application. So the statement that developers should code in ASCII is correct. The failure appears to be SOC.

    Doesn't say that the unicode strings are hardcoded into the application. I suspect that due to the "awk handles everything!" process, the thing barfs on references to outside files storing the string translations.

  • (disco) in reply to isthisunique

    I'm also keeping the metric system down

  • (disco)

    (post flagged by author, will be automatically withdrawn in 24 hours unless deleted)

  • (disco) in reply to fbmac
    fbmac:
    I'm also keeping the metric system down

    You're not really supposed to eat it.

  • (disco) in reply to Gaska
    Gaska:
    This story sounds almost like my current workplace - except instead of AWK, we have makefiles. Lots and lots and lots of makefiles. Mixed with shell scripts. As in, make calls shell scripts, and shell scripts call make. How bad it is? Well, I'll just say that our build system has its own manpage.

    Sounds like when I used to work at VMware (add in python, maven, and others I've (thankfully) forgotten). Their build system had an entire department of people to support it.

  • (disco) in reply to isthisunique
    isthisunique:
    The forum went berzerk

    That's a regular occurrence. Like several times a day. Sometimes quite a lot of times an hour. We know it's a problem.

  • (disco) in reply to dkf

    Even when Discourse isn't berserk, the forum often is. :)

  • (disco) in reply to foxyshadis
    foxyshadis:
    If CMake is the techno-philic Millennial generation of build tools, awk/sed is the senile Baby Boomer befuddled by new things. You've missed out on all the joy of make, configure, and autoconf in between them, you lucky whippersnapper!

    The story of Gen-X. Sigh.

  • (disco) in reply to HardwareGeek
    HardwareGeek:
    Even when Discourse isn't berserk, the forum often is. :)

    Indeed. Half of the inmates'participants' middlename could be "havoc".

  • (disco) in reply to Hanzo
    Hanzo:
    One that says: did you forget the sarcasm tag or do I need recalibration?

    I herewith endorse the introduction of a button for the application for a whoosh :badger:.

  • (disco)

    an awk script could be a good replacement for discourse markdown parser

  • (disco) in reply to fbmac
    fbmac:
    an awk script could be a good replacement for discourse markdown parser

    Go away or i shalt replace thee with an infintessimal AWK script

  • (disco) in reply to foxyshadis
    foxyshadis:
    If CMake is the techno-philic Millennial generation of build tools

    It's amazing how much better CMake is than other C/C++ build tools, considering it's just a collection of weird macros and hacks that kinda-but-not-really provide a very leaky OS/toolchain abstraction.

  • (disco)

    BTW: One of the best :wtf:s I've read in a while.

  • (disco) in reply to asdf
    asdf:
    foxyshadis:
    If CMake is the techno-philic Millennial generation of build tools

    It's amazing how much better CMake is than other C/C++ build tools, considering it's just a collection of weird macros and hacks that kinda-but-not-really provide a very leaky OS/toolchain abstraction.

    They just seem to have cared about polish from the beginning -- a GUI, Windows is a first-class citizen, simplicity balanced with extensibility everywhere. All of the older systems were hacked together piecemeal as things were needed, CMake is the first one that actually seems planned and designed right. (Despite how ugly the platform abstraction is under the covers.)

  • (disco) in reply to foxyshadis
    foxyshadis:
    They just seem to have cared about polish from the beginning -- a GUI, Windows is a first-class citizen, simplicity balanced with extensibility everywhere. All of the older systems were hacked together piecemeal as things were needed, CMake is the first one that actually seems planned and designed right. (Despite how ugly the platform abstraction is under the covers.)

    It seems to be based on the principle that you tell it what needs to be built, not how to build it. If what you're doing can be built within what it knows about, that works great: declarative programming is very good when applicable.

    It's probably very annoying if what you want to do is outside what the designers envisaged. (I don't use it myself; I'm of the generation that learned to use old fashioned makefiles.)

  • (disco) in reply to dkf
    dkf:
    For everything else, there's Mastercard Perl Excel!
    PJH:
    obfusgation
    Really, Erik?
    Also this.
  • (disco)

    So thats happy end!

    All the youngsters could learn from this!

    Why to use something new, just because its cool, when theres a completely good time-proved technology, which can do the same results!

  • (disco) in reply to isthisunique
    isthisunique:
    WTF is with this fbmac guy posting about Islam and Micro Aggressions on tech sites?

    You must be really new here...

Leave a comment on “Awk-ward Error Checking”

Log In or post as a guest

Replying to comment #:

« Return to Article