Options

PA Programming Thread :: PAdev.net - Need hosting for a service of yours? Check it out.

12357100

Posts

  • Options
    Jimmy KingJimmy King Registered User regular
    Is there a way to rewrite git commit messages without it changing the commit date? I split a django app out from the main project and then used rebase to rewrite some commit messages that had references to the old, larger project and it updated my commit times to the time I rewrote even for messages that I chose to keep as is.

  • Options
    EtheaEthea Registered User regular
    Jimmy King wrote:
    Is there a way to rewrite git commit messages without it changing the commit date? I split a django app out from the main project and then used rebase to rewrite some commit messages that had references to the old, larger project and it updated my commit times to the time I rewrote even for messages that I chose to keep as is.

    Rebasing will always change the SHA1. And you can't change the commit message without changing the SHA1 as the message is used in part to generate the commit SHA1. The file glob SHA1's for both commits will be the same so it won't be a serious problem.

  • Options
    InfidelInfidel Heretic Registered User regular
    Infidel wrote:
    templewulf wrote:
    Ugh. Am I wrong in thinking there is no reason that dictionaries aren't serializable in C#?

    I'm trying to save sprite sheet metadata to XML files with XNA. Does anyone have any suggestions for how to do this now that I can't just serializer.Serialize()? I'm not married to XML either, but I'd like to just implement a ready-made solution and get on with the interesting parts.

    They aren't XML serializable out of the gate, but you can do a few things.

    One would be to do a binary serialize of the dictionary object and then stuff that as binary data into a member that then is serialized by your overall XML process.

    Another would be to implement your own SerializableDictionary from Dictionary and IXmlSerializable.

    Or you can XML serialise a list of DictionaryEntry objects and then reconstruct the dictionary with them on deserialisation.

    And then for convenience and cleanness you can put that code in a SerializableDictionary class! ...

    That's kinda how you implement one yes.

    OrokosPA.png
  • Options
    Jimmy KingJimmy King Registered User regular
    Ethea wrote:
    Jimmy King wrote:
    Is there a way to rewrite git commit messages without it changing the commit date? I split a django app out from the main project and then used rebase to rewrite some commit messages that had references to the old, larger project and it updated my commit times to the time I rewrote even for messages that I chose to keep as is.

    Rebasing will always change the SHA1. And you can't change the commit message without changing the SHA1 as the message is used in part to generate the commit SHA1. The file glob SHA1's for both commits will be the same so it won't be a serious problem.
    Yeah, I wasn't worried about it breaking anything. I just don't like it having the wrong dates there since that's not actually when I did those commits.

    Is there some way to rewrite commit messages without a rebase that I've missed?

  • Options
    EtheaEthea Registered User regular
    Jimmy King wrote:
    Ethea wrote:
    Jimmy King wrote:
    Is there a way to rewrite git commit messages without it changing the commit date? I split a django app out from the main project and then used rebase to rewrite some commit messages that had references to the old, larger project and it updated my commit times to the time I rewrote even for messages that I chose to keep as is.

    Rebasing will always change the SHA1. And you can't change the commit message without changing the SHA1 as the message is used in part to generate the commit SHA1. The file glob SHA1's for both commits will be the same so it won't be a serious problem.
    Yeah, I wasn't worried about it breaking anything. I just don't like it having the wrong dates there since that's not actually when I did those commits.

    Is there some way to rewrite commit messages without a rebase that I've missed?

    Dn't worry you are looking at the wrong time anyhow. The Committer time is the last time the message changed. The Author time is the last time the files in the commit changed.

  • Options
    Jimmy KingJimmy King Registered User regular
    Ethea wrote:
    Jimmy King wrote:
    Ethea wrote:
    Jimmy King wrote:
    Is there a way to rewrite git commit messages without it changing the commit date? I split a django app out from the main project and then used rebase to rewrite some commit messages that had references to the old, larger project and it updated my commit times to the time I rewrote even for messages that I chose to keep as is.

    Rebasing will always change the SHA1. And you can't change the commit message without changing the SHA1 as the message is used in part to generate the commit SHA1. The file glob SHA1's for both commits will be the same so it won't be a serious problem.
    Yeah, I wasn't worried about it breaking anything. I just don't like it having the wrong dates there since that's not actually when I did those commits.

    Is there some way to rewrite commit messages without a rebase that I've missed?

    Dn't worry you are looking at the wrong time anyhow. The Committer time is the last time the message changed. The Author time is the last time the files in the commit changed.
    Ok, yeah, I see where there's a commiter time and author time. Interesting. It annoys me because gitweb is apparently showing stuff based on the comitter time, so it says I did everything 3 days ago on the main display, because that's when I cleaned up the commit messages.

  • Options
    bowenbowen How you doin'? Registered User regular
    edited September 2011
    Wow so, I figured out how to export data from our obtuse EMR billing software that refuses to build an interface to us unless we pay them gobs of money for their full EMR suite. So now I print to a virtual printer that creates a tiff/text combo and forward the tiff to the printer originally used for, then scrape the text file for all relevant data.

    Why the fuck did that have to be so difficult. You should be able to just give me fucking hl7 or even a straight dump of the data.

    Edit: removed company name of the bullshit emr company.

    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
  • Options
    Woot427Woot427 Registered User regular
    bowen wrote:
    Wow so, I figured out how to export data from our obtuse EMR billing software that refuses to build an interface to us unless we pay them gobs of money for their full EMR suite. So now I print to a virtual printer that creates a tiff/text combo and forward the tiff to the printer originally used for, then scrape the text file for all relevant data.

    Why the fuck did that have to be so difficult. You should be able to just give me fucking hl7 or even a straight dump of the data.

    Edit: removed company name of the bullshit emr company.

    The EMR provider we are currently working with gave us full read access to their client's SQL Server database as an integration solution. They plan on giving us write access when we need to start pumping data back in. While the ease of integration is pleasant I am incredibly surprised - and frightened - that this is what they market as their integration API. At least it's through a VPN...

  • Options
    bowenbowen How you doin'? Registered User regular
    I would be so happy to have even that. They won't even give me access to the server on site that has their database. It's b-tree I believe. Even if it was b-tree that's way better than scraping data from a print out of a scheduled-fee sheet.

    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
  • Options
    InfidelInfidel Heretic Registered User regular
    I do pretty much all my work with the database.

    Which is not consistent with the application front-end and is a mishmash, so some things are rather surprising and it is a lot of time testing-the-app-see-what-the-hell-the-database-does.

    But at least I can get at pretty much anything.

    OrokosPA.png
  • Options
    bowenbowen How you doin'? Registered User regular
    What's so stupid about this is all we want is for a user when it's created in the billing software to mirror to the actual EMR software. They tacked on an EMR after their billing program was successful probably a few years back. But we had an EMR long before that, so, not paying $80,000 for a new EMR when we've got a perfectly functioning one in house, that can be shaped or modified on the fly.

    So they will only give us demographic data through their HL7 export engine if we buy the full version. Understandable but unacceptable, they declined to give us this interface before they had an EMR in place too because they didn't want us to take our patient data and switch software without re-entering it all. They have a report writer, but that is a piece of shit and gives you first name, last name, and date of birth -- also a dick to try and print shit out from, easier to just type the information again then trying to use their report writer.

    I almost flipped the fuck out on the guy on the phone, but my boss beat me to it. He said if this keeps up he'll stop using them. I would've told them his company is fucking doomed without interoperability regardless if your customer is dropping $100,000 on them or not. It's supposedly going to be required as meaningful use down the line, regardless if your customer only bought the billing portion, it's still gotta talk to the rest.

    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
  • Options
    Alistair HuttonAlistair Hutton Dr EdinburghRegistered User regular
    bowen wrote:
    Alistair's is probably the quickest to do.

    IIRC It's how Shawn Hargreves recommends people do it in XNA.

    I have a thoughtful and infrequently updated blog about games http://whatithinkaboutwhenithinkaboutgames.wordpress.com/

    I made a game, it has penguins in it. It's pay what you like on Gumroad.

    Currently Ebaying Nothing at all but I might do in the future.
  • Options
    Alistair HuttonAlistair Hutton Dr EdinburghRegistered User regular
    Infidel wrote:
    Infidel wrote:
    templewulf wrote:
    Ugh. Am I wrong in thinking there is no reason that dictionaries aren't serializable in C#?

    I'm trying to save sprite sheet metadata to XML files with XNA. Does anyone have any suggestions for how to do this now that I can't just serializer.Serialize()? I'm not married to XML either, but I'd like to just implement a ready-made solution and get on with the interesting parts.

    They aren't XML serializable out of the gate, but you can do a few things.

    One would be to do a binary serialize of the dictionary object and then stuff that as binary data into a member that then is serialized by your overall XML process.

    Another would be to implement your own SerializableDictionary from Dictionary and IXmlSerializable.

    Or you can XML serialise a list of DictionaryEntry objects and then reconstruct the dictionary with them on deserialisation.

    And then for convenience and cleanness you can put that code in a SerializableDictionary class! ...

    That's kinda how you implement one yes.

    Ah, I am behind the times when it comes to this then.

    I have a thoughtful and infrequently updated blog about games http://whatithinkaboutwhenithinkaboutgames.wordpress.com/

    I made a game, it has penguins in it. It's pay what you like on Gumroad.

    Currently Ebaying Nothing at all but I might do in the future.
  • Options
    an_altan_alt Registered User regular
    Infidel wrote:
    I do pretty much all my work with the database.

    Which is not consistent with the application front-end and is a mishmash, so some things are rather surprising and it is a lot of time testing-the-app-see-what-the-hell-the-database-does.

    I had to write a conversion program from a competitor's app to one of ours like that. There was no documentation of the database, no manual for the software, and had only four days, iirc, of actual testing time with live software. It's amazing how much descriptive field names and a lack of normalization can help with something like that.

    Pony wrote:
    I think that the internet has been for years on the path to creating what is essentially an electronic Necronomicon: A collection of blasphemous unrealities so perverse that to even glimpse at its contents, if but for a moment, is to irrevocably forfeit a portion of your sanity.
    Xbox - PearlBlueS0ul, Steam
    If you ever need to talk to someone, feel free to message me. Yes, that includes you.
  • Options
    admanbadmanb unionize your workplace Seattle, WARegistered User regular
    Jimmy King wrote:
    mmmm, foreach. I just had to go through a bunch of javascript at the new job written by an old C/C++ dev and turn for loops into foreach because there were off by one errors in all of them and they required manual fiddling any time new category thingies get added to the site. He's a smart guy, wrote multithreaded c++ stuff that works afaik, so just not up on this fancy newer stuff.

    btw, be careful with the "for(var thing in box)" style of foreach in js. If you're iterating over an Array(), with "for(var thing in box)" you're actually getting the keys because it iterates over the object's dictionary (or something like that). That shit gets me every damned time. JavaScript also has a proper Array.forEach() which returns the values rather than the keys/indexes but IE didn't support it until IE9 so it's not terribly useful.
      myArray = new Array();
      myArray[0] = "zero";
      myArray[1] = "one";
      myArray[2] = 2;
      myArray[3] = 3;
      myArray[4] = 4;
    
      myArray.forEach(function(x) { alert(x)});
    
     /* or if you also want the index, similar to python you can do this.  x and idx may be backwards*/
     myArray.forEach(function(x, idx) {alert("Index is " + idx + " and value is " + x);
    

    Most of the major Javascript libraries implement a .each that resolves browser incompatibilities. Not that Javascript libraries don't introduce their own problems, but it's good to know.

  • Options
    InfidelInfidel Heretic Registered User regular
    Also, you're not iterating over an Array() at all, you're enumerating. Big difference in that one is ordered and the other is not.

    If you have an array and want to go over it from first index onwards, use an index / iterator. for-in will give you arbitrary order.

    OrokosPA.png
  • Options
    bowenbowen How you doin'? Registered User regular
    You're arbitrary.

    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
  • Options
    Jimmy KingJimmy King Registered User regular
    argh. The guys who were supporting and actually know about the platform I'm rewriting just turned in their notice. This should be interesting.

  • Options
    iTunesIsEviliTunesIsEvil Cornfield? Cornfield.Registered User regular
    You should start grilling them about urrythang approximately ... right meyow. GO, GO, GO!

  • Options
    bowenbowen How you doin'? Registered User regular
    Hmm... either you're there to replace them and they got wind of that, the ship is going down fast and they want off, or the company knew they were leaving and hired you.

    I assume it's the first.

    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
  • Options
    Jimmy KingJimmy King Registered User regular
    The company knew they might be leaving and I was made aware from day one. They are leaving more quickly than expected, though. I know enough about the system to rewrite it and can have a 60%-80% working prototype within 1-2 weeks and have fixed several smaller bugs in the existing platform already so I know my way around most of it, so I'm not super worried. I just haven't been working with it long enough to know what I don't know yet, so something is going to slip through the cracks.

  • Options
    bowenbowen How you doin'? Registered User regular
    Ahah I had a suspicion it might've been that too. You should be relatively good. I like refactoring older code and porting it to different systems.

    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
  • Options
    EtheaEthea Registered User regular
    edited September 2011
    bowen wrote:
    Ahah I had a suspicion it might've been that too. You should be relatively good. I like refactoring older code and porting it to different systems.

    Why don't you just pound your head against a wall. Far less pain that way.

    Edit: did I fall for sarcasm...

    Ethea on
  • Options
    bowenbowen How you doin'? Registered User regular
    Yes and no, I like to know the goals and outcomes before I code and hate it when clients change their minds midstream. Refactoring is like mindless drudgery of daydreaming as opposed to a frustrating symphony of moaning dicks.

    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
  • Options
    EtheaEthea Registered User regular
    bowen wrote:
    Yes and no, I like to know the goals and outcomes before I code and hate it when clients change their minds midstream. Refactoring is like mindless drudgery of daydreaming as opposed to a frustrating symphony of moaning dicks.

    You just haven't seen the terrors of bad code :p

  • Options
    Lux782Lux782 Registered User regular
    So I have been working on multi threaded applications a bit recently and have come to the decision that I need a good way of keeping a head count on the threads and their interactions with each other. What methods do you employ to do this? I was thinking a flow diagram might be good in some more complex scenarios but I think its a bit more work then required.

  • Options
    InfidelInfidel Heretic Registered User regular
    What kinda results are you looking for exactly?

    OrokosPA.png
  • Options
    KakodaimonosKakodaimonos Code fondler Helping the 1% get richerRegistered User regular
    Lux782 wrote:
    So I have been working on multi threaded applications a bit recently and have come to the decision that I need a good way of keeping a head count on the threads and their interactions with each other. What methods do you employ to do this? I was thinking a flow diagram might be good in some more complex scenarios but I think its a bit more work then required.

    How many threads are you planning on spawning? If it's more than oh, 12ish and they're hard/static threads, I'd recommend you look into a different threading approach that's more scalable. Otherwise, I just do a workflow diagram.

  • Options
    Jimmy KingJimmy King Registered User regular
    Ethea wrote:
    bowen wrote:
    Yes and no, I like to know the goals and outcomes before I code and hate it when clients change their minds midstream. Refactoring is like mindless drudgery of daydreaming as opposed to a frustrating symphony of moaning dicks.

    You just haven't seen the terrors of bad code :p
    Fortunately on this, I just need to understand more or less what the code does and the end goals/requirements, which I do (mostly). There's very little that needs directly ported. All of what would have been difficult is going to be handled with Celery and RabbitMQ, which makes it fairly simple.

    There's just inevitably going to be some requirement that was dealt with years ago and forgotten about that no one mentions to me or some weird one off process for just one customer that no one remembers until we think it's all done and that one customer is complaining, etc. I know how this goes. I just did this same thing to some poor guy at my old job when I left. I tried to think of all the stupid little crap and document it, but there was a lot, so I'm sure I missed something.

    In a way this makes things easier. The old platform was completely designed and mostly developed by one of the guys leaving. It was his pet project and he was really proud of some parts of it. There were some parts that he was clearly trying to save and not see someone rewrite. Now I can just do what needs done and not feel like I'm stepping on anyone's toes when I do it.

  • Options
    KakodaimonosKakodaimonos Code fondler Helping the 1% get richerRegistered User regular
    What are you planning on doing with RabbitMQ? I've used before and it's nice, but you have you to watch your traffic rates through it. More than 15,000 messages/second and we started dropping brokers. We ended up just going with straight UDP (well, DBL) packets. But for lower volume stuff, it works great.

  • Options
    Jimmy KingJimmy King Registered User regular
    I'm going to be using it as the broker for Celery integrated with Django. It'll be used for distributing tasks to celery workers which will primarily be processing ingoing and outgoing sms messages and various once/day type stuff like tallying up votes from sms polls, picking winners for contests, etc. It shouldn't be anywhere near 15000/second. Our current SMS endpoint lets us send at up to 8 messages/second before charging a ton more and I don't think we normally do that (although we could during burst traffic situations and could go over, but still wouldn't need 15k/second), plus whatever incoming which is at a far, far lower rate than the outgoing, and those one off once/day schedule tasks.

    RabbitMQ is overkill really, but it gives room to grow, isn't that difficult to set up, and the devs working on our team's other main project have some ideas for using it with their project as well.

  • Options
    bowenbowen How you doin'? Registered User regular
    Ethea wrote:
    bowen wrote:
    Yes and no, I like to know the goals and outcomes before I code and hate it when clients change their minds midstream. Refactoring is like mindless drudgery of daydreaming as opposed to a frustrating symphony of moaning dicks.

    You just haven't seen the terrors of bad code :p

    Oh I have. Not as bad as templewulf's code nightmares but I hate it when customers change their mind, tell me 8 things, then change it to 10 things, and none of the 8 things work the way they want because their secretary described it instead of them. Fucking sales people.

    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
  • Options
    IncindiumIncindium Registered User regular
    You have to mentally realize what sales people really are
    113039.strip.sunday.gif
    Professional Liars

    steam_sig.png
    Nintendo ID: Incindium
    PSN: IncindiumX
  • Options
    an_altan_alt Registered User regular
    I saw a language popularity comparison in an RSS feed today. It seems VB still holds the title for most books about a language with fewest jobs. Link is here.

    It's sad to see the high number of job postings for PHP, but I suspect a lot of that is the low end "get a web guy" type of stuff. I suspect non-Craigslist sources would skew more towards higher level, though I might be a little biased.

    Pony wrote:
    I think that the internet has been for years on the path to creating what is essentially an electronic Necronomicon: A collection of blasphemous unrealities so perverse that to even glimpse at its contents, if but for a moment, is to irrevocably forfeit a portion of your sanity.
    Xbox - PearlBlueS0ul, Steam
    If you ever need to talk to someone, feel free to message me. Yes, that includes you.
  • Options
    InfidelInfidel Heretic Registered User regular
    PHP is used professionally in plenty of places as well, in addition to cornering the basic web development market.

    OrokosPA.png
  • Options
    TomantaTomanta Registered User regular
    How depressing. Python is the most discussed but last on the book list and not even on the job posting list.

    But I'm not sure IRC or Craigslist are the best sources for those lists.

  • Options
    bowenbowen How you doin'? Registered User regular
    I don't know what the big hubub against PHP is. It's not like people are decrying C or C++. I'd rather use PHP than ASP and I'd be on the fence about rails too.

    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
  • Options
    Jimmy KingJimmy King Registered User regular
    Yeah, there's a moderate amount of professional php dev around here. It's been around long enough and is well known enough that it's a safe bet to go with if you don't want or need MS or Java stuff. I suspect it is also related to the "get a web guy" thing, though. More developers, more entry level devs using it, so easier to hire people and to find cheap devs (both small, "get a web guy" shops and big, professional companies just being cheap).

    Python is only recently gaining a lot of traction from what I've seen. It's growing where I am and now is a good time to get in on the ground floor. It also seems to have a much higher proportion of experienced (or at least intelligent/competent) devs using it (probably due to not having much popularity until within the last few years), which may mean a lot of talk online by guys who live and breathe dev, but less need for books and fewer and more expensive developers when it comes to hiring. If Python keeps growing, that'll change and the noobs will start using it more.

  • Options
    an_altan_alt Registered User regular
    I have two things against PHP, neither of which is probably fair.

    First is the feel of it. It seems that it was a scrub language that had all its features added after the fact, instead of being a natural part of it. I spend a lot of time in a language in a similar situation, but at least it has the decency to be old, whereas PHP doesn't have that excuse.

    The second thing is my experience with PHP coders. I've met a bunch of competent developers who also do some work in PHP. Those who identify as PHP programmers tend to be much rougher around the edges professionally.

    Pony wrote:
    I think that the internet has been for years on the path to creating what is essentially an electronic Necronomicon: A collection of blasphemous unrealities so perverse that to even glimpse at its contents, if but for a moment, is to irrevocably forfeit a portion of your sanity.
    Xbox - PearlBlueS0ul, Steam
    If you ever need to talk to someone, feel free to message me. Yes, that includes you.
  • Options
    TomantaTomanta Registered User regular
    Jimmy King wrote:
    Yeah, there's a moderate amount of professional php dev around here. It's been around long enough and is well known enough that it's a safe bet to go with if you don't want or need MS or Java stuff. I suspect it is also related to the "get a web guy" thing, though. More developers, more entry level devs using it, so easier to hire people and to find cheap devs (both small, "get a web guy" shops and big, professional companies just being cheap).

    Python is only recently gaining a lot of traction from what I've seen. It's growing where I am and now is a good time to get in on the ground floor. It also seems to have a much higher proportion of experienced (or at least intelligent/competent) devs using it (probably due to not having much popularity until within the last few years), which may mean a lot of talk online by guys who live and breathe dev, but less need for books and fewer and more expensive developers when it comes to hiring. If Python keeps growing, that'll change and the noobs will start using it more.

    I really hope Python continues to grow. I like it so much more than anything else I have tried.

    I've only casually looked but I've seen a few job postings for it, so I'm hopeful I can find something when I actually do feel comfortable enough to start sending out applications.

This discussion has been closed.