OH @briansuda “The only reason I ever go to someone’s twitter profile is to see if they have a URL” #indieweb
OH @briansuda “The only reason I ever go to someone’s twitter profile is to see if they have a URL” #indieweb
@brennannovak COUNT ME IN — on the topic of delicious solutions, @joviansalak is president/overlord of the SOAS Hummus society, an organisation dedicated to the use of hummus for socio-political change.
Javascript has no real Set or Dictionary implementation, which for someone spoiled by python’s set
and dict
s is rather frustrating. However, in leiu of the poorly supported js Set
type, plain old objects can be massaged into acting as both sets and dicts:
// Python: d = dict()
var d = {};
// d['key'] = 'value'
d['key'] = 'value';
// d.get('nonexistent', 'fallback')
d.hasOwnProperty('nonexistent') ? d['nonexistent'] : 'fallback';
// d.keys()
Object.keys(d);
// s = set()
var s = {};
// s.add(1)
s[1] = true;
// 1 in s
s.hasOwnProperty(1);
// Accessing all values in set:
Object.keys(s);
Notes: the in
operator can be used to test membership, but will incorrectly return true for __proto__
, as well as all properties up the prototype chain, i.e. all properties and methods of Object
. hasOwnProperty
is much safer to use.
Similarly, the use of the ternary operator for get-item-with-fallback could in theory be replaced with d['item'] || 'fallback'
, unless of course the value stored was falsey, in which case the or will incorrectly return a truthier fallback.
@dshanske your notes are looking great, and very nicely marked up too! You should consider marking up comments as h-cites nested as p-comment properties — more: indiewebcamp.com/comments-presentation#How_to_markup
@_aitor similarly, I remember social gatherings at which friends would organise, *in real life*, chatting on facebook later on.
That is not quite what I was looking for, @duckduckgo, but top marks for effort ;)
@brennannovak let us start a granola-based rap duo! #granolalife
Learned about the XHTML Enemies Network http://xen.adactio.com/ from @briansuda #xfn #microformats #html
@kevinmarks awesome demos as always! Thanks for live posting! #indiewebcampsf
MTU has this wonderful explanation of the differences in physics between open/closed conical and cylindical bore instruments. Try some of the equations out in grapher or an equivalent!
Open cylindrical bore (e.g. panpipes): y=sin(nx)
Closed conical bore (e.g. saxophone): y=sin(nx)/nx
where n is the harmonic e.g. 1, 2, 3, 4 etc. in both cases.
@brennannovak jeez, is there anything about this project which doesn’t just seem wrong :/
Cool story bro, needs more #granola
My GPG key fingerprint: CBC7 7876 BF7C 9637 B6AE 77BA 7D49 834B 0416 CFA3
@briansuda yes it is like thug life but with granola instead of thug
Makin’ granola #granolalife
First PuSH subscription ping successfully received! Yay!
Slowly getting a PuSH subscription service working. It should be fairly easy to turn it, once finished, into a layered library so people can either bolt it onto a Silex/Symfony app and have it all just work, or use the lower level client and logic in other frameworks.
@superfeedr thanks for the heads-up, it was a caching issue in #taproot — now squashed with your mention happily on my page! I need to make taproot show names of blog posts instead of/in addition to the first bit of text.
Last night: fixed #gurdy intonation, fitted tapping string. Even without a dedicated EM pickup it’s sounding great! Can’t wait to get it hooked up to an amp.
Fixed a simple security hole in #taproot, uncovered unintentionally by an attack mounted ≈5hrs ago — intent appeared to be to create new user accounts, unintended result was the creation of a new, empty article.
Hundreds of requests were made against URLs similar to these:
/articles/do.php
/articles/modules.php?app=user_reg
/articles/index.php?app=home&mod=public&act=register
/action/sign_up
/articles/sign_up.html
/articles/?page=login&cmd=register
/articles/tiki-register.php
/articles/index.php?page=register&action=register
/index.php?page=item&action=item_add
/articles/index.php?user/create_form/
/articles/join.php
/articles/index.php?dll=register
/articles/index.php?option=com_community&view=register
/articles/register.php
/articles/signup.php
Presumably these URLs are compromised on other systems — needless to say they are far too ugly to exist in #taproot! I’m unsure exactly why /articles
was used as the base URL for the attack in all cases apart from two.
As these URLs don’t exist, and will never exist, it should be safe enough to add server- or application-level filters immediately closing any requests which include them.