<?xml version="1.0" encoding="UTF-8" standalone="yes"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-us"><id>https://blog.pgxn.org/tags/contribute/</id><title>Contribute</title><updated>2010-10-19T18:43:57Z</updated><link rel="self" type="application/atom+xml" href="https://blog.pgxn.org/tags/contribute/feed.xml"/><link rel="alternate" type="text/html" href="https://blog.pgxn.org/tags/contribute/"/><author><name>The PGXN Maintainers</name></author><generator uri="https://gohugo.io/" version="0.167.0">Hugo</generator><entry><id>https://blog.pgxn.org/post/1352594371</id><title type="html">Fundraising and Development Update</title><link rel="alternate" type="text/html" href="https://blog.pgxn.org/2010/fundraising-development-update/"/><updated>2026-10-07T16:13:48Z</updated><published>2010-10-19T18:43:57Z</published><author><name>David E. Wheeler</name></author><category scheme="https://blog.pgxn.org/tags" term="fundraising" label="Fundraising"/><category scheme="https://blog.pgxn.org/tags" term="development" label="Development"/><category scheme="https://blog.pgxn.org/tags" term="pgxn" label="PGXN"/><category scheme="https://blog.pgxn.org/tags" term="contribute" label="Contribute"/><category scheme="https://blog.pgxn.org/tags" term="perl" label="Perl"/><category scheme="https://blog.pgxn.org/tags" term="database" label="Database"/><category scheme="https://blog.pgxn.org/tags" term="pgwest" label="PgWest"/><category scheme="https://blog.pgxn.org/tags" term="conference" label="Conference"/><summary type="html"><![CDATA[<p>Yesterday was a busy day. In addition to making the <a href="https://blog.pgxn.org/post/1352326020/first-upload">first PGXN release</a>, I
updated the fundraising spreadsheet and then the thermometer displayed on the
<a href="https://pgxn.org/contributors.html">main site</a>. The good news is that things are coming along nicely. Thanks to
recent contributions from <a href="https://www.commandprompt.com/">Command Prompt</a>, <a href="https://www.marchex.com/">Marchex</a>, Hitoshi Harada, and
<a href="https://www.25th-floor.com/">25th-floor</a>, we are now just $2500 short of our goal of $25,000. Thank you
all!</p>
<p>Can you help us get to our goal in time for <a href="https://www.postgresqlconference.org/2010/west/">PgWest 2010</a>, which is November
2-4 in San Francisco? I&rsquo;ll be giving a talk there, &ldquo;<a href="https://www.postgresqlconference.org/content/building-and-distributing-postgresql-extensions-without-learning-c">Building and Distributing
PostgreSQL Extensions Without Learning C</a>&rdquo;, in which PGXN will of course be
featured. Would be great to announce that the fundraising was successful.</p>]]></summary><content type="html" xml:base="https://blog.pgxn.org/" xml:space="preserve"><![CDATA[<p>Yesterday was a busy day. In addition to making the <a href="https://blog.pgxn.org/post/1352326020/first-upload">first PGXN release</a>, I
updated the fundraising spreadsheet and then the thermometer displayed on the
<a href="https://pgxn.org/contributors.html">main site</a>. The good news is that things are coming along nicely. Thanks to
recent contributions from <a href="https://www.commandprompt.com/">Command Prompt</a>, <a href="https://www.marchex.com/">Marchex</a>, Hitoshi Harada, and
<a href="https://www.25th-floor.com/">25th-floor</a>, we are now just $2500 short of our goal of $25,000. Thank you
all!</p>
<p>Can you help us get to our goal in time for <a href="https://www.postgresqlconference.org/2010/west/">PgWest 2010</a>, which is November
2-4 in San Francisco? I&rsquo;ll be giving a talk there, &ldquo;<a href="https://www.postgresqlconference.org/content/building-and-distributing-postgresql-extensions-without-learning-c">Building and Distributing
PostgreSQL Extensions Without Learning C</a>&rdquo;, in which PGXN will of course be
featured. Would be great to announce that the fundraising was successful.</p>
<p>As for the time I&rsquo;ve put in so far, I&rsquo;m happy to have PGXN Manager up and
working, but of course it has taken more hours than I expected. 76.5 so far.
I&rsquo;d estimated 40. Meanwhile, the database design is up to 43 hours from the
estimated 24. And that doesn&rsquo;t count the hours I spent chasing shiny yaks and
shaving them, like <a href="https://search.cpan.org/perldoc?SemVer">SemVer</a> and <a href="https://search.cpan.org/perldoc?Router::Resource">Router::Resource</a>. Those of you who estimate
development projects, take heed! I clearly need to double all my estimates
before I submit them.</p>
<p>Still, with the fundraising nearly done, I&rsquo;m committed to finishing this
project. I view it as a project budget, and so that&rsquo;s what it will be, whether
or not it takes me twice or four times as many hours as I&rsquo;d estimated.</p>
<p>That said, you could help. Right? PGXN Manager is in good shape, but it&rsquo;s not
done. If you&rsquo;d like to roll up your sleeves and contribute some code, please
<a href="https://github.com/theory/pgxn-manager/">fork it</a>, build it, and hack what you can. A few things on the to-do list:</p>
<ul>
<li>Add user admin interface. Should include checkbox to make and remove
administrative permission</li>
<li>Add mirror admin interface</li>
<li>Add extension ownership permissions interface</li>
</ul>
<p>The database API is there for these bits already; the code would mainly be in
Perl. Hit me on #pgxn on <a href="https://webchat.freenode.net/">Freenode</a> if you want to help.</p>
<p>If documentation is your thing, contributions there would be appreciated, as
well. In particular, the <a href="https://manager.pgxn.org/about">About PGXN</a> page is a bit thin. Other interfaces
will need help, too. More on that as we add users.</p>
<p>Thanks everyone for your support!</p>
]]></content></entry><entry><id>https://blog.pgxn.org/post/1205127396</id><title type="html">Quick Status Update</title><link rel="alternate" type="text/html" href="https://blog.pgxn.org/2010/quick-status-update/"/><updated>2026-10-07T16:13:48Z</updated><published>2010-09-28T17:29:48Z</published><author><name>David E. Wheeler</name></author><category scheme="https://blog.pgxn.org/tags" term="status-update" label="Status Update"/><category scheme="https://blog.pgxn.org/tags" term="manager" label="Manager"/><category scheme="https://blog.pgxn.org/tags" term="contribute" label="Contribute"/><category scheme="https://blog.pgxn.org/tags" term="sponsor" label="Sponsor"/><summary type="html"><![CDATA[<p>Sometimes I wish I weren&rsquo;t such a perfectionist.</p>
<p>But not often.</p>
<p>A quick update:</p>
<p>So far, I&rsquo;ve spent 43 hours on the <a href="https://github.com/theory/pgxn-manager" title="PGXN Manager repository on GitHub">PGXN Manager</a> database. I had estimated 24
hours. Ha ha ha ha ha!</p>
<p>I&rsquo;ve spent 45 hours on the implementation of the app itself. I had estimated
40 hours.</p>
<p>How will I make up the difference? I&rsquo;m not sure, really. I&rsquo;ve already
under-recorded my hours quite a lot, basically donating my time to create
<a href="https://search.cpan.org/perldoc?SemVer">SemVer</a> and to create the basic HTML layout for the site (I suck at design,
but found <a href="https://andreasviklund.com/templates/andreas07/">a good template</a> to base it on). That will likely continue. This is
an OSS project, and while I&rsquo;m getting paid to work on it thanks to our
<a href="https://pgxn.org/contributors.html">generous contributors</a>, I&rsquo;m also contributing quite a lot of time to it.</p>]]></summary><content type="html" xml:base="https://blog.pgxn.org/" xml:space="preserve"><![CDATA[<p>Sometimes I wish I weren&rsquo;t such a perfectionist.</p>
<p>But not often.</p>
<p>A quick update:</p>
<p>So far, I&rsquo;ve spent 43 hours on the <a href="https://github.com/theory/pgxn-manager" title="PGXN Manager repository on GitHub">PGXN Manager</a> database. I had estimated 24
hours. Ha ha ha ha ha!</p>
<p>I&rsquo;ve spent 45 hours on the implementation of the app itself. I had estimated
40 hours.</p>
<p>How will I make up the difference? I&rsquo;m not sure, really. I&rsquo;ve already
under-recorded my hours quite a lot, basically donating my time to create
<a href="https://search.cpan.org/perldoc?SemVer">SemVer</a> and to create the basic HTML layout for the site (I suck at design,
but found <a href="https://andreasviklund.com/templates/andreas07/">a good template</a> to base it on). That will likely continue. This is
an OSS project, and while I&rsquo;m getting paid to work on it thanks to our
<a href="https://pgxn.org/contributors.html">generous contributors</a>, I&rsquo;m also contributing quite a lot of time to it.</p>
<p>Speaking of contributors, we&rsquo;ve still not quite met our fundraising goals.
There&rsquo;s enough there for me to finish PGXN Manager so that you can start
releasing your extensions on PGXN, and for me to start on the search and
documentation site, but not finish it. If you know any organizations that
would like to sponsor this work and get their name and link on the PGXN site
in perpetuity, please <a href="https://pgxn.org/">send them over!</a>.</p>
<p><em>Ahem.</em></p>
<p>So what have I been doing? I&rsquo;ll write up some notes in a few other blog posts,
including how I&rsquo;m generating JSON in the database, using <a href="https://plackperl.org/">Plack</a> for the app,
and nicely-degrading Ajaxification with <a href="https://jquery.org/">jQuery</a> and RESTful URLs (I hope!).
The main page of the app works, as does authentication via basic auth. There&rsquo;s
a screen to request a user account, and a UI for PGXN admins to accept or
reject such requests. To make it actually usable, I just need to add the
upload feature for users, and then I can do a first release. That will allow
people to sign up, get approved, and start uploading extensions for
distribution on PGXN.</p>
<p>I <em>will</em> get that that done this week.</p>
<p>After that, I&rsquo;ll add screens for users to edit their account information,
change passwords, reset passwords, and edit permissions. I expect each of
those to take less time, as they&rsquo;ll use a lot of the infrastructure I&rsquo;ve
already built.</p>
<p>Watch this space, and thanks for your patience!</p>
<p>Oh, and if you want to help out, please do fork <a href="https://github.com/theory/pgxn-manager" title="PGXN Manager repository on GitHub">PGXN::Manager</a>
and ping me in #pgxn on Freenode for the deets on getting it built.</p>
]]></content></entry></feed>