Not a co-worker but a personal friend, I am still developing with the dude. He is absolutely AMAZING when it comes to reverse engineering he knows much more than me in this area of computer science. Actually one of my first friends who actually geeks out over this shit.

  • 4
    I’ve never had close dev friends.
    It’s sad.

    (Not counting a couple devs I’ve dated or those who tried to date me. They always wanted the achievement of dating me more than to actually date me.)
  • 1
    @Root sad... I think you should try making friends while fighting the hellish Rails code that you are trying to fix.

    Speaking of that code, what the fuck is happening with it right now? Share with the class.
  • 1
    @OmerFlame It really isn’t that hellish. It’s just absolutely gigantic and stale. And contains patterns and features dating back three framework versions. Legacy only begins to describe it.
  • 0
    @Root oh fuck. Why was this code left to rot and was so unmaintained? That doesn’t sound AT ALL responsible...
  • 1
    @OmerFlame Because the project is gigantic. Areas that still work don’t often get attention unless they need it, and when they do, most of it gets updated.

    But often some of the legacy patterns and styles remain. Working on this project feels a little like walking through a museum.

    It isn’t very worrying, though. There’s a similarly gigantic test suite that takes three days to run on a laptop; 50 minutes in parallel on a large ec2 instance. There’s also a “QA automation test” suite that runs end to end feature tests via browser automation.

    However, it does mean that running specs against my branches takes a lot of time, even if it’s only the specs added since the last release branch. Project init also takes about 20 seconds. Meaning spinning up a server, running one spec, polling the routes, looking at a daemon list, etc. all take a minimum of 20 seconds. Really kills me when iterating.

    Don’t get me wrong, some areas really are a bloody nightmare of spaghetti. The project is in checkbox hell, and worse: hidden settings via “resources”: little bits of data (bool, int, array, json, ...) manually typed in by the product team or site managers, and stored in the DB. These can differ between merchants, merchant groups, etc., and considerably change the product’s behavior.

    Also, the names of these are often obscure or sometimes outright wrong and misleading. Sometimes my coworkers play a satirical game of “name that flag” — whoever gets one wrong first gets disqualified, and the winner gets to probably feel bad about themselves.
  • 0
    @Root sounds horrifying and ridiculously cool at the same time.

    3 DAYS ON A LAPTOP?!?!?! It almost sounds like scientists back in the C64 age, damn.
  • 1
    @OmerFlame Three days on a top of the line i9 MacBook Pro.
  • 0
    @Root Intel MacBooks overheat a lot (except the 16-inch iirc) so I think it makes sense (not sure though)
  • 1
    @OmerFlame I have a 16” 😛
  • 0
    @Root so It’s just absolutely damn massive.

    Holy shit.
Add Comment