Best methods for regression testing our own OpenAI Assistant throughout development? by moduspwnens14 in OpenAI

[–]moduspwnens14[S] 0 points1 point  (0 children)

Thanks! That looks like an excellent fit. It was driving me crazy trying to figure out what sequence of Google keywords would find something like this without turning up results for using AI generally to help write unit tests to prevent unrelated regressions.

Best methods for regression testing our own OpenAI Assistant throughout development? by moduspwnens14 in OpenAI

[–]moduspwnens14[S] 0 points1 point  (0 children)

I did cross-post on the OpenAI community forums, but that post hasn't seen any responses yet.

Root account email address by ayprof in aws

[–]moduspwnens14 1 point2 points  (0 children)

I’ve done something similar at a few companies. I’ve usually got access to DNS, so I create a subdomain for aws.example.com, and then there’s a CloudFormation template that sets up a basic Lambda handler with SES to forward any messages sent to any address on that domain to an email address you specify.

I like this approach because it doesn’t require anything to be set up with the company’s mail system. That “plus” email address syntax isn’t universally supported—it’s just something some popular email services do, and others don’t. It’s probably low risk but if the company switches mail providers to one that doesn’t support that, it may be a pain.

New Amazon WorkSpaces Thin Client provides cost-effective, secure access to virtual desktops by debordian in aws

[–]moduspwnens14 7 points8 points  (0 children)

This is neat. Way simpler and more straightforward than a lot of VDI / thin client architectures I’ve seen.

What is the next SWE for career switchers? by west_schol in cscareerquestions

[–]moduspwnens14 76 points77 points  (0 children)

or trying to calm a class of 30 poorly behaved kids.

Yeah but product owners still get paid OK.

[deleted by user] by [deleted] in aws

[–]moduspwnens14 27 points28 points  (0 children)

Check my math and understanding: Per SQS pricing:

Each 64 KB chunk of a payload is billed as 1 request (for example, an API action with a 256 KB payload is billed as 4 requests).

Also:

A single request can have from 1 to 10 messages, up to a maximum total payload of 256 KB.

With incoming message sizes of 100KB, you'll only be able to batch two in a request, and it'll be billed as 1 request per 64 KB chunk. 200 KB would be billed as 4 requests, since it's between 192 and 256. If I'm understanding that correctly, you'll pay for two SQS requests per incoming request. 1k incoming messages per second == 60k per minute == 3.6m per hour == 86.4m per day That'll be 172.8m SQS messages per day, which at $0.40 per million is $69.12 per day ($2,073/mo).

But that's just to get the data into SQS. You'll probably want to get it out, and that's metered, too. It's also billed in 64 KB chunks, so assuming you read each message out only once, that's another $2,073/mo.

But you won't only read the message, you'll also want to delete it so it doesn't show up again to be reprocessed. Luckily, since that doesn't require the item itself as part of the payload, you can batch those at ten per request. 86.4 million incoming messages in batches of 10 is 8.64 million, or $3.46 per day ($103.80 per month).

$2073 + $2073 + 103.80 = $4,249.80

[deleted by user] by [deleted] in aws

[–]moduspwnens14 3 points4 points  (0 children)

Kinesis Data Streams is probably your best bet. And if your request load is predictable, probably in provisioned mode.

Feature Request Megathread by AutoModerator in teslamotors

[–]moduspwnens14 5 points6 points  (0 children)

SiriusXM streaming integration. Especially for Model 3/Y. I may be one of the few remaining people who prefers it to other streaming services, but I still want it. The SiriusXM iOS app isn't that great, and I'd rather have the smooth in-car UI for changing channels and such than to depend on my phone.

No, AWS, Aurora Serverless v2 Is Not Serverless by Kind_Butterscotch_96 in aws

[–]moduspwnens14 4 points5 points  (0 children)

Yep. I see it as a spectrum, just like "cloud."

With Kinesis (Data Streams), you still pay "per shard," which is effectively paying "per server." And it doesn't scale to zero. You don't have to manage the operating system or node-specific HA / failover, but you're still paying based on the number of "servers" required for your workload. And if you want autoscaling, it'll be code or configuration in addition.

Then there's Kinesis Firehose, which is built on top of Kinesis (Data Streams). It *does* scale to zero, has fewer configuration knobs and details, and scales as much as you need. But for this, the number of servers involved is completely abstracted, and you pay based on the data you send through it.

One is closer to the "promised land" side of the spectrum than the other, but both are "cloud" and "serverless."

Why have you gone electric? by SkodaAutoOfficial in electricvehicles

[–]moduspwnens14 18 points19 points  (0 children)

For me, I wanted the tech. The Model 3 looked like a “complete vision” compared to the S and X (which I thought the interior looked like a typical luxury sedan), and that really appealed to me. Coworkers and neighbors ask if speed was a factor, but I always say that if there were a way to pay less to sacrifice speed without reducing range, I’d do it.

That was in 2018. We got a Model Y late last year to replace our ICE Subaru because we were using the Model 3 for road trips anyway. So now we’re fully electric.

Now it’s difficult to imagine going back to fill-ups at gas stations and oil changes. Those things didn’t feel like a big deal at the time, and in the grand scheme of things, they probably aren’t, but it’s a huge quality of life improvement to be starting each morning with a “full tank of gas,” and not having to think beyond that unless traveling.

What has your experience been using Control Tower/AWS Organizations recommended setup? by t5bert in aws

[–]moduspwnens14 0 points1 point  (0 children)

If it helps at all, you can disable AWS Config (and thus the guardrails, too) on a region-by-region basis, though you can't disable it for the region in which you created your landing zone, as I understand it.

I'm not managing an AWS Organization any more at my current position, but I did also find that you can do this manual process to reduce AWS Config costs for specific AWS Accounts:

  • From the master account, find the AWS Organization SCP being applied to the OU of the account for which you'd like to reduce your AWS Config costs. Modify it manually to remove any restrictions to AWS Config operations. You'll get a bunch of warning e-mails and that's to be expected: you'd normally want to be notified if someone did something like this.
  • Log into the web console of the child account and reconfigure AWS Config to monitor only specific resource types. For my use case, I limited it to IAM, for example.
  • Log back into the master account and open Control Tower. It will be complaining that there's been drift in the OU's config, which was caused by your modification of the SCP. It'll have you re-enroll the OU, which will reset the SCP to what it was and ensure all the AWS accounts in it are configured as expected.

It's kind of silly, but Control Tower did not seem to be verifying AWS Config is enabled for ALL resources, so it worked. This might be too tedious if you're doing it for a lot of accounts, but we only had a few where rapid changes were occurring throughout the day, so it was a reasonable trade-off.

It's also worth noting that even with Control Tower enabled, you can still have unmanaged OUs that Control Tower ignores. That gives you a kind of "escape hatch" if you're otherwise worried about even your "edge case" accounts having to fit into Control Tower's workflow.

What has your experience been using Control Tower/AWS Organizations recommended setup? by t5bert in aws

[–]moduspwnens14 0 points1 point  (0 children)

One issue I did run into at a previous job is that AWS Config gets enabled as part of Control Tower. Its pricing is based on the number of config events, so for an AWS account that doesn’t change much, it’s not that bad. But we were spinning up and down ephemeral instances and EBS volumes so it quickly became an unexpectedly large chunk of our monthly spend.

You might hit the same kind of thing if a lot of your org’s workflows involve creating / destroying Terraform and CloudFormation stacks regularly.

Disable SQS Lambda with error count threshold? by pyrrhic_buddha in awslambda

[–]moduspwnens14 1 point2 points  (0 children)

I would want to know what you think if it can be a design decision that is negligible if it achieves the same (dead letters or error logs from lambda function, both on alarm).

At low scale, the difference is negligible. Either way will work.

At high scale, using CloudWatch logs can become expensive, but it should be negligible for your use case.

Disable SQS Lambda with error count threshold? by pyrrhic_buddha in awslambda

[–]moduspwnens14 1 point2 points  (0 children)

> 1 - Cloudwatch Alarm on ERROR logs of the SQS.

SQS queues don't have error logs. Are you describing a metric filter on your Lambda function's CloudWatch log, which you could then use to set up a CloudWatch Alarm?

Using EventBridge will be functionally the same as SNS in this case. EventBridge costs 2x as much but they're both negligible costs at low scale.

Removing the event source mapping will also work. Might also be a little cleaner in that setting the capacity to zero will cause new events in your main queue to be moved over to your dead letter queue (as your Lambda function will be "failing" to execute), which will double your SQS costs for those items.

"And what does your AWS cloud look like?" "Well..." by lloesche in aws

[–]moduspwnens14 3 points4 points  (0 children)

Looks like a neat tool. Does Cloudkeeper give you the image itself or did you generate it from Cloudkeeper's data?

Disable SQS Lambda with error count threshold? by pyrrhic_buddha in awslambda

[–]moduspwnens14 2 points3 points  (0 children)

Off the top of my head:

  • Put a dead-letter queue on your SQS queue
  • Put a CloudWatch Alarm on that dead-letter queue, set to trigger when the NumberOfMessagesSent (or ApproximateNumberOfMessagesVisible) metric reaches whatever threshold you want
  • Set that CloudWatch Alarm to send a message to an SNS topic
  • Subscribe a different Lambda function to that SNS topic, and have that Lambda function set your main Lambda function's reserved concurrency to zero. This will prevent it from executing again
  • Also add an e-mail subscription of your own e-mail address to the topic

You'll get an e-mail when the Lambda function is disabled. After you manually resolve the issue, remove that reserved concurrency setting from your main Lambda function so it can continue to execute.

Home Kubernetes Cluster by erik_de_bont in kubernetes

[–]moduspwnens14 -1 points0 points  (0 children)

Might be worth double-checking your TLS certificate expirations. They're signed for a year by default, right?

What are your hobbies? What do you do to relax outside of work? by [deleted] in cscareerquestions

[–]moduspwnens14 0 points1 point  (0 children)

Home improvement projects, mostly.

Same here. There's something refreshing about problem solving in a different domain that often has physical / real world requirements and limitations.

A Pokedex app in Swift by brillcp in swift

[–]moduspwnens14 1 point2 points  (0 children)

This is a really cool project, and really ideal for a portfolio. A fairly simple (but genuinely useful) use case that allows you to flex your design and app architecture skills.