Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
RPATDO_LAMD
Mar 22, 2013

🐘🪠🍆

rjmccall posted:

Note that if this is an MMO or something like it, this sort of pattern is not at all unlikely to get detected and get your account banned.

Presumably the reason you can't use autohotkey is "the anticheat detects autohotkey and complains"?
So yeah if you are gonna program your own thing your first step is to reverse engineer the whole anticheat system, understand how it works and figure out a way to bypass it.

Which is a lot of work! The people who do that sort work often sell their cheats for realmoney online.

Adbot
ADBOT LOVES YOU

Computer viking
May 30, 2011
Now with less breakage.

At this point, it may be much easier to buy an ESP2866 or one of the cheapest RPi models, wire it to the F switch on your keyboard, and toggle it on a slightly randomized timer?

Boris Galerkin
Dec 17, 2011

I don't understand why I can't harass people online. Seriously, somebody please explain why I shouldn't be allowed to stalk others on social media!
It’s a free to play game I don’t give a poo poo.

CarForumPoster
Jun 26, 2013

⚡POWER⚡

Computer viking posted:

At this point, it may be much easier to buy an ESP2866 or one of the cheapest RPi models, wire it to the F switch on your keyboard, and toggle it on a slightly randomized timer?

He said the window is minimized though

Computer viking
May 30, 2011
Now with less breakage.

CarForumPoster posted:

He said the window is minimized though

Oh yeah, I forgot that.

rjmccall
Sep 7, 2007

no worries friend
Fun Shoe

Boris Galerkin posted:

It’s a free to play game I don’t give a poo poo.

Apparently you give enough of a poo poo to write a program to continuously trigger the optimal resource harvesting cooldowns, though

Mr.Hotkeys
Dec 27, 2008

you're just thinking too much

raminasi posted:

.NET IL is stack-oriented. I actually wonder how many people can write IL by hand compared to the number of Forth-writers that exist.

Funny enough, I've been playing with parsing method body CIL, making changes, and recompiling it lately, and eased into it without a ton of pain thanks to time spent dicking around with Forth in the aforementioned Minecraft mod.

It's probably not practical to write directly, but stack based languages are really fun to play with. It's also the paradigm .NET and Java use for their intermediate languages, so it's a nifty thing to understand just from that angle in case you ever end up finding a use case for emitting CIL directly, or even just to appreciate the work being done under the hood.

Boris Galerkin
Dec 17, 2011

I don't understand why I can't harass people online. Seriously, somebody please explain why I shouldn't be allowed to stalk others on social media!

rjmccall posted:

Apparently you give enough of a poo poo to write a program to continuously trigger the optimal resource harvesting cooldowns, though

Well, yeah, but I don’t give a poo poo if I lose my account.

ToxicFrog
Apr 26, 2008


ExcessBLarg! posted:

Everyone loves Lua now and I'm sure it's "fine", more fine than JavaScript anyways. I just don't trust languages that use the same data structure for indexed and associative arrays.

:science: Under the hood a Lua table is actually two data structures in a trenchcoat, a C array for the non-negative indexed part and a hash table for the associative and negative-indexed part, both of which auto-resize as needed.(Although sparse indexed arrays still end up in the associative part, IIRC -- it's not going to allocate a 1M entry array because you wanted to use 999,999 as the sole numeric key.)

BlackMK4
Aug 23, 2006

wat.
Megamarm
Perhaps the wrong thread, but I don't really see where it fits.

I have a problem to solve and I'm having a difficult time figuring out the cleanest way to go about doing it.

The short of it is that I'm implementing a new payment processor in a .NET solution. The payment processor will notify us via web hook when a transaction moves from pending to settled, a refund transaction moves from in pending to settled, a dispute on a transaction is initiated, or a payment batch is initiated. This processor will POST a JSON body to a single URL that I can specify, but that is the extent of the control I have. The processor has no messaging if a call fails, just blind retry.

There are a number of approaches here, but I think that I would like to implement a queue system that lives between the payment processor and our servers. It'll effectively take in the payment processor web hook calls, insert them into a queue, and then effectively forward these calls to API with the same data.
The point is to retain failed transactions so that they can be debugged/retried.

The simple solution is to handle the queue in our application so that the payment processor hits our API directly, but I'd like to have a little bit higher availability than that. I was thinking some kind of simple Azure setup that can be done with functions and RabbitMQ, but what I have described here sounds like a misuse of a queue. Is there a more simple solution I haven't thought of?

Just having a difficult time figuring out what to Google here, I don't want to overcomplicate this thing.

BlackMK4 fucked around with this message at 21:51 on Aug 26, 2022

Computer viking
May 30, 2011
Now with less breakage.

I'm sure there's something in the apache space for that kind of problem - Kafka, maybe - but I doubt that's in any way easy or simple.

12 rats tied together
Sep 7, 2006

if you're specifically interested in holding onto retry logic state outside of a particular processor instance, the usual term for that is a Dead Letter Queue

BlackMK4
Aug 23, 2006

wat.
Megamarm

Computer viking posted:

I'm sure there's something in the apache space for that kind of problem - Kafka, maybe - but I doubt that's in any way easy or simple.

Yeah, I didn't really see anything that was a drop-in solution.

12 rats tied together posted:

if you're specifically interested in holding onto retry logic state outside of a particular processor instance, the usual term for that is a Dead Letter Queue

Thank you, this has helped.

Maybe it is overkill, we will see.

Hughmoris
Apr 21, 2007
Let's go to the abyss!
Does anyone fiddle with DAX in Power BI or Excel? From my newcomer eyes, that language seems like an objective mess.

Fruits of the sea
Dec 1, 2010

This technically isn't a coding question, but what's a good resource for learning how to use group policy?

nielsm
Jun 1, 2009



Fruits of the sea posted:

This technically isn't a coding question, but what's a good resource for learning how to use group policy?

Also try the Enterprise Microsoft Q&A thread for that.
I'm pretty sure some of the answers are going to be "try to avoid learning Group Policy now and learn the replacements for it instead".

KillHour
Oct 28, 2007


Hughmoris posted:

Does anyone fiddle with DAX in Power BI or Excel? From my newcomer eyes, that language seems like an objective mess.

I have some experience because my SO does Power BI dashboarding, and yes, it is a horrible mess. It's like if someone tried to make an entire programming language out of Excel functions.

Jose
Jul 24, 2007

Adrian Chiles is a broadcaster and writer
I'm learning R for work and due to the nature of what I'm dealing with column titles are a mess. I'm ended up using the dplyr summarize function with the mean function inside of it giving me a column name with brackets in it. Is there a quick way to choose the name for the column as part of the summarize?

Armauk
Jun 23, 2021


Jose posted:

I'm learning R for work and due to the nature of what I'm dealing with column titles are a mess. I'm ended up using the dplyr summarize function with the mean function inside of it giving me a column name with brackets in it. Is there a quick way to choose the name for the column as part of the summarize?

Would renaming them help? You can use
code:
rename()

Computer viking
May 30, 2011
Now with less breakage.

Even just colnames(tbl) = c("new", "better", "names") can be an option worth considering.

Of course, it's entirely dependent on the order and number of columns being known and stable - but if you generated the data frame two lines earlier, it's probably fine.

drainpipe
May 17, 2004

AAHHHHHHH!!!!
Not sure if this is the right place to ask, but is there a good place to learn software engineering practices? I'm alright at coding, but as I'm largely self-taught, my organization, documentation, and testing is pretty poo poo, so I'm hoping to get better at these. I'm also interested in learning software design patterns since my habit of coding things in the most obvious and basic ways create painful experiences if I need to extend or refactor parts of it.

ultrafilter
Aug 23, 2007

It's okay if you have any questions.


The easiest way by far is to join a team that does good software engineering. You can read whatever on those topics but that's just not the same as doing engineering and getting feedback from people who are further along.

barkbell
Apr 14, 2006

woof
You can shoot yourself in the foot and feel the pain then read articles about how whatever you did was not great and you can relate. Worked for me.

lifg
Dec 4, 2000
<this tag left blank>
Muldoon
The Pragmatic Programmer is a good general introduction to being a professional software engineer. It won’t teach you design patterns, but I find those are best learned the way barkbell said above.

Volmarias
Dec 31, 2002

EMAIL... THE INTERNET... SEARCH ENGINES...

drainpipe posted:

Not sure if this is the right place to ask, but is there a good place to learn software engineering practices? I'm alright at coding, but as I'm largely self-taught, my organization, documentation, and testing is pretty poo poo, so I'm hoping to get better at these. I'm also interested in learning software design patterns since my habit of coding things in the most obvious and basic ways create painful experiences if I need to extend or refactor parts of it.

Whatever you are doing, no matter what it is, is wrong, and people will make sure you know this. Institute a system of shame rituals and enforce it as much as possible.

Congratulations, you are now a software engineer.

icantfindaname
Jul 1, 2008


Are there any applications that use COBOL that don’t really have good alternatives? Every now and then you read news articles about how state unemployment systems or whatever use COBOL, but are there actually meaningfully better ways of doing that than a mainframe and some COBOL script? If you were to implement such a system from scratch in 2022 what would be the tech used? Some Java EE thing?

Volmarias
Dec 31, 2002

EMAIL... THE INTERNET... SEARCH ENGINES...

icantfindaname posted:

Are there any applications that use COBOL that don’t really have good alternatives? Every now and then you read news articles about how state unemployment systems or whatever use COBOL, but are there actually meaningfully better ways of doing that than a mainframe and some COBOL script? If you were to implement such a system from scratch in 2022 what would be the tech used? Some Java EE thing?

The main reason that COBOL programs stick around, AIUI, is that the migration cost, INCLUDING the cost of errors made during conversion between languages, is too high. You can absolutely perform actions at scale with or without mainframes (see: :yayclod:), but I cannot imagine actually picking COBOL as a language for a new project.

What gets used really depends on what you're doing, but you could absolutely replace a lot of systems with Java / C++ / Whatever implementations. The amount of data that state unemployment systems have to deal with is, at this point, relatively trivial compared to much of the systems the Internet handles. The forums are probably more resource intensive and probably have a higher uptime.

Learn COBOL if you want to make money consulting for companies that cannot get out from under it (yet) or as a hobby, but it's not really useful for new development.

RPATDO_LAMD
Mar 22, 2013

🐘🪠🍆
Yeah the big thing you have to watch for when rewriting your "technical debt" in new trendy language/framework of choice is that you're not just losing out on the main functionality but also on what's at this point 30-40 years of bugfixes and special handling for weird edge cases.

There is no technical reason to ever use COBOL in a new project, it's just a very old language that used to be pretty popular and is now extremely unpopular.
But there is no business reason to throw out and remake the 40 year old system you have in maintenance mode that still works fine. Especially for banks where reliability and correctness are worth way more to them than efficiency -- it doesn't really matter if it's running on a crappy old ancient mainframe and can't scale up the way a cool cloud-based containerized microservice thing could. It's still fast enough to do what it needs to do, and unlike e.g. Google the hardware costs are a negligible part of their total business. Having their fancy new java backend go down for an hour due to some unknown new bug introduced in development would probably cost the bank more money than maintaining the old COBOL crap for 10 more years.

Although a lot of non-bank tech companies make this mistake anyways and throw out their 3-to-5 year old projects for full rewrites at the behest of their devs. It's a lot of fun for the devs! And probably better for the devs' careers too since they get to put whatever trendy modern framework they used in their resume. But it usually isn't too helpful for the actual business part of the business.

RPATDO_LAMD fucked around with this message at 22:17 on Sep 19, 2022

nielsm
Jun 1, 2009



Without being in that industry, I would imagine a common thing could be writing new components in modern languages, and extending the legacy code minimally to interface with the new.

camoseven
Dec 30, 2005

RODOLPHONE RINGIN'

RPATDO_LAMD posted:

But there is no business reason to throw out and remake the 40 year old system you have in maintenance mode that still works fine.

I disagree with this, because there is an ever dwindling number of COBAL SMEs and from what I understand they are getting paid ever higher salaries. At some point it's gotta be more cost effective to rewrite in a modern language, right?

lifg
Dec 4, 2000
<this tag left blank>
Muldoon
I worked adjacent to a old mainframe and the few programmers who still used it, and I learned that even systems that are in “maintenance mode” still need updates. Tax systems need to be updated to handle the annual changes to tax codes. Security needs updating.

As COBOL developers retire and aren’t replaced, different subsystems fall into “black box territory”, and everyone is kinda just crossing their fingers that it all just continues to work.

spiritual bypass
Feb 19, 2008

Grimey Drawer
The way IBM runs those mainframes, you pay some base price to lease the machine, then more for the amount of performance you want. DB2 in a mainframe is amazing. If you need more inserts per second, pay IBM for more I/O and it'll happen. Running other relational databases on cloud hosts just doesn't accomplish the same thing without a ton of extra work, if at all.

KICK BAMA KICK
Mar 2, 2009

icantfindaname posted:

state unemployment systems or whatever use COBOL
Re this specific example, which was pretty prominent with the COVID payments, aren't these intentionally kept archaic by states that do not actually want it to be efficient to give money to unemployed people?

dupersaurus
Aug 1, 2012

Futurism was an art movement where dudes were all 'CARS ARE COOL AND THE PAST IS FOR CHUMPS. LET'S DRAW SOME CARS.'
I haven’t been able to find the source but awhile ago I saw or read a talk with some guys that maintain WW1 plane engines. They spend a lot of time machining parts from original plans, original materials, and even original machines. They were asked why they don’t make the parts with modern materials and tolerances, and they don’t because they know the engines so we’ll as-is, they know exactly when to replace parts to prevent failures. If they updated the parts there’s no way to tell how it would affect other parts of the engine… like, making one part stronger might excessively wear another part, etc etc

I figure COBOL systems are a lot like that

KillHour
Oct 28, 2007


It's not good enough that the new system is more modern and easier to maintain. It also must have every feature of the old system, be a drop-in replacement and also not have a huge cutover period with downtime. And then training users on the new thing is a huge hurdle too. It turns out a system that has been cobbled together over 30+ years is really hard to replace all in one go, but it can't generally be replaced in pieces either. Companies try and fail to do it all the time.

Grumpwagon
May 6, 2007
I am a giant assfuck who needs to harden the fuck up.

Do we have a thread for testing at all? I looked around and didn't see anything.

The reason I ask is I've been tasked with finding a test case management software package. I've used TestRail in the past, and we demoed zephyr but I don't really have much experience with any other solutions in the market and I was hoping someone did.

Does anyone use something they are particularly happy with? Is there another place I could post this that would be more relevant?

ultrafilter
Aug 23, 2007

It's okay if you have any questions.


I don't think there's a general testing thread. Probably working in dev or the oldie programming thread are your best bets.

Rocko Bonaparte
Mar 12, 2002

Every day is Friday!
I guess I have a bike shed that needs some paint: How do the terms "observability" and "telemetry" relate in software systems? Is one a superset of the other? Are there other terms involved?

I can show my hand here but I'd rather just ask that dryly first and see if I'm even close.

ultrafilter
Aug 23, 2007

It's okay if you have any questions.


Telemetry, observability.

Adbot
ADBOT LOVES YOU

Rocko Bonaparte
Mar 12, 2002

Every day is Friday!
I saw the Wikipedia page on telemetry previously and couldn't really get a hard grasp from it. I guess I'll just show my hand here. My organization wants to implement some telemetry for our in-house stuff. When I was first reading up on this, I thought they wanted something like observability as a feature and not telemetry in particular. So observability would be a superset. What I was getting last year on this from telemetry was very simple, small, possibly rapid events. Where I think what they want includes more things like crash dumps. I can call it whatever they want to call it but I don't want to sound like a complete idiot if I have to talk to somebody about it out in the real world.

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply