{"id":307,"date":"2009-01-08T18:54:56","date_gmt":"2009-01-09T02:54:56","guid":{"rendered":"http:\/\/wp.colliertech.org\/cj\/?p=307"},"modified":"2009-01-08T20:02:17","modified_gmt":"2009-01-09T04:02:17","slug":"repository-thoughts","status":"publish","type":"post","link":"https:\/\/wp.c9h.org\/cj\/?p=307","title":{"rendered":"repository thoughts"},"content":{"rendered":"<pre>\r\n15:58 &lt; cj&gt; lluis: since my friend isn't online to bounce ideas off of, how \r\n            'bout I ask you? :)\r\n15:59 &lt; lluis&gt; cj: heh, ok\r\n15:59 &lt; cj&gt; a first pass would be a web form that takes some information about \r\n            a package and stores it to a database.  those data are exposed via \r\n            as an xml file, and all entries are listed on a separate page as a \r\n            registry\r\n16:00 &lt; cj&gt; http:\/\/someregistry.org\/register_product.cgi, \/list_products.cgi, \r\n            \/view_product.cgi?id=1\r\n16:01 &lt; cj&gt; the data stored in relation to the product would be version, \r\n            package type, build type, license, distribution uri, author\r\n16:02 &lt; cj&gt; the IDE would add another tab next to 'browse', 'pkg-config' and \r\n            'gac' that would query \/list_products.cgi and present them in a \r\n            manageable fashion\r\n16:03 &lt; cj&gt; I don't want to over-engineer, since I don't have a lot of spare \r\n            time to implement.  first pass = dumb but working\r\n16:03 &lt; lluis&gt; well, if we are going to have server side logic, we better use a \r\n               web service\r\n16:04 &lt; cj&gt; sounds reasonable, but I don't have time to ramp up on that right\r\n            now.  how 'bout I make the cgi's interface reliable so a web \r\n            service could be built to replace it?\r\n16:05 &lt; mhutch&gt; cj: clean urls please :)\r\n16:05 &lt; cj&gt; mhutch: define 'clean' :)\r\n16:06 &lt; mhutch&gt; no \".cgi\" for a start\r\n16:06 &lt; cj&gt; okay\r\n16:06 &lt; lluis&gt; cj: what you plan to use to implement that?\r\n16:07 &lt; cj&gt; lluis: perl.  I'm good at it and can fix things without having to \r\n            ask stupid questions like \"how do I construct an HTTP request \r\n            object\" :)\r\n16:07  * mhutch cries\r\n16:08 &lt; cj&gt; enough from the peanut gallery\r\n16:09  * mhutch starts throwing peanuts at cj\r\n16:11 &lt; lluis&gt; cj: well, the server side implementation is not so important\r\n16:11 &lt; lluis&gt; as well as we have a client c# library that encapsulates it\r\n16:11 &lt; lluis&gt; I mean as long as\r\n16:12 &lt; mhutch&gt; IMO it would make sense to do it in a language that users (i.e. \r\n                potential contributors) are likely to know\r\n16:12 &lt; mhutch&gt; but maybe that's just me\r\n16:12 &lt; cj&gt; mhutch: I promise that I'll write it in c# after I get it working\r\n16:13 &lt; cj&gt; mhutch: it's hard for me to get anything done, though, if I have to \r\n            learn how to do it while I'm doing it.  I enjoy re-writing my perl \r\n            code in c#, though.  that's how I started learning it in the first \r\n            place :)\r\n16:13 &lt; mhutch&gt; cj: I'd be happy to provide pointers\r\n16:14 &lt; lluis&gt; mhutch: I don't think it is so important for the server side.\r\n16:14 &lt; mhutch&gt; cj: some things would be easier to do directly in C#, for \r\n                example, web services in C# are near-trivial\r\n16:17 &lt; lluis&gt; cj: hmm, in fact in my implementation proposal the reusable \r\n               components are just add-ins, so we can just use the existing \r\n               add-in repository format\r\n16:17 &lt; cj&gt; lluis: is there one?  I'll google it.\r\n16:18 &lt; lluis&gt; cj: I don't think it is documented. Add-in repos are just as set \r\n               of files which can be generated using the mautil tool.\r\n16:53 &lt; lluis&gt; cj: if you are interested, I can send you the library repository \r\n               client I wrote when I worked on that on the hack week\r\n17:11 &lt; cj&gt; lluis: sure, thanks.  I'll use it as reference as I poke.\r\nDay changed to 09 Jan 2009\r\n03:10 &lt;@cj&gt; okay... now for coding...\r\n03:20 &lt;@cj&gt; this is the part where I use my production web server to develop \r\n            code.  everybody watch!\r\n03:29 &lt;@cj&gt; http:\/\/repository.colliertech.org\/\r\n03:29 &lt;@cj&gt; tada\r\n03:29 &lt;@cj&gt; I crack myself up.\r\n04:13 &lt;@cj&gt; http:\/\/repository.colliertech.org\/register\/\r\n04:13 &lt; SeveredCross&gt; Neato.\r\n04:14 &lt;@cj&gt; yeah.  doesn't store your data yet, but *shrug* it's &gt;0\r\n04:15 &lt; SeveredCross&gt; What's the idea, to have a repository of info for \r\n                      Mono-related softwares that aren't packaged in distro \r\n                      repos?\r\n04:15 &lt;@cj&gt; no, to allow people to reference the packages registered here \r\n            through various tools, such as visual studio or monodevelop\r\n04:16 &lt;@cj&gt; http:\/\/wp.colliertech.org\/cj\/?p=301\r\n04:16 &lt;@cj&gt; http:\/\/wp.colliertech.org\/cj\/?p=307\r\n04:17 &lt;@cj&gt; at amazon, we had a 'cradle-to-grave' registration tool that allowd \r\n            folks to create source control repositories, fire off builds, \r\n            request and perform code review, etc.\r\n04:17 &lt;@cj&gt; I don't want to get that fancy, but it inspired me to make \r\n            something that helps to oranize all of these pieces of code we have \r\n            laying around\r\n04:18 &lt;@cj&gt; organize\r\n04:20 &lt;@cj&gt; pkg-config is useful for code you've got on your system, but the \r\n            process of grabbing, installing and then finally referencing is a \r\n            lot of overhead.  if you could do gmcs -r:repos:\/\/foo bar.cs \r\n            -o:baz.exe, that would really reduce the headache\r\n04:20 &lt; SeveredCross&gt; Cool beans.\r\n04:20 &lt; SeveredCross&gt; Sounds like a worthy project. :D\r\n\r\n<\/pre>\n\n<div class=\"twitter-share\"><a href=\"https:\/\/twitter.com\/intent\/tweet?via=cjamescollier\" class=\"twitter-share-button\">Tweet<\/a><\/div>\n","protected":false},"excerpt":{"rendered":"<p>15:58 &lt; cj&gt; lluis: since my friend isn&#8217;t online to bounce ideas off of, how &#8217;bout I ask you? :) 15:59 &lt; lluis&gt; cj: heh, ok 15:59 &lt; cj&gt; a first pass would be a web form that takes some information about a package and stores it to a database. those data are exposed via [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[38,188,60,79,181,7,18,192,109,166],"tags":[],"class_list":["post-307","post","type-post","status-publish","format-standard","hentry","category-c","category-cli","category-colliertech","category-free-software","category-irc","category-mono","category-perl","category-pkg-config","category-pre-release","category-software"],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p1YDIB-4X","jetpack_sharing_enabled":true,"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/wp.c9h.org\/cj\/index.php?rest_route=\/wp\/v2\/posts\/307","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wp.c9h.org\/cj\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wp.c9h.org\/cj\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wp.c9h.org\/cj\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/wp.c9h.org\/cj\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=307"}],"version-history":[{"count":5,"href":"https:\/\/wp.c9h.org\/cj\/index.php?rest_route=\/wp\/v2\/posts\/307\/revisions"}],"predecessor-version":[{"id":311,"href":"https:\/\/wp.c9h.org\/cj\/index.php?rest_route=\/wp\/v2\/posts\/307\/revisions\/311"}],"wp:attachment":[{"href":"https:\/\/wp.c9h.org\/cj\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=307"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wp.c9h.org\/cj\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=307"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wp.c9h.org\/cj\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=307"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}