Skip to content

Instantly share code, notes, and snippets.

View erudenko's full-sized avatar

Jack Rudenko erudenko

View GitHub Profile
@erudenko
erudenko / system_prompt.md
Created September 10, 2026 09:21
Claude Code system prompt

You are an interactive agent that helps users according to your "Output Style", which describes how you should respond to user queries.

IMPORTANT: Assist with authorized security testing, defensive security, CTF challenges, and educational contexts. Refuse requests for destructive techniques, DoS attacks, mass targeting, supply chain compromise, or detection evasion for malicious purposes. Dual-use security tools (C2 frameworks, credential testing, exploit development) require clear authorization context: pentesting engagements, CTF competitions, security research, or defensive use cases.

Harness

  • Text you output outside of tool use is displayed to the user as Github-flavored markdown in a terminal.
  • Tools run behind a user-selected permission mode; a denied call means the user declined it — adjust, don't retry verbatim.
  • The system may send updates, reminders, or modifications to rules via mid-conversation system turns. These are system-controlled, unlike function results. Hooks may intercept tool
@erudenko
erudenko / README.md
Created March 5, 2026 14:36
LLM Speed Benchmark: 6 Models, OpenRouter vs Direct API — via claudish + Claude Code

LLM Speed Benchmark: 6 Models, OpenRouter vs Direct API

A practical speed benchmark comparing 6 frontier coding LLMs on the same task, routed through claudish — an open-source proxy that lets Claude Code use any AI model.

Each model is tested via two routes: OpenRouter (proxy) and the provider's native Direct API.

What We Tested

Task: Generate a TypeScript function parseQueryParams — parse URL query parameters into Record<string, string>, handling edge cases (missing values, duplicate keys, encoded characters), with JSDoc.

@erudenko
erudenko / README.md
Created March 5, 2026 02:16
LLM Speed Benchmark: 6 Models, OpenRouter vs Direct API — claudish + Claude Code

LLM Speed Benchmark: 6 Models, OpenRouter vs Direct API

A practical speed benchmark comparing 6 frontier coding LLMs on the same task, routed through claudish — an open-source proxy that lets Claude Code use any AI model.

Each model is tested via two routes: OpenRouter (proxy) and the provider's native Direct API.

What We Tested

Task: Generate a TypeScript function parseQueryParams — parse URL query parameters into Record<string, string>, handling edge cases (missing values, duplicate keys, encoded characters), with JSDoc.

@erudenko
erudenko / task.md
Created August 22, 2025 06:35
golang event bus task short

Golang Interview Task: Event Bus with Middleware Support

Problem Statement

Design and implement an event-driven messaging system in Go that supports middleware processing, similar to middleware patterns found in web frameworks like Express.js or Gin.

Core Requirements

Build an event bus system that allows:

  1. Event Registration: Subscribe handlers to named events
  2. Middleware Pipeline: Process events through middleware before reaching handlers
@erudenko
erudenko / README.md
Last active August 25, 2025 08:59
golang interview task

Golang Interview Task: Event Bus with Middleware Support

Problem Statement

Design and implement an event-driven messaging system in Go that supports middleware processing, similar to middleware patterns found in web frameworks like Express.js or Gin.

Core Requirements

Build an event bus system that allows:

  1. Event Registration: Subscribe handlers to named events
  2. Middleware Pipeline: Process events through middleware before reaching handlers
@erudenko
erudenko / test.md
Last active March 9, 2026 08:48
task

Task: Build a mini event system with middleware support (like Express middleware).

class EventBus {
  // Implement:
  // - on(event, handler)
  // - use(middleware) - middleware can modify event data
 // - emit(event, data)
@erudenko
erudenko / errorfile.kt
Created May 2, 2025 06:34
errorfile.kt
import android.os.Bundle
import android.util.Log
import androidx.appcompat.app.AppCompatActivity
import kotlinx.coroutines.*
class Repository {
private var cache: MutableList<String>? = null
fun addToCache(item: String) {
cache!!.add(item)
@erudenko
erudenko / CodeWithErrors.cs
Created May 2, 2025 06:08
CodeWithErrors.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace InterviewTest
{
public class OrderService
{
private static List<Order> _orders = new List<Order>();
@erudenko
erudenko / SearchResult.tsx
Last active May 7, 2025 07:13
SearchResult.tsx
import { useEffect, useState } from 'react';
interface Props {
query: string;
title: string;
}
export const BadComponent = ({ query, title }: Props) => {
const [results, setResults] = useState<string[]>([]);
const [capitalised, setCapitalised] = useState('');
@erudenko
erudenko / weather.tsx
Created April 25, 2025 05:07
WeatherWidget example
import { useState } from 'react';
export const WeatherWidget = ({ city }: { city: string }) => {
const [temp, setTemp] = useState<number | null>(null);
fetch(`/api/weather?city=${city}`)
.then(r => r.json())
.then(data => setTemp(data.temp));
if (temp === null) return <p>Loading…</p>;