#@tdesign Qs when coding a new #indieweb post type:
#tantekso that's interesting - why does Loqi respect the whitespace in a tweet when I paste the tweet URL in IRC, but NOT when Loqi gets the tweet via search API?
#bnvkand tantek: I'm gonna push back on "deadend" due to being non tinkerable- there are loads of things people depend on daily that are no longer "tinkerable"
#bnvkso is the root of it something along the lines of- humans have innate desire to tinker with their tools and things in their environment, thus things with high tinkerability will prove to be better in an evolutionary sort of way?
#aaronpkI'm at +0400 which is 12 hours ahead of PDX. it's a really confusing timezone shift
smus joined the channel
#bretalso, mathpunk welcome! I read your introduction yesterday
#aaronpkalso confusing is I'm getting on a plane tonight at 2am and landing in PDX Friday morning. I only have one night of sleep ahead of me before I land but you guys have 2.
#mathpunkhere is etymancer. he made my vps serve terrifying, dark-night-of-the-soul index cards to our mothers
#tantekand the first Homebrew Website Club meeting is now officially closed! Thanks everyone for coming and in particular KevinMarks for tweeting up a storm. :)
#mathpunkI asked @Eric_WVGG (aka D. Shwanky) to send me whatever archive of my last wp site was appropriate and I'll figure it out later. I want to start fresh
#mathpunk"https://dl.dropboxusercontent.com/u/1717994/photos/Screenshot from 2013-11-20 10:59:32.png"
#etymancerhm, oughtta be a way to archive it? I'd hesitate to switch over the DNS just yet since it's a virtual host. just hitting the IP won't get you the contents
#etymancersorry, I'm not very dreamhost- or wordpress-savvy
#mathpunk"re: the old site, it’s on my crusty old server and I don’t know where many of the passwords were. Do you have any object to me changing the passwords now, backing up the old data, and potentially breaking access to the old site? This won’t prevent you from redirecting the site to the new home."
#aaronpkmathpunk: maybe easiest is to do a wordpress export from the admin interface? then at least you can import into a new wordpress later if you want
b0bg0d joined the channel
#etymanceryeah, that's what I was thinking. or if eric's got it backed up, that'll do too
#mathpunkI would like to know what nginx is. I am guessing it is telling python, yo start a web server on port X and serve whatever you find in Y directory
#aaronpkmathpunk: nginx and apache are about the same, they are web servers that can both a) serve static HTML files and b) send requests to something else behind the scenes like php or node or python or other web servers
#mathpunkGirl, are you these butts, because you are a conspicuous hill or mountain, especially one that attracts attention by its isolation, or serves as a land mark
#etymancerso yeah, the mobile thing is probably just something goofy
#mathpunkI now have an nginx running on a vps I "own" (rent), and it serves static web pages.
#mathpunkErgo, I have successfully indieauth'd, and then jumped up and down with the joy.
#mathpunkI'm not sure what my next indieweb project ought to be, so I'm just going to start curling example web pages I like into a folder on my server for learning/forking.
#mathpunkI read a little about the h microformat and I'm not entirely sure I get it, but my current Forever Project is trying to get the web to be more like stacks of shufflable index cards
#mathpunkand I think that's probably relevant-- notes vs posts vs articles etc.
#bearasking questions like that means that someone later reading the log will learn from your question
#bearand allows others to get a feel if the documentation is working
#mathpunkwhat I mean though, is.... just adding the h-card class to a tag doesn't do anything in and of itself, right?
#barnabywaltersbear: In practise no one actually reads the logs :) hence why we solidify things onto the wiki
#bearoh, then i'm definitely an odd case - I read more logs than wikis
#barnabywaltersmathpunk: There are open source parsers for various languages which, given HTML with microformats classnames, give you nice data structures to play with
#barnabywaltersMicroformats make HTML as easy to consume as JSON APIs
#bearany one class item is not important, but taken together when used within the html structure allows logical chunks of metadata to be parsed
#bear<div class="h-card"> signals to a microformat parser that this div scope will hold nifty info that it should consider as an h-card
#mathpunkwhen you're talking about these parsers, then, I speculate you're talking about sites in the indieweb ecosystem, that aren't necessarily my own?
#barnabywaltersEffectively, class=h-card tells the parser "this element represents a person/contactable thing"
#bearvisit IndieWebify.me and look at some of the validation sections
#bearthat is an example of microformat usage and parsing
#bearand also a handy way to double check your new site for progress
barnabywalters and snarfed joined the channel
#jptantek: you were mentioned in this book im reading which led me to this irc - which books do you recommend reading for html5/css/js and new web technologies
#Loqibenwerd: tantek left you a message 2 days ago: since you most recently implemented and iterated on permashortlinks/permashortcitations, interested in your thoughts on moving them forward in a more unified fashion in this way: https://indiewebcamp.com/irc/2013-11-19#t1384879473
#Loqibenwerd: tantek left you a message on 11/19 at 3:33pm: hey benwerd - noticed that photo posts don't/didn't provide a permashortlink/permashortcitation - was that by design or accident? https://twitter.com/benwerd/status/399304939257618432
#barnabywaltersjp: if you haven’t already come across it, I can recommend the WHATWG HTML living spec as a readable, authoritative reference for HTML5: http://developers.whatwg.org/
#barnabywaltersmathpunk: don’t worry too much about the machine readable parts — just publish the bits of contact information you want in the what which makes sense, then scatter the mf2 classnames in afterwards
andreypopp joined the channel
#bearmathpunk - I modified your name line to show an example
#Loqibarnabywalters meant to say: mathpunk: don’t worry too much about the machine readable parts — just publish the bits of contact information you want in whatever way makes sense, then scatter the mf2 classnames in afterwards
#mathpunkSo style it like it's for a person, and then the attributes are how to let a parser know
#barnabywaltersmathpunk: yes! that is the human-first approach microformats take :)
#barnabywaltersbecause if you start with what you think will be interesting for a machine, it’ll be structured weirdly for real people, or just make no sense
#mathpunkohwow... the nested span made no sense, and then I realized it would let a machine greet me by first name while knowing my full name
#mathpunkI'm going to find out by doing. Maybe my site will make Cascadia real--
#jpwhat do you guys recommend me installing on my vps if i wanna host my domain there?
#barnabywaltersmathpunk: I’m not aware of any consumers which actually *use* region data, but the default approach is to use the first value if only one is expected
#bearjp, I would recommend using a service like FreeDNS if your providor doesn't give DNS support
#bearrunning your own BIND daemon gets old really fast IMO (and i'm an ops guy in my dayjob)
#jpi have a vps at digital ocean and i was thinking of using that
#bearand I would start with nginx so you can host your static html5 site - then figure out as you find an itch what to install next
#bearDNS should be provided by the folks you registered the domain name at
#bearfor me it's Hover - they have DNS support that is pretty decent
#tantekthough I have to figure out where the boundary should be between generated pages (e.g. permalinks pages from storage) and standalone editable pages
#snarfedi'm perusing bear's web site now. like it!
#tantekI *think* the boundary is pages that primarily have a date-time context vs. pages that primarily have a named/topic context.
#tantekall that leaves is what to do about templates that the datetime-based pages use for generating home page, archive pages, permalink pages (maybe even tag pages)
#tantekI don't have a URL design for template pages but perhaps I should - how bad would it be if people could see your page templates for generated pages?
#tantekjp - never worked at Twitter. Joined in the first year, gave a lot of in-person feedback back when they were <20 people, and blogged about it early on.
#tantekhope he escaped reference in the Hatching Twitter book.
#tantekbarnabywalters - so far I only have two things in that "template" that get filled in:
#tantek<div class="section stream"> </div> <!-- where the home page composite stream goes -->
#tantek<div class="section recent-articles"></div> <!-- what I coded at IndieWebCampHollywood -->
#tantekmy templates are valid markup in and of themselves (never understood why CMS templates had to use random other languages / escape codes)
#tantekis wondering if we do publish our templates publicly, would it make sense to come up with microformat conventions for the pieces of a template that are meant to be "filled in" by a publishing engine that reads the template as well as a datastore of some sort.
#barnabywaltersprobably not in macro, maybe for very small things
#tantekone possible advantage - front end devs/designers could focus on making nice templates, and then swap out backend systems written by others.
#tantekbarnabywalters - I'm trying to use PHP files purely as code execution files (not the original intent of PHP)
#barnabywaltersyou could just use HTML files with microformats and dummy/empty content in as the templating language — if the data to go in is microformats2 structured then you don’t need another vocabulary
#barnabywalterstantek: I mostly do the same, and keep template files well separated from code files
#barnabywaltersPSR-0 requires files to either produce side effects or define symbols (e.g. functions, classes, constants) but never both, which makes a lot of sense
#tantekbarnabywalters, re: don't need another vocabulary - except in *every* instance I have of "filling something in" - it's had a special meaning beyond existing vocabulary
caseorganic joined the channel
#tanteke.g. "stream" - yes it is a "feed" but it's a very specific type of feed - that for the *home page* (and yes I should have probably named it more specific)
#tanteksame thing with "recent-articles" - that's a box of just the article names linked to their permalinks
#tantekand just a few of them - not sure how to capture that semantic of "how many recent articles"
#tantek(right now it's a hardcoded constant in the code - though perhaps that number, 3, should come from the template? suggestions welcome)
#tanteke.g. instead of "stream" what's a good way to represent "recent updates for the home page including all post types" or "… all post types except… fitness raw data" (or something) ?
#barnabywalterstantek: hm, I’d say that kind of logic (figuring out special meaning) is the job of the code calling the template
#barnabywaltersrather than having to give the template the smarts to figure out exactly what sort of thing it’s displaying
#tantekbarnabywalters - except the template is typically *designed* with specific presentational intent, thus it should convey that information to the code filling in the template.
#barnabywalterscode calling the template knows what should go in the template based on the URL, the template should know where to put it
#tanteklike how should the code filling in the template know or care about 3 recent articles or 4? shouldn't the template determine that?
#tantekKevinMarks - I think to work around a bug in an older version of my code. I could probably take that out.
#tantekmaybe I need to just study existing template (markup) systems like Blogger, Tumblr, WordPress (any other suggestions) to figure out what information the templates are choosing to convey to the engines underneath.
#tantekI hoped someone here with template design experience would have opinions to offer.
#barnabywaltersit would be kinda cool to have declarative templates able to do queries of things
#tantekbarnabywalters - yeah - I think that's why people resort to JSON blobs for that
#barnabywalterstantek: not sure I understand — JSON blobs are data given by the calling code to the template, not data given by the template about what should be put in it
#barnabywaltersunless someone somewhere is making HTML templates with JSON *inside*
#KevinMarkspoint is lots of templating libs have JSON traversal syntax
#barnabywaltersokay, so the problem I was brainstorming solutions about was the template file itself giving the calling code information about what to fill it with, e.g. the number of posts to fetch
#barnabywaltersit seems the discussion got a little side-tracked
#tantekon my home page. the information about having *3* recent articles in particular - where should that go? I'm thinking that information should somehow be in the template, as I expect the designer of the template to determine that. Not the calling code.
#KevinMarksI suppose you could emit all the html and hide beyond 3 with css, but thats a bit odd
#tantekalso potentially more expensive on the back end
#mathpunkwaaaaaaaat-- I'm moving on to the "h-entry" project but... articles are also h-cards? (??)
#tantek"all the html" - you mean go get ALL my past articles?
#tantektypical practice is to have mini-h-cards for the p-author
#mathpunkbut it gets duplicated in the posts? that seems weird
#mathpunkmaybe it just seems weird because I'm handcoding this
#tantekor you can use rel=author to link from a mini name only h-card to your home page with a more expansive h-card
#tantekKevinMarks: 1) read template, extract information about what is needed, 2) query datastore, 3) fill in template with information to generate a page.
#tantekthat's not a "pass" in that nothing is "passed" by/over
squeakytoy joined the channel
#KevinMarksyou're always walking 2 things at once, the template and the data structure
#KevinMarksor walking one and querying the other i suppose
#tantekI guess I don't understand. I just pass/parse the template *once* into a DOMDocument. Then query it to find the nodes to fill in. Get the data. Fill them in. Then output the page.
jp joined the channel
#jplol laptop runs out of charge so plug it in then turn back on
#jpand then it turns off again after realising it wasnt turned on in wall
#tantekGet the data is a batch query with parameters based on a) which template, and ideally also b) information from the template (like # of recent articles - which is currently hard coded in a constant in the code)
#tantek.comedited /template (+148) "link to specific instructions / how to for Blogger and Tumblr templates" (view diff)
#tantekare there any template formats that let you edit "by example" and then fill in your "example data" with real data from the datastore?
#KevinMarksI think google had over 20 internal template libs when I was there
#tantekone challenge I have found with all templating languages/formats is that there is no way to quick-preview what a template might look like when you're editing it
#Loqibarnabywalters meant to say: bret: ooh, so someone *has* made a classname (or at least CSS-selector) based HTML templating library
#tantek.comedited /Falcon (+685) "/* Working On */ archives, after other things in the list, link to templates as a reminder to iterate on that too." (view diff)
#barnabywalterstantek: ^^^^ nice prior art, especially the code API
#tantekThis: "Special syntaxes invent another language to intermix with HTML and thus add programatic concepts to a declartive syntax—which is not clean separation no matter what you name it. "
#tantekand this! "If you are trying to replace HTML or CSS with JavaScript, you are doing it wrong and have just signed a maintenance contract from hell, with yourself, for yours and your data’s life. "
#bretXD also note in the view source… no class names! He is like an html5 monk
#KevinMarksthat's a well-expressed version of Tantek's thesis
#KevinMarksI suspect the use cases for a lot of these are "I have a big JSON blog from an arbitrary API, and I want to make something pretty"
#tantekKevinmarks - so they're working backwards then, from storage to UI?
#KevinMarksor they're client-side people who don't get to change the API
#tantekas opposed to, I've designed this awesome UI, now I need to specify how the variable content pieces of it can be retrieved from some datastore
#KevinMarksI suppose I'm thinking single pass because of that, as the process is interactive
#tantek.comedited /template (+157) "/* HTML based template formats */ capture questions/issues re: Templating With DOM" (view diff)
#KevinMarksI never end up closing the last blockquote as I don't have a button for that.
#tantekwell "Templating With DOM" is the closest prior art to what I'm looking for so I'll probably use ideas/concepts from there
#KevinMarksyou could use the number of children in the source to decide how many times to iterate
#tantekbut I agree strongly with this goal: "… the HTML file itself can be designed independently of the software, and that whoever does the HTML doesn’t have to know PHP"
#tommorrisRemarkable looks... interesting. That it turns "//google.com" into "http://google.com" seems silly though. Protocol-relative URIs are a thing.
#tantekKevinmarks, so even <ul> vs. <ol> as to whether its ordered or not
#tantekperhaps even using the new "reversed" attribute to indicate reverse ordering, e.g. most recent posts first
#KevinMarksreading this camendesgn site I want to send him a pull request to fix typos like tantek did for me
#bretyou could keep a charged, unpaid for cell phone around for emergency and just use google hangouts as a phone number for free…. aaaand you are no longer paying AT&T
#KevinMarksyou do need to be able to put int he redirect string
#KevinMarksif you call my google voice # I think hangouts rings
#bret.iocreated /nginx (+202) "Created page with "{{stub}} Nginx is commonly used a http webserver similar to [[apache]]. The default configuration lives in /etc/nginx/sites_available although this location may vary depending..."" (view diff)
#KevinMarksthat doesn't help me when I have too many tabs in chrome
#KevinMarkshm, my site hasn't got a favicon either
#barnabywaltersif I reuse the querySelector and querySelectorAll method names from the JS DOM, will people be annoyed if they have to pass a context node in a la jQuery?
#barnabywaltersinstead of having to wrap every single DOMElement in yet another wrapper class
#KevinMarksthinking about this a bit more, is not a page marked up in microformats effectively a template?
#barnabywaltersI’m not building a system which strongly couples classes to behaviour, basically just a DOM manipulation toolkit optimised for template use
CheckDavid, tpinto, poppy, kylewm and tantek joined the channel
#Loqitantek: KevinMarks left you a message 1 hour, 4 minutes ago: mf2 syntax is complete enough to specify what part of the element is replaced with what, just like tally