Skip to content

Instantly share code, notes, and snippets.

View jc4p's full-sized avatar

Kasra Rahjerdi jc4p

View GitHub Profile
@jc4p
jc4p / classify_casts_gemini.py
Last active October 10, 2025 22:04
Making and running a BERT classifier on Farcaster casts
#!/usr/bin/env python3
"""
Classify Farcaster casts using Google Gemini Batch API.
Classifies each cast into one of 5 categories:
- Personal Life
- Spam
- App/Bot Interactions
- Crypto Content
- Not Enough Context To Tell
"""
import { generatePrivateKey, privateKeyToAccount, english, generateMnemonic, mnemonicToAccount } from 'viem/accounts';
import { writeFileSync } from 'fs';
// Parse command line arguments
const args = process.argv.slice(2);
let name = null;
let useMnemonic = false;
for (let i = 0; i < args.length; i++) {
if (args[i] === '--name' && args[i + 1]) {
YEAR sex_group pct_weekly_plus
1990 Men 56.00376505110606
1991 Men 56.55845069773984
1993 Men 54.52053976944282
1994 Men 52.92590248189957
1996 Men 58.32329400804249
1998 Men 54.15999959659776
2000 Men 57.159911222473696
2002 Men 54.52718663716865
2004 Men 50.10306907814918
from sentence_transformers import SentenceTransformer
import time
import duckdb
import numpy as np
from concurrent.futures import ThreadPoolExecutor
import os
import argparse
import glob
import sys
from sentence_transformers import SentenceTransformer
import time
import duckdb
import numpy as np
from concurrent.futures import ThreadPoolExecutor
import os
MODEL_NAME = 'sentence-transformers/all-mpnet-base-v2'
BATCH_SIZE = 1942
DEVICE = "cuda"
@jc4p
jc4p / Hello.tsx
Created January 6, 2017 18:05
TypeScript 2.1.4 + Webpack 2.0 beta + Preact. Uses babel and ts-loader to convert to ES5/ES6/whatever-you-want bundle.
// src/components/Hello.tsx
import { h, Component, render } from "preact";
export interface HelloProps { compiler: string; framework: string; }
export default class Hello extends Component<HelloProps, undefined> {
constructor(props: any) {
super(props);
// #TODO: fetch() from the API, or set up a ServiceWorker to do so.
@jc4p
jc4p / photo organizer.md
Last active January 4, 2017 10:53
I want a open photo collection organizer. I don't want to build this but I will if I have to

Photo Collection Manager

Local electron app + PWA front end for viewing local files on your phone if on local wifi

No consolidated servers, but everything is OSS and PWA app can be set up on your own server to also use to view images stored in cloud

Back up to your own cloud

Import from any cloud / the Windows OS X Linux box it's running on / Lightroom / etc

<p class="category col two"><em>{{ category.title }}</em></p>
<ul class="project-list col seven">
{% foreach post in category.posts %}
<li>
<div class="thumbnail col two">
<img src="{{ post.thumb }}" alt=""></a>
</div>
<div class="summary col two">
<p><a href="{{ url_for(post) }}">{{ post.title }}</a></p>
<p><em>{{ post.date|relative }}</em></p>
/**
* Calculates if the given textColor is readable when laid ontop of the given backgroundColor.
*
* http://www.seas.upenn.edu/~cse400/CSE400_2012_2013/reports/01_report.pdf
*/
public static boolean isTextReadable(int backgroundColor, int textColor) {
double brightnessBackground = (299*Color.red(backgroundColor) + 587*Color.green(backgroundColor) + 114*Color.blue(backgroundColor)) / 1000.0;
double brightnessText = (299*Color.red(textColor) + 587*Color.green(textColor) + 114*Color.blue(textColor)) / 1000.0;
double brightnessDelta = Math.abs(brightnessBackground - brightnessText);
@jc4p
jc4p / MainActivity.java
Created February 5, 2015 20:56
Double DrawerLayout bug
package com.kasra.androidsandbox;
import android.os.Bundle;
import android.support.v4.view.GravityCompat;
import android.support.v4.widget.DrawerLayout;
import android.support.v7.app.ActionBarActivity;
import android.support.v7.app.ActionBarDrawerToggle;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.support.v7.widget.Toolbar;