TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

The Source Code for NYC's Forensic DNA Statistical Analysis Tool

134 pointsby foobover 7 years ago

10 comments

Alex3917over 7 years ago
For context, this is getting released just after the city council committee on technology had a public hearing about a bill that would require any software used by the government to prosecute folks for crimes to be open source:<p><a href="https:&#x2F;&#x2F;www.fwdeveryone.com&#x2F;t&#x2F;FrtKpHJ2T0mCic3j_FSzPQ&#x2F;nyc-software-transparency-bill-1696" rel="nofollow">https:&#x2F;&#x2F;www.fwdeveryone.com&#x2F;t&#x2F;FrtKpHJ2T0mCic3j_FSzPQ&#x2F;nyc-sof...</a><p>This bill would set the standard for the entire country, so the testimony is actually pretty interesting and worth watching, especially the opening speech by councilman Vacca.<p><a href="https:&#x2F;&#x2F;councilnyc.viebit.com&#x2F;player.php?hash=xHL4m7vQXCM9" rel="nofollow">https:&#x2F;&#x2F;councilnyc.viebit.com&#x2F;player.php?hash=xHL4m7vQXCM9</a><p>I also testify at 56:00, albeit hadn&#x27;t prepared remarks in advance so wasn&#x27;t as polished as some of the other folks.
评论 #15520809 未加载
评论 #15521278 未加载
devillighterover 7 years ago
Code in &quot;Comparison.cs&quot; on line 1307<p><pre><code> &#x2F;&#x2F; if we don&#x27;t have frequencies, use the default (this should never happen, but here it is) if (tblFreq == null || tblFreq.Rows.Count == 0) { a = (float)0.02; b = (float)0.02; } </code></pre> is kind of fishy. Why not bomb out instead of failing silently for things that are never supposed to happen? Not saying this is inherently wrong - I&#x27;m certainly not capable of actually understanding the details of the analysis
评论 #15519683 未加载
评论 #15522155 未加载
评论 #15519483 未加载
评论 #15520432 未加载
foobover 7 years ago
I haven&#x27;t had a chance to dig into the analysis part of the code yet, but here&#x27;s an amusing variable assignment that jumped out at me in `FST.Common&#x2F;ComparisonData.cs`.<p><pre><code> compareMethodIDSerializationBackupDoNotMessWithThisVariableBecauseItsAnUglyHackAroundACrappyLimitiationOfTheFCLsCrappyXMLSerializer = comparisonID;</code></pre>
评论 #15520064 未加载
评论 #15520705 未加载
tekmavenover 7 years ago
On first glance it uses very old frameworks (for example, ASP.NET WebForms) and there are 0 unit tests.<p>A concerning thing is that a dev database username and password was committed to multiple files, like this: <a href="https:&#x2F;&#x2F;github.com&#x2F;propublica&#x2F;nyc-dna-software&#x2F;blob&#x2F;master&#x2F;FSTServiceConsoleHost&#x2F;app.config#L17" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;propublica&#x2F;nyc-dna-software&#x2F;blob&#x2F;master&#x2F;F...</a>.
评论 #15519986 未加载
评论 #15520404 未加载
finnnover 7 years ago
It seems that the source code for any computer program who&#x27;s output is used as evidence in a court of law should be available for inspection.
mcescalanteover 7 years ago
The accompanying article&#x2F;blog post linked in the Readme (<a href="https:&#x2F;&#x2F;www.propublica.org&#x2F;article&#x2F;federal-judge-unseals-new-york-crime-labs-software-for-analyzing-dna-evidence" rel="nofollow">https:&#x2F;&#x2F;www.propublica.org&#x2F;article&#x2F;federal-judge-unseals-new...</a>) has good background &amp; information about the history of this, as well as potential impact moving forward.
inetknghtover 7 years ago
I work in DNA analysis and stuff like this makes me happy specifically because I know just how easy it is to have flawed analysis techniques written in software.
评论 #15520069 未加载
gravypodover 7 years ago
Is there a large dataset of anonymized DNA samples that we could try this tool against? Does 23andme do something like that? I hope they don&#x27;t but it would be very useful for just this one case!
评论 #15520858 未加载
评论 #15520114 未加载
jasminzover 7 years ago
I just love the way they have connection string along with what seems real database URI and accompanying username and password.
tmsamover 7 years ago
Nested ternaries, ungodly amounts of repetition, ZERO tests, hardcoded sensitive info... this code wouldn&#x27;t pass code review anywhere. I don&#x27;t care when it was written, any day it is used to send people to jail it should be the best possible code humans can write. And it is so far from that.