[
  {
    "id": "2026-10-26-genetic-variability-blackgram-analysis",
    "featured": false,
    "stream": "research",
    "category": "breeding",
    "tag": "Breeding",
    "series": "Blackgram improvement",
    "date": "2026-10-26",
    "minutes": 3,
    "title": "Genetic variability, path analysis and multi-trait selection in 36 blackgram genotypes",
    "summary": "Single-environment RCBD analysis of 14 traits across 36 genotypes: variance components, sequential path analysis, Ward clustering with Mahalanobis D², and MGIDI selection — independently verified in Python.",
    "cover": "assets/images/analysis/sypp-bar-chart.png",
    "location": null,
    "rating": null,
    "video": null,
    "gallery": null,
    "relatedPubs": null,
    "body": "<p>A complete quantitative-genetics pipeline on one season of blackgram data: 36 genotypes (34 local collections + BARI Mash 1 and BARI Mash 4) × 3 replications in RCBD, 14 traits recorded on a plot basis.</p>\n<h2>Design and traits</h2>\n<p>Traits covered phenology (days to first flowering, 50 % flowering, physiological maturity), plant architecture (height, branches, leaf greenness), yield components (clusters per plant, pods per cluster, pod length, seeds per pod, single-pod weight, thousand-seed weight), first-harvest percentage, and seed yield per plant.</p>\n<p>All analyses used the plot-level model<br><code>y = μ + replication + genotype + error</code><br>(error df = 70). Variance components, heritability and genetic advance were calculated on a single-plot basis so that the results stay transparent and reproducible.</p>\n<h2>What the numbers showed</h2>\n<p>Genotypes differed significantly for every trait (P &lt; 0.01 for 13 traits; P &lt; 0.05 for seeds per pod). The same held when the two released checks were removed and only the 34 local collections were tested.</p>\n<p><strong>Variability and heritability</strong><br>Only seed yield per plant showed high GCV (27 %). High broad-sense heritability combined with high genetic advance as percent of mean appeared for just two traits: seed yield (h² ≈ 73 %, GAM ≈ 48 %) and single-pod weight (h² ≈ 64 %, GAM ≈ 23 %). For seven traits the plot error variance was equal to or larger than the genotypic variance, so selection on those traits needs replicated means rather than single-plant scores.</p>\n<p><strong>Character association</strong><br>Yield was positively associated with all pod and seed traits and negatively with days to flowering and maturity. Sequential path analysis (yield as the product of its components) identified the largest genotypic direct effects from pods per cluster, clusters per plant and seeds per pod. A conventional single-stage path ranked single-pod weight and pods per cluster highest.</p>\n<p><strong>Genetic diversity</strong><br>Ward clustering on standardised means produced five clusters. Both checks fell in the largest, earliest and highest-yielding group. One extremely poor-podding genotype formed a singleton cluster. Leaf greenness, days to maturity and seed weight contributed most to Mahalanobis D² divergence.</p>\n<p><strong>Multi-trait selection (MGIDI)</strong><br>At 15 % intensity the index selected G9, BARI Mash 1, G28, BARI Mash 4 and G4. When the checks were excluded, the same three collections plus G10 and G6 were chosen. The selected collections are balanced across trait groups and early, yet each still yields 14–27 % less than the best check in this environment.</p>\n<h2>Independent verification</h2>\n<p>Every major result (ANOVA mean squares, heritability parameters, correlations, path coefficients, cluster membership, Mahalanobis distances, MGIDI ranks and Duncan groupings for yield) was recomputed from first principles in Python (NumPy / SciPy). All 802 numeric checks agreed within rounding error. That cross-language verification is part of the delivered analysis.</p>\n<h2>Practical take-aways for breeding</h2>\n<ul>\n<li>Seed yield and single-pod weight are the most promising targets for direct selection under the conditions of this trial.</li>\n<li>Early genotypes that also produce many pods per cluster and reasonably heavy pods are the most consistent yielders.</li>\n<li>The local collections supply useful variation for earliness, cluster number and pod weight, but the released varieties remain the yield standard in this data set.</li>\n<li>All genetic-parameter estimates come from a single location and season; they should be treated as upper limits until confirmed in multi-environment trials.</li>\n</ul>\n<p>Related reading on this site: the earlier note on <a href=\"#post=2025-05-02-trait-associations-blackgram\">trait associations</a> and the field-scoring notes from the same trial series. A multi-environment extension of the work is available as a preprint.</p>\n"
  },
  {
    "id": "2026-10-18-miniket-rice-not-a-variety",
    "featured": true,
    "stream": "advice",
    "category": "food",
    "tag": "Food",
    "series": null,
    "date": "2026-10-18",
    "minutes": 2,
    "title": "Miniket is not a rice variety — it is polished grain",
    "summary": "What shops call ‘Miniket’ is usually a milling and polishing style, not a registered variety. Heavy polishing removes bran and germ — and with them much of the fibre, oil, and micronutrients.",
    "cover": "assets/images/rice-grains.jpg",
    "location": null,
    "rating": null,
    "video": null,
    "gallery": null,
    "relatedPubs": null,
    "body": "<p>In many markets in Bangladesh and neighbouring countries, <strong>Miniket</strong> is sold as if it were a named rice variety. It is not. “Miniket” usually describes <strong>how the grain was milled and polished</strong> — long, slender, highly polished white rice — not a single cultivar from a breeding programme.</p>\n<h2>What polishing removes</h2>\n<p>Whole grain (brown) rice keeps the bran and germ. Polishing strips those layers to make the grain look bright and cook soft. With them go:</p>\n<ul>\n<li>Dietary fibre</li>\n<li>Oils and some fat-soluble compounds</li>\n<li>B-vitamins and minerals concentrated in the outer layers</li>\n</ul>\n<p>What remains is mostly starch. That is why highly polished white rice is easy to eat and store, but <strong>less nutrient-dense</strong> than brown or lightly milled rice of the same original grain.</p>\n<h2>Why the name stuck</h2>\n<p>Traders use “Miniket” as a <strong>market grade</strong>: appearance, length, and polish level that buyers recognise. Different lots may come from different varieties or mixtures. So comparing “Miniket” to “BRRI dhan49” or another released variety is mixing a <strong>product style</strong> with a <strong>genetic identity</strong>.</p>\n<h2>What is better to eat day to day</h2>\n<ul>\n<li>Prefer <strong>brown rice</strong>, <strong>red rice</strong>, or <strong>lightly polished</strong> rice when you can — more fibre and micronutrients.</li>\n<li>If you prefer white rice for taste or digestion, balance the plate with <strong>dal, vegetables, eggs, fish, or meat</strong>, and do not rely on rice alone for micronutrients.</li>\n<li>For children and people with higher nutrient needs, mixed meals matter more than chasing one “premium” white grade.</li>\n</ul>\n<h2>Practical takeaway</h2>\n<p>Buy rice for <strong>what it is</strong> (variety or landrace when labelled, milling level, freshness), not for a marketing name. <strong>Miniket-style polish is a process, not a variety</strong> — and heavy polish trades nutrition for appearance and soft texture.</p>\n<p><em>Educational note only — local labels and public nutrition guidance still apply.</em></p>\n"
  },
  {
    "id": "2026-10-18-rooftop-gardening-basics",
    "featured": false,
    "stream": "advice",
    "category": "gardening",
    "tag": "Gardening",
    "series": null,
    "date": "2026-10-18",
    "minutes": 2,
    "title": "Rooftop gardening: a practical start for small spaces",
    "summary": "Load, waterproofing, containers, soil mix, water, and which crops suit a Dhaka-style roof — a compact checklist before you carry the first bag of soil upstairs.",
    "cover": "assets/images/nursery-pots.jpg",
    "location": null,
    "rating": null,
    "video": null,
    "gallery": null,
    "relatedPubs": null,
    "body": "<p>Rooftop gardens can supply herbs, greens, and a little fruit — and they cool the slab slightly — but only if the <strong>structure, waterproofing, and water</strong> are handled first. This note is a starter checklist, not a full structural design.</p>\n<h2>1. Safety before soil</h2>\n<ul>\n<li>Confirm <strong>load capacity</strong> with someone who knows the building (engineer or experienced builder). Wet soil is heavy.</li>\n<li>Protect the roof membrane: use <strong>raised beds or pots on stands</strong>, not soil piled directly on the waterproof layer.</li>\n<li>Plan <strong>drainage</strong> so water does not pond against walls or the parapet.</li>\n</ul>\n<h2>2. Containers and mix</h2>\n<ul>\n<li>Prefer pots with <strong>drainage holes</strong> and a tray or channel that leads water away safely.</li>\n<li>Use a <strong>light mix</strong>: garden soil + compost + cocopeat or similar, not pure clay from the yard.</li>\n<li>Start small — a few herbs and leafy greens — before large fruit trees in tubs.</li>\n</ul>\n<h2>3. What grows well in pots</h2>\n<p>Good first crops in heat and monsoon climates:</p>\n<ul>\n<li><strong>Leafy greens</strong> — red amaranth, spinach-type greens, lettuce in cooler months  </li>\n<li><strong>Herbs</strong> — mint, basil, coriander (short cycles)  </li>\n<li><strong>Chilli, tomato, brinjal</strong> — in larger pots with support  </li>\n<li><strong>Climbing beans</strong> — if you have a rail or trellis</li>\n</ul>\n<p>Avoid very deep-rooted trees unless the container and load are designed for them.</p>\n<h2>4. Water and monsoon</h2>\n<ul>\n<li>Water in the <strong>cool part of the day</strong>; pots dry faster than ground beds.</li>\n<li>In heavy rain, ensure overflow paths; empty saucers so roots do not sit in stagnant water.</li>\n<li>Mulch the surface to cut evaporation and heat stress.</li>\n</ul>\n<h2>5. Sun, wind, and neighbours</h2>\n<ul>\n<li>Most food crops want <strong>4–6 hours</strong> of direct sun; map shade from water tanks and next-door walls.</li>\n<li>Wind on roofs is stronger — stake tall plants and use heavier pots for top-heavy crops.</li>\n<li>Keep sprays minimal; anything you apply can drift to drying clothes or other roofs.</li>\n</ul>\n<h2>Quick start sequence</h2>\n<ol>\n<li>Check load and waterproofing.  </li>\n<li>Place a few drained pots on stands.  </li>\n<li>Fill with light mix + compost.  </li>\n<li>Plant one herb and one leafy green.  </li>\n<li>Water, observe for a week, then expand.</li>\n</ol>\n<p>Rooftop growing works best as a <strong>steady habit</strong>, not a one-weekend project. Start light, protect the building, and let success with simple crops justify the next bag of soil.</p>\n<p><em>Educational note — building rules and structural limits for your roof always come first.</em></p>\n"
  },
  {
    "id": "2026-10-18-why-fewer-fireflies-and-stars",
    "featured": false,
    "stream": "advice",
    "category": "environment",
    "tag": "Environment",
    "series": null,
    "date": "2026-10-18",
    "minutes": 2,
    "title": "Why we see fewer fireflies — and why the stars look dimmer",
    "summary": "Fireflies need dark nights, clean water, and living edges. City lights and habitat loss hide both the insects and the stars. Small changes at home still help.",
    "cover": "assets/images/fireflies-night.jpg",
    "location": null,
    "rating": null,
    "video": null,
    "gallery": null,
    "relatedPubs": null,
    "body": "<p>Two common questions belong together: <strong>Why don’t we see fireflies near the house anymore?</strong> and <strong>Why can’t we see many stars from the roof?</strong> Both point to how night has changed around us.</p>\n<h2>Fireflies need darkness and habitat</h2>\n<p>Fireflies (lightning bugs) signal with light to find mates. Bright outdoor lamps, shop signs, and sky-glow make those signals harder to see. Many species also need:</p>\n<ul>\n<li><strong>Moist ground or edges</strong> — damp soil, leaf litter, pond margins</li>\n<li><strong>Less pesticide</strong> on lawns and drains</li>\n<li><strong>Some wild or semi-wild cover</strong> instead of bare concrete everywhere</li>\n</ul>\n<p>When villages and cities replace ditches, weeds, and trees with hard surfaces and constant light, firefly numbers fall. It is not only “nostalgia” — it is ecology.</p>\n<h2>Stars disappear under light pollution</h2>\n<p>You cannot see the Milky Way from a brightly lit street for the same reason a phone screen looks washed out in sunlight: <strong>stray light scatters in the air</strong> and raises the brightness of the night sky. The stars are still there; the contrast is gone.</p>\n<p>Main drivers:</p>\n<ul>\n<li>Unshielded street and compound lights pointing upward or sideways</li>\n<li>All-night lighting where a motion sensor or curfew would do</li>\n<li>Haze and dust that make scatter worse</li>\n</ul>\n<h2>What you can do at home or on a roof</h2>\n<ul>\n<li>Use <strong>warm, downward, shielded</strong> lights; avoid blue-white floods on all night.</li>\n<li>Turn off decorative lights after a set hour.</li>\n<li>Keep a <strong>dark corner</strong> of the garden or pot area — mulch, a small water tray, less spray.</li>\n<li>Talk with neighbours about shared lighting so one bright wall does not light the whole block.</li>\n</ul>\n<h2>The link</h2>\n<p>Fewer fireflies and a blank sky are both signs that <strong>night is no longer dark enough</strong> for natural behaviour and for human eyes to see faint light. Restoring a little darkness is one of the cheapest environmental steps a household can take.</p>\n<p><em>Educational note — local rules on lighting and pesticide use still apply.</em></p>\n"
  },
  {
    "id": "2026-10-08-git-push-rejected-fetch-first",
    "featured": false,
    "stream": "tech",
    "category": "tools",
    "tag": "Git",
    "series": "Workflow fixes",
    "date": "2026-10-08",
    "minutes": 2,
    "title": "Git push rejected (fetch first): integrating remote commits safely",
    "summary": "When git push fails with main → main (fetch first) because the remote has commits you do not have locally, pull (or rebase) first, then push — without force-pushing shared history.",
    "cover": "",
    "location": null,
    "rating": null,
    "video": null,
    "gallery": null,
    "relatedPubs": null,
    "body": "<h2>Problem</h2>\n<p><code>git push origin main</code> fails with:</p>\n<pre><code class=\"language-text\">! [rejected]        main -&gt; main (fetch first)\nerror: failed to push some refs to &#39;https://github.com/…/….git&#39;\nhint: Updates were rejected because the remote contains work that you do\nhint: not have locally. This is usually caused by another repository pushing\nhint: to the same ref. If you want to integrate the remote changes, use\nhint: &#39;git pull&#39; before pushing again.\n</code></pre>\n<p>Your laptop has new commits. GitHub (or another machine) also has commits on <code>main</code> that are not in your local history. A plain push would overwrite that remote work, so Git refuses.</p>\n<h2>Cause</h2>\n<p><code>main</code> has <strong>diverged</strong>:</p>\n<ul>\n<li><strong>Remote</strong> advanced (Pages deploy, edit on github.com, push from another clone, or a colleague).</li>\n<li><strong>Local</strong> advanced with your own commits.</li>\n</ul>\n<p>Git only allows a push when your branch is a fast-forward of the remote tip. Here it is not.</p>\n<h2>Fix (safe — preferred)</h2>\n<p>Integrate remote work, then push. Prefer <strong>rebase</strong> if your local commits are only on this machine and you want a linear history:</p>\n<pre><code class=\"language-bash\">git fetch origin\ngit rebase origin/main\n# resolve any conflicts, then:\ngit add .\ngit rebase --continue\ngit push origin main\n</code></pre>\n<p>Or a <strong>merge</strong> pull (creates a merge commit):</p>\n<pre><code class=\"language-bash\">git pull origin main\ngit push origin main\n</code></pre>\n<p>If <code>git pull</code> opens an editor for a merge message, save and close to finish.</p>\n<h3>If rebase reports conflicts</h3>\n<ol>\n<li>Open the listed files and fix the conflict markers.</li>\n<li><code>git add &lt;fixed-files&gt;</code></li>\n<li><code>git rebase --continue</code></li>\n<li>When the rebase finishes: <code>git push origin main</code></li>\n</ol>\n<p>To abort a messy rebase and return to the pre-rebase state:</p>\n<pre><code class=\"language-bash\">git rebase --abort\n</code></pre>\n<h2>What not to do on a shared <code>main</code></h2>\n<pre><code class=\"language-bash\"># Avoid on main if others use this repo:\ngit push --force origin main\n</code></pre>\n<p>Force-push rewrites remote history and can delete someone else’s commits. Use it only on a private branch you alone use, or after the team agrees.</p>\n<h2>Check before you push next time</h2>\n<pre><code class=\"language-bash\">git fetch origin\ngit status\ngit log --oneline --left-right HEAD...origin/main\n</code></pre>\n<ul>\n<li>Commits only on the left (<code>&lt;</code>) are yours not yet on the remote.</li>\n<li>Commits only on the right (<code>&gt;</code>) are on the remote and not in your HEAD — pull/rebase first.</li>\n</ul>\n<h2>What I would do differently</h2>\n<ul>\n<li>Always <code>git pull --rebase origin main</code> (or fetch + rebase) before starting a new local commit batch when the same repo is updated from GitHub Actions, another PC, or the web editor.</li>\n<li>Keep one primary machine for <code>main</code>, or use feature branches and open a PR so direct races on <code>main</code> are rarer.</li>\n</ul>\n<hr>\n<p><em>Tech note for the portfolio Notes → Tech stream. Based on a real <code>hhhimel.github.io</code> push rejection.</em></p>\n"
  },
  {
    "id": "2026-10-07-git-large-file-push-fix",
    "featured": false,
    "stream": "tech",
    "category": "tools",
    "tag": "Git",
    "series": "Workflow fixes",
    "date": "2026-10-07",
    "minutes": 2,
    "title": "Git push rejected: fixing large files without rewriting the whole history",
    "summary": "When GitHub rejects a push because a file is over 100 MB, here is a safe sequence: find the offender, remove it from the commit, and push again — without force-pushing shared history.",
    "cover": "",
    "location": null,
    "rating": null,
    "video": null,
    "gallery": null,
    "relatedPubs": null,
    "body": "<h2>Problem</h2>\n<p><code>git push</code> fails with a message like:</p>\n<pre><code class=\"language-text\">remote: error: File data/big-archive.zip is 142.00 MB; this exceeds GitHub&#39;s file size limit of 100.00 MB\nremote: error: GH001: Large files detected.\n</code></pre>\n<p>The large file is already in a local commit that has not been pushed (or only exists on your machine).</p>\n<h2>Cause</h2>\n<p>Git stores full file blobs in history. GitHub rejects any blob over 100 MB. Even if you delete the file in a later commit, the earlier blob still blocks the push until it is removed from the commits you are sending.</p>\n<h2>Fix</h2>\n<p>Work only on commits that have <strong>not</strong> been pushed to a shared remote. If the bad commit is already on <code>main</code> and others use it, stop and use a branch + PR instead of rewriting shared history.</p>\n<h3>1. Confirm what is oversized</h3>\n<pre><code class=\"language-bash\">git rev-list --objects --all \\\n  | git cat-file --batch-check=&#39;%(objecttype) %(objectname) %(objectsize) %(rest)&#39; \\\n  | awk &#39;/^blob/ { print $3, $4 }&#39; \\\n  | sort -n \\\n  | tail -20\n</code></pre>\n<p>Note the path of the large file (example: <code>data/big-archive.zip</code>).</p>\n<h3>2. Remove it from the last commit (if it is still the tip)</h3>\n<p>If the large file was added in the most recent commit and that commit is only local:</p>\n<pre><code class=\"language-bash\">git rm --cached data/big-archive.zip\necho &quot;data/big-archive.zip&quot; &gt;&gt; .gitignore\ngit add .gitignore\ngit commit --amend --no-edit\n</code></pre>\n<h3>3. If the file is deeper in unpushed commits</h3>\n<p>Interactive rebase onto the last good remote commit:</p>\n<pre><code class=\"language-bash\">git fetch origin\ngit rebase -i origin/main\n</code></pre>\n<p>Mark the offending commit as <code>edit</code>, then:</p>\n<pre><code class=\"language-bash\">git rm --cached data/big-archive.zip\necho &quot;data/big-archive.zip&quot; &gt;&gt; .gitignore\ngit add .gitignore\ngit commit --amend --no-edit\ngit rebase --continue\n</code></pre>\n<h3>4. Push</h3>\n<pre><code class=\"language-bash\">git push origin HEAD\n</code></pre>\n<h2>Optional: keep large binaries with Git LFS</h2>\n<p>Only if the team already uses LFS and the file must live in the repo:</p>\n<pre><code class=\"language-bash\">git lfs install\ngit lfs track &quot;*.zip&quot;\ngit add .gitattributes\n# re-add the file after tracking, then commit\ngit add data/big-archive.zip\ngit commit -m &quot;Store large archive with Git LFS&quot;\n</code></pre>\n<p>Prefer not putting multi‑hundred‑MB archives in Git at all — use object storage or a release asset instead.</p>\n<h2>What I would do differently</h2>\n<ul>\n<li>Add expected large paths to <code>.gitignore</code> before the first commit.</li>\n<li>Keep raw trial archives and video masters outside the repo; link them from notes if needed.</li>\n<li>Never force-push <code>main</code> on a shared branch to fix this.</li>\n</ul>\n<hr>\n<p><em>Sample tech note for the portfolio Notes → Tech stream. Replace with your real workflow write-ups when ready.</em></p>\n"
  },
  {
    "id": "2026-10-06-field-notes-2025-blackgram-trial",
    "featured": false,
    "stream": "research",
    "category": "field",
    "tag": "Fieldwork",
    "series": "Thesis trial",
    "date": "2026-10-06",
    "minutes": 1,
    "title": "Field notes from the 2025 blackgram trial: scoring leaves, flowers and pods",
    "summary": "How a blackgram field trial was scored: samples laid on a white sheet with a ruler so every plant is compared the same way, plus what showed up in the plots.",
    "cover": "assets/images/field-leaf-pair.jpg",
    "location": null,
    "rating": null,
    "video": null,
    "gallery": [
      {
        "src": "assets/images/field-scoring.jpg",
        "caption": "Jun 2025 — scoring in the plots, notebook in hand"
      },
      {
        "src": "assets/images/field-leaves-row.jpg",
        "caption": "May 2025 — leaves laid in a row on a white sheet, ruler alongside"
      },
      {
        "src": "assets/images/field-flowers-row.jpg",
        "caption": "May 2025 — flowers laid out the same way to compare colour and size"
      },
      {
        "src": "assets/images/field-ymv.jpg",
        "caption": "May 2025 — yellow mosaic virus symptoms on blackgram leaves"
      },
      {
        "src": "assets/images/field-pods.jpg",
        "caption": "Mature pods on the plant, covered in fine hairs"
      },
      {
        "src": "assets/images/field-pods-ruler.jpg",
        "caption": "Aug 2025 — mature pods laid beside a ruler for length"
      }
    ],
    "relatedPubs": null,
    "body": "<p>The thesis trial on genetic variability and character association in blackgram was laid out as a randomized complete block design with replications. Walking the plots with a notebook is the heart of the work, and a few habits make the scores comparable from plant to plant.</p>\n<h2>Scoring boards</h2>\n<p>Plant traits are easy to argue about and hard to compare across weeks. The fix was simple: take a leaf, a flower or a pod from each genotype, lay them in a row on a white sheet, write the genotype under each, and put a ruler in the frame. One photo then holds the whole comparison, with a scale. The photos below show leaves, flowers and pods done this way.</p>\n<h2>What shows up in the field</h2>\n<p>Some things only appear when you walk the plots. Yellow mosaic virus symptoms turned up on some leaves, and the gallery has a photo from late May. Leaf colour also varied a lot between genotypes, from dark green to yellow-green, and the scoring key has codes for it.</p>\n<h2>A scoring key for every trait</h2>\n<p>The key used for this work, with photos for each trait, is in the Guide section of the home page: growth habit, leaf, flower and pod traits, and the pests and diseases to note.</p>\n"
  },
  {
    "id": "2026-10-06-soil-moisture-pot-trials",
    "featured": false,
    "stream": "research",
    "category": "methods",
    "tag": "Methods",
    "series": "Pot trials",
    "date": "2026-10-06",
    "minutes": 1,
    "title": "Reading soil moisture in pot trials: from seedling to a pot-by-pot check",
    "summary": "Photos from the pot work: staked seedlings, a midday round of probe readings across pots, and a side-by-side comparison of plant condition.",
    "cover": "assets/images/pot-comparison.jpg",
    "location": null,
    "rating": null,
    "video": null,
    "gallery": [
      {
        "src": "assets/images/seedling-pot.jpg",
        "caption": "Nov 2024 — a young blackgram seedling in its pot, staked and labelled"
      },
      {
        "src": "assets/images/screenhouse-pots.jpg",
        "caption": "Nov 2024 — rows of potted seedlings under cover, each with its own stake"
      },
      {
        "src": "assets/images/moisture-probe-1.jpg",
        "caption": "Dec 2024, midday — probe in the soil, meter reads 32%"
      },
      {
        "src": "assets/images/moisture-probe-2.jpg",
        "caption": "Dec 2024, midday — a second pot, meter reads 29%"
      },
      {
        "src": "assets/images/moisture-probe-3.jpg",
        "caption": "Dec 2024, midday — a drier pot, meter reads 15%"
      },
      {
        "src": "assets/images/moisture-probe-4.jpg",
        "caption": "Dec 2024, midday — the meter shows its wet-soil icon"
      }
    ],
    "relatedPubs": null,
    "body": "<p>Pots make it easy to control water, but only if you measure it. These photos follow blackgram pots from young seedlings to a side-by-side comparison of plant condition.</p>\n<h2>From seedling to pot</h2>\n<p>In November 2024 the seedlings were moved into individual pots, each with a stake and a label, and kept in rows under cover so every pot could be tied back to the field book.</p>\n<h2>One round of readings</h2>\n<p>On a single midday round in December 2024, a soil moisture probe went into four pots within about eight minutes. The readings spread from a dry 15% up to a wet-soil reading on the meter. Pots that look the same on the surface can sit far apart in moisture, so the number on the meter is worth more than judging by eye.</p>\n<h2>What the comparison shows</h2>\n<p>The cover photo (February 2025) puts three pots next to each other. The plant on the left is full and green, the middle one is thin and sparse, and the one on the right has dried leaves. Keeping a probe reading with each photo makes a comparison like this much easier to interpret later.</p>\n<h2>Habits worth keeping</h2>\n<ul>\n<li>Read the probe at the same time of day, so readings can be compared.</li>\n<li>Photograph the meter display together with the pot and its label.</li>\n<li>Record the reading in the field book straight away.</li>\n</ul>\n"
  },
  {
    "id": "2026-09-26-lab-to-field-demo",
    "featured": false,
    "stream": "research",
    "category": "field",
    "tag": "Fieldwork",
    "series": "Field methods",
    "date": "2026-09-26",
    "minutes": 1,
    "title": "From lab to field: a video walkthrough",
    "summary": "A short video tour of a day's work, from the greenhouse nursery to the trial plots, with extra photos below.",
    "cover": "assets/images/trial-rows.jpg",
    "location": "SAU Experimental Farm, Dhaka",
    "rating": null,
    "video": "assets/videos/intro.mp4",
    "gallery": [
      {
        "src": "assets/images/nursery-pots.jpg",
        "caption": "Nursery pots — seedling stage before transplant or direct sowing checks"
      },
      {
        "src": "assets/images/leaf-closeup.jpg",
        "caption": "Leaf close-up used for symptom reference in the field book"
      },
      {
        "src": "assets/images/field-evening.jpg",
        "caption": "Evening light across trial rows after scoring"
      }
    ],
    "relatedPubs": null,
    "body": "<p>This note walks through a typical day linking greenhouse or nursery work to plot-level observation. The video sits under the cover image; the gallery below adds still frames for reference.</p>\n<h2>What to capture</h2>\n<ul>\n<li>Nursery condition and labels that match the field book</li>\n<li>Plot layout and any missing stands</li>\n<li>Leaf or pod symptoms with the same scale used by the team</li>\n</ul>\n<p>Use this post as a template — copy the file, rename it, swap frontmatter and text, and drop optional fields (<code>video</code>, <code>gallery</code>, <code>location</code>) when you do not need them.</p>\n"
  },
  {
    "id": "2025-08-12-multi-environment-trials",
    "featured": true,
    "stream": "research",
    "category": "breeding",
    "tag": "Breeding",
    "series": "Blackgram improvement",
    "date": "2025-08-12",
    "minutes": 2,
    "title": "Why multi-environment trials matter for blackgram selection",
    "summary": "Genotype × environment interaction can flip rankings between seasons. Here's how we structure METs, what traits we prioritise, and how selection indices help under Bangladesh's variable climates.",
    "cover": "assets/images/trial-rows.jpg",
    "location": null,
    "rating": null,
    "video": null,
    "gallery": null,
    "relatedPubs": [
      "https://doi.org/10.21203/rs.3.rs-8141987/v1"
    ],
    "body": "<p>Blackgram performance rarely stays stable across locations and seasons. Genotype × environment interaction (G×E) can change which lines look “best,” so selecting from a single site is risky for farmers who face drought, excess rain, or late sowing.</p>\n<h2>Why one site is not enough</h2>\n<p>A line that tops the trial at a well-managed university farm may drop in rank under terminal drought or high pest pressure. Without multi-environment data, the breeding program may advance genotypes that only shine under ideal conditions — and fail on farm.</p>\n<h2>How we structure METs</h2>\n<p>We evaluate promising lines across at least two locations and two seasons when resources allow. Typical layout choices:</p>\n<ul>\n<li>Randomised complete blocks (or incomplete blocks when entries are many)</li>\n<li>Border rows to reduce edge effects</li>\n<li>Consistent sowing windows so “season” is comparable across years</li>\n</ul>\n<p>Core traits include days to flowering, plant height, pods per plant, seeds per pod, 100-seed weight, and visual scores for disease and insect damage. Yield is recorded at plot level and cleaned before any ranking.</p>\n<h2>Selection indices</h2>\n<p>Instead of ranking by yield alone, we combine yield with stability and stress tolerance. Simple weighted indices keep decisions transparent for students and collaborators. Example weights might emphasise:</p>\n<ol>\n<li>Grain yield</li>\n<li>Rank consistency across environments</li>\n<li>Acceptable flowering time for the target agroecology</li>\n<li>Disease / pest scores where on-farm risk is high</li>\n</ol>\n<p>Lines that hold rank across environments move forward for further testing or crossing.</p>\n<h2>Practical checklist</h2>\n<ul>\n<li>Agree the trait list and scales before the first scoring walk</li>\n<li>Use the same plot book IDs from field to spreadsheet</li>\n<li>Flag environments that were unusually extreme so they do not silently dominate the mean</li>\n<li>Revisit index weights when the target region or market changes</li>\n</ul>\n<h2>Takeaway</h2>\n<p>Multi-environment data costs more time in the field, but it saves years of promoting genotypes that only shine under ideal conditions. For Bangladesh’s variable climate, <strong>stability is part of the breeding target</strong> — not an optional extra after yield.</p>\n<p>Related preprint: genetic diversity and selection indices in blackgram across multi-environment trials (Research Square).</p>\n"
  },
  {
    "id": "2025-07-28-field-phenotyping-checklist",
    "featured": false,
    "stream": "research",
    "category": "field",
    "tag": "Fieldwork",
    "series": "Field methods",
    "date": "2025-07-28",
    "minutes": 1,
    "title": "Field phenotyping checklist for pulse trials",
    "summary": "A practical scoring sheet for days to flowering, pod set, pest damage, and stress symptoms — designed for small teams.",
    "cover": "assets/images/field-scoring.jpg",
    "location": null,
    "rating": null,
    "video": null,
    "gallery": null,
    "relatedPubs": null,
    "body": "<p>Consistent scoring is the backbone of useful trial data. A short, shared checklist keeps teams aligned when several people walk the same plots.</p>\n<h2>What we score</h2>\n<ul>\n<li>Days to 50% flowering and maturity</li>\n<li>Plant stand and lodging</li>\n<li>Pod set and fill under the canopy</li>\n<li>Leaf symptoms (chlorosis, spots, wilting)</li>\n<li>Insect damage on leaves, flowers, and pods</li>\n</ul>\n<h2>How we score</h2>\n<p>Use the same scale (e.g. 1–5 or 1–9) every season. Train new scorers with photo examples. Score the same time of day when possible, and note weather if it affects visibility or plant wilting.</p>\n<p>Print the sheet, or keep a simple digital form offline-ready for the field. Clean data at the plot level makes later analysis in R far smoother.</p>\n"
  },
  {
    "id": "2025-06-15-leaf-to-marker-data",
    "featured": false,
    "stream": "research",
    "category": "methods",
    "tag": "Methods",
    "series": null,
    "date": "2025-06-15",
    "minutes": 1,
    "title": "From leaf sample to marker data: a simple lab workflow",
    "summary": "DNA extraction, PCR setup, and common pitfalls when screening diversity panels with molecular markers.",
    "cover": "assets/images/lab-pipette.jpg",
    "location": null,
    "rating": null,
    "video": null,
    "gallery": null,
    "relatedPubs": null,
    "body": "<p>Molecular markers help describe diversity and support selection when field seasons are limited. A reliable routine from leaf to data reduces lost samples and ambiguous bands.</p>\n<h2>Sampling</h2>\n<p>Young, healthy leaves; unique labels that match the field book; cool storage until extraction. Avoid mixing genotypes when several people collect on the same day.</p>\n<h2>Extraction &amp; PCR</h2>\n<p>Follow a validated extraction kit or CTAB protocol suited to legumes. Quantify roughly before PCR. Always run positive and negative controls. Record gel or capillary results with the same sample IDs used in the field.</p>\n<h2>Common pitfalls</h2>\n<p>Degraded DNA, overloaded wells, and swapped labels cause most rework. A lab notebook (or shared sheet) that links tube ID → plot ID → gel lane prevents silent errors.</p>\n"
  },
  {
    "id": "2025-05-02-trait-associations-blackgram",
    "featured": false,
    "stream": "research",
    "category": "breeding",
    "tag": "Breeding",
    "series": "Blackgram improvement",
    "date": "2025-05-02",
    "minutes": 1,
    "title": "Trait associations that guide blackgram improvement",
    "summary": "Which agronomic and yield components tend to move together — and how that shapes crossing and selection decisions.",
    "cover": "assets/images/blackgram-flower.jpg",
    "location": null,
    "rating": null,
    "video": null,
    "gallery": null,
    "relatedPubs": null,
    "body": "<p>Yield is a complex outcome. Understanding which traits move together helps choose parents and decide what to measure under time pressure.</p>\n<p>In our multi-environment work, pods per plant and seed weight often contribute strongly to yield, while very late flowering can clash with terminal stress. Disease and pest scores matter for on-farm relevance even when they only weakly correlate with yield in clean plots.</p>\n<h2>Practical use</h2>\n<p>Use correlation and path-style thinking to prioritise traits in the nursery. Keep the selection index simple enough that the team can explain every weight. Revisit associations when you change locations or seasons.</p>\n"
  },
  {
    "id": "2025-04-10-scouting-pests-without-bias",
    "featured": false,
    "stream": "research",
    "category": "field",
    "tag": "Fieldwork",
    "series": "Field methods",
    "date": "2025-04-10",
    "minutes": 1,
    "title": "Scouting pests in experimental plots without bias",
    "summary": "How we sample larvae and damage scores so data stay comparable across replicates and seasons.",
    "cover": "assets/images/field-pest.jpg",
    "location": null,
    "rating": null,
    "video": null,
    "gallery": null,
    "relatedPubs": null,
    "body": "<p>Pest pressure is patchy. Walking only the worst rows inflates damage scores and confuses genotype comparisons.</p>\n<h2>Sampling approach</h2>\n<p>Define a fixed number of plants or leaves per plot, chosen in a consistent pattern (e.g. along a diagonal). Score presence/absence or severity with the same scale every visit. Note the insect stage when it matters (e.g. larva vs adult).</p>\n<p>Pair scouting with management records: irrigation, weeding, and any sprays. That context helps interpret why some replicates look different even when genotypes are the same.</p>\n"
  },
  {
    "id": "2025-03-18-small-plot-trial-design",
    "featured": false,
    "stream": "research",
    "category": "methods",
    "tag": "Methods",
    "series": "Field methods",
    "date": "2025-03-18",
    "minutes": 1,
    "title": "Designing small-plot trials that still yield clean data",
    "summary": "Randomisation, border rows, and simple R layouts for student and early-career breeding experiments.",
    "cover": "assets/images/plot-layout.jpg",
    "location": null,
    "rating": null,
    "video": null,
    "gallery": null,
    "relatedPubs": null,
    "body": "<p>Student and early-career trials rarely have dozens of replicates. Good design still separates genetic signal from field noise.</p>\n<h2>Basics that help</h2>\n<ul>\n<li>Randomise entries within blocks; avoid always putting the same check on the edge</li>\n<li>Use border rows where resources allow</li>\n<li>Keep plot size practical for hand operations but large enough for meaningful yield samples</li>\n<li>Record missing plants and obvious field gradients (shade, low spots)</li>\n</ul>\n<p>Simple R scripts can randomise layouts and later analyse RCBD or augmented designs. Start with a clear field map before sowing — most analysis problems begin with unclear plot labels.</p>\n"
  }
]
