Windows-GPU-UNLOCK
Windows GPU UNLOCK: RTX3090 UEFI port, Korean no-reset Windows boot guide, verified source and benchmark evidence
Translation pending
Filter every Muslim in the US by what you're looking for and watch the circle shrink. Muslim marriage odds, just for fun.
OtherTypeScript · HTMLGitHub @aabdelw1OnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Loading the full README. The saved excerpt is shown below.
A just-for-fun calculator, inspired by the "Female Delusion Calculator": start with every Muslim in the United States, apply filters, and watch the circle of people shrink.
Each icon stands for a number of people (10,000, 1,000, 100, …). As filters narrow the pool, the circle shrinks and the unit steps down.
The numbers are estimates, some researched and some approximated.Read the full README ↗A just-for-fun calculator, inspired by the "Female Delusion Calculator": start with every Muslim in the United States, apply filters, and watch the circle of people shrink.
Each icon stands for a number of people (10,000, 1,000, 100, …). As filters narrow the pool, the circle shrinks and the unit steps down.
npm install
npm run dev
The numbers are estimates, some researched and some approximated.
How the numbers combine. src/lib/model.ts builds a synthetic population of US Muslims out of ~37,000 cells, one per combination of age band, sex, ethnicity, generation, education, marital status and sect. Each cell also carries its odds of praying all five, going to mosque weekly, wearing hijab and being a convert, plus an earnings curve. The cell sizes and odds are then calibrated ("raked") until the whole population reproduces every published figure below at once. The filters add up the matching cells, so traits that go together in real life go together in the app. For example, $250k+ earners are mostly degree holders, immigrants are more often married, and converts are mostly US-born.
Researched:
Total: ~4.5M Muslims of all ages, per the US Religion Census 2020. This is consistent with Pew's 2023–24 finding that about 1% of US adults are Muslim. The age mix follows Pew 2017.
Adult sex ratio: ISPU American Muslim Poll, 2025: 56% of adults are men.
Ethnicity: Arab 23%, Black 23%, Desi 25%, White (non-Arab: Persian, Turkish, Afghan, Balkan, converts) 17%, Other 12%. No single survey measures Arab Muslims well, so this blends three estimates:
Height: US-born Muslims use CDC NHANES 2015–2018 averages for their race, since children of immigrants grow taller than their parents. Immigrants use home-country averages.
Education gaps between groups: ISPU 2025 found 35% of Black, 14% of White and 10% of Asian Muslims have a high school diploma or less.
Religion and background: Pew 2017 full report:
Earnings:
Approximated:
HIJAB_TILTS): more likely with prayer and mosque attendance, among immigrants, among Sunni women, with age, and among converts. The tilts decide who covers; the published rates still decide how many. The generation fade applies to women born into Islam, so the overall third-generation rate is higher rather than lower, since most third-generation Muslim women are Black American converts and their daughters.Height depends on sex, ethnicity and birthplace. Improve these before quoting any result.
The Conservative / Realistic / Generous switch under the count sets how hopeful the count is. It moves the biggest uncertainties within plausible ranges:
| Conservative | Realistic (default) | Generous | |
|---|---|---|---|
| US Muslims | 3.45M (Pew 2017) | 4.5M (US Religion Census 2020) | 5.5M (a 2026 estimate) |
| Bay Area Muslims | 139k (US Religion Census 2020, nine counties) | 195k (in between) | 250k (Bay Area Muslim Study, 2013) |
| Prayer and mosque rates | ~6 points lower | as reported | ~6 points higher |
| Earnings | 10% lower | as reported | 10% higher |
The model is calibrated and tested at Realistic.
The Bay Area option is hidden in the app for now (SHOW_REGION_FILTER in FilterPanel.tsx). The model and tests still cover it.
Choosing Bay Area switches to a second set of population cells. They are re-weighted to The Bay Area Muslim Study (ISPU / One Nation Bay Area, 2013, 1,100+ respondents), keeping the national age and sex mix:
How many Bay Area Muslims there are is uncertain. US Religion Census 2020 county counts add up to about 139k (Alameda 57k, Santa Clara 41k, San Mateo 11k, Contra Costa 11k, San Francisco 9k, Marin 7k, others 2k), while the Bay Area Muslim Study estimated 250k. The estimate switch covers that range.
The Bay Area is not modeled separately for heights, prayer or conversion; those follow the national cells. White Muslims there are mostly Afghan, so they earn less than White (mostly Iranian) Muslims nationally.
Filters, in three tabs. Chip groups start on Any; tapping chips narrows to just those, and removing them all goes back to Any.
npm test
invariants.test.ts checks the basic rules:
It covers every pair of filter values and 300 random combinations of all filters.
calibration.test.ts checks that the model reproduces each published figure it is built from.
plausibility.test.ts checks relationships that must hold for combinations to make sense. For example, each step up in education raises every income tier, and immigrants are more often married at every age.
npm run report
Prints cross-tabs (earnings by degree, marriage by age and birthplace, converts by ethnicity and generation, and more) and shows how much linked traits differ from simply multiplying their shares.
npx vite-node scripts/funnel.ts
Breaks one search down step by step. For each filter it shows the share of people it keeps and what the final count would be without it, at every estimate level. Edit the steps at the top of the script to try your own search.
When running locally, or on the deployed site with ?debug in the URL, the footer shows a Copy debug info button. It copies the current search as JSON (and logs it to the console):
Spreading changed over DEFAULT_FILTERS reproduces the count.
index.html has the title, meta description, canonical URL, Open Graph and Twitter preview tags, a web app manifest, and JSON-LD structured data (WebApplication and FAQPage).src/test/seo.test.ts keeps the FAQ structured data in sync with it.public/robots.txt and public/sitemap.xml point them at https://naseebodds.com/.?sex=female&age=23-28&prays=1), and the gold Share my odds button (also in the phone count bar) sends that link, so every share opens the same search. The address is rewritten only once the search has been still for URL_UPDATE_DELAY_MS: Safari refuses more than about 100 history writes in 30 seconds, and a dragged slider changes the search on every frame.public/ that answer the questions people actually search for, each with its own title, description, canonical, FAQ structured data and links back to the calculator: /muslims-in-america/, /single-muslims/ and /divorce-and-remarriage/. They are served as-is by GitHub Pages, share public/article.css, and are checked by src/test/articles.test.ts. Add a page by dropping a folder in public/ and listing it in public/sitemap.xml; the test fails until both are done.worker/README.md.index.html, where crawlers read it without running the app, and turns it into a second view at with a back button. It is only hidden once the app has started, so with no JavaScript the text still renders under the calculator.To get indexed:
https://naseebodds.com/sitemap.xml.Anonymous usage stats go to Umami Cloud (cookie-free, so no consent banner). The script in index.html only counts naseebodds.com, so local development isn't tracked, and it leaves the search out of page-view URLs.
src/lib/analytics.ts):| Event | Data | When |
|---|---|---|
filter | setting, value (as in the link, or default) | A filter or the estimate changes; sliders report once they settle |
search | result (size range, e.g. 100–999), filters (how many are on) | Two seconds after the search stops changing |
tab | tab | A filter tab is opened |
reset | none | Reset filters is clicked |
share | method (share sheet or copied link), placement (results or count bar) | A search is shared |
shared-link-open | settings (how many are in the link) | Someone opens a shared search link |
When running locally, events are logged to the console instead.
The site deploys to GitHub Pages at https://naseebodds.com via .github/workflows/deploy.yml. Every push to main:
vite.config.ts sets no base path)distOne-time setup:
naseebodds.com. A custom Actions workflow doesn't need a CNAME file.| Type | Name | Data |
|---|---|---|
| A | @ | 185.199.108.153 |
| A | @ | 185.199.109.153 |
| A | @ | 185.199.110.153 |
| A | @ | 185.199.111.153 |
| AAAA | @ | 2606:50c0:8000::153 |
| AAAA | @ | 2606:50c0:8001::153 |
| AAAA | @ | 2606:50c0:8002::153 |
| AAAA | @ | 2606:50c0:8003::153 |
| CNAME | www | aabdelw1.github.io |
The social preview tags in index.html use absolute https://naseebodds.com/ URLs; update them if the domain changes.
React 18 + TypeScript + Vite.
#aboutswift scripts/generate-icons.swift public, then node scripts/make-favicon-ico.mjs public/favicon-48.png public/favicon.ico for the .ico. Google Search only shows a favicon that is square and a multiple of 48px, and also looks for /favicon.ico, so both ship.