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/
Options

[Programming] Kafkaesque rabbits in the queue at the pub

18283858788100

Posts

  • Options
    EchoEcho ski-bap ba-dapModerator mod
    So we moved into our new office today and here's bowen's chair.

    vLrFaQO.jpg

  • Options
    InfidelInfidel Heretic Registered User regular
    "Do you know why I asked you here today?"

    OrokosPA.png
  • Options
    gavindelgavindel The reason all your software is brokenRegistered User regular
    I made some changes to the kernel for my product. No tests broke. Instant suspicion! Why didn't any tests break? Did I run the right suite? Maybe Visual Studio didn't pick up everything. There should be broken tests. Why aren't the tests broken?!

    Book - Royal road - Free! Seraphim === TTRPG - Wuxia - Free! Seln Alora
  • Options
    Grape ApeGrape Ape Registered User regular
    Infidel wrote: »
    "Do you know why I asked you here today?"

    Personnel Improvement Puncture

  • Options
    admanbadmanb unionize your workplace Seattle, WARegistered User regular
    Infidel wrote: »
    "Do you know why I asked you here today?"

    "I hear you were recommending Java for our next project."

  • Options
    SpawnbrokerSpawnbroker Registered User regular
    edited April 2017
    So we're launching two websites next week for our finance team. We have a complicated set of security rules for everything on these websites because we have a ton of rules governing privacy of client data, blah blah. Because of this, our InfoSec team refuses to give us accounts we can use to pretend to be a specific type of user. So our normal procedure is to have the website done a few weeks early and then send emails to all of our teams telling them to make sure the website works as they intended and they have access to all reports that they need.

    Except our users are lazy as fuck and don't like learning new things. So they will sign off on something being done and tested, without ever actually going to the website. This is also something that can't be tested through a script easily due to the nature of SharePoint. ALSO also, our SQL admins love to write stored procedures and forget to give users permission to run them, so often times a report will exist that nobody can run until somebody tells them to go fix it.

    All of this adds up to: guess what Spawnbroker's job is this week? That's right, I get to set up meetings with every single Finance team (there are a lot of Finance teams) and go take over their computer for 30 minutes while I click around on the website and run everything for them to make sure they have access to everything. This is monumentally stupid, but whatever, I just want to make sure the website works so I don't have late nights next week.

    Spawnbroker on
    Steam: Spawnbroker
  • Options
    InfidelInfidel Heretic Registered User regular
    I wouldn't let it get to you so much. You do the testing in someone's office instead of in your chair with a tester account in production. Still doing it, just gotta deal with scheduling.

    It's perfectly valid for you to not have an account in production, so these kinds of things will come up. They don't allow accounts to test in the hospital systems, and so I'd use to have to track down doctors to get them to login and test reports if needed. Yeah. That goes about as well as imagined, but for the final check that's what it is or nothing at all.

    The way we mitigate issues that only get discovered in production is to have a staging environment that has a duplicate dataset of production but that has been anonymized, and having very concrete deployment plans so that we don't run into silly stuff like permissions on SPs etc. without having first run into it in staging and amending our plans.

    OrokosPA.png
  • Options
    Jimmy KingJimmy King Registered User regular
  • Options
    DynagripDynagrip Break me a million hearts HoustonRegistered User, ClubPA regular
    Dynagrip wrote: »
    Well, work has been awful and grueling the past few weeks. Have been trying to use ~4th party's DAQ setup and GUI to perform high pressure testing, while controlling the test equipment with derelict pumps, valves, and fittings. The GUI is so bad that I think a legit argument could be made that it is physically dangerous to use for a simple hydrotest.

    Sooo...armed with that knowledge I think I have managed to hit the pause button on the testing, long enough for me to make a new GUI with actual HMI design patterns, as well is getting usable test data from the DAQ and lab view software.

    My long term game is to get my hands in the pie of developing engineering software and tools that could actually accomplish all of the buzzword bullshit that sales type dudes use to , well, sell bullshit.

    Fingers crossed!

    Prettttty sure I'm now a software engineer through sheer force of will. Everything in the picture but my secondhand MacBook Pro is on company dime.

    Wut wut!

    UzlaZot.png

  • Options
    EchoEcho ski-bap ba-dapModerator mod
    edited April 2017
    So I walked into the server room in our new office and apparently we have the /etc/passwd of Big Famous Company taped on the wall there now.

    All 16 pages of it.

    edit: and two other Big Famous Companies too, but on a single page.

    Echo on
  • Options
    PhyphorPhyphor Building Planet Busters Tasting FruitRegistered User regular
    /etc/passwd is not particularly important these days. Mine starts like

    root:x:0:0:root:/root:/bin/bash
    daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
    bin:x:2:2:bin:/bin:/usr/sbin/nologin
    sys:x:3:3:sys:/dev:/usr/sbin/nologin
    sync:x:4:65534:sync:/bin:/bin/sync
    games:x:5:60:games:/usr/games:/usr/sbin/nologin
    man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
    lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
    mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
    news:x:9:9:news:/var/spool/news:/usr/sbin/nologin
    uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin
    proxy:x:13:13:proxy:/bin:/usr/sbin/nologin
    www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin

    Mine doesn't even have my account in it, not sure what other files are used

  • Options
    ecco the dolphinecco the dolphin Registered User regular
    Awesome! I think? Let the passwords be at least salted and hashed, right?

    Penny Arcade Developers at PADev.net.
  • Options
    EchoEcho ski-bap ba-dapModerator mod
    Yeah, we wouldn't print /etc/shadow and put on a wall. That's the one with the actual passwords. :rotate:

  • Options
    PhyphorPhyphor Building Planet Busters Tasting FruitRegistered User regular
    My /etc/shadow is also useless. All password fields are * or !

    Interestingly, /etc/passwd.cache and /etc/shadow.cache is where the actual user accounts are stored (still all passwordless as we use some sort of custom logon)

  • Options
    ElaroElaro Apologetic Registered User regular
    Anybody who's worked with Android can help me with using tabs in my UI?

    Children's rights are human rights.
  • Options
    JasconiusJasconius sword criminal mad onlineRegistered User regular
    Elaro my android knowledge is very stale but I might be able to give you an idea. What's the issue?

  • Options
    jjae2123jjae2123 Registered User regular
    What's the issue?

  • Options
    ElaroElaro Apologetic Registered User regular
    Sorry, I think I might've overlooked something. I'll try something in the morning.

    Children's rights are human rights.
  • Options
    djmitchelladjmitchella Registered User regular
    I was just fiddling with styles in our app and things didn't quite seem to be working the way I expected. Then I checked the top of index.html, because I had a terrible feeling about something.
    <html>
    <!DOCTYPE html>
    <head>
    

    fiddlesticks, I was right. Ugh. One more task for the tech.debt story called "our CSS is vaguely sane", I guess.

  • Options
    ElaroElaro Apologetic Registered User regular
    Jasconius wrote: »
    Elaro my android knowledge is very stale but I might be able to give you an idea. What's the issue?
    jjae2123 wrote: »
    What's the issue?

    I have an activity that contains 3 fragments with UI elements in them, but I don't know how to make those UI elements do things. Basically, where do I put the listeners? In the class that extends Fragment? Or somewhere else?

    Children's rights are human rights.
  • Options
    EchoEcho ski-bap ba-dapModerator mod
    So I'm writing a third-party integration for stuff and they parse HTML in the description and oh hey I can XSS them. :rotate:

  • Options
    jjae2123jjae2123 Registered User regular
    Elaro wrote: »
    Jasconius wrote: »
    Elaro my android knowledge is very stale but I might be able to give you an idea. What's the issue?
    jjae2123 wrote: »
    What's the issue?

    I have an activity that contains 3 fragments with UI elements in them, but I don't know how to make those UI elements do things. Basically, where do I put the listeners? In the class that extends Fragment? Or somewhere else?

    If you have the UI elements defined in your fragments then you should put your onClick listeners in the fragments themselves. What's happening now?

  • Options
    TraceTrace GNU Terry Pratchett; GNU Gus; GNU Carrie Fisher; GNU Adam We Registered User regular
    Beep boop. People got me thinking NARS over in [chat] and I realized I hadn't thrown you guys a bone in a little bit.

    There isn't all that much to say. 1.6.5 was released (we went back to an old build with new ideas and wound up being more successful going down this road, although 2.0.1 is still valid if you have a supercomputer to run it on) and was a massive success at the annual AGI Conference.
    package nars;
    
    import jcog.Util;
    import jcog.math.FloatNormalized;
    import jcog.math.FloatSupplier;
    import nars.nar.Default;
    
    import static nars.$.func;
    import static nars.$.p;
    
    /**
     * meta-controller of an NAgent
     *      essentially tunes runtime parameters in response to feedback signals
     *      can be instantiated in a NAR 'around' any agent
     */
    public class MetaAgent extends NAgent {
    
        /** agent controlled by this */
        private final NAgent agent;
    
        /** colocated with the agent's NAR */
        public MetaAgent(NAgent agent) {
            this(agent, agent.nar);
        }
    
        public MetaAgent(NAgent agent, NAR metaNAR) {
            super(func("meta", agent.id), metaNAR);
            this.agent = agent;
            NAR agentNAR = agent.nar;
    
            senseNumber(p("happy"), new FloatNormalized(agent.happy));
            //senseNumberNormalized(p("sad"), agentNAR.emotion::sad);
            FloatSupplier v1 = ()->(float)agentNAR.emotion.busyPri.getSum();
            senseNumber(p("busyPri"), new FloatNormalized(v1));
            FloatSupplier v = ()->(float)agentNAR.emotion.busyVol.getSum();
            senseNumber(p("busyVol"), new FloatNormalized(v));
            senseNumber(p("lernPri") /*$.func($.the("lern"),$.the("pri"))*/, agentNAR.emotion::learningPri);
            senseNumber(p("lernVol") /*$.func($.the("lern"),$.the("vol"))*/, agentNAR.emotion::learningVol);
            senseNumber(p("dext"), agent::dexterity);
    
    //        actionLerp(p("curiConf"), (c) -> {
    //            agent.curiosityConf.setValue(Util.unitize(c));
    //        }, -0.02f /* non-zero deadzone */, 0.25f);
            actionLerp(p("curiProb"), (c) -> {
                agent.curiosityProb.setValue(Util.unitize(c));
            }, -0.02f /* non-zero deadzone */, 0.1f);
    
            actionLerp(p("activationRate"), (c) -> {
                ((Default)nar).focus.activationRate.setValue(Util.unitize(c));
            }, 0f /* non-zero deadzone */, 1f);
    
            //actionLerp(p("quaMin"), agentNAR.quaMin::setValue, 0f, 0.5f);
    
    //        int dur = nar.dur();
    //        actionLerp($.p("dur"), (d) -> agentNAR.time.dur(d),
    //                 Math.max(1,dur *0.5f) /* 0 might cause problems with temporal truthpolation, examine */,
    //                dur * 2f /* multiple of the originl duration of the input NAR */);
        }
    
        @Override
        protected float act() {
            //TODO other qualities to maximize: runtime speed, memory usage, etc..
            float agentHappiness = agent.happy.asFloat();
            //float narHappiness = agent.nar.emotion.happy();
            //float narSadness = agent.nar.emotion.sad();
    
            //return /*agentHappiness + */narHappiness - narSadness;
            return agentHappiness;
        }
    
    }
    

    We're moving slowly at the moment because this little tidbit is what we're working on right now. The mythical NAL-9 level of the system is still probably a year or two away from actually being fully realized but we're slowly adding capabilities to the system all the time.

  • Options
    ElaroElaro Apologetic Registered User regular
    jjae2123 wrote: »
    Elaro wrote: »
    Jasconius wrote: »
    Elaro my android knowledge is very stale but I might be able to give you an idea. What's the issue?
    jjae2123 wrote: »
    What's the issue?

    I have an activity that contains 3 fragments with UI elements in them, but I don't know how to make those UI elements do things. Basically, where do I put the listeners? In the class that extends Fragment? Or somewhere else?

    If you have the UI elements defined in your fragments then you should put your onClick listeners in the fragments themselves. What's happening now?

    Status report: yes that's what we ended up doing, implementing onClickListeners in the fragment classes themselves.

    Thank you.

    Children's rights are human rights.
  • Options
    DelzhandDelzhand Hard to miss. Registered User regular
    I think I pressed some kind of shortcut key in VS2017 and it added a mark to the gutter than I don't recognize and can't get rid of.

    a2e6be54318221bbf255687ff0e10cdf.png

    Any ideas? It's not a breakpoint and it's not a bookmark.

  • Options
    dporowskidporowski Registered User regular
    At a guess: http://stackoverflow.com/questions/30915869/in-visual-studio-2013-what-does-this-black-arrow-shaped-symbol-in-the-breakpoin

    Which is messing with me, because that icon is totally "breakpoint" in Xcode.

  • Options
    ecco the dolphinecco the dolphin Registered User regular
    Oh dear.

    It looks like I'm going to be doing handover of my current project to another dev... who is a junior developer, who is just learning C++. I don't blame the dev, because, well, it's not their fault that they're the chosen handover person, but... hmmmm.... well... the current project is a multi-threaded app with heavy lambda and some SFINAE usage...

    ...

    I.. don't know how well this is going to turn out.

    Penny Arcade Developers at PADev.net.
  • Options
    OrcaOrca Also known as Espressosaurus WrexRegistered User regular
    Oh dear.

    It looks like I'm going to be doing handover of my current project to another dev... who is a junior developer, who is just learning C++. I don't blame the dev, because, well, it's not their fault that they're the chosen handover person, but... hmmmm.... well... the current project is a multi-threaded app with heavy lambda and some SFINAE usage...

    ...

    I.. don't know how well this is going to turn out.

    Are you up for some mentoring? Are they eager to learn? That sort of thing can turn out okay...not saying it will, just that it can...

  • Options
    ecco the dolphinecco the dolphin Registered User regular
    Orca wrote: »
    Oh dear.

    It looks like I'm going to be doing handover of my current project to another dev... who is a junior developer, who is just learning C++. I don't blame the dev, because, well, it's not their fault that they're the chosen handover person, but... hmmmm.... well... the current project is a multi-threaded app with heavy lambda and some SFINAE usage...

    ...

    I.. don't know how well this is going to turn out.

    Are you up for some mentoring? Are they eager to learn? That sort of thing can turn out okay...not saying it will, just that it can...

    Yeah. I'm going to try to mentor and get this past the line.

    Good thing I can start sooner rather than later. I think that I'll also use this to kick myself into documenting more.

    Penny Arcade Developers at PADev.net.
  • Options
    EchoEcho ski-bap ba-dapModerator mod
    So I've been dabbling with facial recognition this weekend.

    y5l7taehcmij.jpg

  • Options
    LD50LD50 Registered User regular
    You really shouldn't be doing such mission critical work on the weekends. You set a bad precedence for the rest of us.

  • Options
    EchoEcho ski-bap ba-dapModerator mod
    Right now I just get a rectangle where the face is and paste a randomly chosen face into that rectangle.

    I want to see if I can get the angle out of the detected face and then detect a face on what I want to paste into the pic and match the angle or something.

  • Options
    DrezDrez Registered User regular
    So I want to get back into my game development. I'm starting my project from scratch.

    I was thinking of going with Unity. My project is a 2D/3D RPG hybrid.

    Reasons: I'm very comfortable with C#. From my tinkering this morning (first time looking at it) it seems powerful but straightforward.

    Any thoughts? A lot of people seem to recommend python/pygame and I thought about learning that but I dunno, Unity seems cool.

    Switch: SW-7690-2320-9238Steam/PSN/Xbox: Drezdar
  • Options
    DelzhandDelzhand Hard to miss. Registered User regular
    one of us
    one of us


    PA game dev thread

    Unity is goodtimes and the community support is great.

  • Options
    Jimmy KingJimmy King Registered User regular
    Drez wrote: »
    So I want to get back into my game development. I'm starting my project from scratch.

    I was thinking of going with Unity. My project is a 2D/3D RPG hybrid.

    Reasons: I'm very comfortable with C#. From my tinkering this morning (first time looking at it) it seems powerful but straightforward.

    Any thoughts? A lot of people seem to recommend python/pygame and I thought about learning that but I dunno, Unity seems cool.

    I am a big supporter of Python and do the vast majority of my programming in Python. I still wouldn't recommend PyGame for basically anything unless it has seen some drastic improvements since the last time I tinkered with it. It's been a few years, so it's possible they've improved things, but last I looked it seemed to be on the verge of abandonment. No new news in a long time, website that looked like it hadn't been touched since 2001 (although it almost certainly had been), documentation wasn't that great and tutorials I actually tried to use seemed to be broken as far as the install process, etc.

  • Options
    OatsOats Registered User regular
    Delzhand wrote: »
    one of us
    one of us


    PA game dev thread

    Unity is goodtimes and the community support is great.

    Most game jam games are done in Unity because it's a solid toolset, physics can take care of a lot, and C#.

    It's not the best fit for every project, but the value in getting your design turned into a prototype quickly is incredibly valuable.

  • Options
    InfidelInfidel Heretic Registered User regular
    Have a Python project question for y'all. (Especially @Jimmy King)

    It's a Flask REST API, we have some requests that may take a long while and so we want to turn them into 201 CREATED immediate responses that create a job and then kick it off. Eventually plan to have webhooks configurable that can notify the requestor if desired, but right now they would poll the route with the ID given to them by the POST response.

    The code is already tied to Flask requests, any recommendations on what to use and general implementation / conversion? My dev has found only Celery to seem to fit the bill but that seems to require redis and I'd like to keep dependencies/services to a minimum. We're not doing lots of requests, it's just that some are really long running (hours or days when simulating). We just have a Mongo database right now.

    OrokosPA.png
  • Options
    GnomeTankGnomeTank What the what? Portland, OregonRegistered User regular
    edited May 2017
    That doesn't seem like a terrible hard thing to hand code. Do you have access to a message bus? Rabbit or NSQ or anything? That's what we use for that kind of thing here (Rabbit to be specific). We are a Node/C# shop, but the idea is the same:
    1. Request comes in, a status record is immediately created (providing a UUID for further querying) and the request-to-process is pushed in to Rabbit
    2. Back end process picks up request from rabbit, starts job, and regularly updates above status record
    3. Eventually status record is updated to say the status is complete or failed

    Mongo is a perfectly fine place to store said status records.

    If you guys were thinking of doing those long running processes in the web context I highly, highly, highly recommend against it.

    GnomeTank on
    Sagroth wrote: »
    Oh c'mon FyreWulff, no one's gonna pay to visit Uranus.
    Steam: Brainling, XBL / PSN: GnomeTank, NintendoID: Brainling, FF14: Zillius Rosh SFV: Brainling
  • Options
    EchoEcho ski-bap ba-dapModerator mod
    I had my first encounter with RabbitMQ for this project I'm on now and that was really easy to work with in Go.

  • Options
    KakodaimonosKakodaimonos Code fondler Helping the 1% get richerRegistered User regular
    First day back from vacation. Let's see what's been going on. Update the source trees and rerun the test cases. Every single one fails. "Oh yeah, we were waiting for you come back and fix the beta system."

    I was sorely tempted to just pack up and extend my vacation.

This discussion has been closed.