🎉 Jekyll’s default Minima theme now has #microformats baked in to its templates. Really pleased to see my pull request merged in the latest gem release. #indieweb
{
"type": "entry",
"published": "2018-01-22T22:35:46Z",
"url": "https://barryfrost.com/2018/01/jekyll-s-default-minima-theme-now",
"category": [
"indieweb",
"microformats",
"jekyll"
],
"syndication": [
"https://twitter.com/barryf/status/955569706693464065"
],
"content": {
"text": "\ud83c\udf89 Jekyll\u2019s default Minima theme now has #microformats baked in to its templates. Really pleased to see my pull request merged in the latest gem release. #indieweb\n\nhttps://twitter.com/jekyllrb/status/955551155031101440",
"html": "<p>\ud83c\udf89 Jekyll\u2019s default Minima theme now has #microformats baked in to its templates. Really pleased to see my pull request merged in the latest gem release. #indieweb</p>\n\n<p><a href=\"https://twitter.com/jekyllrb/status/955551155031101440\">https://twitter.com/jekyllrb/status/955551155031101440</a></p>"
},
"author": {
"type": "card",
"name": "Barry FrostBarry Frost",
"url": "https://barryfrost.com/",
"photo": "https://barryfrost.com/barryfrost.jpg"
},
"_id": "99722",
"_source": "189",
"_is_read": true
}
This past weekend was IndieWebCamp Baltimore and it was awesome! I’ve been hanging out online with those in the IndieWeb for the past year but until now I was unable to make a trip out to the IndieWebCamps that took place in 2017. Thanks to Marty and Jonathan, Baltimore hosted it’s first ever IndieWebCamp.
{
"type": "entry",
"published": "2018-01-22T14:11:23-0500",
"summary": "This past weekend was IndieWebCamp Baltimore and it was awesome! I\u2019ve been hanging out online with those in the IndieWeb for the past year but until now I was unable to make a trip out to the IndieWebCamps that took place in 2017. Thanks to Marty and Jonathan, Baltimore hosted it\u2019s first ever IndieWebCamp.",
"url": "https://eddiehinkle.com/2018/01/22/7/article/",
"category": [
"indieweb",
"indiewebcamp"
],
"name": "My first IndieWebCamp!",
"author": {
"type": "card",
"name": "Eddie Hinkle",
"url": "https://eddiehinkle.com",
"photo": null
},
"_id": "22535",
"_source": "39",
"_is_read": true
}
For the last year, since I’ve been involved in the IndieWeb, I’ve used IndieAuth.com for my IndieAuth authentication. It’s a hosted service for authorization and token endpoints that helps bridge the technological hurdle of allowing new people to the IndieWeb to start being able to login using the IndieAuth protocol.
{
"type": "entry",
"published": "2018-01-22T14:09:36-0500",
"summary": "For the last year, since I\u2019ve been involved in the IndieWeb, I\u2019ve used IndieAuth.com for my IndieAuth authentication. It\u2019s a hosted service for authorization and token endpoints that helps bridge the technological hurdle of allowing new people to the IndieWeb to start being able to login using the IndieAuth protocol.",
"url": "https://eddiehinkle.com/2018/01/22/6/article/",
"category": [
"indieweb",
"indiewebcamp",
"token-revocation"
],
"name": "Owning my authentication",
"author": {
"type": "card",
"name": "Eddie Hinkle",
"url": "https://eddiehinkle.com",
"photo": null
},
"_id": "22536",
"_source": "39",
"_is_read": true
}
{
"type": "entry",
"published": "2018-01-21T14:11:06-05:00",
"url": "https://aaronparecki.com/2018/01/21/11/pixel-art",
"featured": "https://aaronparecki.com/2018/01/21/11/image-2.png",
"category": [
"indiewebcamp",
"pixel",
"art",
"p3k"
],
"name": "Pixel Art!",
"content": {
"text": "I just finished my IndieWebCamp hack day project, and I'm pretty excited about it!\nA long time ago, my website used to have this 7x7 grid of pixels on the home page, which visitors could toggle between blue and green. It saved the state after you'd click them, so you could leave little pictures for the rest of my website visitors.\u00a0\nI eventually abandoned that version of my site, and that feature disappeared as well. I decided that it would be fun to add it back to my current website today!\nSo now, my home page has a similar section at the top with a little grid of pixels again!\nThere were a few differences in my approach this time around. I decided to make the grid 20 pixels wide by 3 pixels tall, in order to reduce the chances of people being able to spell things or draw anything inappropriate.\u00a0\nI wanted the grid to be responsive as well, so that the cells shrink appropriately when the width of the column shrinks. I found this nice answer on StackOverflow, \"Grid of Responsive Squares\", which pointed me at a technique I hadn't know about, which is to use a percentage for the padding-bottom property. Each cell in my grid is calc(5% - 1px) wide, with padding-bottom: calc(5% - 1px) as well. This makes the height match the width, which is based on the relative size of the container.\nI also made the grid realtime! If you open the home page in two browsers, you'll see one browser update when you click a pixel in the other! I was able to do this without any complicated server-side support thanks to the nginx push-stream module that I already have installed. It lets a browser subscribe to an endpoint using the EventSource API, and then from my server I can send a POST request to the nginx module to broadcast data to anyone listening.\nMaybe my next project will be to get some Neopixels and make a little thing for my desk that always shows the current pattern!",
"html": "<p>I just finished my <a href=\"https://indieweb.org/2018/Baltimore\">IndieWebCamp</a> hack day project, and I'm pretty excited about it!</p>\n<p>A long time ago, my website used to have this 7x7 grid of pixels on the home page, which visitors could toggle between blue and green. It saved the state after you'd click them, so you could leave little pictures for the rest of my website visitors.\u00a0</p>\n<img src=\"https://aaronparecki.com/2018/01/21/11/image-1.png\" alt=\"\" /><p>I eventually abandoned that version of my site, and that feature disappeared as well. I decided that it would be fun to add it back to my current website today!</p>\n<p>So now, my home page has a similar section at the top with a little grid of pixels again!</p>\n<img src=\"https://aaronparecki.com/2018/01/21/11/image-2.png\" class=\"u-featured\" alt=\"\" /><p>There were a few differences in my approach this time around. I decided to make the grid 20 pixels wide by 3 pixels tall, in order to reduce the chances of people being able to spell things or draw anything inappropriate.\u00a0</p>\n<p>I wanted the grid to be responsive as well, so that the cells shrink appropriately when the width of the column shrinks. I found this nice answer on StackOverflow, \"<a href=\"https://stackoverflow.com/a/20457076/712641\">Grid of Responsive Squares</a>\", which pointed me at a technique I hadn't know about, which is to use a percentage for the padding-bottom property. Each cell in my grid is <code>calc(5% - 1px)</code> wide, with <code>padding-bottom: calc(5% - 1px)</code> as well. This makes the height match the width, which is based on the relative size of the container.</p>\n<p>I also made the grid realtime! If you open the home page in two browsers, you'll see one browser update when you click a pixel in the other! I was able to do this without any complicated server-side support thanks to the <a href=\"https://github.com/wandenberg/nginx-push-stream-module\">nginx push-stream module</a> that I already have installed. It lets a browser subscribe to an endpoint using the EventSource API, and then from my server I can send a POST request to the nginx module to broadcast data to anyone listening.</p>\n<p>Maybe my next project will be to get some <a href=\"https://www.adafruit.com/category/168\">Neopixels</a> and make a little thing for my desk that always shows the current pattern!</p>"
},
"author": {
"type": "card",
"name": "Aaron Parecki",
"url": "https://aaronparecki.com/",
"photo": "https://aaronparecki.com/images/profile.jpg"
},
"_id": "21303",
"_source": "16",
"_is_read": true
}
Most of my online friends and acquaintances will never understand or participate in the IndieWeb, and so I require a bridge between these worlds. On one side I choose what content to post and how it is stored, and it exists mainly on an island that few visit regularly. On the other side is nearly everyone I know, blissfully ignorant of my real home on the web and unable to see any content shared there without manual intervention or working plugins.
This does not all seem bad, though. Maintaining control will require more attention be placed on managing my content, and this time must come from somewhere. I imagine that I’ll slowly begin using social media less, writing more, and learning more about how to develop solutions to problems that arise within my setup.
{
"type": "entry",
"published": "2018-01-20T09:46:30Z",
"url": "https://adactio.com/links/13330",
"category": [
"indieweb",
"distribution",
"syndication",
"blogging",
"blogs",
"independent",
"publishing",
"posse"
],
"bookmark-of": [
"https://singletary.io/2018/fears-of-the-indieweb"
],
"content": {
"text": "Fears of the IndieWeb\n\n\n\n\n Most of my online friends and acquaintances will never understand or participate in the IndieWeb, and so I require a bridge between these worlds. On one side I choose what content to post and how it is stored, and it exists mainly on an island that few visit regularly. On the other side is nearly everyone I know, blissfully ignorant of my real home on the web and unable to see any content shared there without manual intervention or working plugins.\n \n This does not all seem bad, though. Maintaining control will require more attention be placed on managing my content, and this time must come from somewhere. I imagine that I\u2019ll slowly begin using social media less, writing more, and learning more about how to develop solutions to problems that arise within my setup.",
"html": "<h3>\n<a class=\"p-name u-bookmark-of\" href=\"https://singletary.io/2018/fears-of-the-indieweb\">\nFears of the IndieWeb\n</a>\n</h3>\n\n<blockquote>\n <p>Most of my online friends and acquaintances will never understand or participate in the IndieWeb, and so I require a bridge between these worlds. On one side I choose what content to post and how it is stored, and it exists mainly on an island that few visit regularly. On the other side is nearly everyone I know, blissfully ignorant of my real home on the web and unable to see any content shared there without manual intervention or working plugins.</p>\n \n <p>This does not all seem bad, though. Maintaining control will require more attention be placed on managing my content, and this time must come from somewhere. I imagine that I\u2019ll slowly begin using social media less, writing more, and learning more about how to develop solutions to problems that arise within my setup.</p>\n</blockquote>"
},
"_id": "20101",
"_source": "2",
"_is_read": true
}
If you are one of those old or young bloggers, please join in. Drop Facebook, drop Twitter and drop Medium for original thought. Own your traffic. You can use them to engage in discussion. But don’t get lost in there. Write daily. Publish as often as you have something to say. Link to other blogs.
{
"type": "entry",
"published": "2018-01-20T09:05:45Z",
"url": "https://adactio.com/links/13329",
"category": [
"blogging",
"blogs",
"indieweb",
"independent",
"publishing",
"writing",
"sharing",
"decentralisation"
],
"bookmark-of": [
"https://ia.net/topics/web-trend-map-2018/"
],
"content": {
"text": "Web Trend Map 2018 \u2013 iA\n\n\n\n\n If you are one of those old or young bloggers, please join in. Drop Facebook, drop Twitter and drop Medium for original thought. Own your traffic. You can use them to engage in discussion. But don\u2019t get lost in there. Write daily. Publish as often as you have something to say. Link to other blogs.",
"html": "<h3>\n<a class=\"p-name u-bookmark-of\" href=\"https://ia.net/topics/web-trend-map-2018/\">\nWeb Trend Map 2018 \u2013 iA\n</a>\n</h3>\n\n<blockquote>\n <p>If you are one of those old or young bloggers, please join in. Drop Facebook, drop Twitter and drop Medium for original thought. Own your traffic. You can use them to engage in discussion. But don\u2019t get lost in there. Write daily. Publish as often as you have something to say. Link to other blogs.</p>\n</blockquote>"
},
"_id": "20102",
"_source": "2",
"_is_read": true
}
{
"type": "entry",
"published": "2018-01-18T19:40:10-05:00",
"rsvp": "yes",
"url": "https://david.shanske.com/2018/01/18/indiewebcamp-baltimore-jan-20-21-2018-baltimore-maryland/",
"in-reply-to": [
"https://2018.indieweb.org/baltimore"
],
"name": "Attending IndieWebCamp Baltimore - Jan 20-21, 2018 - Baltimore, Maryland IndieWebCamp Baltimore 2018 is a gathering for independent web creators of all kinds, from graphic artists, to designers, UX engineers, coders, hackers, to share ideas, actively work on creating for their own personal websites, and build upon each others creations. \n\n\tPosted on 7:40PM EST\nJanuary 18, 2018Kind RSVPLeave a response on IndieWebCamp Baltimore \u2013 Jan 20-21, 2018 \u2013 Baltimore, Maryland",
"author": {
"type": "card",
"name": "David Shanske",
"url": "https://david.shanske.com",
"photo": "https://secure.gravatar.com/avatar/681eba02e72ba1d894097034a8110e61?s=125&d=default&r=g"
},
"_id": "18328",
"_source": "5",
"_is_read": true
}
{
"type": "entry",
"published": "2018-01-18T12:55:09+1000",
"url": "https://unicyclic.com/mal/2018-01-18-Urls_as_value_systems",
"syndication": [
"https://twitter.com/malcolmblaney/status/953823084892573696"
],
"name": "Urls as value systems",
"content": {
"text": "This New York Times Magazine article covers quite a few aspects of Bitcoin and it's blockchain brethren, but the ones I'm interested in are identity and token scarcity. The article has much to say on the enabling effects of the technology in this area, but I can't help but think about other, simpler, ways to do the same thing.\n\nIndieweb is all about identity, so we have that one solved. I think token scarcity could be done too... after all, we get to decide what our websites hand out. It's easy to imagine a system where urls carry value and reciprocal links validate a value relationship. And it would avoid the FOMO problem in the crypto currency world which conflates token functionality with wild speculation on the token's value. The tokens your own website hands out will never be hoarded by speculators, I promise. ;-)\n\n\nSo what does the blockchain provide that far simpler, url based systems do not? Immutability for one, link-rot is our enemy when relying on urls as a value system. But if urls had more explicit value, maybe we would put more effort into keeping them around? The blockchain is interesting, but I think it's worth asking what problems it's trying to solve and what other solutions might look like.",
"html": "<a href=\"https://www.nytimes.com/2018/01/16/magazine/beyond-the-bitcoin-bubble.html?action=click&contentCollection=undefined&region=Footer&module=WhatsNext&version=WhatsNext&contentID=WhatsNext&moduleDetail=most-emailed-0&pgtype=undefined\">This New York Times Magazine article</a> covers quite a few aspects of Bitcoin and it's blockchain brethren, but the ones I'm interested in are identity and token scarcity. The article has much to say on the enabling effects of the technology in this area, but I can't help but think about other, simpler, ways to do the same thing.<br /><br /><a href=\"https://indieweb.org\">Indieweb</a> is all about identity, so we have that one solved. I think token scarcity could be done too... after all, we get to decide what our websites hand out. It's <a href=\"https://unicyclic.com/mal/2016-06-10-credmentions_a_distributed_ledger_for_the_indieweb\">easy to imagine</a> a system where urls carry value and reciprocal links validate a value relationship. And it would avoid the FOMO problem in the crypto currency world which conflates token functionality with wild speculation on the token's value. The tokens your own website hands out will never be hoarded by speculators, I promise. ;-)<br /><br />\nSo what does the blockchain provide that far simpler, url based systems do not? Immutability for one, link-rot is our enemy when relying on urls as a value system. But if urls had more explicit value, maybe we would put more effort into keeping them around? The blockchain is interesting, but I think it's worth asking what problems it's trying to solve and what other solutions might look like.<a href=\"https://brid.gy/publish/twitter\"></a><a href=\"https://twitter.com/malcolmblaney/status/953823084892573696\" class=\"u-syndication\"></a>"
},
"author": {
"type": "card",
"name": "Malcolm Blaney",
"url": "https://unicyclic.com/mal",
"photo": "https://aperture-media.p3k.io/unicyclic.com/bdad1528925264a15ecd0bdb92bdc5836d965b0d5f4db8797489eec259fa32de.png"
},
"_id": "124143",
"_source": "243",
"_is_read": true
}
{
"type": "entry",
"author": {
"name": "chris",
"url": "https://www.stillbreathing.co.uk/",
"photo": null
},
"url": "https://www.stillbreathing.co.uk/2018/01/15/indieweb",
"published": "2018-01-15T22:25:21+00:00",
"content": {
"html": "<p>In a moment of madness \u2013 proved by the spelling mistake \u2013 I tweeted that <a href=\"https://twitter.com/mrwiblog/status/946130324085530626\">2018 would be the year I go full IndieWeb</a>.</p>\n<p>But what is it? Basically, <a href=\"https://indieweb.org/\">IndieWeb</a> is a movement of people who want to own their own data, not have it wholly controlled by corporations. So rather than posting updates to Big Corp Social Media Website, you\u2019d post to your own site and <em>syndicate</em> out to other places. If the social media site goes down, goes bust, or goes evil, you still have all your content. After all, you wrote it \u2013 it should be yours.</p>\n<p>The syndication part is possible thanks to various clever technical bits (<a href=\"https://adactio.com/links/13151\">Jeremy Keith has a great video explaning of the building blocks of IndieWeb</a>). So you can still participate in social media sites, for example, but still own your own content.</p>\n<p>It\u2019s a \u201chave your cake and eat it\u201d situation. And I like cake.</p>\n<p>I, over the course of this year I intend to become independent of Twitter, Pocket and GMail. That\u2019s not to say I\u2019ll stop using those services \u2013 I find them all valuable \u2013 but my data won\u2019t be owned by them. Fortunately all my websites have their own self-hosted CMS systems (mainly WordPress) which makes the job a lot easier.</p>\n<p>And who knows, I may find that this IndieWeb thing allows me to start syndicating to new places such as this Mastadon thing I keep hearing about. The choice will be, for the first time, all mine.</p>",
"text": "In a moment of madness \u2013 proved by the spelling mistake \u2013 I tweeted that 2018 would be the year I go full IndieWeb.\nBut what is it? Basically, IndieWeb is a movement of people who want to own their own data, not have it wholly controlled by corporations. So rather than posting updates to Big Corp Social Media Website, you\u2019d post to your own site and syndicate out to other places. If the social media site goes down, goes bust, or goes evil, you still have all your content. After all, you wrote it \u2013 it should be yours.\nThe syndication part is possible thanks to various clever technical bits (Jeremy Keith has a great video explaning of the building blocks of IndieWeb). So you can still participate in social media sites, for example, but still own your own content.\nIt\u2019s a \u201chave your cake and eat it\u201d situation. And I like cake.\nI, over the course of this year I intend to become independent of Twitter, Pocket and GMail. That\u2019s not to say I\u2019ll stop using those services \u2013 I find them all valuable \u2013 but my data won\u2019t be owned by them. Fortunately all my websites have their own self-hosted CMS systems (mainly WordPress) which makes the job a lot easier.\nAnd who knows, I may find that this IndieWeb thing allows me to start syndicating to new places such as this Mastadon thing I keep hearing about. The choice will be, for the first time, all mine."
},
"name": "IndieWeb",
"_id": "123961",
"_source": "235",
"_is_read": true
}
{
"type": "entry",
"published": "2018-01-15T02:45:36+00:00",
"url": "https://miklb.com/blog/2018/01/15/3223/",
"syndication": [
"https://twitter.com/miklb/status/952733486942695424"
],
"name": "02:45# \n\t\t\t\t\t\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t\t\t\t\t\nNice update to @brentsimmons Evergreen, send item to Micro.blog macOS app. Simple markdown ready link to the feed item. \ud83e\udd1efor micropub support down the road. https://ranchero.com/evergreen/",
"content": {
"text": "Nice update to @brentsimmons Evergreen, send item to Micro.blog macOS app. Simple markdown ready link to the feed item. \ud83e\udd1efor micropub support down the road. https://ranchero.com/evergreen/",
"html": "<p>Nice update to <a href=\"https://twitter.com/brentsimmons\">@brentsimmons</a> Evergreen, send item to Micro.blog macOS app. Simple markdown ready link to the feed item. \ud83e\udd1efor micropub support down the road. <a href=\"https://ranchero.com/evergreen/\">https://ranchero.com/evergreen/</a>\n</p>"
},
"_id": "18348",
"_source": "42",
"_is_read": true
}
{
"type": "entry",
"published": "2018-01-15T02:45:36+00:00",
"url": "https://miklb.com/2018/01/3223/",
"syndication": [
"https://twitter.com/miklb/status/952733486942695424"
],
"name": "02:45# \n\t\t\t\t\t\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t\t\t\t\t\nNice update to @brentsimmons Evergreen, send item to Micro.blog macOS app. Simple markdown ready link to the feed item. \ud83e\udd1efor micropub support down the road. https://ranchero.com/evergreen/",
"content": {
"text": "Nice update to @brentsimmons Evergreen, send item to Micro.blog macOS app. Simple markdown ready link to the feed item. \ud83e\udd1efor micropub support down the road. https://ranchero.com/evergreen/",
"html": "<p>Nice update to <a href=\"https://twitter.com/brentsimmons\">@brentsimmons</a> Evergreen, send item to Micro.blog macOS app. Simple markdown ready link to the feed item. \ud83e\udd1efor micropub support down the road. <a href=\"https://ranchero.com/evergreen/\">https://ranchero.com/evergreen/</a>\n</p>"
},
"_id": "16287",
"_source": "42",
"_is_read": true
}
{
"type": "entry",
"author": {
"name": "Peter Molnar",
"url": "https://petermolnar.net",
"photo": null
},
"url": "https://petermolnar.net/linkedin-public-settings-ignored/",
"published": "2018-01-14T12:00:00+00:00",
"content": {
"html": "<p>A few days ago, on the #indieweb Freenode channel<a href=\"https://petermolnar.net/#fn1\">1</a> one of the users asked if we knew an indieweb-friendly way of getting data out of LinkedIn. I wasn't paying attention to any recent news related to LinkedIn, though I've heard a few things, such as they are struggling to prevent data scraping: the note mentioned that they believe it's a problem that employers keep an eye on changes in LinkedIn profiles via 3rd party. This, indeed, can be an issue, but there are ways to manage this within LinkedIn: your public profile settings<a href=\"https://petermolnar.net/#fn2\">2</a>.</p>\n<p>In my case, this was set to visible to everyone for years, and by the time I had to set it up (again: years), it was working as intended. But a few days ago, for my surprise, visiting my profile while logged out resulted in this:</p>\n<a href=\"https://petermolnar.net/files/linkedin-public-profile-issues-authwall_b.png\"> <img src=\"https://petermolnar.net/files/linkedin-public-profile-issues-authwall_z.png\" title=\"\" alt=\"LinkedIn showing a paywall-like 'authwall' for profiles set explicitly to public for everyone\" /></a>\n\nLinkedIn showing a paywall-like 'authwall' for profiles set explicitly to public for everyone\n<p>and this:</p>\n<pre><code>$ wget -O- https://www.linkedin.com/in/petermolnareu\n--2018-01-14 10:26:12-- https://www.linkedin.com/in/petermolnareu\nResolving www.linkedin.com (www.linkedin.com)... 91.225.248.129, 2620:109:c00c:104::b93f:9001\nConnecting to www.linkedin.com (www.linkedin.com)|91.225.248.129|:443... connected.\nHTTP request sent, awaiting response... 999 Request denied\n2018-01-14 10:26:12 ERROR 999: Request denied.</code></pre>\n<p>or this:</p>\n<pre><code>$ curl https://www.linkedin.com/in/petermolnareu\n<html><head>\n<script type=\"text/javascript\">\nwindow.onload = function() {\n // Parse the tracking code from cookies.\n var trk = \"bf\";\n var trkInfo = \"bf\";\n var cookies = document.cookie.split(\"; \");\n for (var i = 0; i < cookies.length; ++i) {\n if ((cookies[i].indexOf(\"trkCode=\") == 0) && (cookies[i].length > 8)) {\n trk = cookies[i].substring(8);\n }\n else if ((cookies[i].indexOf(\"trkInfo=\") == 0) && (cookies[i].length > 8)) {\n trkInfo = cookies[i].substring(8);\n }\n }\n\n if (window.location.protocol == \"http:\") {\n // If \"sl\" cookie is set, redirect to https.\n for (var i = 0; i < cookies.length; ++i) {\n if ((cookies[i].indexOf(\"sl=\") == 0) && (cookies[i].length > 3)) {\n window.location.href = \"https:\" + window.location.href.substring(window.location.protocol.length);\n return;\n }\n }\n }\n\n // Get the new domain. For international domains such as\n // fr.linkedin.com, we convert it to www.linkedin.com\n var domain = \"www.linkedin.com\";\n if (domain != location.host) {\n var subdomainIndex = location.host.indexOf(\".linkedin\");\n if (subdomainIndex != -1) {\n domain = \"www\" + location.host.substring(subdomainIndex);\n }\n }\n\n window.location.href = \"https://\" + domain + \"/authwall?trk=\" + trk + \"&trkInfo=\" + trkInfo +\n \"&originalReferer=\" + document.referrer.substr(0, 200) +\n \"&sessionRedirect=\" + encodeURIComponent(window.location.href);\n}\n</script>\n</head></html></code></pre>\nSo I started digging. According to the LinkedIn FAQ<a href=\"https://petermolnar.net/#fn3\">3</a> there is a page where you can set your profile's public visibility. Those settings, for me, were still set to:\n<a href=\"https://petermolnar.net/files/linkedin-public-profile-issues-settings_b.png\"> <img src=\"https://petermolnar.net/files/linkedin-public-profile-issues-settings_z.png\" title=\"\" alt=\"LinkedIn public profile settings\" /></a>\n\nLinkedIn public profile settings\n<p>Despite the settings, there is no public profile for logged out users.</p>\n<p>I'd like to understand what it going on, because so far, this looks like a fat lie from LinkedIn. Hopefully just a bug.</p>\n<h2>UPDATE</h2>\n<p><del>I tried setting referrers and user agents, used different IP addresses, still nothing.</del> I can't type today and managed to mistype <code>https://google.com</code> - the referrer ended up as <code>https:/google.com</code>. So, following the notes on HN, setting a referrer to Google sometimes works. After a few failures it will lock you out again, referrer or not. This is even uglier if it was a proper authwall for everyone.</p>\n<pre><code>curl 'https://www.linkedin.com/in/petermolnareu' \\\n-e 'https://google.com/' \\\n-H 'accept-encoding: text' -H \\\n'accept-language: en-US,en;q=0.9,' \\\n-H 'user-agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36'</code></pre>\n<pre><code><!DOCTYPE html>...</code></pre>\n\n\n<ol><li><p><a href=\"https://chat.indieweb.org/\">https://chat.indieweb.org</a><a href=\"https://petermolnar.net/#fnref1\">\u21a9</a></p></li>\n<li><p><a href=\"https://www.linkedin.com/public-profile/settings\">https://www.linkedin.com/public-profile/settings</a><a href=\"https://petermolnar.net/#fnref2\">\u21a9</a></p></li>\n<li><p><a href=\"https://www.linkedin.com/help/linkedin/answer/83?query=public\">https://www.linkedin.com/help/linkedin/answer/83?query=public</a><a href=\"https://petermolnar.net/#fnref3\">\u21a9</a></p></li>\n</ol>",
"text": "A few days ago, on the #indieweb Freenode channel1 one of the users asked if we knew an indieweb-friendly way of getting data out of LinkedIn. I wasn't paying attention to any recent news related to LinkedIn, though I've heard a few things, such as they are struggling to prevent data scraping: the note mentioned that they believe it's a problem that employers keep an eye on changes in LinkedIn profiles via 3rd party. This, indeed, can be an issue, but there are ways to manage this within LinkedIn: your public profile settings2.\nIn my case, this was set to visible to everyone for years, and by the time I had to set it up (again: years), it was working as intended. But a few days ago, for my surprise, visiting my profile while logged out resulted in this:\n \n\nLinkedIn showing a paywall-like 'authwall' for profiles set explicitly to public for everyone\nand this:\n$ wget -O- https://www.linkedin.com/in/petermolnareu\n--2018-01-14 10:26:12-- https://www.linkedin.com/in/petermolnareu\nResolving www.linkedin.com (www.linkedin.com)... 91.225.248.129, 2620:109:c00c:104::b93f:9001\nConnecting to www.linkedin.com (www.linkedin.com)|91.225.248.129|:443... connected.\nHTTP request sent, awaiting response... 999 Request denied\n2018-01-14 10:26:12 ERROR 999: Request denied.\nor this:\n$ curl https://www.linkedin.com/in/petermolnareu\n<html><head>\n<script type=\"text/javascript\">\nwindow.onload = function() {\n // Parse the tracking code from cookies.\n var trk = \"bf\";\n var trkInfo = \"bf\";\n var cookies = document.cookie.split(\"; \");\n for (var i = 0; i < cookies.length; ++i) {\n if ((cookies[i].indexOf(\"trkCode=\") == 0) && (cookies[i].length > 8)) {\n trk = cookies[i].substring(8);\n }\n else if ((cookies[i].indexOf(\"trkInfo=\") == 0) && (cookies[i].length > 8)) {\n trkInfo = cookies[i].substring(8);\n }\n }\n\n if (window.location.protocol == \"http:\") {\n // If \"sl\" cookie is set, redirect to https.\n for (var i = 0; i < cookies.length; ++i) {\n if ((cookies[i].indexOf(\"sl=\") == 0) && (cookies[i].length > 3)) {\n window.location.href = \"https:\" + window.location.href.substring(window.location.protocol.length);\n return;\n }\n }\n }\n\n // Get the new domain. For international domains such as\n // fr.linkedin.com, we convert it to www.linkedin.com\n var domain = \"www.linkedin.com\";\n if (domain != location.host) {\n var subdomainIndex = location.host.indexOf(\".linkedin\");\n if (subdomainIndex != -1) {\n domain = \"www\" + location.host.substring(subdomainIndex);\n }\n }\n\n window.location.href = \"https://\" + domain + \"/authwall?trk=\" + trk + \"&trkInfo=\" + trkInfo +\n \"&originalReferer=\" + document.referrer.substr(0, 200) +\n \"&sessionRedirect=\" + encodeURIComponent(window.location.href);\n}\n</script>\n</head></html>\nSo I started digging. According to the LinkedIn FAQ3 there is a page where you can set your profile's public visibility. Those settings, for me, were still set to:\n \n\nLinkedIn public profile settings\nDespite the settings, there is no public profile for logged out users.\nI'd like to understand what it going on, because so far, this looks like a fat lie from LinkedIn. Hopefully just a bug.\nUPDATE\nI tried setting referrers and user agents, used different IP addresses, still nothing. I can't type today and managed to mistype https://google.com - the referrer ended up as https:/google.com. So, following the notes on HN, setting a referrer to Google sometimes works. After a few failures it will lock you out again, referrer or not. This is even uglier if it was a proper authwall for everyone.\ncurl 'https://www.linkedin.com/in/petermolnareu' \\\n-e 'https://google.com/' \\\n-H 'accept-encoding: text' -H \\\n'accept-language: en-US,en;q=0.9,' \\\n-H 'user-agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36'\n<!DOCTYPE html>...\n\n\nhttps://chat.indieweb.org\u21a9\nhttps://www.linkedin.com/public-profile/settings\u21a9\nhttps://www.linkedin.com/help/linkedin/answer/83?query=public\u21a9"
},
"name": "LinkedIn is ignoring user settings",
"_id": "161767",
"_source": "268",
"_is_read": true
}