ActivityPub Viewer

A small tool to view real-world ActivityPub objects as JSON! Enter a URL or username from Mastodon or a similar service below, and we'll send a request with the right Accept header to the server to view the underlying object.

Open in browser →
{ "@context": [ "https://www.w3.org/ns/activitystreams", { "ostatus": "http://ostatus.org#", "atomUri": "ostatus:atomUri", "inReplyToAtomUri": "ostatus:inReplyToAtomUri", "conversation": "ostatus:conversation", "sensitive": "as:sensitive", "toot": "http://joinmastodon.org/ns#", "votersCount": "toot:votersCount", "litepub": "http://litepub.social/ns#", "directMessage": "litepub:directMessage", "blurhash": "toot:blurhash", "focalPoint": { "@container": "@list", "@id": "toot:focalPoint" } } ], "id": "https://infosec.exchange/users/lcamtuf/outbox?min_id=109656542064254399&page=true", "type": "OrderedCollectionPage", "next": "https://infosec.exchange/users/lcamtuf/outbox?max_id=109682845801420319&page=true", "prev": "https://infosec.exchange/users/lcamtuf/outbox?min_id=109870848321776683&page=true", "partOf": "https://infosec.exchange/users/lcamtuf/outbox", "orderedItems": [ { "id": "https://infosec.exchange/users/lcamtuf/statuses/109870848321776683/activity", "type": "Create", "actor": "https://infosec.exchange/users/lcamtuf", "published": "2023-02-15T21:21:38Z", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://infosec.exchange/users/lcamtuf/followers" ], "object": { "id": "https://infosec.exchange/users/lcamtuf/statuses/109870848321776683", "type": "Note", "summary": null, "inReplyTo": null, "published": "2023-02-15T21:21:38Z", "url": "https://infosec.exchange/@lcamtuf/109870848321776683", "attributedTo": "https://infosec.exchange/users/lcamtuf", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://infosec.exchange/users/lcamtuf/followers" ], "sensitive": false, "atomUri": "https://infosec.exchange/users/lcamtuf/statuses/109870848321776683", "inReplyToAtomUri": null, "conversation": "tag:infosec.exchange,2023-02-15:objectId=44990354:objectType=Conversation", "content": "<p>Google is a massive company, so there&#39;s a lot of people who join or leave every year - and some of the departing individuals feel compelled to post a manifesto rationalizing their decision to move on.</p><p>I spent ~11 years at Google and must have read at least 50 of these, each and every one claiming that the company has &quot;lost its way&quot; in a different fashion. In the end, I stopped paying attention - and I sure wasn&#39;t interested in writing my own.</p><p>By the end of the day, it is just a workplace: it has its charms and dysfunctions, just like any other company. A lot of these charms and dysfunctions are not about a unique culture or a particular executive vision; they are a simple function of the company&#39;s size, age, revenue structure, and regulatory pressures.</p><p>There&#39;s another manifesto making rounds on Hackernews today [1], and I think some of its observations are pretty good; for example, Google is exceptionally risk-averse as a consequence of having a remarkably robust revenue stream (= no need to rock the boat) coupled with extreme legal and regulatory risks (= a lot of downside if you try). But I think it&#39;s wrong to paint this as a simple problem that a new CEO or a different perf process could fix. Today, there&#39;s no &quot;shoot from the hip&quot; alternative for a preeminent and wildly profitable ad tech company of 200k people. It&#39;s a nice dilemma for Google to have, but there&#39;s no going back to a startup culture. If you want a fast-paced environment, a clarity of purpose, and a razor-sharp focus on outcomes for your users, you probably have to look somewhere else.</p><p>[1] <a href=\"https://medium.com/@pravse/the-maze-is-in-the-mouse-980c57cfd61a\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" translate=\"no\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">medium.com/@pravse/the-maze-is</span><span class=\"invisible\">-in-the-mouse-980c57cfd61a</span></a></p>", "contentMap": { "en": "<p>Google is a massive company, so there&#39;s a lot of people who join or leave every year - and some of the departing individuals feel compelled to post a manifesto rationalizing their decision to move on.</p><p>I spent ~11 years at Google and must have read at least 50 of these, each and every one claiming that the company has &quot;lost its way&quot; in a different fashion. In the end, I stopped paying attention - and I sure wasn&#39;t interested in writing my own.</p><p>By the end of the day, it is just a workplace: it has its charms and dysfunctions, just like any other company. A lot of these charms and dysfunctions are not about a unique culture or a particular executive vision; they are a simple function of the company&#39;s size, age, revenue structure, and regulatory pressures.</p><p>There&#39;s another manifesto making rounds on Hackernews today [1], and I think some of its observations are pretty good; for example, Google is exceptionally risk-averse as a consequence of having a remarkably robust revenue stream (= no need to rock the boat) coupled with extreme legal and regulatory risks (= a lot of downside if you try). But I think it&#39;s wrong to paint this as a simple problem that a new CEO or a different perf process could fix. Today, there&#39;s no &quot;shoot from the hip&quot; alternative for a preeminent and wildly profitable ad tech company of 200k people. It&#39;s a nice dilemma for Google to have, but there&#39;s no going back to a startup culture. If you want a fast-paced environment, a clarity of purpose, and a razor-sharp focus on outcomes for your users, you probably have to look somewhere else.</p><p>[1] <a href=\"https://medium.com/@pravse/the-maze-is-in-the-mouse-980c57cfd61a\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" translate=\"no\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">medium.com/@pravse/the-maze-is</span><span class=\"invisible\">-in-the-mouse-980c57cfd61a</span></a></p>" }, "updated": "2023-02-15T22:12:26Z", "attachment": [], "tag": [], "replies": { "id": "https://infosec.exchange/users/lcamtuf/statuses/109870848321776683/replies", "type": "Collection", "first": { "type": "CollectionPage", "next": "https://infosec.exchange/users/lcamtuf/statuses/109870848321776683/replies?only_other_accounts=true&page=true", "partOf": "https://infosec.exchange/users/lcamtuf/statuses/109870848321776683/replies", "items": [] } }, "likes": { "id": "https://infosec.exchange/users/lcamtuf/statuses/109870848321776683/likes", "type": "Collection", "totalItems": 72 }, "shares": { "id": "https://infosec.exchange/users/lcamtuf/statuses/109870848321776683/shares", "type": "Collection", "totalItems": 18 } } }, { "id": "https://infosec.exchange/users/lcamtuf/statuses/109860887266044239/activity", "type": "Create", "actor": "https://infosec.exchange/users/lcamtuf", "published": "2023-02-14T03:08:25Z", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://infosec.exchange/users/lcamtuf/followers" ], "object": { "id": "https://infosec.exchange/users/lcamtuf/statuses/109860887266044239", "type": "Note", "summary": null, "inReplyTo": null, "published": "2023-02-14T03:08:25Z", "url": "https://infosec.exchange/@lcamtuf/109860887266044239", "attributedTo": "https://infosec.exchange/users/lcamtuf", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://infosec.exchange/users/lcamtuf/followers" ], "sensitive": false, "atomUri": "https://infosec.exchange/users/lcamtuf/statuses/109860887266044239", "inReplyToAtomUri": null, "conversation": "tag:infosec.exchange,2023-02-14:objectId=44556873:objectType=Conversation", "content": "<p>Setting up an electronics workshop. This expands on a couple of recommendations I posted here several days ago: </p><p><a href=\"https://lcamtuf.substack.com/p/setting-up-an-electronics-workshop\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" translate=\"no\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">lcamtuf.substack.com/p/setting</span><span class=\"invisible\">-up-an-electronics-workshop</span></a></p>", "contentMap": { "en": "<p>Setting up an electronics workshop. This expands on a couple of recommendations I posted here several days ago: </p><p><a href=\"https://lcamtuf.substack.com/p/setting-up-an-electronics-workshop\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" translate=\"no\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">lcamtuf.substack.com/p/setting</span><span class=\"invisible\">-up-an-electronics-workshop</span></a></p>" }, "attachment": [], "tag": [], "replies": { "id": "https://infosec.exchange/users/lcamtuf/statuses/109860887266044239/replies", "type": "Collection", "first": { "type": "CollectionPage", "next": "https://infosec.exchange/users/lcamtuf/statuses/109860887266044239/replies?only_other_accounts=true&page=true", "partOf": "https://infosec.exchange/users/lcamtuf/statuses/109860887266044239/replies", "items": [] } }, "likes": { "id": "https://infosec.exchange/users/lcamtuf/statuses/109860887266044239/likes", "type": "Collection", "totalItems": 27 }, "shares": { "id": "https://infosec.exchange/users/lcamtuf/statuses/109860887266044239/shares", "type": "Collection", "totalItems": 13 } } }, { "id": "https://infosec.exchange/users/lcamtuf/statuses/109856004866592363/activity", "type": "Create", "actor": "https://infosec.exchange/users/lcamtuf", "published": "2023-02-13T06:26:45Z", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://infosec.exchange/users/lcamtuf/followers" ], "object": { "id": "https://infosec.exchange/users/lcamtuf/statuses/109856004866592363", "type": "Note", "summary": null, "inReplyTo": null, "published": "2023-02-13T06:26:45Z", "url": "https://infosec.exchange/@lcamtuf/109856004866592363", "attributedTo": "https://infosec.exchange/users/lcamtuf", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://infosec.exchange/users/lcamtuf/followers" ], "sensitive": false, "atomUri": "https://infosec.exchange/users/lcamtuf/statuses/109856004866592363", "inReplyToAtomUri": null, "conversation": "tag:infosec.exchange,2023-02-13:objectId=44344795:objectType=Conversation", "content": "<p>The aliens who keep sending all these peace delegations might be getting concerned by now</p>", "contentMap": { "en": "<p>The aliens who keep sending all these peace delegations might be getting concerned by now</p>" }, "updated": "2023-02-13T07:36:43Z", "attachment": [], "tag": [], "replies": { "id": "https://infosec.exchange/users/lcamtuf/statuses/109856004866592363/replies", "type": "Collection", "first": { "type": "CollectionPage", "next": "https://infosec.exchange/users/lcamtuf/statuses/109856004866592363/replies?only_other_accounts=true&page=true", "partOf": "https://infosec.exchange/users/lcamtuf/statuses/109856004866592363/replies", "items": [] } }, "likes": { "id": "https://infosec.exchange/users/lcamtuf/statuses/109856004866592363/likes", "type": "Collection", "totalItems": 284 }, "shares": { "id": "https://infosec.exchange/users/lcamtuf/statuses/109856004866592363/shares", "type": "Collection", "totalItems": 128 } } }, { "id": "https://infosec.exchange/users/lcamtuf/statuses/109851245592721758/activity", "type": "Create", "actor": "https://infosec.exchange/users/lcamtuf", "published": "2023-02-12T10:16:24Z", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://infosec.exchange/users/lcamtuf/followers" ], "object": { "id": "https://infosec.exchange/users/lcamtuf/statuses/109851245592721758", "type": "Note", "summary": null, "inReplyTo": null, "published": "2023-02-12T10:16:24Z", "url": "https://infosec.exchange/@lcamtuf/109851245592721758", "attributedTo": "https://infosec.exchange/users/lcamtuf", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://infosec.exchange/users/lcamtuf/followers" ], "sensitive": true, "atomUri": "https://infosec.exchange/users/lcamtuf/statuses/109851245592721758", "inReplyToAtomUri": null, "conversation": "tag:infosec.exchange,2023-02-12:objectId=44135956:objectType=Conversation", "content": "<p>Stealth edit: this originally contained a couple of recommendations for setting up an electronics workshop. I added some illustrations and turned it into a fully-fledged post:</p><p><a href=\"https://lcamtuf.substack.com/p/setting-up-an-electronics-workshop\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" translate=\"no\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">lcamtuf.substack.com/p/setting</span><span class=\"invisible\">-up-an-electronics-workshop</span></a></p>", "contentMap": { "en": "<p>Stealth edit: this originally contained a couple of recommendations for setting up an electronics workshop. I added some illustrations and turned it into a fully-fledged post:</p><p><a href=\"https://lcamtuf.substack.com/p/setting-up-an-electronics-workshop\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" translate=\"no\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">lcamtuf.substack.com/p/setting</span><span class=\"invisible\">-up-an-electronics-workshop</span></a></p>" }, "updated": "2023-02-14T03:10:19Z", "attachment": [], "tag": [], "replies": { "id": "https://infosec.exchange/users/lcamtuf/statuses/109851245592721758/replies", "type": "Collection", "first": { "type": "CollectionPage", "next": "https://infosec.exchange/users/lcamtuf/statuses/109851245592721758/replies?only_other_accounts=true&page=true", "partOf": "https://infosec.exchange/users/lcamtuf/statuses/109851245592721758/replies", "items": [] } }, "likes": { "id": "https://infosec.exchange/users/lcamtuf/statuses/109851245592721758/likes", "type": "Collection", "totalItems": 147 }, "shares": { "id": "https://infosec.exchange/users/lcamtuf/statuses/109851245592721758/shares", "type": "Collection", "totalItems": 69 } } }, { "id": "https://infosec.exchange/users/lcamtuf/statuses/109844137686507547/activity", "type": "Create", "actor": "https://infosec.exchange/users/lcamtuf", "published": "2023-02-11T04:08:46Z", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://infosec.exchange/users/lcamtuf/followers" ], "object": { "id": "https://infosec.exchange/users/lcamtuf/statuses/109844137686507547", "type": "Note", "summary": null, "inReplyTo": null, "published": "2023-02-11T04:08:46Z", "url": "https://infosec.exchange/@lcamtuf/109844137686507547", "attributedTo": "https://infosec.exchange/users/lcamtuf", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://infosec.exchange/users/lcamtuf/followers" ], "sensitive": false, "atomUri": "https://infosec.exchange/users/lcamtuf/statuses/109844137686507547", "inReplyToAtomUri": null, "conversation": "tag:infosec.exchange,2023-02-11:objectId=43869947:objectType=Conversation", "content": "<p>New electronics post: what&#39;s in an op-amp?</p><p><a href=\"https://lcamtuf.substack.com/p/whats-in-an-op-amp\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" translate=\"no\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">lcamtuf.substack.com/p/whats-i</span><span class=\"invisible\">n-an-op-amp</span></a></p>", "contentMap": { "en": "<p>New electronics post: what&#39;s in an op-amp?</p><p><a href=\"https://lcamtuf.substack.com/p/whats-in-an-op-amp\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" translate=\"no\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">lcamtuf.substack.com/p/whats-i</span><span class=\"invisible\">n-an-op-amp</span></a></p>" }, "attachment": [], "tag": [], "replies": { "id": "https://infosec.exchange/users/lcamtuf/statuses/109844137686507547/replies", "type": "Collection", "first": { "type": "CollectionPage", "next": "https://infosec.exchange/users/lcamtuf/statuses/109844137686507547/replies?only_other_accounts=true&page=true", "partOf": "https://infosec.exchange/users/lcamtuf/statuses/109844137686507547/replies", "items": [] } }, "likes": { "id": "https://infosec.exchange/users/lcamtuf/statuses/109844137686507547/likes", "type": "Collection", "totalItems": 15 }, "shares": { "id": "https://infosec.exchange/users/lcamtuf/statuses/109844137686507547/shares", "type": "Collection", "totalItems": 6 } } }, { "id": "https://infosec.exchange/users/lcamtuf/statuses/109843115807469774/activity", "type": "Create", "actor": "https://infosec.exchange/users/lcamtuf", "published": "2023-02-10T23:48:54Z", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://infosec.exchange/users/lcamtuf/followers" ], "object": { "id": "https://infosec.exchange/users/lcamtuf/statuses/109843115807469774", "type": "Note", "summary": null, "inReplyTo": "https://infosec.exchange/users/lcamtuf/statuses/109843085855679959", "published": "2023-02-10T23:48:54Z", "url": "https://infosec.exchange/@lcamtuf/109843115807469774", "attributedTo": "https://infosec.exchange/users/lcamtuf", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://infosec.exchange/users/lcamtuf/followers" ], "sensitive": false, "atomUri": "https://infosec.exchange/users/lcamtuf/statuses/109843115807469774", "inReplyToAtomUri": "https://infosec.exchange/users/lcamtuf/statuses/109843085855679959", "conversation": "tag:infosec.exchange,2023-02-10:objectId=43830952:objectType=Conversation", "content": "<p>...for this kind of SMD work, you probably want to use hot air.</p>", "contentMap": { "en": "<p>...for this kind of SMD work, you probably want to use hot air.</p>" }, "updated": "2023-02-11T00:08:17Z", "attachment": [ { "type": "Document", "mediaType": "image/png", "url": "https://media.infosec.exchange/infosec.exchange/media_attachments/files/109/843/115/575/949/595/original/3284856c33852e4d.png", "name": null, "blurhash": "UvOzMboL-;af~qofRjofx]V@IUof9ZofofRj", "width": 953, "height": 1300 } ], "tag": [], "replies": { "id": "https://infosec.exchange/users/lcamtuf/statuses/109843115807469774/replies", "type": "Collection", "first": { "type": "CollectionPage", "next": "https://infosec.exchange/users/lcamtuf/statuses/109843115807469774/replies?only_other_accounts=true&page=true", "partOf": "https://infosec.exchange/users/lcamtuf/statuses/109843115807469774/replies", "items": [] } }, "likes": { "id": "https://infosec.exchange/users/lcamtuf/statuses/109843115807469774/likes", "type": "Collection", "totalItems": 27 }, "shares": { "id": "https://infosec.exchange/users/lcamtuf/statuses/109843115807469774/shares", "type": "Collection", "totalItems": 2 } } }, { "id": "https://infosec.exchange/users/lcamtuf/statuses/109843085855679959/activity", "type": "Create", "actor": "https://infosec.exchange/users/lcamtuf", "published": "2023-02-10T23:41:17Z", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://infosec.exchange/users/lcamtuf/followers" ], "object": { "id": "https://infosec.exchange/users/lcamtuf/statuses/109843085855679959", "type": "Note", "summary": null, "inReplyTo": "https://infosec.exchange/users/lcamtuf/statuses/109843079640679643", "published": "2023-02-10T23:41:17Z", "url": "https://infosec.exchange/@lcamtuf/109843085855679959", "attributedTo": "https://infosec.exchange/users/lcamtuf", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://infosec.exchange/users/lcamtuf/followers" ], "sensitive": false, "atomUri": "https://infosec.exchange/users/lcamtuf/statuses/109843085855679959", "inReplyToAtomUri": "https://infosec.exchange/users/lcamtuf/statuses/109843079640679643", "conversation": "tag:infosec.exchange,2023-02-10:objectId=43830952:objectType=Conversation", "content": "<p>Now, I don&#39;t mean this as mockery. It&#39;s pretty encouraging to see how many people rework their motherboards. That said...</p>", "contentMap": { "en": "<p>Now, I don&#39;t mean this as mockery. It&#39;s pretty encouraging to see how many people rework their motherboards. That said...</p>" }, "updated": "2023-02-11T00:08:02Z", "attachment": [ { "type": "Document", "mediaType": "image/png", "url": "https://media.infosec.exchange/infosec.exchange/media_attachments/files/109/843/079/916/188/523/original/54f9fc4b3c68a433.png", "name": null, "blurhash": "UHJt;z4Tx_E2L$MxJqR+.mRPNes:RhRj%1xa", "width": 333, "height": 519 }, { "type": "Document", "mediaType": "image/png", "url": "https://media.infosec.exchange/infosec.exchange/media_attachments/files/109/843/080/441/669/027/original/8ebaaf9f5d134ffa.png", "name": null, "blurhash": "USLh3yV@?vtR~qMxkWozIUkCoexubvV@nit7", "width": 1300, "height": 866 }, { "type": "Document", "mediaType": "image/png", "url": "https://media.infosec.exchange/infosec.exchange/media_attachments/files/109/843/082/099/117/633/original/5b7b6d1e960579f8.png", "name": null, "blurhash": "UFFOoy^+W?$$0ftSozof~AM{E1bGyDwu-AI:", "width": 680, "height": 1024 }, { "type": "Document", "mediaType": "image/png", "url": "https://media.infosec.exchange/infosec.exchange/media_attachments/files/109/843/084/771/238/445/original/3cf88207e6961a26.png", "name": null, "blurhash": "UPJRw0D%9ZMc?bbvkDRO4m-=t7R*%gn$RjR+", "width": 1600, "height": 1167 } ], "tag": [], "replies": { "id": "https://infosec.exchange/users/lcamtuf/statuses/109843085855679959/replies", "type": "Collection", "first": { "type": "CollectionPage", "next": "https://infosec.exchange/users/lcamtuf/statuses/109843085855679959/replies?min_id=109843115807469774&page=true", "partOf": "https://infosec.exchange/users/lcamtuf/statuses/109843085855679959/replies", "items": [ "https://infosec.exchange/users/lcamtuf/statuses/109843115807469774" ] } }, "likes": { "id": "https://infosec.exchange/users/lcamtuf/statuses/109843085855679959/likes", "type": "Collection", "totalItems": 38 }, "shares": { "id": "https://infosec.exchange/users/lcamtuf/statuses/109843085855679959/shares", "type": "Collection", "totalItems": 11 } } }, { "id": "https://infosec.exchange/users/lcamtuf/statuses/109843079640679643/activity", "type": "Create", "actor": "https://infosec.exchange/users/lcamtuf", "published": "2023-02-10T23:39:42Z", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://infosec.exchange/users/lcamtuf/followers" ], "object": { "id": "https://infosec.exchange/users/lcamtuf/statuses/109843079640679643", "type": "Note", "summary": null, "inReplyTo": null, "published": "2023-02-10T23:39:42Z", "url": "https://infosec.exchange/@lcamtuf/109843079640679643", "attributedTo": "https://infosec.exchange/users/lcamtuf", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://infosec.exchange/users/lcamtuf/followers" ], "sensitive": false, "atomUri": "https://infosec.exchange/users/lcamtuf/statuses/109843079640679643", "inReplyToAtomUri": null, "conversation": "tag:infosec.exchange,2023-02-10:objectId=43830952:objectType=Conversation", "content": "<p>Wow, I remember seeing one of these, but this is a genre of its own.</p>", "contentMap": { "en": "<p>Wow, I remember seeing one of these, but this is a genre of its own.</p>" }, "attachment": [ { "type": "Document", "mediaType": "image/png", "url": "https://media.infosec.exchange/infosec.exchange/media_attachments/files/109/843/076/586/689/966/original/26c82ebb569edaae.png", "name": null, "blurhash": "UULXb|?uEMH?xas:SiRP~pD*xu%MIVRjt7fl", "width": 1300, "height": 957 }, { "type": "Document", "mediaType": "image/png", "url": "https://media.infosec.exchange/infosec.exchange/media_attachments/files/109/843/077/219/612/393/original/40804941a59c2b5c.png", "name": null, "blurhash": "UMJ8kdX9yDQ-+}WByDRO_Mo#ozRPROV@i_NH", "width": 667, "height": 1000 }, { "type": "Document", "mediaType": "image/png", "url": "https://media.infosec.exchange/infosec.exchange/media_attachments/files/109/843/077/891/710/345/original/f9cb06dfccbd9098.png", "name": null, "blurhash": "UQK-nK4TtmM{~qaexvyDx[%MRQaytSa~xCxD", "width": 1300, "height": 866 }, { "type": "Document", "mediaType": "image/png", "url": "https://media.infosec.exchange/infosec.exchange/media_attachments/files/109/843/078/515/466/539/original/ac248c5e3b4a20f6.png", "name": null, "blurhash": "UMH.Ws0Kxvr=?ID%o#MxbvoMoKM{%hRjRikW", "width": 1300, "height": 956 } ], "tag": [], "replies": { "id": "https://infosec.exchange/users/lcamtuf/statuses/109843079640679643/replies", "type": "Collection", "first": { "type": "CollectionPage", "next": "https://infosec.exchange/users/lcamtuf/statuses/109843079640679643/replies?min_id=109843085855679959&page=true", "partOf": "https://infosec.exchange/users/lcamtuf/statuses/109843079640679643/replies", "items": [ "https://infosec.exchange/users/lcamtuf/statuses/109843085855679959" ] } }, "likes": { "id": "https://infosec.exchange/users/lcamtuf/statuses/109843079640679643/likes", "type": "Collection", "totalItems": 160 }, "shares": { "id": "https://infosec.exchange/users/lcamtuf/statuses/109843079640679643/shares", "type": "Collection", "totalItems": 92 } } }, { "id": "https://infosec.exchange/users/lcamtuf/statuses/109832085059510718/activity", "type": "Create", "actor": "https://infosec.exchange/users/lcamtuf", "published": "2023-02-09T01:03:38Z", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://infosec.exchange/users/lcamtuf/followers" ], "object": { "id": "https://infosec.exchange/users/lcamtuf/statuses/109832085059510718", "type": "Note", "summary": null, "inReplyTo": null, "published": "2023-02-09T01:03:38Z", "url": "https://infosec.exchange/@lcamtuf/109832085059510718", "attributedTo": "https://infosec.exchange/users/lcamtuf", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://infosec.exchange/users/lcamtuf/followers" ], "sensitive": false, "atomUri": "https://infosec.exchange/users/lcamtuf/statuses/109832085059510718", "inReplyToAtomUri": null, "conversation": "tag:infosec.exchange,2023-02-09:objectId=43346138:objectType=Conversation", "content": "<p>Afternoon project: CryptMaster 2001.</p><p>I shared some photos before, but this has more details about the hardware and the software side: <a href=\"https://lcamtuf.substack.com/p/afternoon-project-cryptmaster-2001\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" translate=\"no\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">lcamtuf.substack.com/p/afterno</span><span class=\"invisible\">on-project-cryptmaster-2001</span></a></p>", "contentMap": { "en": "<p>Afternoon project: CryptMaster 2001.</p><p>I shared some photos before, but this has more details about the hardware and the software side: <a href=\"https://lcamtuf.substack.com/p/afternoon-project-cryptmaster-2001\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" translate=\"no\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">lcamtuf.substack.com/p/afterno</span><span class=\"invisible\">on-project-cryptmaster-2001</span></a></p>" }, "attachment": [], "tag": [], "replies": { "id": "https://infosec.exchange/users/lcamtuf/statuses/109832085059510718/replies", "type": "Collection", "first": { "type": "CollectionPage", "next": "https://infosec.exchange/users/lcamtuf/statuses/109832085059510718/replies?only_other_accounts=true&page=true", "partOf": "https://infosec.exchange/users/lcamtuf/statuses/109832085059510718/replies", "items": [] } }, "likes": { "id": "https://infosec.exchange/users/lcamtuf/statuses/109832085059510718/likes", "type": "Collection", "totalItems": 9 }, "shares": { "id": "https://infosec.exchange/users/lcamtuf/statuses/109832085059510718/shares", "type": "Collection", "totalItems": 1 } } }, { "id": "https://infosec.exchange/users/lcamtuf/statuses/109821533425032562/activity", "type": "Create", "actor": "https://infosec.exchange/users/lcamtuf", "published": "2023-02-07T04:20:13Z", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://infosec.exchange/users/lcamtuf/followers" ], "object": { "id": "https://infosec.exchange/users/lcamtuf/statuses/109821533425032562", "type": "Note", "summary": null, "inReplyTo": null, "published": "2023-02-07T04:20:13Z", "url": "https://infosec.exchange/@lcamtuf/109821533425032562", "attributedTo": "https://infosec.exchange/users/lcamtuf", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://infosec.exchange/users/lcamtuf/followers" ], "sensitive": false, "atomUri": "https://infosec.exchange/users/lcamtuf/statuses/109821533425032562", "inReplyToAtomUri": null, "conversation": "tag:infosec.exchange,2023-02-07:objectId=42904132:objectType=Conversation", "content": "<p>OK - my longest electronics post yet: the basics of signal amplification</p><p><a href=\"https://lcamtuf.substack.com/p/the-basics-of-signal-amplification\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" translate=\"no\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">lcamtuf.substack.com/p/the-bas</span><span class=\"invisible\">ics-of-signal-amplification</span></a></p>", "contentMap": { "en": "<p>OK - my longest electronics post yet: the basics of signal amplification</p><p><a href=\"https://lcamtuf.substack.com/p/the-basics-of-signal-amplification\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" translate=\"no\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">lcamtuf.substack.com/p/the-bas</span><span class=\"invisible\">ics-of-signal-amplification</span></a></p>" }, "attachment": [], "tag": [], "replies": { "id": "https://infosec.exchange/users/lcamtuf/statuses/109821533425032562/replies", "type": "Collection", "first": { "type": "CollectionPage", "next": "https://infosec.exchange/users/lcamtuf/statuses/109821533425032562/replies?only_other_accounts=true&page=true", "partOf": "https://infosec.exchange/users/lcamtuf/statuses/109821533425032562/replies", "items": [] } }, "likes": { "id": "https://infosec.exchange/users/lcamtuf/statuses/109821533425032562/likes", "type": "Collection", "totalItems": 34 }, "shares": { "id": "https://infosec.exchange/users/lcamtuf/statuses/109821533425032562/shares", "type": "Collection", "totalItems": 18 } } }, { "id": "https://infosec.exchange/users/lcamtuf/statuses/109802807150811758/activity", "type": "Create", "actor": "https://infosec.exchange/users/lcamtuf", "published": "2023-02-03T20:57:52Z", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://infosec.exchange/users/lcamtuf/followers" ], "object": { "id": "https://infosec.exchange/users/lcamtuf/statuses/109802807150811758", "type": "Note", "summary": null, "inReplyTo": null, "published": "2023-02-03T20:57:52Z", "url": "https://infosec.exchange/@lcamtuf/109802807150811758", "attributedTo": "https://infosec.exchange/users/lcamtuf", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://infosec.exchange/users/lcamtuf/followers" ], "sensitive": false, "atomUri": "https://infosec.exchange/users/lcamtuf/statuses/109802807150811758", "inReplyToAtomUri": null, "conversation": "tag:infosec.exchange,2023-02-03:objectId=42191900:objectType=Conversation", "content": "<p>Forces of nature, designs of man: <a href=\"https://lcamtuf.substack.com/p/forces-of-nature-designs-of-man\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" translate=\"no\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">lcamtuf.substack.com/p/forces-</span><span class=\"invisible\">of-nature-designs-of-man</span></a></p>", "contentMap": { "en": "<p>Forces of nature, designs of man: <a href=\"https://lcamtuf.substack.com/p/forces-of-nature-designs-of-man\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" translate=\"no\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">lcamtuf.substack.com/p/forces-</span><span class=\"invisible\">of-nature-designs-of-man</span></a></p>" }, "attachment": [], "tag": [], "replies": { "id": "https://infosec.exchange/users/lcamtuf/statuses/109802807150811758/replies", "type": "Collection", "first": { "type": "CollectionPage", "next": "https://infosec.exchange/users/lcamtuf/statuses/109802807150811758/replies?only_other_accounts=true&page=true", "partOf": "https://infosec.exchange/users/lcamtuf/statuses/109802807150811758/replies", "items": [] } }, "likes": { "id": "https://infosec.exchange/users/lcamtuf/statuses/109802807150811758/likes", "type": "Collection", "totalItems": 7 }, "shares": { "id": "https://infosec.exchange/users/lcamtuf/statuses/109802807150811758/shares", "type": "Collection", "totalItems": 4 } } }, { "id": "https://infosec.exchange/users/lcamtuf/statuses/109792538928252835/activity", "type": "Create", "actor": "https://infosec.exchange/users/lcamtuf", "published": "2023-02-02T01:26:32Z", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://infosec.exchange/users/lcamtuf/followers" ], "object": { "id": "https://infosec.exchange/users/lcamtuf/statuses/109792538928252835", "type": "Note", "summary": null, "inReplyTo": null, "published": "2023-02-02T01:26:32Z", "url": "https://infosec.exchange/@lcamtuf/109792538928252835", "attributedTo": "https://infosec.exchange/users/lcamtuf", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://infosec.exchange/users/lcamtuf/followers" ], "sensitive": false, "atomUri": "https://infosec.exchange/users/lcamtuf/statuses/109792538928252835", "inReplyToAtomUri": null, "conversation": "tag:infosec.exchange,2023-02-02:objectId=41766761:objectType=Conversation", "content": "<p>Fear and loathing in MCU land, part 6: DMA on Cortex-M7</p><p><a href=\"https://lcamtuf.substack.com/p/mcu-land-part-6-dma-on-cortex-m7\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" translate=\"no\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">lcamtuf.substack.com/p/mcu-lan</span><span class=\"invisible\">d-part-6-dma-on-cortex-m7</span></a></p>", "contentMap": { "en": "<p>Fear and loathing in MCU land, part 6: DMA on Cortex-M7</p><p><a href=\"https://lcamtuf.substack.com/p/mcu-land-part-6-dma-on-cortex-m7\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" translate=\"no\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">lcamtuf.substack.com/p/mcu-lan</span><span class=\"invisible\">d-part-6-dma-on-cortex-m7</span></a></p>" }, "attachment": [], "tag": [], "replies": { "id": "https://infosec.exchange/users/lcamtuf/statuses/109792538928252835/replies", "type": "Collection", "first": { "type": "CollectionPage", "next": "https://infosec.exchange/users/lcamtuf/statuses/109792538928252835/replies?only_other_accounts=true&page=true", "partOf": "https://infosec.exchange/users/lcamtuf/statuses/109792538928252835/replies", "items": [] } }, "likes": { "id": "https://infosec.exchange/users/lcamtuf/statuses/109792538928252835/likes", "type": "Collection", "totalItems": 5 }, "shares": { "id": "https://infosec.exchange/users/lcamtuf/statuses/109792538928252835/shares", "type": "Collection", "totalItems": 2 } } }, { "id": "https://infosec.exchange/users/lcamtuf/statuses/109787361271110402/activity", "type": "Create", "actor": "https://infosec.exchange/users/lcamtuf", "published": "2023-02-01T03:29:47Z", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://infosec.exchange/users/lcamtuf/followers" ], "object": { "id": "https://infosec.exchange/users/lcamtuf/statuses/109787361271110402", "type": "Note", "summary": null, "inReplyTo": null, "published": "2023-02-01T03:29:47Z", "url": "https://infosec.exchange/@lcamtuf/109787361271110402", "attributedTo": "https://infosec.exchange/users/lcamtuf", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://infosec.exchange/users/lcamtuf/followers" ], "sensitive": false, "atomUri": "https://infosec.exchange/users/lcamtuf/statuses/109787361271110402", "inReplyToAtomUri": null, "conversation": "tag:infosec.exchange,2023-02-01:objectId=41552026:objectType=Conversation", "content": "<p>New MCU article (yay): IRQ and chill on Cortex-M7</p><p><a href=\"https://lcamtuf.substack.com/p/mcu-land-part-5-irq-and-chill-on\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" translate=\"no\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">lcamtuf.substack.com/p/mcu-lan</span><span class=\"invisible\">d-part-5-irq-and-chill-on</span></a></p>", "contentMap": { "en": "<p>New MCU article (yay): IRQ and chill on Cortex-M7</p><p><a href=\"https://lcamtuf.substack.com/p/mcu-land-part-5-irq-and-chill-on\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" translate=\"no\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">lcamtuf.substack.com/p/mcu-lan</span><span class=\"invisible\">d-part-5-irq-and-chill-on</span></a></p>" }, "attachment": [], "tag": [], "replies": { "id": "https://infosec.exchange/users/lcamtuf/statuses/109787361271110402/replies", "type": "Collection", "first": { "type": "CollectionPage", "next": "https://infosec.exchange/users/lcamtuf/statuses/109787361271110402/replies?only_other_accounts=true&page=true", "partOf": "https://infosec.exchange/users/lcamtuf/statuses/109787361271110402/replies", "items": [] } }, "likes": { "id": "https://infosec.exchange/users/lcamtuf/statuses/109787361271110402/likes", "type": "Collection", "totalItems": 10 }, "shares": { "id": "https://infosec.exchange/users/lcamtuf/statuses/109787361271110402/shares", "type": "Collection", "totalItems": 1 } } }, { "id": "https://infosec.exchange/users/lcamtuf/statuses/109781193111472366/activity", "type": "Create", "actor": "https://infosec.exchange/users/lcamtuf", "published": "2023-01-31T01:21:08Z", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://infosec.exchange/users/lcamtuf/followers" ], "object": { "id": "https://infosec.exchange/users/lcamtuf/statuses/109781193111472366", "type": "Note", "summary": null, "inReplyTo": null, "published": "2023-01-31T01:21:08Z", "url": "https://infosec.exchange/@lcamtuf/109781193111472366", "attributedTo": "https://infosec.exchange/users/lcamtuf", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://infosec.exchange/users/lcamtuf/followers" ], "sensitive": false, "atomUri": "https://infosec.exchange/users/lcamtuf/statuses/109781193111472366", "inReplyToAtomUri": null, "conversation": "tag:infosec.exchange,2023-01-31:objectId=41298176:objectType=Conversation", "content": "<p>OK, done! Last night, I worked on a write-up about digital signal processing with a bare MCU. Moments ago, I wrapped it up with a demo video. Enjoy!</p><p><a href=\"https://lcamtuf.substack.com/p/mcu-land-part-4-building-an-audio\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" translate=\"no\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">lcamtuf.substack.com/p/mcu-lan</span><span class=\"invisible\">d-part-4-building-an-audio</span></a></p><p>Yes, it&#39;s a stupid project, but the article includes detailed schematics and a link to meticulously-documented source code.</p>", "contentMap": { "en": "<p>OK, done! Last night, I worked on a write-up about digital signal processing with a bare MCU. Moments ago, I wrapped it up with a demo video. Enjoy!</p><p><a href=\"https://lcamtuf.substack.com/p/mcu-land-part-4-building-an-audio\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" translate=\"no\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">lcamtuf.substack.com/p/mcu-lan</span><span class=\"invisible\">d-part-4-building-an-audio</span></a></p><p>Yes, it&#39;s a stupid project, but the article includes detailed schematics and a link to meticulously-documented source code.</p>" }, "updated": "2023-01-31T01:49:26Z", "attachment": [], "tag": [], "replies": { "id": "https://infosec.exchange/users/lcamtuf/statuses/109781193111472366/replies", "type": "Collection", "first": { "type": "CollectionPage", "next": "https://infosec.exchange/users/lcamtuf/statuses/109781193111472366/replies?only_other_accounts=true&page=true", "partOf": "https://infosec.exchange/users/lcamtuf/statuses/109781193111472366/replies", "items": [] } }, "likes": { "id": "https://infosec.exchange/users/lcamtuf/statuses/109781193111472366/likes", "type": "Collection", "totalItems": 11 }, "shares": { "id": "https://infosec.exchange/users/lcamtuf/statuses/109781193111472366/shares", "type": "Collection", "totalItems": 10 } } }, { "id": "https://infosec.exchange/users/lcamtuf/statuses/109769158592003719/activity", "type": "Create", "actor": "https://infosec.exchange/users/lcamtuf", "published": "2023-01-28T22:20:36Z", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://infosec.exchange/users/lcamtuf/followers" ], "object": { "id": "https://infosec.exchange/users/lcamtuf/statuses/109769158592003719", "type": "Note", "summary": null, "inReplyTo": null, "published": "2023-01-28T22:20:36Z", "url": "https://infosec.exchange/@lcamtuf/109769158592003719", "attributedTo": "https://infosec.exchange/users/lcamtuf", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://infosec.exchange/users/lcamtuf/followers" ], "sensitive": false, "atomUri": "https://infosec.exchange/users/lcamtuf/statuses/109769158592003719", "inReplyToAtomUri": null, "conversation": "tag:infosec.exchange,2023-01-28:objectId=40824086:objectType=Conversation", "content": "<p>New substack post: baby steps with ARM Cortex-M7</p><p><a href=\"https://lcamtuf.substack.com/p/mcu-land-part-3-baby-steps-with-cortex\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" translate=\"no\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">lcamtuf.substack.com/p/mcu-lan</span><span class=\"invisible\">d-part-3-baby-steps-with-cortex</span></a></p>", "contentMap": { "en": "<p>New substack post: baby steps with ARM Cortex-M7</p><p><a href=\"https://lcamtuf.substack.com/p/mcu-land-part-3-baby-steps-with-cortex\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" translate=\"no\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">lcamtuf.substack.com/p/mcu-lan</span><span class=\"invisible\">d-part-3-baby-steps-with-cortex</span></a></p>" }, "updated": "2023-01-28T22:38:29Z", "attachment": [], "tag": [], "replies": { "id": "https://infosec.exchange/users/lcamtuf/statuses/109769158592003719/replies", "type": "Collection", "first": { "type": "CollectionPage", "next": "https://infosec.exchange/users/lcamtuf/statuses/109769158592003719/replies?only_other_accounts=true&page=true", "partOf": "https://infosec.exchange/users/lcamtuf/statuses/109769158592003719/replies", "items": [] } }, "likes": { "id": "https://infosec.exchange/users/lcamtuf/statuses/109769158592003719/likes", "type": "Collection", "totalItems": 14 }, "shares": { "id": "https://infosec.exchange/users/lcamtuf/statuses/109769158592003719/shares", "type": "Collection", "totalItems": 6 } } }, { "id": "https://infosec.exchange/users/lcamtuf/statuses/109751331101956826/activity", "type": "Create", "actor": "https://infosec.exchange/users/lcamtuf", "published": "2023-01-25T18:46:50Z", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://infosec.exchange/users/lcamtuf/followers" ], "object": { "id": "https://infosec.exchange/users/lcamtuf/statuses/109751331101956826", "type": "Note", "summary": null, "inReplyTo": null, "published": "2023-01-25T18:46:50Z", "url": "https://infosec.exchange/@lcamtuf/109751331101956826", "attributedTo": "https://infosec.exchange/users/lcamtuf", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://infosec.exchange/users/lcamtuf/followers" ], "sensitive": false, "atomUri": "https://infosec.exchange/users/lcamtuf/statuses/109751331101956826", "inReplyToAtomUri": null, "conversation": "tag:infosec.exchange,2023-01-25:objectId=40023012:objectType=Conversation", "content": "<p>New Substack article: Fear and loathing in the land of MCUs, part 2 - mysteries of the SPI bus</p><p><a href=\"https://lcamtuf.substack.com/p/mcu-land-part-2-mysteries-of-the/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" translate=\"no\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">lcamtuf.substack.com/p/mcu-lan</span><span class=\"invisible\">d-part-2-mysteries-of-the/</span></a></p>", "contentMap": { "en": "<p>New Substack article: Fear and loathing in the land of MCUs, part 2 - mysteries of the SPI bus</p><p><a href=\"https://lcamtuf.substack.com/p/mcu-land-part-2-mysteries-of-the/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" translate=\"no\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">lcamtuf.substack.com/p/mcu-lan</span><span class=\"invisible\">d-part-2-mysteries-of-the/</span></a></p>" }, "updated": "2023-01-25T20:06:40Z", "attachment": [], "tag": [], "replies": { "id": "https://infosec.exchange/users/lcamtuf/statuses/109751331101956826/replies", "type": "Collection", "first": { "type": "CollectionPage", "next": "https://infosec.exchange/users/lcamtuf/statuses/109751331101956826/replies?only_other_accounts=true&page=true", "partOf": "https://infosec.exchange/users/lcamtuf/statuses/109751331101956826/replies", "items": [] } }, "likes": { "id": "https://infosec.exchange/users/lcamtuf/statuses/109751331101956826/likes", "type": "Collection", "totalItems": 10 }, "shares": { "id": "https://infosec.exchange/users/lcamtuf/statuses/109751331101956826/shares", "type": "Collection", "totalItems": 4 } } }, { "id": "https://infosec.exchange/users/lcamtuf/statuses/109747209519637452/activity", "type": "Create", "actor": "https://infosec.exchange/users/lcamtuf", "published": "2023-01-25T01:18:40Z", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://infosec.exchange/users/lcamtuf/followers" ], "object": { "id": "https://infosec.exchange/users/lcamtuf/statuses/109747209519637452", "type": "Note", "summary": null, "inReplyTo": null, "published": "2023-01-25T01:18:40Z", "url": "https://infosec.exchange/@lcamtuf/109747209519637452", "attributedTo": "https://infosec.exchange/users/lcamtuf", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://infosec.exchange/users/lcamtuf/followers" ], "sensitive": false, "atomUri": "https://infosec.exchange/users/lcamtuf/statuses/109747209519637452", "inReplyToAtomUri": null, "conversation": "tag:infosec.exchange,2023-01-25:objectId=39836139:objectType=Conversation", "content": "<p>New Substack article: Fear and loathing in the land of MCUs</p><p><a href=\"https://lcamtuf.substack.com/p/fear-and-loathing-in-the-world-of\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" translate=\"no\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">lcamtuf.substack.com/p/fear-an</span><span class=\"invisible\">d-loathing-in-the-world-of</span></a></p>", "contentMap": { "en": "<p>New Substack article: Fear and loathing in the land of MCUs</p><p><a href=\"https://lcamtuf.substack.com/p/fear-and-loathing-in-the-world-of\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" translate=\"no\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">lcamtuf.substack.com/p/fear-an</span><span class=\"invisible\">d-loathing-in-the-world-of</span></a></p>" }, "updated": "2023-01-25T04:43:09Z", "attachment": [], "tag": [], "replies": { "id": "https://infosec.exchange/users/lcamtuf/statuses/109747209519637452/replies", "type": "Collection", "first": { "type": "CollectionPage", "next": "https://infosec.exchange/users/lcamtuf/statuses/109747209519637452/replies?only_other_accounts=true&page=true", "partOf": "https://infosec.exchange/users/lcamtuf/statuses/109747209519637452/replies", "items": [] } }, "likes": { "id": "https://infosec.exchange/users/lcamtuf/statuses/109747209519637452/likes", "type": "Collection", "totalItems": 10 }, "shares": { "id": "https://infosec.exchange/users/lcamtuf/statuses/109747209519637452/shares", "type": "Collection", "totalItems": 6 } } }, { "id": "https://infosec.exchange/users/lcamtuf/statuses/109725682712687513/activity", "type": "Create", "actor": "https://infosec.exchange/users/lcamtuf", "published": "2023-01-21T06:04:07Z", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://infosec.exchange/users/lcamtuf/followers" ], "object": { "id": "https://infosec.exchange/users/lcamtuf/statuses/109725682712687513", "type": "Note", "summary": null, "inReplyTo": null, "published": "2023-01-21T06:04:07Z", "url": "https://infosec.exchange/@lcamtuf/109725682712687513", "attributedTo": "https://infosec.exchange/users/lcamtuf", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://infosec.exchange/users/lcamtuf/followers" ], "sensitive": false, "atomUri": "https://infosec.exchange/users/lcamtuf/statuses/109725682712687513", "inReplyToAtomUri": null, "conversation": "tag:infosec.exchange,2023-01-21:objectId=38926587:objectType=Conversation", "content": "<p>Time is a flat circle and all that.</p><p>It used to be that if you had a need for an embedded processor, you&#39;d either write code for a &quot;bare metal&quot; microcontroller, or grab a compact real-time OS of some sort (the latter mostly if you needed a complete networking stack, a filesystem, or something like that).</p><p>Nowadays, most people just get a powerful system-on-a-chip (SoC) running Linux, even if their project is as simple as blinking some Christmas lights. But Linux does Linux things, and getting predictable and performant hardware I/O from userspace is a crapshoot. You do &#39;echo 1 &gt;/sys/class/gpio/gpio60/value&#39; and some indeterminate time later, a pin changes state. Forget gigabit data transfer speeds - you might have a hard time playing back audio on a speaker.</p><p>So now, some SoCs come with a separate processor on the die - a Programmable Real-time Unit (PRU). It&#39;s a semi-standalone device that lets you run simple code in a &quot;bare metal&quot; environment with a bit of RAM and program memory to orchestrate your GPIO:</p><p><a href=\"https://beagleboard.org/pru\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" translate=\"no\"><span class=\"invisible\">https://</span><span class=\"\">beagleboard.org/pru</span><span class=\"invisible\"></span></a></p><p>In this model, Linux running on the main CPU just tells the PRU &quot;please play back fart sounds on pin 60&quot;, and your code running on the PRU handles the particulars of toggling the pin in real time.</p><p>I suspect it&#39;s just a matter of time before we find a way to run Linux on the PRU, and then demand a second PRU to solve the I/O issues that would arise.</p>", "contentMap": { "en": "<p>Time is a flat circle and all that.</p><p>It used to be that if you had a need for an embedded processor, you&#39;d either write code for a &quot;bare metal&quot; microcontroller, or grab a compact real-time OS of some sort (the latter mostly if you needed a complete networking stack, a filesystem, or something like that).</p><p>Nowadays, most people just get a powerful system-on-a-chip (SoC) running Linux, even if their project is as simple as blinking some Christmas lights. But Linux does Linux things, and getting predictable and performant hardware I/O from userspace is a crapshoot. You do &#39;echo 1 &gt;/sys/class/gpio/gpio60/value&#39; and some indeterminate time later, a pin changes state. Forget gigabit data transfer speeds - you might have a hard time playing back audio on a speaker.</p><p>So now, some SoCs come with a separate processor on the die - a Programmable Real-time Unit (PRU). It&#39;s a semi-standalone device that lets you run simple code in a &quot;bare metal&quot; environment with a bit of RAM and program memory to orchestrate your GPIO:</p><p><a href=\"https://beagleboard.org/pru\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" translate=\"no\"><span class=\"invisible\">https://</span><span class=\"\">beagleboard.org/pru</span><span class=\"invisible\"></span></a></p><p>In this model, Linux running on the main CPU just tells the PRU &quot;please play back fart sounds on pin 60&quot;, and your code running on the PRU handles the particulars of toggling the pin in real time.</p><p>I suspect it&#39;s just a matter of time before we find a way to run Linux on the PRU, and then demand a second PRU to solve the I/O issues that would arise.</p>" }, "updated": "2023-01-21T16:53:56Z", "attachment": [], "tag": [], "replies": { "id": "https://infosec.exchange/users/lcamtuf/statuses/109725682712687513/replies", "type": "Collection", "first": { "type": "CollectionPage", "next": "https://infosec.exchange/users/lcamtuf/statuses/109725682712687513/replies?only_other_accounts=true&page=true", "partOf": "https://infosec.exchange/users/lcamtuf/statuses/109725682712687513/replies", "items": [] } }, "likes": { "id": "https://infosec.exchange/users/lcamtuf/statuses/109725682712687513/likes", "type": "Collection", "totalItems": 124 }, "shares": { "id": "https://infosec.exchange/users/lcamtuf/statuses/109725682712687513/shares", "type": "Collection", "totalItems": 51 } } }, { "id": "https://infosec.exchange/users/lcamtuf/statuses/109694564740992038/activity", "type": "Create", "actor": "https://infosec.exchange/users/lcamtuf", "published": "2023-01-15T18:10:24Z", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://infosec.exchange/users/lcamtuf/followers" ], "object": { "id": "https://infosec.exchange/users/lcamtuf/statuses/109694564740992038", "type": "Note", "summary": null, "inReplyTo": null, "published": "2023-01-15T18:10:24Z", "url": "https://infosec.exchange/@lcamtuf/109694564740992038", "attributedTo": "https://infosec.exchange/users/lcamtuf", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://infosec.exchange/users/lcamtuf/followers" ], "sensitive": false, "atomUri": "https://infosec.exchange/users/lcamtuf/statuses/109694564740992038", "inReplyToAtomUri": null, "conversation": "tag:infosec.exchange,2023-01-15:objectId=37573082:objectType=Conversation", "content": "<p>Weekend projects: recreating three classic games in a minimalistic way (source code and hardware details included).</p><p><a href=\"https://lcamtuf.substack.com/p/recreating-classic-games-with-a-bare\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" translate=\"no\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">lcamtuf.substack.com/p/recreat</span><span class=\"invisible\">ing-classic-games-with-a-bare</span></a></p>", "contentMap": { "en": "<p>Weekend projects: recreating three classic games in a minimalistic way (source code and hardware details included).</p><p><a href=\"https://lcamtuf.substack.com/p/recreating-classic-games-with-a-bare\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" translate=\"no\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">lcamtuf.substack.com/p/recreat</span><span class=\"invisible\">ing-classic-games-with-a-bare</span></a></p>" }, "attachment": [], "tag": [], "replies": { "id": "https://infosec.exchange/users/lcamtuf/statuses/109694564740992038/replies", "type": "Collection", "first": { "type": "CollectionPage", "next": "https://infosec.exchange/users/lcamtuf/statuses/109694564740992038/replies?only_other_accounts=true&page=true", "partOf": "https://infosec.exchange/users/lcamtuf/statuses/109694564740992038/replies", "items": [] } }, "likes": { "id": "https://infosec.exchange/users/lcamtuf/statuses/109694564740992038/likes", "type": "Collection", "totalItems": 12 }, "shares": { "id": "https://infosec.exchange/users/lcamtuf/statuses/109694564740992038/shares", "type": "Collection", "totalItems": 8 } } }, { "id": "https://infosec.exchange/users/lcamtuf/statuses/109682845801420319/activity", "type": "Create", "actor": "https://infosec.exchange/users/lcamtuf", "published": "2023-01-13T16:30:07Z", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://infosec.exchange/users/lcamtuf/followers" ], "object": { "id": "https://infosec.exchange/users/lcamtuf/statuses/109682845801420319", "type": "Note", "summary": null, "inReplyTo": null, "published": "2023-01-13T16:30:07Z", "url": "https://infosec.exchange/@lcamtuf/109682845801420319", "attributedTo": "https://infosec.exchange/users/lcamtuf", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://infosec.exchange/users/lcamtuf/followers" ], "sensitive": false, "atomUri": "https://infosec.exchange/users/lcamtuf/statuses/109682845801420319", "inReplyToAtomUri": null, "conversation": "tag:infosec.exchange,2023-01-13:objectId=37091055:objectType=Conversation", "content": "<p>Having used Linux for something like 25 years, I think there&#39;s just one immutable rule: don&#39;t even bother learning the syntax of the firewall tool, they&#39;re gonna replace it in two years anyway.</p>", "contentMap": { "en": "<p>Having used Linux for something like 25 years, I think there&#39;s just one immutable rule: don&#39;t even bother learning the syntax of the firewall tool, they&#39;re gonna replace it in two years anyway.</p>" }, "attachment": [], "tag": [], "replies": { "id": "https://infosec.exchange/users/lcamtuf/statuses/109682845801420319/replies", "type": "Collection", "first": { "type": "CollectionPage", "next": "https://infosec.exchange/users/lcamtuf/statuses/109682845801420319/replies?only_other_accounts=true&page=true", "partOf": "https://infosec.exchange/users/lcamtuf/statuses/109682845801420319/replies", "items": [] } }, "likes": { "id": "https://infosec.exchange/users/lcamtuf/statuses/109682845801420319/likes", "type": "Collection", "totalItems": 190 }, "shares": { "id": "https://infosec.exchange/users/lcamtuf/statuses/109682845801420319/shares", "type": "Collection", "totalItems": 71 } } } ] }