- Modify app.js to use the address of your websocket server instead of
ws://ws-server:8088
. - Run the websocket server:
node ws-server.js
- Run an HTTP static file server of your choice:
python3 -m http.server 8080
- Visit index.html or your HTTP static file server root. Do this on 2 different computers or 2 tabs on the same computer.
- The screen is blank. Open the Javascript console and set values for
me
andother
. Do the same on the other computer/tab (but inverting the values this time). Then callconnect
. After the connection is established you'll be able to callchannel.send('message')
and see the event logs at the other computer/tab.
# POST https://api.pushbullet.com/v2/pushes | |
# requires 'Access-Token' header | |
{ | |
device_iden: "<pushbullet device id>", | |
type: "note", | |
title: "\(.Message | fromjson | .NewStateValue): \(.Message | fromjson | .AlarmName)", | |
body: "\(.Message | fromjson | .AlarmDescription) -- \(.Message | fromjson | .NewStateReason) -- \(.Message | fromjson | .StateChangeTime)" | |
} |
Problem: Advertising is hard, reaching the correct people with advertising is hard -- probably easier with Adwords than in the real world, but still hard --, and is getting harder as more money is spent on internet advertising. At the same time, ad blockers are quickly spreading and maybe will soon kill all the sources of advertising, bad for personal websites, bad for small companies using Adwords.
Solution: Think affiliate marketing. Now think manual advertising contracts (when a blogger or a podcaster explicitly recommends some website or local business in his writing/talking). This tool would combine these two to get some level of automation in the process. It would beat ad blockers, give a personal touch to the advertising and release companies and bloggers from the pain of manually contracting.
How would it work?
(Let's imagine this service is hosted at natural.com, which is obviously not true). Let's see an example. A blogger writes about the topic of fishing for beginner fishers. He has a lot of fi
var msnry = new Masonry( 'main > section > ul', { | |
columnWidth: 'li', | |
itemSelector: 'li', | |
percentPosition: true, | |
gutter: 0 | |
}) |
This is a no-brainer to get your single-post web page up and running. Just have to have Node and NPM installed. Styling is powered by 999.css.
Steps:
- Place the below
package.json
into an empty directory and enter this directory in your command line prompt. - Run
npm run scaffold
. - Edit
domain
,title
andauthor
in theconfig
section of yourpackage.json
. Thedomain
may be either a Surge subdomain or your own (please refer to the Surge docs). If you're going to host your page yourself, you may leavedomain
empty.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> | |
<html> | |
<head> | |
<meta http-equiv="content-type" content="text/html; charset=utf-8"> | |
<title></title> | |
<meta name="generator" content="LibreOffice 4.2.8.2 (Linux)"> | |
<meta name="created" content="0;0"> | |
<meta name="changed" content="0;0"> | |
<style type="text/css"> | |
<!-- |
\
A Bacante na Boca do Lixo \ \ \
\
A function that takes a URL string and returns it with
https
replaced byhttp
(all sites support http endpoints, only some support https);www.
removed (all sites should support naked domains);- ending slash
/
removed from path; - lowercased domain (but not path);
- querystring parameters removed, except those listed in the
allowed_params
table, which expects records like the following:
hostpath | param
body > header, body > aside { background-color: #2DB284 !important } |
Utils for embedding at http://websitesfortrello.com/ sites -- as templates to be filled by http://temperos.alhur.es/.