From 925d622875fad13194f5238c23a84bf91ace8258 Mon Sep 17 00:00:00 2001 From: Jeremy Kauffman Date: Sat, 16 Apr 2016 20:12:04 -0400 Subject: [PATCH 1/4] Some people, when confronted with a problem, think, I know, I'll implement my own CMS. Now they have two problems. --- controller/Controller.class.php | 6 +- controller/action/BlogActions.class.php | 25 +- controller/action/ContentActions.class.php | 5 +- {blog => model}/Blog.class.php | 9 +- {blog => model}/Post.class.php | 40 +++ view/View.class.php | 2 +- view/blog/home.php | 21 -- view/blog/post.php | 74 ------ {blog => view}/posts/01-the-lbry-opens.md | 0 .../02-as-reddit-burns-it-powers-the-world.md | 0 .../posts/03-5-questions-about-lbry.md | 0 .../posts/04-meet-the-lbry-founders.md | 0 .../posts/06-lbry-promo-video-raw-footage.md | 0 ...introducing-lbry-the-bitcoin-of-content.md | 0 .../posts/10-slides-from-media-demo.md | 0 ...-bitcoin-for-payments-of-taxes-and-fees.md | 0 .../12-why-not-use-bitcoin-a-dialogue.md | 0 ...e-joins-lbry-as-technology-evangelist-2.md | 0 ...osition-daily-decrypts-amanda-b-johnson.md | 0 ...a-joins-lbry-cryptoapp-as-legal-advisor.md | 0 {blog => view}/posts/16-digging-into-lbry.md | 0 ...rpi-hackers-meet-lbry-rcos-presentation.md | 0 ...-its-time-to-liberate-anne-franks-diary.md | 0 .../19-free-lbry-credits-come-and-get-em.md | 0 .../20-open-a-valve-to-gush-classic-movies.md | 0 ...-gmu-economist-alex-tabarrok-joins-lbry.md | 0 ...ing-content-in-an-age-of-centralization.md | 0 {blog => view}/posts/23-bravenewcoin.md | 0 .../posts/24-our-christmas-surprise.md | 0 .../25-huemer-joins-lbry-ethical-advisor.md | 0 ...on-now-hes-revolutionizing-the-internet.md | 0 ...ry-adds-chief-growth-officer-josh-finer.md | 0 ...ect-on-security-research-and-innovation.md | 0 ...s-answered-lbry-on-blocktalk-last-night.md | 0 .../posts/30-try-lbry-on-os-x-el-capitan.md | 0 {blog => view}/posts/31-annefrank2.md | 0 ...ns-lbry-ceo-on-lions-of-liberty-podcast.md | 0 {blog => view}/posts/33-zarghamjoins.md | 0 .../35-why-doesnt-lbry-just-use-bitcoin.md | 8 +- ...by-autists-lbry-takes-autism-personally.md | 2 +- view/posts/37-art.md | 236 ++++++++++++++++++ view/{ => template}/analytics/track.php | 0 view/template/blog/author.php | 12 + view/template/blog/index.php | 21 ++ view/template/blog/post.php | 49 ++++ view/{ => template}/fund/currentGoal.php | 0 view/{ => template}/fund/header.php | 0 view/{ => template}/get/alphaNotice.php | 0 view/{ => template}/get/feedback-prompt.php | 0 view/{ => template}/get/getSharedApp.php | 0 view/{ => template}/get/getSharedCli.php | 0 view/{ => template}/layout/basic.php | 2 +- view/{ => template}/mail/joinList.php | 0 view/{ => template}/nav/footer.php | 4 +- view/{ => template}/nav/globalItems.php | 4 +- view/{ => template}/nav/header.php | 4 +- view/{ => template}/nav/learnFooter.php | 20 +- view/{ => template}/page/404.php | 0 view/{ => template}/page/art.php | 2 +- view/{ => template}/page/feedback.php | 0 view/{ => template}/page/fund-after.php | 0 view/{ => template}/page/fund.php | 0 view/{ => template}/page/get.php | 0 view/{ => template}/page/goals.php | 0 view/{ => template}/page/home-new.php | 0 view/{ => template}/page/home.php | 0 view/{ => template}/page/join-list.php | 0 view/{ => template}/page/learn.php | 4 +- view/{ => template}/page/linux.php | 2 +- view/{ => template}/page/navframe.php | 0 view/{ => template}/page/osx.php | 0 view/{ => template}/page/publish.php | 0 view/{ => template}/page/team.php | 211 ++++++++-------- view/{ => template}/page/what.php | 5 +- view/{ => template}/page/why.php | 2 +- view/{ => template}/social/sidebar.php | 0 web/img/frontdesk.jpg | Bin 241384 -> 0 bytes web/img/{lbry_UI.png => lbry-ui.png} | Bin web/scss/_basic.scss | 48 ++-- web/scss/_blog.scss | 85 ++----- web/scss/_content.scss | 23 +- web/scss/_cover.scss | 16 +- web/scss/_global.scss | 34 ++- web/scss/_grid.scss | 9 +- web/scss/_header.scss | 2 +- web/scss/_hero.scss | 16 +- web/scss/_reset.scss | 5 + web/scss/_sale.scss | 1 + 88 files changed, 630 insertions(+), 379 deletions(-) rename {blog => model}/Blog.class.php (81%) rename {blog => model}/Post.class.php (52%) delete mode 100644 view/blog/home.php delete mode 100644 view/blog/post.php rename {blog => view}/posts/01-the-lbry-opens.md (100%) rename {blog => view}/posts/02-as-reddit-burns-it-powers-the-world.md (100%) rename {blog => view}/posts/03-5-questions-about-lbry.md (100%) rename {blog => view}/posts/04-meet-the-lbry-founders.md (100%) rename {blog => view}/posts/06-lbry-promo-video-raw-footage.md (100%) rename {blog => view}/posts/09-introducing-lbry-the-bitcoin-of-content.md (100%) rename {blog => view}/posts/10-slides-from-media-demo.md (100%) rename {blog => view}/posts/11-testimony-to-subcommittee-on-hb552-to-legalize-bitcoin-for-payments-of-taxes-and-fees.md (100%) rename {blog => view}/posts/12-why-not-use-bitcoin-a-dialogue.md (100%) rename {blog => view}/posts/13-mike-vine-joins-lbry-as-technology-evangelist-2.md (100%) rename {blog => view}/posts/14-lbry-gets-content-creators-out-of-precarious-position-daily-decrypts-amanda-b-johnson.md (100%) rename {blog => view}/posts/15-renowned-ip-attorney-kinsella-joins-lbry-cryptoapp-as-legal-advisor.md (100%) rename {blog => view}/posts/16-digging-into-lbry.md (100%) rename {blog => view}/posts/17-rpi-hackers-meet-lbry-rcos-presentation.md (100%) rename {blog => view}/posts/18-its-time-to-liberate-anne-franks-diary.md (100%) rename {blog => view}/posts/19-free-lbry-credits-come-and-get-em.md (100%) rename {blog => view}/posts/20-open-a-valve-to-gush-classic-movies.md (100%) rename {blog => view}/posts/21-gmu-economist-alex-tabarrok-joins-lbry.md (100%) rename {blog => view}/posts/22-building-the-web-3-0-decentralizing-content-in-an-age-of-centralization.md (100%) rename {blog => view}/posts/23-bravenewcoin.md (100%) rename {blog => view}/posts/24-our-christmas-surprise.md (100%) rename {blog => view}/posts/25-huemer-joins-lbry-ethical-advisor.md (100%) rename {blog => view}/posts/26-jack-robison-escaped-60-years-in-prison-now-hes-revolutionizing-the-internet.md (100%) rename {blog => view}/posts/27-lbry-adds-chief-growth-officer-josh-finer.md (100%) rename {blog => view}/posts/28-the-dmcas-chilling-effect-on-security-research-and-innovation.md (100%) rename {blog => view}/posts/29-lbry-app-sneak-peak-big-questions-answered-lbry-on-blocktalk-last-night.md (100%) rename {blog => view}/posts/30-try-lbry-on-os-x-el-capitan.md (100%) rename {blog => view}/posts/31-annefrank2.md (100%) rename {blog => view}/posts/32-if-lbry-succeeds-humanity-wins-lbry-ceo-on-lions-of-liberty-podcast.md (100%) rename {blog => view}/posts/33-zarghamjoins.md (100%) rename {blog => view}/posts/35-why-doesnt-lbry-just-use-bitcoin.md (95%) rename {blog => view}/posts/36-built-for-artists-by-autists-lbry-takes-autism-personally.md (94%) create mode 100644 view/posts/37-art.md rename view/{ => template}/analytics/track.php (100%) create mode 100644 view/template/blog/author.php create mode 100644 view/template/blog/index.php create mode 100644 view/template/blog/post.php rename view/{ => template}/fund/currentGoal.php (100%) rename view/{ => template}/fund/header.php (100%) rename view/{ => template}/get/alphaNotice.php (100%) rename view/{ => template}/get/feedback-prompt.php (100%) rename view/{ => template}/get/getSharedApp.php (100%) rename view/{ => template}/get/getSharedCli.php (100%) rename view/{ => template}/layout/basic.php (95%) rename view/{ => template}/mail/joinList.php (100%) rename view/{ => template}/nav/footer.php (92%) rename view/{ => template}/nav/globalItems.php (94%) rename view/{ => template}/nav/header.php (95%) rename view/{ => template}/nav/learnFooter.php (76%) rename view/{ => template}/page/404.php (100%) rename view/{ => template}/page/art.php (99%) rename view/{ => template}/page/feedback.php (100%) rename view/{ => template}/page/fund-after.php (100%) rename view/{ => template}/page/fund.php (100%) rename view/{ => template}/page/get.php (100%) rename view/{ => template}/page/goals.php (100%) rename view/{ => template}/page/home-new.php (100%) rename view/{ => template}/page/home.php (100%) rename view/{ => template}/page/join-list.php (100%) rename view/{ => template}/page/learn.php (95%) rename view/{ => template}/page/linux.php (93%) rename view/{ => template}/page/navframe.php (100%) rename view/{ => template}/page/osx.php (100%) rename view/{ => template}/page/publish.php (100%) rename view/{ => template}/page/team.php (53%) rename view/{ => template}/page/what.php (98%) rename view/{ => template}/page/why.php (100%) rename view/{ => template}/social/sidebar.php (100%) delete mode 100644 web/img/frontdesk.jpg rename web/img/{lbry_UI.png => lbry-ui.png} (100%) diff --git a/controller/Controller.class.php b/controller/Controller.class.php index 0e8ab0bc..e759a68b 100644 --- a/controller/Controller.class.php +++ b/controller/Controller.class.php @@ -58,9 +58,11 @@ class Controller case '/lbry-linux-latest.deb': return static::redirect('https://s3.amazonaws.com/files.lbry.io/linux/lbry_0.2.1_amd64.deb', 307); default: - if (preg_match('#^/blog($|/)#', $uri)) + $blogPattern = '#^/news(/|$)#'; + if (preg_match($blogPattern, $uri)) { - return BlogActions::execute($uri); + $slug = preg_replace($blogPattern, '', $uri); + return $slug ? BlogActions::executePost($slug) : BlogActions::executeIndex(); } $noSlashUri = ltrim($uri, '/'); if (View::exists('page/' . $noSlashUri)) diff --git a/controller/action/BlogActions.class.php b/controller/action/BlogActions.class.php index 10b9e3a6..c52f59f2 100644 --- a/controller/action/BlogActions.class.php +++ b/controller/action/BlogActions.class.php @@ -2,24 +2,16 @@ class BlogActions extends Actions { - public static function execute($uri) - { - $slug = preg_replace('#^/blog(/|$)#', '', $uri); - if ($slug) - { - return static::executePost($slug); - } - return static::executeHome(); - } - - public static function executeHome() + const URL_STEM = '/news'; + + public static function executeIndex() { $posts = Blog::getPosts(); usort($posts, function(Post $a, Post $b) { return strcasecmp($b->getDate()->format('Y-m-d'), $a->getDate()->format('Y-m-d')); }); $page = isset($_GET['page']) ? (int)$_GET['page'] : 1; - return ['blog/home', [ + return ['blog/index', [ 'posts' => $posts, 'page' => $page ]]; @@ -36,4 +28,13 @@ class BlogActions extends Actions 'post' => $post ]]; } + + public static function prepareAuthor(array $vars) + { + $post = $vars['post']; + return [ + 'authorName' => $post->getAuthorName(), + 'authorBioHtml' => $post->getAuthorBioHtml() + ]; + } } diff --git a/controller/action/ContentActions.class.php b/controller/action/ContentActions.class.php index 1bd56e82..424f0da6 100644 --- a/controller/action/ContentActions.class.php +++ b/controller/action/ContentActions.class.php @@ -17,12 +17,13 @@ class ContentActions extends Actions public static function executeGet() { - if (isset($_GET['email']) && $_GET['email'] && Session::get(Session::KEY_LIST_SUB_ERROR)) + $hasEmail = isset($_GET['email']) && $_GET['email']; + if ($hasEmail && Session::get(Session::KEY_LIST_SUB_ERROR)) { Controller::redirect('/get'); } return ['page/get', [ - 'isSubscribed' => $_GET['email'] || in_array(Mailchimp::LIST_GENERAL_ID, Session::get(Session::KEY_MAILCHIMP_LIST_IDS, [])) + 'isSubscribed' => $hasEmail || in_array(Mailchimp::LIST_GENERAL_ID, Session::get(Session::KEY_MAILCHIMP_LIST_IDS, [])) ]]; } // diff --git a/blog/Blog.class.php b/model/Blog.class.php similarity index 81% rename from blog/Blog.class.php rename to model/Blog.class.php index 39a7d64a..856bc327 100644 --- a/blog/Blog.class.php +++ b/model/Blog.class.php @@ -7,7 +7,7 @@ class Blog public static function getPosts() { $posts = []; - foreach(glob(ROOT_DIR.'/blog/posts/*.md') as $file) + foreach(static::getAllPostPaths() as $file) { $posts[] = Post::fromFile($file); } @@ -33,13 +33,18 @@ class Blog { if (!static::$slugMap) { - foreach(glob(ROOT_DIR.'/blog/posts/*.md') as $file) + foreach(static::getAllPostPaths() as $file) { static::$slugMap[static::getSlugFromFilename($file)] = $file; } } } + protected static function getAllPostPaths() + { + return glob(ROOT_DIR . '/view/posts/*.md'); + } + public static function getSlugMap() { static::initSlugMap(); diff --git a/blog/Post.class.php b/model/Post.class.php similarity index 52% rename from blog/Post.class.php rename to model/Post.class.php index 17d257a0..0ae94e25 100644 --- a/blog/Post.class.php +++ b/model/Post.class.php @@ -19,6 +19,11 @@ class Post $this->contentHtml = ParsedownExtra::instance()->text(trim($markdown)); } + public function getRelativeUrl() + { + return BlogActions::URL_STEM . '/' . $this->slug; + } + public function getSlug() { return $this->slug; @@ -57,4 +62,39 @@ class Post $key = array_search($this->getSlug(), $slugs); return $key === false || $key >= count($slugs)-1 ? null : Blog::getPost($slugs[$key+1]); } + + public function getAuthorName() + { + switch(strtolower($this->author)) + { + case 'jeremy': + return 'Jeremy Kauffman'; + case 'mike': + return 'Mike Vine'; + case 'jimmy': + return 'Jimmy Kiselak'; + case 'jack': + return 'Jack Robison'; + case 'lbry': + default: + return 'Samuel Bryan'; + } + } + + public function getAuthorBioHtml() + { + switch(strtolower($this->author)) + { + case 'jeremy': + return '

Jeremy is the creator of TopScore (usetopscore.com), LBRY (lbry.io), and that joke where the first two items in your list are serious while the third one is a run-on sentence.

'; + case 'mike': + case 'jimmy': + return '

' . $this->getAuthorName() . ' is one of the founding members of LBRY.

'; + case 'jack': + return '

Jack was one of the first people to discover LBRY and took to it so fast he may understand more about it than anyone. He has Asperger\'s Syndrome and is actively involved in the autism community.

'; + case 'lbry': + default: + return '

Much of our writing is a collaboration between LBRY team members, so we use SamueL BRYan to share credit. Sam has become a friend... an imaginary friend... even though we\'re adults...

'; + } + } } \ No newline at end of file diff --git a/view/View.class.php b/view/View.class.php index ded5068f..e315a0de 100644 --- a/view/View.class.php +++ b/view/View.class.php @@ -62,7 +62,7 @@ class View protected static function getFullPath($template) { - return ROOT_DIR . '/view/' . $template . '.php'; + return ROOT_DIR . '/view/template/' . $template . '.php'; } public static function imagePath($image) diff --git a/view/blog/home.php b/view/blog/home.php deleted file mode 100644 index ff8246ef..00000000 --- a/view/blog/home.php +++ /dev/null @@ -1,21 +0,0 @@ - - false]) ?> -
-
-
-
-

The Front Desk

-

News and musings from the LBRY team.

-
-
-
-
- -
- getTitle() ?> - getDate()->format('M j') ?> -
- -
-
- diff --git a/view/blog/post.php b/view/blog/post.php deleted file mode 100644 index ab1bd3e4..00000000 --- a/view/blog/post.php +++ /dev/null @@ -1,74 +0,0 @@ -getTitle()) ?> - -
- -
- << Return to LBRY Front Desk -
- -
-
- getDate()->format('M j') ?> -
-

getTitle()) ?>

- getContentHtml() ?> -
- - - -
-
- Author - getAuthor())): - case 'jeremy' ?> -

Jeremy Kauffman

-

- Jeremy is the creator of TopScore (usetopscore.com), LBRY (lbry.io), and that joke where the first two items in your list are serious while the third one is a run-on sentence. -

- - -

Mike Vine

- - -

Jimmy Kiselak

- - -

Jack Robison

-

- Jack was one of the first people to discover LBRY and took to it so fast he may understand more about it than anyone. He has Asperger's Syndrome and is actively involved in the autism community. -

- - -

Samuel Bryan

-

- Much of our writing is a collaboration between LBRY team members, so we use SamueL BRYan to share credit. Sam has become a friend... an imaginary friend... even though we're adults... -

- - -
-
- -
- diff --git a/blog/posts/01-the-lbry-opens.md b/view/posts/01-the-lbry-opens.md similarity index 100% rename from blog/posts/01-the-lbry-opens.md rename to view/posts/01-the-lbry-opens.md diff --git a/blog/posts/02-as-reddit-burns-it-powers-the-world.md b/view/posts/02-as-reddit-burns-it-powers-the-world.md similarity index 100% rename from blog/posts/02-as-reddit-burns-it-powers-the-world.md rename to view/posts/02-as-reddit-burns-it-powers-the-world.md diff --git a/blog/posts/03-5-questions-about-lbry.md b/view/posts/03-5-questions-about-lbry.md similarity index 100% rename from blog/posts/03-5-questions-about-lbry.md rename to view/posts/03-5-questions-about-lbry.md diff --git a/blog/posts/04-meet-the-lbry-founders.md b/view/posts/04-meet-the-lbry-founders.md similarity index 100% rename from blog/posts/04-meet-the-lbry-founders.md rename to view/posts/04-meet-the-lbry-founders.md diff --git a/blog/posts/06-lbry-promo-video-raw-footage.md b/view/posts/06-lbry-promo-video-raw-footage.md similarity index 100% rename from blog/posts/06-lbry-promo-video-raw-footage.md rename to view/posts/06-lbry-promo-video-raw-footage.md diff --git a/blog/posts/09-introducing-lbry-the-bitcoin-of-content.md b/view/posts/09-introducing-lbry-the-bitcoin-of-content.md similarity index 100% rename from blog/posts/09-introducing-lbry-the-bitcoin-of-content.md rename to view/posts/09-introducing-lbry-the-bitcoin-of-content.md diff --git a/blog/posts/10-slides-from-media-demo.md b/view/posts/10-slides-from-media-demo.md similarity index 100% rename from blog/posts/10-slides-from-media-demo.md rename to view/posts/10-slides-from-media-demo.md diff --git a/blog/posts/11-testimony-to-subcommittee-on-hb552-to-legalize-bitcoin-for-payments-of-taxes-and-fees.md b/view/posts/11-testimony-to-subcommittee-on-hb552-to-legalize-bitcoin-for-payments-of-taxes-and-fees.md similarity index 100% rename from blog/posts/11-testimony-to-subcommittee-on-hb552-to-legalize-bitcoin-for-payments-of-taxes-and-fees.md rename to view/posts/11-testimony-to-subcommittee-on-hb552-to-legalize-bitcoin-for-payments-of-taxes-and-fees.md diff --git a/blog/posts/12-why-not-use-bitcoin-a-dialogue.md b/view/posts/12-why-not-use-bitcoin-a-dialogue.md similarity index 100% rename from blog/posts/12-why-not-use-bitcoin-a-dialogue.md rename to view/posts/12-why-not-use-bitcoin-a-dialogue.md diff --git a/blog/posts/13-mike-vine-joins-lbry-as-technology-evangelist-2.md b/view/posts/13-mike-vine-joins-lbry-as-technology-evangelist-2.md similarity index 100% rename from blog/posts/13-mike-vine-joins-lbry-as-technology-evangelist-2.md rename to view/posts/13-mike-vine-joins-lbry-as-technology-evangelist-2.md diff --git a/blog/posts/14-lbry-gets-content-creators-out-of-precarious-position-daily-decrypts-amanda-b-johnson.md b/view/posts/14-lbry-gets-content-creators-out-of-precarious-position-daily-decrypts-amanda-b-johnson.md similarity index 100% rename from blog/posts/14-lbry-gets-content-creators-out-of-precarious-position-daily-decrypts-amanda-b-johnson.md rename to view/posts/14-lbry-gets-content-creators-out-of-precarious-position-daily-decrypts-amanda-b-johnson.md diff --git a/blog/posts/15-renowned-ip-attorney-kinsella-joins-lbry-cryptoapp-as-legal-advisor.md b/view/posts/15-renowned-ip-attorney-kinsella-joins-lbry-cryptoapp-as-legal-advisor.md similarity index 100% rename from blog/posts/15-renowned-ip-attorney-kinsella-joins-lbry-cryptoapp-as-legal-advisor.md rename to view/posts/15-renowned-ip-attorney-kinsella-joins-lbry-cryptoapp-as-legal-advisor.md diff --git a/blog/posts/16-digging-into-lbry.md b/view/posts/16-digging-into-lbry.md similarity index 100% rename from blog/posts/16-digging-into-lbry.md rename to view/posts/16-digging-into-lbry.md diff --git a/blog/posts/17-rpi-hackers-meet-lbry-rcos-presentation.md b/view/posts/17-rpi-hackers-meet-lbry-rcos-presentation.md similarity index 100% rename from blog/posts/17-rpi-hackers-meet-lbry-rcos-presentation.md rename to view/posts/17-rpi-hackers-meet-lbry-rcos-presentation.md diff --git a/blog/posts/18-its-time-to-liberate-anne-franks-diary.md b/view/posts/18-its-time-to-liberate-anne-franks-diary.md similarity index 100% rename from blog/posts/18-its-time-to-liberate-anne-franks-diary.md rename to view/posts/18-its-time-to-liberate-anne-franks-diary.md diff --git a/blog/posts/19-free-lbry-credits-come-and-get-em.md b/view/posts/19-free-lbry-credits-come-and-get-em.md similarity index 100% rename from blog/posts/19-free-lbry-credits-come-and-get-em.md rename to view/posts/19-free-lbry-credits-come-and-get-em.md diff --git a/blog/posts/20-open-a-valve-to-gush-classic-movies.md b/view/posts/20-open-a-valve-to-gush-classic-movies.md similarity index 100% rename from blog/posts/20-open-a-valve-to-gush-classic-movies.md rename to view/posts/20-open-a-valve-to-gush-classic-movies.md diff --git a/blog/posts/21-gmu-economist-alex-tabarrok-joins-lbry.md b/view/posts/21-gmu-economist-alex-tabarrok-joins-lbry.md similarity index 100% rename from blog/posts/21-gmu-economist-alex-tabarrok-joins-lbry.md rename to view/posts/21-gmu-economist-alex-tabarrok-joins-lbry.md diff --git a/blog/posts/22-building-the-web-3-0-decentralizing-content-in-an-age-of-centralization.md b/view/posts/22-building-the-web-3-0-decentralizing-content-in-an-age-of-centralization.md similarity index 100% rename from blog/posts/22-building-the-web-3-0-decentralizing-content-in-an-age-of-centralization.md rename to view/posts/22-building-the-web-3-0-decentralizing-content-in-an-age-of-centralization.md diff --git a/blog/posts/23-bravenewcoin.md b/view/posts/23-bravenewcoin.md similarity index 100% rename from blog/posts/23-bravenewcoin.md rename to view/posts/23-bravenewcoin.md diff --git a/blog/posts/24-our-christmas-surprise.md b/view/posts/24-our-christmas-surprise.md similarity index 100% rename from blog/posts/24-our-christmas-surprise.md rename to view/posts/24-our-christmas-surprise.md diff --git a/blog/posts/25-huemer-joins-lbry-ethical-advisor.md b/view/posts/25-huemer-joins-lbry-ethical-advisor.md similarity index 100% rename from blog/posts/25-huemer-joins-lbry-ethical-advisor.md rename to view/posts/25-huemer-joins-lbry-ethical-advisor.md diff --git a/blog/posts/26-jack-robison-escaped-60-years-in-prison-now-hes-revolutionizing-the-internet.md b/view/posts/26-jack-robison-escaped-60-years-in-prison-now-hes-revolutionizing-the-internet.md similarity index 100% rename from blog/posts/26-jack-robison-escaped-60-years-in-prison-now-hes-revolutionizing-the-internet.md rename to view/posts/26-jack-robison-escaped-60-years-in-prison-now-hes-revolutionizing-the-internet.md diff --git a/blog/posts/27-lbry-adds-chief-growth-officer-josh-finer.md b/view/posts/27-lbry-adds-chief-growth-officer-josh-finer.md similarity index 100% rename from blog/posts/27-lbry-adds-chief-growth-officer-josh-finer.md rename to view/posts/27-lbry-adds-chief-growth-officer-josh-finer.md diff --git a/blog/posts/28-the-dmcas-chilling-effect-on-security-research-and-innovation.md b/view/posts/28-the-dmcas-chilling-effect-on-security-research-and-innovation.md similarity index 100% rename from blog/posts/28-the-dmcas-chilling-effect-on-security-research-and-innovation.md rename to view/posts/28-the-dmcas-chilling-effect-on-security-research-and-innovation.md diff --git a/blog/posts/29-lbry-app-sneak-peak-big-questions-answered-lbry-on-blocktalk-last-night.md b/view/posts/29-lbry-app-sneak-peak-big-questions-answered-lbry-on-blocktalk-last-night.md similarity index 100% rename from blog/posts/29-lbry-app-sneak-peak-big-questions-answered-lbry-on-blocktalk-last-night.md rename to view/posts/29-lbry-app-sneak-peak-big-questions-answered-lbry-on-blocktalk-last-night.md diff --git a/blog/posts/30-try-lbry-on-os-x-el-capitan.md b/view/posts/30-try-lbry-on-os-x-el-capitan.md similarity index 100% rename from blog/posts/30-try-lbry-on-os-x-el-capitan.md rename to view/posts/30-try-lbry-on-os-x-el-capitan.md diff --git a/blog/posts/31-annefrank2.md b/view/posts/31-annefrank2.md similarity index 100% rename from blog/posts/31-annefrank2.md rename to view/posts/31-annefrank2.md diff --git a/blog/posts/32-if-lbry-succeeds-humanity-wins-lbry-ceo-on-lions-of-liberty-podcast.md b/view/posts/32-if-lbry-succeeds-humanity-wins-lbry-ceo-on-lions-of-liberty-podcast.md similarity index 100% rename from blog/posts/32-if-lbry-succeeds-humanity-wins-lbry-ceo-on-lions-of-liberty-podcast.md rename to view/posts/32-if-lbry-succeeds-humanity-wins-lbry-ceo-on-lions-of-liberty-podcast.md diff --git a/blog/posts/33-zarghamjoins.md b/view/posts/33-zarghamjoins.md similarity index 100% rename from blog/posts/33-zarghamjoins.md rename to view/posts/33-zarghamjoins.md diff --git a/blog/posts/35-why-doesnt-lbry-just-use-bitcoin.md b/view/posts/35-why-doesnt-lbry-just-use-bitcoin.md similarity index 95% rename from blog/posts/35-why-doesnt-lbry-just-use-bitcoin.md rename to view/posts/35-why-doesnt-lbry-just-use-bitcoin.md index d387f2fe..c422e37b 100644 --- a/blog/posts/35-why-doesnt-lbry-just-use-bitcoin.md +++ b/view/posts/35-why-doesnt-lbry-just-use-bitcoin.md @@ -10,7 +10,7 @@ Perhaps the most-asked question we receive is: Why have you created LBC, rather There are three important reasons why we must use LBC instead of Bitcoin. Some of it is highly technical, so please bear with us as we attempt to translate into plain English. -**Reason #1 – Using LBC instead of Bitcoin makes verifying content ownership possible for lightweight clients.** +### Reason #1 – Using LBC instead of Bitcoin makes verifying content ownership possible for lightweight clients. In blockchain-based systems, data (in the case of Bitcoin, transactions) are grouped into multiple packages called blocks. These blocks are “chained” one after another to form the public ledger known as the blockchain. Each block starts with a block header, a comparatively tiny piece of data, which has some metadata about the block such as the time it was mined and a reference to the block that came before it. That metadata also includes a cryptographic value which can be used to prove to someone who doesn’t have (or want) the whole block, but has all of the block headers, that a given transaction was included in that block and therefore into the blockchain. This is used by so-called *lightweight clients*, which make it possible for people to use bitcoin on devices that wouldn’t be able to handle the full blockchain, like web browsers and smartphones. @@ -18,7 +18,7 @@ LBC block headers contain an additional piece of information: a value which can This is necessary for LBRY because unlike systems built on Bitcoin or other existing altcoins, LBRY’s naming system assigns ownership over content through an ongoing auction. Whoever pledges the most credits against a name holds it, subject to a defined window for a counter-bid. These bids are stored in a special tree-shaped data structure on the hard drives of all miners. Whenever the winning bid for a name changes, that change has an effect which spreads all the way up the tree and into the special piece of information stored in LBC block headers. -**Reason #2 – LBRY could easily overwhelm the maximum transaction volume allowed by Bitcoin.** +### Reason #2 – LBRY could easily overwhelm the maximum transaction volume allowed by Bitcoin. LBRY intends to thrive on microtransactions that are looking increasingly implausible with Bitcoin. By now, everyone interested in cryptocurrency is all-too-intimately familiar with the limitations of Bitcoin’s current block size. Currently, Bitcoin has a limit of one megabyte of data per block. If enough transactions happen over the network that the one-megabyte limit is reached, all additional transactions are considerably delayed. That’s why we’re currently seeing reports of transaction times in the high double-digits. @@ -26,7 +26,7 @@ The problem is a double bind. If the block size stays low, then transactions gri If LBRY starts growing exponentially, we don’t want to worry about contributing to the delinquency of the Bitcoin blockchain by overwhelming it with microtransactions. And in the immediate future, we don’t want to see payments to artists eaten up by Bitcoin’s rising fees. -**Reason #3 - Decentralization and independence are good for progress.** +### Reason #3 - Decentralization and independence are good for progress. One of the main draws of Bitcoin has always been its relative decentralization of control and independence from existing legal and financial systems. Similarly, using LBC as an “appcoin” gives LBRY some healthy autonomy from Bitcoin while allowing for the technical innovations explained above. @@ -36,7 +36,7 @@ In the early days of our protocol, LBRY Inc. will be making a concerted effort t Bitcoin was created as a grand experiment to demonstrate blockchain technology and liberate the world from legacy banking, but it couldn’t possibly have been designed to be all things to all applications. We believe our appcoin is the best tool to succeed at our mission of putting every film, song, book, and game ever made onto a blockchain – without trying to displace Bitcoin as a global currency. -**Wait! This is also relevant to your interests:** +### Wait! This is also relevant to your interests Converting from fiat money to cryptocash is hard. But converting between cryptos is super-easy, especially since the launch of [ShapeShift.io](http://www.shapeshift.io/). So LBRYians can earn LBC and quickly convert it to BTC to save or spend. And Bitcoiners can easily convert a bit of their holdings to LBC to get great content on the LBRY network. diff --git a/blog/posts/36-built-for-artists-by-autists-lbry-takes-autism-personally.md b/view/posts/36-built-for-artists-by-autists-lbry-takes-autism-personally.md similarity index 94% rename from blog/posts/36-built-for-artists-by-autists-lbry-takes-autism-personally.md rename to view/posts/36-built-for-artists-by-autists-lbry-takes-autism-personally.md index 7cff3663..0a3e8717 100644 --- a/blog/posts/36-built-for-artists-by-autists-lbry-takes-autism-personally.md +++ b/view/posts/36-built-for-artists-by-autists-lbry-takes-autism-personally.md @@ -6,7 +6,7 @@ date: '2016-03-21 20:06:18' Understanding autism is personal for us. -Built for Artists by Autists: LBRY Takes Autism Personally +![Built for Artists by Autists: LBRY Takes Autism Personally](http://i.imgur.com/gDip22e.jpg) A recent New York Times [op-ed](http://well.blogs.nytimes.com/2016/03/18/an-experimental-autism-treatment-cost-me-my-marriage/) by John Elder Robison tells the story of his life before and after taking part in a groundbreaking experiment into using an innovative electromagnetic therapy to perhaps remediate a core disability of autism. Robison, who is on the autism spectrum had a successful career and family life, but nevertheless faced personal challenges and decided to try TMS, or transcranial magnetic stimulation, to gain greater insight into the emotional cues and nonverbal communications of other people. Researchers hoped to gain better insight into how TMS might help address these challenges. Robison hopes these insights will one day form the basis of therapies, and he himself experienced great rewards - even from this early stage experiment. The treatment granted him the ability to better read and feel emotions, but it was quite a ride. His marriage fell apart, and many of his personal relationships became strained for years. Conversely, with new eyes, he formed many new relationships, he re-married, and many others relationships grew stronger. diff --git a/view/posts/37-art.md b/view/posts/37-art.md new file mode 100644 index 00000000..e14c56cc --- /dev/null +++ b/view/posts/37-art.md @@ -0,0 +1,236 @@ +--- +author: jeremy, zargham, jack +title: Art in the Internet Age +date: '2016-03-21 20:06:18' +cover: /img/altamira-bison.jpg +--- + +## Introduction + +In 34,000 B.C., there were cave paintings. And that’s it. When you came home from a sweltering August day of foraging along the Vézère river, the only form of non-live art or entertainment available was something like the above buffalo. + +Today, we live in a world of near infinite choices. This is true not just for art but for all kinds of things (like potato chips). Since the era of cave art, humanity has incessantly and progressively trended towards interconnected, more efficient, and increasingly transparent markets. This undercurrent of connectedness and openness has affected everything human beings produce. + +Nerds like us like to speculate about the end-game of this trend with others on the internet. What will society be like when we have a "Star Trek"-like capacity to instantly and freely replicate anything that exists? The term for this society is _post-scarcity_[1](#note-post-scarcity). + +Generally, post-scarcity is regarded as fantastical; something that will never happen in our lifetimes. Except for one area: digital goods. + +Art in the internet age is infinitely reproducible and easily shared. This is a sea change from any prior time in history. Previously, vinyl records captured audio in physical grooves; tapes captured data on magnetic strips; compact disks held digital files read by lasers—in each of these cases physical, medium-specific hardware is required to both produce and recover the bits of data that made up the digital content. + +Today art is just data, a string of 1s and 0s, a _number_, and we no longer need any specialized hardware to decode and enjoy digital content. We use the same technological methods to access a personal photograph a single time as we do to watch a blockbuster on Netflix. + +This is a big step forward from the past. As production costs fall to zero, choices go up. Digital distributors provide virtually every song, film, photo or book for purchase and download to any internet enabled device. Technology has decreased the cost of production, too -- it has never been easier for aspirant artists to achieve a following through self-publishing. + +The digitization of art has added a lot of value to both content creators and consumers, reducing costs and increasing choice. This transition is still in its infancy. With LBRY, we’re going to make it a little more mature. + + + +## A People’s Marketplace + +LBRY is the first digital marketplace to be controlled by the market’s participants rather than a corporation or other 3rd-party. It is the most open, fair, and efficient marketplace for digital goods ever created, with an incentive design encouraging it to become the most complete. + +At the highest level, LBRY does something extraordinarily simple. LBRY creates an association between a unique name and a piece of digital content, such as a movie, book, or game. This is similar to the domain name system that you are most likely using to access this very post. + +
![](/img/lbry-ui.png) + +
A user searches and prepares to stream and the film _It’s a Wonderful Life_, located at [lbry://wonderfullife](lbry://wonderfullife), via a completely decentralized network. Try it out for yourself at [lbry.io/get](http://lbry.io/get).
+ +
+ +However, LBRY does this not through a proprietary service or network, but as a _protocol_, or a method of doing things, much like HTTP, DNS and other specifications that make up the internet itself. Just as many different domains owned by many different companies all speak a shared language, so too can any person or company speak LBRY. No special access or permission is needed. + +LBRY differs from the status quo in three big ways: + +1. **Coupled payment and access**. If desired, the person who publishes to [lbry://wonderfullife](lbry://wonderfullife) can charge a fee to users that view the content. +2. **Decentralized and distributed**. Content published to LBRY is not specific to one computer or network. No one party, including us, can unilaterally remove or block content on the LBRY network. (If it worries you that LBRY could facilitate unsavory content, this is discussed in its own section.) +3. **Domain names are controlled via ongoing auction**. This facilitates names being controlled by the publishers that value them most. These transactions take place via an electronic currency called LBRY credits, or _LBC_. This is covered in more detail, below. + +While creating a protocol that we ourselves cannot control sounds chaotic, it is actually about establishing trust. Every other publishing system requires trusting an intermediary that can unilaterally change the rules on you. What happens when you build your business on YouTube or Amazon and they change fees? Or Apple drops your content because the Premier of China thought your comedy went to far? + +Only LBRY consists of a known, promised set of rules that no one can unilaterally change. LBRY provides this by doing something unique: leaving the _users_ in control rather than demanding that control for itself. + +## A Sample Use + +Let’s look at a sample use of LBRY, Ernest releasing a film on LBRY that is later purchased and viewed by Hilary. + +1. Ernest wants to release his comedy-horror film, _Ernie Goes To Guantanamo Bay_. +2. The content is encrypted and sliced into many pieces. These pieces are stored by hosts. +3. Ernest reserves [lbry://erniebythebay](lbry://erniebythebay), a name pointing to his content. +4. When Ernest reserves the location, he also submits metadata, such as a description and thumbnail. +5. Hillary, a user, browses the LBRY network and decides she wants to watch the film. +6. Hillary issues a payment to Ernest for the decryption key, allowing her to watch the film. +7. Hillary’s LBRY client collects the pieces from the hosts and reassembles them, using the key to decrypt the pieces (if necessary). This is transparent to Hillary, the film streams within a few seconds after purchase. + +This is a lot like an interaction that can happen on many different sites on the web, except that this one happens via a network that is completely decentralized. The data and technology that makes the entire interaction possible is not reliant on nor controlled by any single entity (as it would be via YouTube, Amazon, etc.). + +## The LBRY Network + +To understand precisely what LBRY is and why it matters, one must understand both LBRY as a protocol and the services the protocol enables. HTTP is the protocol that makes web browsing possible, but it would be of little interest without the service of a web browser! + +To understand LBRY, think of LBRY in terms of two layers: _protocol_ and _service._ The protocol provides a fundamental, underlying technological capability. The service layer utilizes the protocol to do something that a human being would actually find useful. + +For a user using LBRY at the service level, the magic of what the LBRY protocol does will be largely transparent, much as a typical internet user sees nothing of how HTTP works. Via a LBRY application, a user will be able to open a familiar interface to quickly and easily discover and purchase a piece of digital content published by anyone in the world. + +However, such an application would not be possible without the LBRY the underlying layer, the LBRY protocol. + +### Layer 1: Protocol + +While the protocol is one comprehensive set of rules, it is easier to understand as two parts. + +#### Part A: The LBRY Blockchain + +A _blockchain_, or _distributed ledger_ is the key innovation behind the Bitcoin network. Blockchains solved the very complicated technological problem of having a bunch of distributed, disparate entities all agree on a rivalrous state of affairs (like how much money they owe each other). + +Like Bitcoin, the LBRY blockchain maintain balances -- in this case, balances of _LBC_, LBRY’s unit of credit. More importantly, the LBRY blockchain also provides a decentralized lookup and metadata storage system. The LBRY blockchain supports a specific set of commands that allows anyone to bid (in LBC) to control a LBRY _name_, which is a lot like a domain name. Whoever controls a name gets to describe what it contains, what it costs to access, who to pay, and where to find it. These names are sold in a continuous running auction. We will talk more about this system a little later on. + +If you’re a programmer, you might recognize the LBRY blockchain as a _key-value store_. Each key, or name, corresponds to a value, or a metadata entry. Whichever party or parties bid the most LBC gets to control the metadata returned by a key lookup. + +Here is a sample key-value entry in the LBRY blockchain. Here, wonderfullife is the key, and the rest of the description is the value. + +
` + +
    wonderfullife : {
+      title: "It’s a Wonderful Life",
+      description: "An angel helps a compassionate but despairingly frustrated businessman by showing what life would have been like if he never existed.",
+      thumbnail: "http://i.imgur.com/MW45x88.jpg",
+      license: "public domain",
+      price: 0, //free!
+      publisher: "A Fan Of George Bailey", //simplification
+      sources: { //extensible, variable list
+        lbry_hash : ,
+        url : 
+      }
+    }
+ +`
+ +
+ +A slightly simplified sample entry of metadata in the LBRY blockchain. Whichever party or parties bid the most in an ongoing auction control what a name returns. + +
+ +Other than the usage of the LBRY blockchain to store names and metadata, there are only minor differences between the blockchains of LBRY and Bitcoin, and the changes are generally consensus improvements. We’ve buffed the hashing algorithm, smoothed the block reward function, increased the block size, increased the total number of credits, and prepared for offchain settlement. + +The LBRY blockchain simply maintains LBC balances and a content namespace/catalogue. The next part, LBRYnet, specifies what to do with this data. To compare to the existing web, the blockchain is like the domain system (it maintains a listing of what is available), while the next piece makes it possible to actually fetch and pay for content. + + + +#### Part B: The Data Network (LBRYNet) + +LBRYNet is the layer that makes the LBRY blockchain useful beyond a simple payment system. It says what to do with the information available in the LBRY blockchain, how to issue payments, how to look up a content identifier, and so on. + +To use the LBRY network, a user’s computer needs the capacity to speak LBRY. That layer is LBRYNet. Just as your computer has a library that enables it to understand HTTP, DNS, and other languages and protocols, LBRYNet is the piece of software that allows your computer to understand how to interact with the LBRY network. + +To understand what role LBRYNet plays, let’s drill a little more into a sample user interaction. Once a user has affirmed access and purchase, such as in step 5 of our Sample Use above, the following happens: + +1. LBRYNet issues a lookup for the name associated with the content. If the client does not have a local copy of the blockchain, this lookup is broadcast to miners or to a service provider. This lookup acquires the metadata associated with the name. +2. LBRYNet issues any required payments, as instructed by metadata entries. + 1. If the content is set to free, nothing happens here. + 2. If the content is set to have a price in LBC, the client must issue a payment in LBC to the specified address. If the content is published encrypted, LBRYNet will not allow access until this payment has been issued. + 3. If the content is set to have another payment method, the seller must run or use a service that provides a private server enforcing payment and provisioning accessing keys. +3. Simultaneous to #2, LBRYNet uses the metadata to download the content itself. + 1. The metadata allows chunks to be discovered and assembled in a BitTorrent-like fashion. However, unlike BitTorrent, chunks do not individually identify themselves as part of a greater whole. Chunks are just arbitrary pieces of data. + 2. If LBRYNet cannot find nodes offering chunks for free, it will offer payments for chunks to other hosts with those chunks. + 3. This payment is not done via proof-of-bandwidth, or third-party escrow. Instead, LBRYNet uses reputation, trust, and small initial payments to ensure reliable hosts. + 4. If content is not published directly to LBRY, the metadata can instruct other access methods, such as a Netflix URL. This allows us to catalogue content not yet available on LBRY as well as offer legacy and extensibility purposes. + +### Layer 2: Services + +Services are what actually make the LBRY protocol _useful._ While the LBRY protocol determines what is possible, it is the services that actually do things. + +While the protocol is determined, open, and fixed, the service layer is much more flexible. It is far easier to redesign a website than it is to revise the HTTP protocol itself. The same is true here. + +Additionally, just as in the early days of the internet the later direction of web would have been unfathomable, so too may the best uses of LBRY’s namespace or technology be undiscovered. However, here are some clear uses. + +#### Applications and Devices + +A LBRY application is how a user would actually have meaningful interactions with the LBRY network. A LBRY client packages the power of the LBRY protocol into a simple application that allows the user to simply search for content, pay for it when necessary, download and enjoy. + +Additionally, a LBRY client can allow users to passively participate in the network, allowing them to automatically earn rewards in exchange for contributing bandwidth, disk space, or processing power to the overall network. + +Applications beyond a traditional computer based browser are possible as well. A LBRY television dongle, a LBRY radio, and any number of existing content access mechanisms can be implemented via an analogous LBRY device. + +#### Content Discovery + +Although the namespace provided by the LBRY protocol is helpful towards discovery, much as the web would be much less useful without search engines or aggregators, LBRY needs it’s own discovery mechanisms. + +Search features can be constructed from the catalogue of metadata provided in the blockchain as well as the content transaction history available in the blockchain or observed on the network. All of this data, along with user history, allows for the creation of content recommendation engines and advanced search features. + +Discovery on LBRY can also take the form of featured content. Clients can utilize featured content to provide additional visibility for new content that consumers might not otherwise be looking for. + +#### Content Distribution + +Digital content distributors with server-client models are subject to the whims of internet service providers and hostile foreign governments. Traffic from the host servers can be throttled or halted altogether if the owners of cables and routers so choose. However, in case of the LBRY protocol content comes from anywhere and everywhere, and is therefore not so easily stifled. + +Additionally, the market mechanisms of LBRY create a strong incentive for efficient distribution, which will save the costs of producers and ISPs alike. These properties, along with LBRY’s infringement disincentivizing properties, make LBRY an appealing technology for large existing data or content distributors. + +#### Transaction Settlement + +While payments can be issued directly on the LBRY blockchain, the LBRY protocol encourages a volume of transactions that will not scale without usage of offchain settlement. + +Essentially, rather than issue a transaction to the core blockchain, transactions are issued to a 3rd-party provider. These providers have a substantial number of coins which are used to maintain balances internally and settle a smaller number of transactions to the core chain. In exchange, these providers earn a small fee, less than the fee required to issue the transaction directly to the blockchain. + +## LBRY Credits + +LBRY Credits, or _LBC_, are the unit of account for LBRY. Eventually 1,000,000,000 LBC will exist, according to a defined schedule over 20 years. The schedule decays exponentially, with around 100,000,000 in the first year. + +Additionally, some credits are awarded on a fixed basis. The total break down looks like this: + +* 10% are used to peg LBC to Bitcoin, likely via a sidechain. This will allow LBRY to leverage the security of the Bitcoin blockchain, and incentive adoption from Bitcoin users. +* 10% for organizations, charities, and other strategic partners. Organizations the EFF, ACLU, and others that have fought for digital rights and the security and freedom of the internet. +* 10% for adoption programs. We’ll be giving out lots of bonus credits, especially in the early days of LBRY, in order to encourage participation. We will also look to award credits broadly, ensuring the marketplace is egalitarian. +* 10% for us. For operational costs as well as profit. +* 60% earned by LBRY users, via mining the LBRY cryptocurrency. + +## More on Naming + +LBRY names are one of the most unique aspects of LBRY and one that we believe will play a big role in helping it succeed. + +Control of a LBRY name is awarded via a _continuous running auction_ in LBC. Bids are entered into a _trustless escrow_, marking the credits as unspendable, but leaving them intact. When a user looks up a name, the name resolves to the largest bid made by a party or parties. The ability for any number of people to have a say in where a name resolves is part of what makes LBRY a system controlled by its users. As the credits are distributed primarily among users and producers, it is community itself that has ultimate controls over the catalogue of what is available. + +Additionally, bids can also be retracted at any time, even if you’re the current winning bidder. To prevent a name from rapidly switching between multiple resolutions, the parties that have existing control of a name have a reasonable period of time to respond to counter bids before a name’s resolution switches. + +It’s possible this system sounds like chaos to you, but we’re betting on a Nobel-prize winning result that predicts the opposite. Economist Ronald Coase theorized that in a system with low transaction cost and clear rules, property will be held by those who value it the most. Since LBRY names are the equivalent to content storefronts, we believe that LBRY names will hold the most value to rightsholders who produce content associated with a given name. + +As names in demand on LBRY will be more expensive, the names themselves will also serve as a signal of reputation, legitimacy, and quality. If a user searches LBRY for _Spider Man_ and sees one at lbry://spiderman and one at lbry://spiderman_russhaxor, there will be little doubt that the latter is less legitimate. + + + +## Combatting The Ugly + +As neither naïfs nor knaves, we acknowledge that LBRY can be used for bad ends. Technology is frequently this way. Encryption protects our privacy -- as well as that of terrorists. Cars allow us to travel marvelous distances -- and kill millions per year. + +The downside to LBRY is that it can be used to exchange illegal content. However, several factors of LBRY make illicit usage less likely than it may seem at first consideration. On the whole, as with the car and encryption, the benefits of LBRY clearly outway nefarious uses. + +To evaluate a technology’s effect, we must consider where it moves us from the current state of affairs, not judge against a Platonic ideal or past eta. In assessing LBRY, we must compare it to a world in which BitTorrent already exists and is quite popular, not the 1950s. LBRY is an improvement over BitTorrent in combatting unsavory content in at least five ways: + +1. **More records.** LBRY contains a public ledger of transactions recording name purchases and content publishings. As many purchases make it onto the ledger as well, this means infringing actions are frequently recorded _forever,_ or are at a minimum widely observable. +2. **Unilateral removal.** The LBRY naming system allows for quick, unilateral acquisition of infringing URIs. Once a BitTorrent magnet hash is in the wild, there is no mechanism to update or alter its resolution whatsoever. If a LBRY name is pointing to infringing content, it can be seized according to clear rules. +3. **Blacklists**. LBRY will publish and maintain a blacklist of infringing names. All clients we release and all legal clients will have to follow our blacklist, or one like it, or face substantial penalties. Especially because… +4. **Stiffer penalties.** Penalties for profiting off of infringement are far stronger and involve can involve jail time, while infringement without profit only results in statutory damages. This serves as a far stronger deterrent for all infringing uses than BitTorrent provides. +5. **Expensive or impossible.** Offchain settlement will be a requirement for efficient purchases at any significant network size. Settlement providers, ourselves included, will be able to block purchases for infringing content. At significant traffic volume, if infringing content can’t be outright removed or blocked, transaction fees will make it prohibitively expensive. + +And of course, let’s not forget that LBRY users are still subject to the DMCA and other laws governing intellectual property. Users who publishing infringing content are still subject to penalties for doing so in exactly the same way they would be via BitTorrent. LBRY only adds to the suite of options available. This makes LBRY a strict improvement over BitTorrent with regards to illegal usages, which provides none of the mechanisms listed. + +## Our Values + +We want to be the first digital content marketplace to: + +1. **Treat users like adults** LBRY doesn’t play nanny. It encourages individual people to express their own preferences, rather than force our own onto them. We enable consumers to make their own choices about where and who they want to purchase digital content from. +2. **Operate openly, inclusively, and transparently** Anyone can publish or interact with the LBRY network. No one needs permission from us or anyone else. LBRY encourages all parties to participate in the network, rather than the creation of walled gardens. LBRY is a completely open specification and all code is open source. +3. **Prove decentralization doesn’t mean infringement** Existing decentralized publishing protocols offer no way for rightsholders to combat or capture profits from illegally shared content. LBRY’s service layer, blacklisting mechanisms, and naming system all improve the status quo. +4. **Acknowledge modern digital realities and ethical norms** Prohibition has failed at every turn and in every iteration. Regulating human behavior only works when it aligns with moral norms that are shared by the majority of the population. If it is impossible to keep drugs out of prisons, it will never be possible to enforce copyright via analogous tactics on the infinitely less-controlled internet. Instead, focus on enticement. While legal compliance is paramount, concentrate as much as possible on making a system that relies more on giving people no excuse to do the wrong thing. +5. **Collect no rent**. Whatever an artist or creator charges for their work should go to them. Distributing bits is exceedingly simple. There’s no need to give 45% to YouTube or 30% to Apple. Collecting no rent isn’t just a promise, it’s hard coded. The nature of LBRY means this could never be done -- by us or anyone else. + +## TL;DR + +Digital art is one of the first goods to evolve beyond scarcity. This evolution is changing the way content is discovered, publicized, paid for and delivered. Heretofore, the lack of transparency and monetization mechanisms in peer-to-peer sharing networks has largely enabled piracy. By equipping a peer-to-peer protocol with a digital currency and transparent decentralized ledger, the LBRY protocol opens the door to a new era of digital content distribution making peer-to-peer content distribution suitable for major publishing housing, self-publishers and everyone in between. + +If LBRY succeeds, we will enter a world that is even more creative, connected, and conservatory. We will waste less and we make more. We will create a world where a teenager in Kenya and a reality star in Los Angeles use the same tool to search the same network and have access to the same results -- a world where information, knowledge, and imagination know no borders. + +Build our dream with us. Download LBRY at [lbry.io/get](https://lbry.io/get). \ No newline at end of file diff --git a/view/analytics/track.php b/view/template/analytics/track.php similarity index 100% rename from view/analytics/track.php rename to view/template/analytics/track.php diff --git a/view/template/blog/author.php b/view/template/blog/author.php new file mode 100644 index 00000000..c1eb24ae --- /dev/null +++ b/view/template/blog/author.php @@ -0,0 +1,12 @@ +
+
+
+
(photo)
+
+
Author
+

+ +
+
+
+
diff --git a/view/template/blog/index.php b/view/template/blog/index.php new file mode 100644 index 00000000..93e00b76 --- /dev/null +++ b/view/template/blog/index.php @@ -0,0 +1,21 @@ + + false]) ?> +
+
+
+
+

The Front Desk

+

News and musings from the LBRY team.

+
+
+
+
+ +
+

getTitle() ?>

+
getDate()->format('M j, Y') ?>
+
+ +
> +
+ diff --git a/view/template/blog/post.php b/view/template/blog/post.php new file mode 100644 index 00000000..638b67bc --- /dev/null +++ b/view/template/blog/post.php @@ -0,0 +1,49 @@ +getTitle()) ?> + +
+
+

getTitle()) ?>

+
+
+
getAuthorName() ?>
+
getDate()->format('M j') ?>
+
+
+
+ getContentHtml() ?> +
+
+ + + + $post + ]) ?> + +
+ diff --git a/view/fund/currentGoal.php b/view/template/fund/currentGoal.php similarity index 100% rename from view/fund/currentGoal.php rename to view/template/fund/currentGoal.php diff --git a/view/fund/header.php b/view/template/fund/header.php similarity index 100% rename from view/fund/header.php rename to view/template/fund/header.php diff --git a/view/get/alphaNotice.php b/view/template/get/alphaNotice.php similarity index 100% rename from view/get/alphaNotice.php rename to view/template/get/alphaNotice.php diff --git a/view/get/feedback-prompt.php b/view/template/get/feedback-prompt.php similarity index 100% rename from view/get/feedback-prompt.php rename to view/template/get/feedback-prompt.php diff --git a/view/get/getSharedApp.php b/view/template/get/getSharedApp.php similarity index 100% rename from view/get/getSharedApp.php rename to view/template/get/getSharedApp.php diff --git a/view/get/getSharedCli.php b/view/template/get/getSharedCli.php similarity index 100% rename from view/get/getSharedCli.php rename to view/template/get/getSharedCli.php diff --git a/view/layout/basic.php b/view/template/layout/basic.php similarity index 95% rename from view/layout/basic.php rename to view/template/layout/basic.php index 31ea2cb2..2d4acf90 100644 --- a/view/layout/basic.php +++ b/view/template/layout/basic.php @@ -12,7 +12,7 @@ 'LBRY' ?> <?php echo $title ?> - + diff --git a/view/mail/joinList.php b/view/template/mail/joinList.php similarity index 100% rename from view/mail/joinList.php rename to view/template/mail/joinList.php diff --git a/view/nav/footer.php b/view/template/nav/footer.php similarity index 92% rename from view/nav/footer.php rename to view/template/nav/footer.php index c7cfd750..b22ea101 100644 --- a/view/nav/footer.php +++ b/view/template/nav/footer.php @@ -2,7 +2,7 @@ diff --git a/view/nav/globalItems.php b/view/template/nav/globalItems.php similarity index 94% rename from view/nav/globalItems.php rename to view/template/nav/globalItems.php index 7a99eecf..340f2032 100644 --- a/view/nav/globalItems.php +++ b/view/template/nav/globalItems.php @@ -1,7 +1,7 @@ __('Fund'), '/get' => __('Get'), - 'https://blog.lbry.io' => __('News'), + '/news' => __('News'), '/learn' => __('Learn') ] as $url => $label): ?>
@@ -16,4 +16,4 @@
Reddit -
+ \ No newline at end of file diff --git a/view/nav/header.php b/view/template/nav/header.php similarity index 95% rename from view/nav/header.php rename to view/template/nav/header.php index bc75d480..7be56544 100644 --- a/view/nav/header.php +++ b/view/template/nav/header.php @@ -19,9 +19,9 @@
-
+
+
diff --git a/view/nav/learnFooter.php b/view/template/nav/learnFooter.php similarity index 76% rename from view/nav/learnFooter.php rename to view/template/nav/learnFooter.php index 87918c43..7421c8a2 100644 --- a/view/nav/learnFooter.php +++ b/view/template/nav/learnFooter.php @@ -1,5 +1,5 @@
-
+

@@ -48,24 +48,8 @@
  • Find out about the team behind LBRY.
  • - Access our - business plan. - -
  • Watch our - pitch deck. -
  • */ ?>
    -
    - -

    Not Ready to Get Serious?

    -

    Join our mailing list for updates about LBRY.

    - -
    - */ ?> \ No newline at end of file + \ No newline at end of file diff --git a/view/page/404.php b/view/template/page/404.php similarity index 100% rename from view/page/404.php rename to view/template/page/404.php diff --git a/view/page/art.php b/view/template/page/art.php similarity index 99% rename from view/page/art.php rename to view/template/page/art.php index 27ab1745..244b1b91 100644 --- a/view/page/art.php +++ b/view/template/page/art.php @@ -31,7 +31,7 @@

    At the highest level, LBRY does something extraordinarily simple. LBRY creates an association between a unique name and a piece of digital content, such as a movie, book, or game. This is similar to the domain name system that you are most likely using to access this very post.

    - +
    A user searches and prepares to stream and the film It’s a Wonderful Life, located at lbry://wonderfullife, via a completely decentralized network. Try it out for yourself at lbry.io/get.
    diff --git a/view/page/feedback.php b/view/template/page/feedback.php similarity index 100% rename from view/page/feedback.php rename to view/template/page/feedback.php diff --git a/view/page/fund-after.php b/view/template/page/fund-after.php similarity index 100% rename from view/page/fund-after.php rename to view/template/page/fund-after.php diff --git a/view/page/fund.php b/view/template/page/fund.php similarity index 100% rename from view/page/fund.php rename to view/template/page/fund.php diff --git a/view/page/get.php b/view/template/page/get.php similarity index 100% rename from view/page/get.php rename to view/template/page/get.php diff --git a/view/page/goals.php b/view/template/page/goals.php similarity index 100% rename from view/page/goals.php rename to view/template/page/goals.php diff --git a/view/page/home-new.php b/view/template/page/home-new.php similarity index 100% rename from view/page/home-new.php rename to view/template/page/home-new.php diff --git a/view/page/home.php b/view/template/page/home.php similarity index 100% rename from view/page/home.php rename to view/template/page/home.php diff --git a/view/page/join-list.php b/view/template/page/join-list.php similarity index 100% rename from view/page/join-list.php rename to view/template/page/join-list.php diff --git a/view/page/learn.php b/view/template/page/learn.php similarity index 95% rename from view/page/learn.php rename to view/template/page/learn.php index 40c27fd3..6f05a6aa 100644 --- a/view/page/learn.php +++ b/view/template/page/learn.php @@ -8,8 +8,8 @@

    Puts on jargon hat.

    diff --git a/view/page/linux.php b/view/template/page/linux.php similarity index 93% rename from view/page/linux.php rename to view/template/page/linux.php index b5beb615..2fcc058a 100644 --- a/view/page/linux.php +++ b/view/template/page/linux.php @@ -1,6 +1,6 @@ -

    Install LBRY on Linux

    +

    Install LBRY on Linux

    Choose an install option.
    diff --git a/view/page/navframe.php b/view/template/page/navframe.php similarity index 100% rename from view/page/navframe.php rename to view/template/page/navframe.php diff --git a/view/page/osx.php b/view/template/page/osx.php similarity index 100% rename from view/page/osx.php rename to view/template/page/osx.php diff --git a/view/page/publish.php b/view/template/page/publish.php similarity index 100% rename from view/page/publish.php rename to view/template/page/publish.php diff --git a/view/page/team.php b/view/template/page/team.php similarity index 53% rename from view/page/team.php rename to view/template/page/team.php index 3fa2c1b9..10100b8b 100644 --- a/view/page/team.php +++ b/view/template/page/team.php @@ -3,55 +3,46 @@ false]) ?>
    -
    -

    About Us

    -
    -
    -
    -
    -
    -

    LBRY is so simple your Grandma can use it. I’m ready to see blockchain technology become useful for regular people.

    -
    - Mike Vine Technology Evangelist -
    -
    -
    -

    The Team

    +

    The Team

    Jeremy Kauffman
    -

    Jeremy Kauffman

    -
    Founder, Chief Executive Officer
    -

    - Jeremy knows how to build and scale a startup starting from day one. He knows how to deliver usable products and get those products in front of the right people. -

    -

    - Jeremy is responsible for the packing, presentation, and strategy of LBRY, as well as some design aspects. He is a longtime BitTorrent community enthusiast. -

    -

    - Jeremy founded TopScore, a startup that - processes millions of dollars monthly in event and activity registrations. - He also attended Rensselaer Polytechnic Institute, where he received degrees in physics and computer science. -

    +
    +

    Jeremy Kauffman

    +
    Founder, Chief Executive Officer
    +

    + Jeremy knows how to build and scale a startup starting from day one. He knows how to deliver usable products and get those products in front of the right people. +

    +

    + Jeremy is responsible for the packing, presentation, and strategy of LBRY, as well as some design aspects. He is a longtime BitTorrent community enthusiast. +

    +

    + Jeremy founded TopScore, a startup that + processes millions of dollars monthly in event and activity registrations. + He also attended Rensselaer Polytechnic Institute, where he received degrees in physics and computer science. +

    +
    Michael Zargham
    -

    Michael Zargham

    -
    Founder, Chief Technical Officer
    -

    - Michael has spent years managing, designing, and overseeing a data science team and framework used to make multi-million dollar - purchasing decisions for a large media company. He brings knowledge of the media distribution business, software development - expertise, business development experience, technical skill and a network of corporate contacts. -

    -

    - Michael’s ability to rapidly adapt new skill sets makes him a technical and business pocketknife of our startup team. He has a - PhD in systems engineering from the University of Pennsylvania, with a focus on distributed systems. -

    +
    +

    Michael Zargham

    +
    Founder, Chief Technical Officer
    +

    + Michael has spent years managing, designing, and overseeing a data science team and framework used to make multi-million dollar + purchasing decisions for a large media company. He brings knowledge of the media distribution business, software development + expertise, business development experience, technical skill and a network of corporate contacts. +

    +

    + Michael’s ability to rapidly adapt new skill sets makes him a technical and business pocketknife of our startup team. He has a + PhD in systems engineering from the University of Pennsylvania, with a focus on distributed systems. +

    +
    @@ -59,7 +50,8 @@
    Josh Finer
    -

    Josh Finer

    +
    +

    Josh Finer

    Founder, Chief Operations & Growth Officer

    Josh's combination of an MBA, strong analytical skills, programming skills, advertising expertise, and a perceptive insight to @@ -68,36 +60,39 @@ Josh has founded innovative financial companies (later acquired), run millions of dollars in Adwords campaigns, and been an early actor in other crypto projects. Josh's contributions to LBRY will be as diverse as his background.

    +
    Jimmy Kiselak
    -

    - Jimmy Kiselak - -

    -
    Founder, Chief Product Officer
    -

    - Jimmy is the second member of team LBRY to graduate from Rensselaer with degrees in computer science and physics. - After, he found himself mired in government bureaucracy, spending too much time to get too little done. -

    -

    - Ready to work on a project he believed in, Jimmy left a national security programming job to start LBRY. - Jimmy created the LBRY protocol and the first LBRY application. -

    -

    - Jimmy is a Bitcoin fanatic and has been since its early days. He has long been interested in the benefits of decentralization. -

    +
    +

    + Jimmy Kiselak + +

    +
    Founder, Chief Product Officer
    +

    + Jimmy is the second member of team LBRY to graduate from Rensselaer with degrees in computer science and physics. + After, he found himself mired in government bureaucracy, spending too much time to get too little done. +

    +

    + Ready to work on a project he believed in, Jimmy left a national security programming job to start LBRY. + Jimmy created the LBRY protocol and the first LBRY application. +

    +

    + Jimmy is a Bitcoin fanatic and has been since its early days. He has long been interested in the benefits of decentralization. +

    +
    -
    Mike Vine
    -

    Mike Vine

    +
    +

    Mike Vine

    Founder, Evangelist

    With a humble BA in Philosophy from Tulane University, Mike has @@ -113,12 +108,14 @@ Now, he's ready to change the world by harnessing blockchain technology. Mike heads up LBRY’s marketing efforts and serves as an ambassador for our platform to media, investors, and the public.

    +
    Alex Grin
    -

    Alex Grin

    +
    +

    Alex Grin

    Founder, Chief Infrastructure Officer

    One of Alex's job titles is Wizard, so named because he can seemingly understand and utilize @@ -130,6 +127,7 @@

    Alex attended RPI (receiving degrees in Computer Science and Psychology) and Stuyvesant High School.

    +
    @@ -138,7 +136,8 @@
    Jack Robison
    -

    Jack Robison

    +
    +

    Jack Robison

    Founder, Core Developer

    Jack's path to developer with LBRY is fairly typical: @@ -155,18 +154,21 @@ Autism Talk TV, has appeared on National Public Radio, the New York Times, and presents around the country.

    +
    you!
    -

    You

    +
    +

    You

    Developer, Designer, Economist, Marketer, Investor, ???

    Do you think opening up information would facilitate human flourishing? Do you want to join a bright core of people with an obsession for upending broken systems? Say hello.

    +

    Advisory Team

    @@ -175,48 +177,52 @@
    Alex Tabarrok
    -

    Alex Tabarrok

    -
    Economic Advisor
    -

    Alex Tabarrok is Bartley J. Madden Chair in Economics at the Mercatus Center - and a professor of economics at George Mason University. He specializes in intellectual property reform, the effectiveness of markets, and the justice system. -

    -

    Tabarrok is the coauthor, with Mercatus colleague Tyler Cowen, of the popular economics blog Marginal Revolution - and cofounder of the online educational platform Marginal Revolution University. - He is the coauthor of - Modern Principles of Economics, - and author of the recent book - Launching the Innovation Renaissance. - His articles have appeared in the New York Times, the Washington Post, the Wall Street Journal, and many - other prestigious publications. -

    -

    Tabarrok received his PhD in economics from - George Mason University. -

    +
    +

    Alex Tabarrok

    +
    Economic Advisor
    +

    Alex Tabarrok is Bartley J. Madden Chair in Economics at the Mercatus Center + and a professor of economics at George Mason University. He specializes in intellectual property reform, the effectiveness of markets, and the justice system. +

    +

    Tabarrok is the coauthor, with Mercatus colleague Tyler Cowen, of the popular economics blog Marginal Revolution + and cofounder of the online educational platform Marginal Revolution University. + He is the coauthor of + Modern Principles of Economics, + and author of the recent book + Launching the Innovation Renaissance. + His articles have appeared in the New York Times, the Washington Post, the Wall Street Journal, and many + other prestigious publications. +

    +

    Tabarrok received his PhD in economics from + George Mason University. +

    +
    Stephan Kinsella
    -

    Stephan Kinsella

    -
    Legal Advisor
    -

    - Stephan Kinsella is a registered patent attorney and has over twenty years’ experience in patent, intellectual property, - and general commercial and corporate law. He is the founder and director of the Center for the Study of Innovative Freedom. - Kinsella has published numerous articles and books on intellectual property law and legal topics including - - International Investment, Political Risk, and Dispute Resolution: A Practitioner’s Guide - - and - - Against Intellectual Property - . -

    -

    - He received an LL.M. in international business law from King’s College London, a JD from the Paul M. Hebert Law Center at - Lousiana State University, - as well as BSEE and MSEE degrees. His websites are stephankinsella.com - and kinsellalaw.com -

    +
    +

    Stephan Kinsella

    +
    Legal Advisor
    +

    + Stephan Kinsella is a registered patent attorney and has over twenty years’ experience in patent, intellectual property, + and general commercial and corporate law. He is the founder and director of the Center for the Study of Innovative Freedom. + Kinsella has published numerous articles and books on intellectual property law and legal topics including + + International Investment, Political Risk, and Dispute Resolution: A Practitioner’s Guide + + and + + Against Intellectual Property + . +

    +

    + He received an LL.M. in international business law from King’s College London, a JD from the Paul M. Hebert Law Center at + Lousiana State University, + as well as BSEE and MSEE degrees. His websites are stephankinsella.com + and kinsellalaw.com +

    +
    @@ -224,31 +230,34 @@
    Michael Huemer
    -

    Michael Huemer

    +
    +

    Michael Huemer

    Ethical Advisor

    Michael Huemer is Professor of Philosophy and Ethics at the University of Colorado, where he has taught since 1998. He has published three single-author scholarly books (including Ethical Intuitionism), one edited anthology, and more than fifty academic articles in epistemology, ethics, political philosophy, and metaphysics. -

    +

    Huemer's articles have appeared in such journals as the Philosophical Review, Mind, the Journal of Philosophy, Ethics, and others. His materials are used as readings in classrooms nationwide. He received a B.A. from UC Berkeley and a Ph.D. from Rutgers University.

    +
    you!
    -

    You

    +
    +

    You

    Technical or Media Advisor

    LBRY is seeking an extremely experienced technical advisor or advisor with a strong background in the publishing and media space. If you're that person or have a suggestion, let us know. -

    +
    diff --git a/view/page/what.php b/view/template/page/what.php similarity index 98% rename from view/page/what.php rename to view/template/page/what.php index 62f4b31f..53467ec4 100644 --- a/view/page/what.php +++ b/view/template/page/what.php @@ -2,9 +2,6 @@ false]) ?>
    -
    -

    What is LBRY?

    -

    A revolution in accessing and publishing information.

    @@ -37,8 +34,8 @@
    +

    What is LBRY?

    -

    Tell Me More

    LBRY allows anyone to publish content to a location like this:

    lbry://wonderfullife

    Others can access this resource, either for free or for credits. Let's look at an example:

    diff --git a/view/page/why.php b/view/template/page/why.php similarity index 100% rename from view/page/why.php rename to view/template/page/why.php index ed128cef..6a7725b7 100644 --- a/view/page/why.php +++ b/view/template/page/why.php @@ -3,7 +3,6 @@ false]) ?>
    -

    Why?

    @@ -14,6 +13,7 @@
    +

    Why?

    The World We Live In

    Annual internet video traffic is approximately 500 exabytes (500,000,000,000 GB)1. diff --git a/view/social/sidebar.php b/view/template/social/sidebar.php similarity index 100% rename from view/social/sidebar.php rename to view/template/social/sidebar.php diff --git a/web/img/frontdesk.jpg b/web/img/frontdesk.jpg deleted file mode 100644 index 6fe4cbcad871151d77ed1593e0ce0ec5b8dba775..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 241384 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 z