Skip to content

Instantly share code, notes, and snippets.

View denniskeefe's full-sized avatar

Dennis Keefe denniskeefe

View GitHub Profile
You are an automated job search agent for Dennis Keefe. Your goal is to find NEW OSINT/Intelligence Analyst job openings in the USA **and Canada** paying $55,000/year (USD) or CAD equivalent or more. Remote roles are the priority, but hybrid and on-site roles are included for visibility. Deduplicate against previously seen listings, log new ones to a Notion database, commit new listings to the Vercel dashboard's data file, and send a push notification digest. This entire routine runs unattended — no step should require Dennis to click, review, or send anything.
---
## KEY CONSTANTS (referenced throughout — do not restate different numbers elsewhere)
- **SALARY_FLOOR = $55,000 USD/year.** Listings paying below this are excluded (but still logged as seen).
- **HIGH_INTEREST_BAR = $75,000 USD/year.** Used only for the ⭐ flag, never for exclusion.
- **Hourly rates:** annualize at 2,080 hours/year (e.g. $27/hr ≈ $56,160 — passes the floor).
@denniskeefe
denniskeefe / osint-lens-privacy-policy.md
Created July 18, 2026 17:18
OSINT Lens — Privacy Policy

Privacy Policy — OSINT Lens

Last updated: 18 July 2026

OSINT Lens is a browser extension that performs open-source intelligence (OSINT) lookups on an identifier you select (a name, username, email address, or phone number). This policy explains what the extension does and does not do with data.

Contact: denniskeefe@pm.me

@denniskeefe
denniskeefe / gist:bb46a05488a7667c4d55cedc48b4e138
Last active April 28, 2026 02:53
Claude scheduled agent: automated remote job search with deduplication, Notion tracking, and Gmail digest
---
name: remote-job-search-agent
description: Daily search for remote jobs with salary filter, deduplication, Notion tracking, and Gmail digest — powered by a Claude scheduled agent
---
# Remote Job Search Agent (Claude Scheduled Task)
A fully automated Claude scheduled agent that searches 10+ job boards daily,
deduplicates results, filters by minimum salary, logs new listings to a Notion
database, and emails you a digest.
### Keybase proof
I hereby claim:
* I am denniskeefe on github.
* I am thecommongeek (https://keybase.io/thecommongeek) on keybase.
* I have a public key ASBmy8awe2VjY-GVc3uJsySWOwoRpBgjSyGIfPyyycUCuQo
To claim this, I am signing this object:
public static function lower_links(){
$options = get_option( 'purecharity_sponsorships_settings' );
$go_back = htmlspecialchars($_SERVER['HTTP_REFERER']);
$html = '';
if(isset($options['show_back_link'])){
$html .= '<a href="'. $go_back .'" class="back"><span> < </span>Back to all kids</a>';
}
rsync -av --delete -e "ssh -p 22"
root@serverto.back.up:/backups/full-system-backup.tar /backups/ > backup.log
@denniskeefe
denniskeefe / keybase.md
Last active June 6, 2018 03:10
keybase.md

Keybase proof

I hereby claim:

  • I am denniskeefe on github.
  • I am thecommongeek (https://keybase.io/thecommongeek) on keybase.
  • I have a public key whose fingerprint is 4D6D 4061 9309 5C23 CFE0 F76F 9AF4 BB9F C6F7 714A

To claim this, I am signing this object:

avg_fuel_economy = 22
avg_fuel_price = 3.60
avg_fuel_price.to_f
#make sure we're calculating float and float in cost below
print "How many miles will you travel?"
distance = gets.chomp
puts "Distance as input: #{distance}"
class DeviseCreateViews < ActiveRecord::Migration
def change
create_table(:views) do |t|
## Database authenticatable
t.string :email, :null => false, :default => ""
t.string :encrypted_password, :null => false, :default => ""
## Recoverable
t.string :reset_password_token
t.datetime :reset_password_sent_at
@denniskeefe
denniskeefe / gist:5428553
Created April 21, 2013 05:06
index.html.haml
<h1>Welcome aspiring rubyists!</h1>
<p>I created this site as a resource for those who want to give ruby/rails a try and just don't really know where to start. There are so many resources out there, it can be a bit overwhelming. I decided to put together a site with some of the most popular resources in hopes of helping people get off to a great start!</p>
<p>If you are new to programming and want to see if ruby is something you might like, I recommend checking out some of the free interactive resources in the sidebar. These are great starters and will give you an general understanding of how ruby works.
</p>
<p>Once you get a feel for things and decide that you want to move forward, use one of the simple installation tools at the top of the page. Setting up ruby/rails manually can be difficult, especially on a Windows machine, these tools will get you up and running fast.
</p>