Skip to content

Instantly share code, notes, and snippets.

@judell
judell / weather.py
Last active May 23, 2024 18:43
openai mock function call
import sys
import json
import base64
import os
from openai import OpenAI
# OpenAI API key
OPENAI_API_KEY = os.environ.get("OPENAI_API_KEY")
client = OpenAI(api_key=OPENAI_API_KEY)
@judell
judell / openai-function-call.py
Created May 23, 2024 17:40
openai function call
import openai
import json
import os
from openai import OpenAI
client = OpenAI(api_key=os.environ.get("OPENAI_API_KEY"))
# Mock function to simulate fetching weather data from an API
def get_weather(location):
# In a real scenario, replace this with an actual API call
@judell
judell / callListAnything.go
Created May 5, 2024 00:40
callListAnything.go
func listDevices(ctx context.Context, d *plugin.QueryData, h *plugin.HydrateData) (interface{}, error) {
var visitor ListPredicate = func(client *kolide.Client, cursor string, limit int32, searches ...kolide.Search) (interface{}, error) {
return client.GetDevices(cursor, limit, searches...)
}
return listAnything(ctx, d, h, "kolide_device.listDevices", visitor, "Devices")
}
func listAdminUsers(ctx context.Context, d *plugin.QueryData, h *plugin.HydrateData) (interface{}, error) {
@judell
judell / listAnything.go
Last active May 5, 2024 00:39
kolide.listAnything
func listAnything(ctx context.Context, d *plugin.QueryData, h *plugin.HydrateData, callee string, visitor ListPredicate, target string) (interface{}, error) {
// Create a slice to hold search queries
searches, err := query(ctx, d)
if err != nil {
plugin.Logger(ctx).Error(callee, "qualifier_operator_error", err)
return nil, err
}
// Establish connection to Kolide client
client, err := connect(ctx, d)
@judell
judell / jsonb-cte-tutor.md
Last active April 19, 2024 13:57
jsonb-cte-tutor

You are a SQL tutor who helps people write Steampipe queries that involve JSON columns. Such queries can be hard to understand, so we want to provide queries in two forms: concise and expanded.

For example, we want a query to count my gists by language.

Here is the schema for the github_my_gist table

ctx	jsonb		Steampipe context in JSON form, e.g. connection_name.
comments	bigint		The number of comments for the gist.
created_at	timestamp with time zone		The timestamp when the gist was created.
@judell
judell / press-release-coach.md
Last active March 17, 2024 16:56
press-release-coach

You are a writing coach who helps companies improve their business communication.

I'll show you an example of a successful intervention you've made to improve this poorly-written press release.

Remcom Broadens Capabilities Of Schematic Editor To Support Diplex Matched Antennas In XFdtd EM Simulation Software

Remcom announces expanded capabilities within its schematic editor in the latest release of XFdtd 3D EM Simulation Software, including support for diplex matched antennas and new efficiencies aimed at streamlining antenna design workflows and shortening design cycles.

XFdtd' schematic editor is a novel electromagnetic simulation tool that combines matching network analysis with full-wave results, making it ideal for complex antenna design applications involving multi-state and multi-port aperture or impedance tuners and corporate feed networks with digital phase shifters.

@judell
judell / workflow-test-setup.md
Created February 2, 2024 17:50
workflow-test-setup

Today I learned that * * * * * and select random() are your friends when starting a Flowpipe mod that uses a query trigger.

* * * * * to iterate as fast as possible: every minute

select random() to ensure there is always fresh data, otherwise nothing will happen

If you're trying to debug something downstream, like sending email, this ensures you'll actually test the downstream thing every time.

Here's the foundation for a mod that will check for new access keys and alert when a new one is found. I used the test pipeline as an initial check, then switched to the email pipeline in order to debug separate issues with that (it's always about auth, right?) once I knew the pipeline would receive a message every minute.

@judell
judell / changelog-summarizer-prompt.md
Created August 20, 2023 18:35
changelog summarizer prompt

Please write a Python-based changelog summarizer for a GitHub repo. Here is an example of the changelog format we are targeting.

data = """
## v0.115.0 [2023-08-08]

_Enhancements_

- Updated the `Makefile` to build plugin in `STEAMPIPE_INSTALL_DIR` if set. ([#1857](https://github.com/turbot/steampipe-plugin-aws/pull/1857)) (Thanks [@pdecat](https://github.com/pdecat) for the contribution!)
- Added column `offering_class` to `aws_pricing_product` table ([#1863](https://github.com/turbot/steampipe-plugin-aws/pull/1863)) (Thanks [@rasta-rocket](https://github.com/rasta-rocket) for the contribution!)
@judell
judell / changelog.py
Last active August 24, 2023 23:36
changelog summarizer
import argparse, os, re, requests, sys
import pandas as pd
import plotly.graph_objects as go
import mpld3
from datetime import datetime, timedelta
from enum import Enum
IS_TEST_MODE = False
IS_NEW_MODE = False
DATAFILE = 'data.csv'