As was foretold, we've added advertisements to the forums! If you have questions, or if you encounter any bugs, please visit this thread: https://forums.penny-arcade.com/discussion/240191/forum-advertisement-faq-and-reports-thread/
We're funding a new Acquisitions Incorporated series on Kickstarter right now! Check it out at https://www.kickstarter.com/projects/pennyarcade/acquisitions-incorporated-the-series-2

[PROGRAMMING] Pimping Vanilla HL7s by A02-A17 XML Coffeescripts

17677798182100

Posts

  • bowenbowen How you doin'? Registered User regular
    not a doctor, not a lawyer, examples I use may not be fully researched so don't take out of context plz, don't @ me
  • Jimmy KingJimmy King Registered User regular
    Infidel wrote: »
    Jimmy King wrote: »
    I just don't get choosing something that makes you work significantly harder at just getting it right ... PHP specifically seems to take that making it harder to just get it right ...

    I've never really run into any trouble getting non-PHP environments up and working.

    It seemed like you were talking PHP to me and implying it with the last one with the counter-statement. If not then nevermind. :D
    Ah, sorry. I should have been more clear. That second line was in response to @bowen having a hard time initially getting Ruby setup. Btw, I'm in no way saying that shouldn't have been the case since it was easy for me, depending on exact needs and whatnot, it certainly could have been a hassle... and I suspect it was being setup on a Mac, whereas I've always done it on Linux.
    Unrelated, if you are having shoe smell issues, make sure you are never wearing shoes the day after you just wore them at the very least. You need to let them breathe and dry at least a day, which means you need to rotate at the minimum two pairs of shoes and preferably three.

    I got stuck in using the same shoes over and over due to colour choice at one point and it got real bad. So I keep a couple brown and a couple black shoes available now.
    I dream of the day that "more shoes" is at the top of my spending priorities. It will be a good day indeed... and less stinky.

    Also, congrats @urahonky and @Gilbert0 on the babies! Mine is just over 5 months old. Get in some quality time with your hobbies now because you won't for awhile after the baby, but it's worth it.

  • urahonkyurahonky Registered User regular
    Yeah that requires the .war/.ear file to deploy. We tried using just the plan.xml but it requires an archive.

  • urahonkyurahonky Registered User regular
    Also the power just went out and we're on backup.... Oddly enough the Developers area is completely lightless, but the management side is perfectly fine.

  • bowenbowen How you doin'? Registered User regular
    Windows deployment for ruby was what I was using. Then mac. Then linux. This was wayyyyyyy back though.

    not a doctor, not a lawyer, examples I use may not be fully researched so don't take out of context plz, don't @ me
  • EchoEcho ski-bap ba-dapModerator mod
  • bowenbowen How you doin'? Registered User regular
    edited April 2013
    HNVkwgD.png

    bowen on
    not a doctor, not a lawyer, examples I use may not be fully researched so don't take out of context plz, don't @ me
  • Jimmy KingJimmy King Registered User regular
    Echo wrote: »

    That's awesome but it still looks way too clean, properly aligned, etc.

  • InfidelInfidel Heretic Registered User regular
    Jimmy King wrote: »
    Echo wrote: »

    That's awesome but it still looks way too clean, properly aligned, etc.

    See? Content is king!

    OrokosPA.png
  • Jimmy KingJimmy King Registered User regular
    I've been reading this the last few days as I have free time. There is some really interesting stuff, particularly the insight into the web site optimization stuff. http://chimera.labs.oreilly.com/books/1230000000545/index.html

  • EchoEcho ski-bap ba-dapModerator mod
    That looks really interesting. The highest level I ever got for that stuff was making CSS sprite sheets.

  • mightyjongyomightyjongyo Sour Crrm East Bay, CaliforniaRegistered User regular
    Fuck backwards compatibility. Refactoring feels so futile when I have to keep the same struct and fields and account for their state because we need to maintain backwards compat. I mean what's the point if I have to keep everything in the first place?

  • bowenbowen How you doin'? Registered User regular
    Make prettier code, basically, and organize it better.

    not a doctor, not a lawyer, examples I use may not be fully researched so don't take out of context plz, don't @ me
  • mightyjongyomightyjongyo Sour Crrm East Bay, CaliforniaRegistered User regular
    Well...Hm. I guess that's what a refactor is, isn't it...

    Maybe it's more of a reimplementation then - I wanted to clean up one of our external-facing structs because it had a lot of fields that will no longer be necessary with the new implementation, and now I'm forced to keep the old fields, which really just mucks it up even more.

    I mean, when are you allowed to just stop and say, look, it's not backwards compatible anymore starting from Version X.

  • bowenbowen How you doin'? Registered User regular
    That's what I would do. I'm not gonna lie, I've made up excuses that we can't be backwards compatible because of (made up reason) because sometimes fuck your business goals, it needs to be done right.

    People get over it after like a week.

    not a doctor, not a lawyer, examples I use may not be fully researched so don't take out of context plz, don't @ me
  • EtheaEthea Registered User regular
    Well...Hm. I guess that's what a refactor is, isn't it...

    Maybe it's more of a reimplementation then - I wanted to clean up one of our external-facing structs because it had a lot of fields that will no longer be necessary with the new implementation, and now I'm forced to keep the old fields, which really just mucks it up even more.

    I mean, when are you allowed to just stop and say, look, it's not backwards compatible anymore starting from Version X.

    Part of your reimplementation should handle backwards compatibility. You are taking the easy way out if you don't think about these issues when you have the chance. If you offer backwards API compatibility you should also have infrastructure to mark items as deprecated. If you offer ABI compatibility, well good luck and move to internal pointers + methods / functions.

    If you have inheritance / templates you can solve the issue by having a legacy child class that conforms to the old struct memory layout. With pure structs I expect some nice macros will allow you to conditional expose the old struct.

  • ecco the dolphinecco the dolphin Registered User regular
    edited April 2013
    Well...Hm. I guess that's what a refactor is, isn't it...

    Maybe it's more of a reimplementation then - I wanted to clean up one of our external-facing structs because it had a lot of fields that will no longer be necessary with the new implementation, and now I'm forced to keep the old fields, which really just mucks it up even more.

    I mean, when are you allowed to just stop and say, look, it's not backwards compatible anymore starting from Version X.

    Another alternative is to bring in the new interface, and reimplement the old interface in terms of the new interface.

    Just mark the old fields "deprecated", and "will be removed in x major versions".

    Might work depending on how your relationship with your clients are

    Edit: Dammit Ethea! Your timestamp is earlier this time!

    ecco the dolphin on
    Penny Arcade Developers at PADev.net.
  • PhyphorPhyphor Building Planet Busters Tasting FruitRegistered User regular
    Change things arbitrarily. Rule them with an iron fist!

    bowenDelmain
  • EvilMonkeyEvilMonkey Registered User regular
    In the game of refactors you either adapt or die?

    [PSN: SciencePiggy] [Steam]
    ecco the dolphin
  • bowenbowen How you doin'? Registered User regular
    Phyphor wrote: »
    Change things arbitrarily. Rule them with an iron fist!

    It works.

    not a doctor, not a lawyer, examples I use may not be fully researched so don't take out of context plz, don't @ me
  • InfidelInfidel Heretic Registered User regular
    Just gonna point out that changing your API / interface isn't refactoring alone. Refactoring would be activities that let me clean up my own mess without others dependent on me giving a shit, which means I can't be changing the API side of things.

    If you have field changes in your API that is a versioning issue. Basically you should always have a version number attached to your APIs, the clients send the version number they are communicating with, you handle it or not based on your level of support. You have min_version and max_version defined, you only accept clients in that range and give a version mismatch failure (that all versions will know how to handle). Then you can at some point in the future go "fuck everyone still using pre 1.5.2, you have been given notice a year out that we were ending support" and then you publish with a cleaned up and refactored API and bump min_version to 1.5.2 and voila, those not upgrading are now refused service. You no longer need to support them and the reason why things are broken is clearly defined and communicated.

    OrokosPA.png
  • bowenbowen How you doin'? Registered User regular
    Gotta keep them on their toes. Redesigning that shit erryday.

    not a doctor, not a lawyer, examples I use may not be fully researched so don't take out of context plz, don't @ me
  • mightyjongyomightyjongyo Sour Crrm East Bay, CaliforniaRegistered User regular
    Luckily it's not a product with an exposed API, so it's mostly internal. As far as I know the main sticking point is that we have a lot of scripts and tests that revolve around these fields, so we need to keep them valid until the scripts are updated.

    I mean I would love to tell the testers to deal with it buuut then schedule slip blah blah management. The problem with that is that there's really not much forcing them to adapt - they could use these fields for another 5 years and nothing would break.

  • InfidelInfidel Heretic Registered User regular
    If you're talking internal, then yeah it still takes a deliberate push to deprecate those fields.

    Once that is defined, the tests and code pretty much write themselves~

    OrokosPA.png
  • bowenbowen How you doin'? Registered User regular
    Push it without those features enabled, then, if no one bitches and deadlines/schedules keep up, remove the code from the project.

    Of course use a revision system in case it ever needs to be restored.

    not a doctor, not a lawyer, examples I use may not be fully researched so don't take out of context plz, don't @ me
    Geth
  • ASimPersonASimPerson Cold... and hard.Registered User regular
    Blargh, Linode was hacked again. The dude who claims to be behind it says he has credit card numbers (thought it hasn't been proved): http://it.slashdot.org/comments.pl?sid=3650917&cid=43455431

    Wondering if I should just go ahead and get a new card.

  • bowenbowen How you doin'? Registered User regular
    That is... alarming.

    Keep an eye on your credit card @infidel .

    not a doctor, not a lawyer, examples I use may not be fully researched so don't take out of context plz, don't @ me
  • InfidelInfidel Heretic Registered User regular
    Yeah, got notice earlier about the incident of course, watching things for now.

    OrokosPA.png
  • InfidelInfidel Heretic Registered User regular
    Went and updated the management accounts, and taking this opportunity to migrate to the NextGen servers, which are double RAM and better hardware for the same price.

    So the server will be down for a short bit.

    OrokosPA.png
  • EndEnd Registered User regular
    yeah
    I really don't need this much RAM :o

    I wish that someway, somehow, that I could save every one of us
    zaleiria-by-lexxy-sig.jpgsteam~tinythumb.png
  • InfidelInfidel Heretic Registered User regular
    End wrote: »
    yeah
    I really don't need this much RAM :o

    Drop your plan down and save money!

    Unless you're already at the bottom, then rejoice cause hey, you can always use a little more RAM or something.

    OrokosPA.png
  • InfidelInfidel Heretic Registered User regular
    Protip: Make sure your linode is set to latest 64-bit kernel if you move to NextGen, or you'll get failed to boot for "unknown reason". :rotate:

    OrokosPA.png
  • EndEnd Registered User regular
    edited April 2013
    yeah I'm running at the 2048 level (was 1024) so I might to do that if I can't think of anything additionally useful to put on it, since I have something like 500MB completely free (not even being used by cache) after a few days

    although also, when I first set up this VM, I was running both postgres and mysql, as well as a lot more php stuff, and I've consolidated everything into postgres and rewrote some of the php stuff into the python webapp, so overall memory usage had gone down anyway

    End on
    I wish that someway, somehow, that I could save every one of us
    zaleiria-by-lexxy-sig.jpgsteam~tinythumb.png
  • InfidelInfidel Heretic Registered User regular
    Intel(R) Xeon(R) CPU E5-2630L 0 @ 2.00GHz, 8 cores

    Nice.

    OrokosPA.png
    bowen
  • EndEnd Registered User regular
    edited April 2013
    hm, I'm still running latest 32-bit just fine

    edit: same processor even (and that's not the E5-2670 they were talking about the new hardware running, but I don't know if they have any of those running just yet)

    End on
    I wish that someway, somehow, that I could save every one of us
    zaleiria-by-lexxy-sig.jpgsteam~tinythumb.png
  • InfidelInfidel Heretic Registered User regular
    Were you running 32-bit before?

    Because I think what happened was I was on 64-bit, did the migration, but it reset my kernel dropdown to latest 32-bit, causing KERSPLOSIONS.

    OrokosPA.png
  • EndEnd Registered User regular
    still, E5-2630L is like 3 years newer than the processor I was running on before (which I don't remember the name of and obviously can no longer check)

    I wish that someway, somehow, that I could save every one of us
    zaleiria-by-lexxy-sig.jpgsteam~tinythumb.png
  • EndEnd Registered User regular
    edited April 2013
    oh, yeah, I've always run 32bit

    End on
    I wish that someway, somehow, that I could save every one of us
    zaleiria-by-lexxy-sig.jpgsteam~tinythumb.png
  • InfidelInfidel Heretic Registered User regular
    According to my unmigrated node, Intel(R) Xeon(R) CPU L5520 @ 2.27GHz

    OrokosPA.png
  • EndEnd Registered User regular
    edited April 2013
    yeah

    Q1'09

    that sounds like the right time frame for what I was running

    End on
    I wish that someway, somehow, that I could save every one of us
    zaleiria-by-lexxy-sig.jpgsteam~tinythumb.png
This discussion has been closed.