by

Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Feb 27 2016 02:14

    bennage on master

    convert to typescript using promises correcting type for koa (compare)

  • Feb 10 2016 07:24

    bennage on master

    hacked together main menu (compare)

  • Feb 10 2016 06:34

    bennage on master

    add modernizr (kinda) premature… (compare)

  • Feb 08 2016 06:54

    bennage on v3

    (compare)

  • Feb 08 2016 06:54

    bennage on master

    adding a readme (compare)

  • Feb 08 2016 06:51

    bennage on master

    (compare)

  • Feb 08 2016 06:50

    bennage on v2

    (compare)

  • Feb 08 2016 06:48

    bennage on v3

    adding gulp (compare)

  • Feb 08 2016 06:48

    bennage on v3

    inital commit pulling files and rendering rendering the markdown for revi… (compare)

  • May 22 2015 18:13

    bennage on master

    Update README.md (compare)

  • Mar 30 2015 19:38

    bennage on master

    update to unhandle comments que… (compare)

  • Mar 02 2015 08:13

    bennage on sprocs

    removing old spike code removing nesting of asyncs in s… wip (compare)

  • Mar 02 2015 01:19

    bennage on handling-comments

    updating aurelia and other clie… (compare)

  • Mar 02 2015 01:18

    bennage on master

    unhandled comment count began logic to mark comments as… reset files with comments on re… and 4 more (compare)

  • Mar 01 2015 18:56

    bennage on handling-comments

    separating out comments styles (compare)

  • Mar 01 2015 18:30

    bennage on handling-comments

    reset files with comments on re… ui elements for marking comment… (compare)

  • Feb 28 2015 23:42
    bennage opened #48
  • Feb 28 2015 23:40
    bennage opened #47
  • Feb 28 2015 23:31

    bennage on handling-comments

    unhandled comment count began logic to mark comments as… (compare)

  • Feb 28 2015 23:31

    bennage on filter-files

    (compare)

Christopher Bennage
@bennage
Questions:
  • Is it possible to client-side authenticate with Disqus w/o exposing the secret?
  • If no, I'd still like to keep the server-side code to a minimum. It begs a question: if we are force to do some auth on the server and we'll also battle with GitHub's anon rate limit, should we just use GitHub and store comments there? I know that's back-tracking.
JD Huntington
@jdhuntington
After playing with Disqus's console, and looking at https://disqus.com/api/docs/auth/ , I'm fairly confident that we cannot make a client-side-only application work, at least with Disqus for auth/comment storage.
JD Huntington
@jdhuntington
What format do you imagine for storing comments in a repository?
In my estimation, a document database could be a simple way to handle both caching of resources from github as well as storing comments.
Christopher Bennage
@bennage
In my original implementation, I used Azure Table Storage.
Not that I'd recommend that.
I wanted to host this on Azure (for cost and since I intend to use it for work).
I'm comfortable with Mongo and Raven for document dbs.
I haven't tried the new Azure DocDB yet.
Christopher Bennage
@bennage
That's probably more manual lifting that it's worth though.
Christopher Bennage
@bennage
I'm interested in seeing if this would work:
Christopher Bennage
@bennage
:-P Well, all of the persist to disk commands are disabled for Azure's Redis:
https://msdn.microsoft.com/en-us/library/azure/dn793612.aspx
Ideally, I want a store where
  • it's PaaS (low maintenance)
  • I can easily append
  • I can retrieve a set of comments as a batch (aka as a single record/doc)
You know, with that list in mind, I could just use Azure Blobs.
We can have 20,000 blocks (appended) in a single blob. With a limit of 4MB max (plenty) per block.
If the scope of a blob is a single doc, we shouldn't ever exceed 20K comments per doc.
JD Huntington
@jdhuntington
Is table storage no good? I haven't used it, but the description makes it sound like a good fit.
I'm a big fan of couch as well. Shame that the redis persist Apis are off.
Christopher Bennage
@bennage
Actually, table storage would be okay. I haven't used Couch, my only hestition is the manual provisioning/maintenace. (I know that's not a huge deal).
Christopher Bennage
@bennage
Okay. Let's add an Express app. It will handle the GitHub auth and act as a passthrough for table storage. I think that we can do the rest of the GitHub stuff client-side.
JD Huntington
@jdhuntington
I was hoping Couch would be on the list of blessed technologies that Just Worked, doesn't appear to be the case however.
I haven't had a chance to play with documentDB yet; is it worth considering? The bullet points make it sound a lot like couchdb.
Christopher Bennage
@bennage
Yes, it's in the family of document-oriented dbs.
After sleeping on it, I want to go with the least friction.
I believe (right now) that that is table storage.
Christopher Bennage
@bennage
Here's the queries I expect, in descending priority:
  • all of the comments for a blob
  • count of comments/blob for a tree
  • presence of (count?) of comments for the blob in previous commits
Christopher Bennage
@bennage
I looked at my original implementation. I created a table per blob (I used the file name and the sha).
My partitionKey was static and arbitrary (no idea why I chose that) and the rowKey was author+hash of the pericope that was being commented on. That last choice was an effort to carry comments forward as the blob changed. I don't think that these design choices support the queries I outlined above.
Christopher Bennage
@bennage
Hmmm... counts are not supported by table storage:
http://stackoverflow.com/questions/8588661/windows-azure-tables-row-count
Christopher Bennage
@bennage
Ok, waffling again. I'm reading through the DocDB Node docs. (I will confess some trepidation because the .NET SDK was a train wreck). It looks promising.
JD Huntington
@jdhuntington
Ah - I hadn't seen the .NET SDK. Played with the node npm module and wasn't overly offended. The README didn't mention how to do anything interesting, however.
Christopher Bennage
@bennage
Yup. I'm playing with it right now.
The npm module that is.
Christopher Bennage
@bennage
After playing with it, I think that DocDB will work well. I commited a spike where I was playing with the API.
This message was deleted
Christopher Bennage
@bennage
I think this is coming along, though I did get a bit off track with growl notifications: bennage/pundit@55390f0
Christopher Bennage
@bennage
Jasmine for Node is painful to configure. :-1:
I've been trying to get Growl notifications, and their npm package is a mess.
I wanted to use Jasmine so that server tests and client side tests look and feel the same.
JD Huntington
@jdhuntington
Out of curiosity, how much work would it be to shell out to growl-notify after a test run? Feels like it should be a matter of duplicating a test formatter and adding a few lines.
JD Huntington
@jdhuntington
Have you seen this error?

module.js:340
throw err;

^

Error: Cannot find module '/home/jedediah/projects/pundit/app.js'
at Function.Module._resolveFilename (module.js:338:15)
at Function.Module._load (module.js:280:25)
at Function.Module.runMain (module.js:497:10)
at startup (node.js:119:16)
at node.js:902:3
Service process exited with [code => 8 | sig => null]

JD Huntington
@jdhuntington
Sending a PR
I suspect it's a gulp-express version thing.
Christopher Bennage
@bennage
I just saw your query. I haven't been here in a while. :-P
Adam Lind
@Pharserror
can anyone point me in the right direction for using pundit inside a Rails engine? I have a pundit_user declared for the application controller of the engine but more often than not it doesn't get called. Seems like when I put binding.pry in it gets called but if not then it doesn't
Todd Pickell
@tapickell
Is there any way to handle what pundit does on unauth hit?
ie. can I have something custom in my policy instead of rescuing the error in the controller. What if I want to handle unauth for one controller/action differently than another action in that same controller?
Christopher Bennage
@bennage
Sorry,I haven't been working on this for over a year. :-(
It was in the middle of an overhaul/rewrite and it was not finished.