Skip to content

Instantly share code, notes, and snippets.

import { promisify } from "node:util";
import { gunzip } from "node:zlib";
import type { KinesisStreamEvent } from "aws-lambda";
import { ProtobufTraceSerializer, JsonTraceSerializer } from "@opentelemetry/otlp-transformer";
const gunzipAsync = promisify(gunzip);
// Type definitions for better organization
interface CloudWatchLogsData {
messageType: string;
@garysassano
garysassano / debloat_jdownloader.md
Created August 22, 2025 09:23 — forked from yunooooo/debloat_jdownloader.md
Full JDownloader 2 Installation & Debloating (Removing Built-in Ads) Guide.

Full JDownloader 2 Installation & Debloating (Removing Built-in Ads) Guide.

This guide will teach you how to fully install and debloat JDownloader 2, a software that splits the file you want to download to make the file download speed much faster (a goal similar to IDM), Aight, Let's begin!

Installation Part

You need to go to https://jdownloader.org/jdownloader2 and click on the button of your operating system.
[tools]
usage = "latest"
###################
####### AWS #######
###################
aws-cli = "2"
cfn-lint = "latest"
cli53 = "latest"
granted = "latest"
# Check admin privileges
if (-NOT ([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] "Administrator")) {
Write-Host "Run as Administrator required." -ForegroundColor Red
exit 1
}
Write-Host "Installing WinGet on new system..." -ForegroundColor Green
try {
# Create temp directory
use anyhow::{Context, Result};
use aws_lambda_events::cloudwatch_logs::LogData;
use aws_lambda_events::event::kinesis::KinesisEvent;
use otlp_stdout_span_exporter::ExporterOutput;
use serverless_otlp_forwarder_core::core_parser::EventParser;
use serverless_otlp_forwarder_core::telemetry::TelemetryData;
use std::io::Read;
pub struct KinesisOtlpStdoutParser;

PCComponentsData DynamoDB Table Structure

This document outlines the structure of the PCComponentsData DynamoDB table, including its primary key, sort key, Global Secondary Indexes (GSIs), and example items.

Table: PCComponentsData

PK (Partition Key) SK (Sort Key) Data Attribute (Example) GSI1PK (Type) GSI1SK (Brand#Model#ID) GSI2PK (Brand#Socket) GSI2SK (uArch#Model#ID) GSI3PK (SellerID) GSI3SK (Timestamp/Price) Item Type
COMP#CPU_AMD_R5_7600X METADATA Name: AMD Ryzen 5 7600X CPU

AppSync Events API Implementation Debug Log

Overview

We attempted to implement an AWS AppSync Events API with Lambda integration using AWS CDK and AWS Powertools for TypeScript. Despite following the documentation, we encountered several issues with event handling and response formatting.

Infrastructure Setup

The CDK stack (src/stacks/my-stack.ts) is correctly configured:

  • Lambda function with Node.js 22 runtime
  • AppSync Events API with API Key auth
  • Direct Lambda integration with REQUEST_RESPONSE invocation type
@garysassano
garysassano / aws-contributions-2024.md
Last active March 9, 2025 23:54
AWS Contributions 2024
import {
CfnOutput,
Duration,
RemovalPolicy,
Stack,
StackProps,
} from "aws-cdk-lib";
import * as ec2 from "aws-cdk-lib/aws-ec2";
import {
Cluster,
<mxfile host="app.diagrams.net" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/132.0.0.0 Safari/537.36" version="26.0.7">
<diagram name="Page-1" id="djHL5mm636rr6r_pgM0_">
<mxGraphModel grid="1" page="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="DdbccUahVdO5bLk03KSF-2" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="O5bRPiPwY5WvUBBcZ2e7-8" target="O5bRPiPwY5WvUBBcZ2e7-6">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="O5bRPiPwY5WvUBBcZ2e7-8" value="" style="shape=image;verticalLabelPosition=bottom;labelBackgroundColor=default;verticalAlign=top;aspect=fixed;imageAspect=0;image=data:image/svg+xml,PHN2ZyB4bWxucz0iaHR0cDov