Skip to content

Instantly share code, notes, and snippets.

View zostay's full-sized avatar

Sterling Hanenkamp zostay

View GitHub Profile
@zostay
zostay / explanation.txt
Last active August 29, 2015 14:26
P6SGI: Use Supply and/or Channel for streaming?
So after publishing 0.1.Draft of P6SGI, the most prominent feedback I have
received is whether or not Channels are the best option for streaming data. The
main alternative put forward is to use a Supply rather than a Channel. After
carefully weighing the options, I am not sure there is a clear winner in this.
The short answer is, Channel is simpler for app and middleware devs, but may not
scale as well or as easily as a Supply-based solution. On the other hand, there
is no obvious best solution when using a Supply and using a Supply can lead to
lost data if the app and middleware developers are not careful.
@zostay
zostay / README.txt
Last active October 18, 2022 05:03
Google Authentication Workflow for Pebble Watchapps
None of the workflow examples given in the Google Authentication OAuth2 documentation
(https://developers.google.com/accounts/docs/OAuth2) handle what's needed for Pebble. I
basically had to mix the needs of a client-side application with an offline web application
to get what's needed and work within the restrictions of the Pebble JS toolkit.
The steps are as follows:
1. Setup a Client ID for Web Application on the Google Developer Console
2. On the configuration web pages, with SSL:
* In the configuration page, use JavaScript to retrieve a authorization code, which
@zostay
zostay / bad.psgi
Created August 15, 2012 13:59
OWASP Top Ten - A2 Cross Site Scripting (XSS) - Good/Bad - In Perl
use v5.16;
use Plack::Request;
my $app = sub {
# Use Plack::Request to help parse the environment
my $req = Plack::Request->new(shift);
# Load our input
my $input = $req->parameters->{input};
@zostay
zostay / bad.psgi
Created August 1, 2012 13:23
OWASP Top Ten - A1 Injection - Good/Bad - In Perl
use v5.16;
use Plack::Request;
my $app = sub {
# Plack::Request makes getting parameters easier
my $req = Plack::Request->new(shift);
# Load the name
my $name = $req->parameters->{name};
@zostay
zostay / gist:1358515
Created November 11, 2011 16:53
Best, quickest, safe way I know to pull out the " at x.pm line 1." is:
my $x = reverse $@;
$x =~ s/^.*? \ ta \ //xms;
$x = reverse $x;
@zostay
zostay / gist:1167283
Created August 24, 2011 04:05
For my own sanity, what order do the around's get applied in an object that applies a role that applies a role?
package RoleBar;
use v5.10;
use Moose::Role;
around thing => sub {
my $next = shift;
my $self = shift;
say "RoleBar thing start";
$self->$next();