Steemit Archive Test - What I Did, and What I LearnedsteemCreated with Sketch.

in #steemit6 years ago (edited)

"The ... building blocks of [Steemit], depend on each other for security, immutability and longevity..."
- Steem Bluepaper -


We're not all developers, not all programmers.

But Steemit dangles the promise of "security, immutability and longevity" for items that are actually saved and stored on the Steemit blockchain.

Table of Contents

Employing the Steemit blockchain as a file archive...
Image courtesy of Gerd Altmann and http://pixabay.com

Unless you're a blockchain programmer,

that Steemit benefit only applies to text saved on the blockchain.

But what if you want to save an important image? A rare photo of your grandparents, for instance? Or a sound—e.g. a recording of your child's first words?

Sorry! If you can't programmatically access the Steemit API, then you are simply SOL.

But wait! Maybe not...

Most email programs turn files into text.

That magic is called "Mime 1.0," a story in itself for another time. Suffice it to say that I thought I'd try using my handy Thunderbird email program to see if I could (fairly) easily turn a file into text and preserve it, with it's incorporated format and image, permanently on the blockchain.

Here's what I did:

I used OpenOffice to edit an RTF file that contains an image and a font that I like, formatted just the way I want. When it was all done, I exported it as a PDF file to "lock in" all the details.

Unfortunately, that file turned out to be too large for Steemit. One thing I learned is that the Steemit edit window rejects files that exceed 64K bytes in size. This lead to the discovery of https://smallpdf.com/, a website that will optimize and shrink the size of your unwieldy PDF files.

After iterating a couple of times, I had a PDF that (when embedded in an email) was small enough for a single Steemit post. I attached that to a very short Thunderbird email, and sent it to myself.

After receiving the email, I opened it and did a "Save As" to store it on my desktop as an individual file.

Table of Contents

PDF and email, Side by Side... ~ Original Image by @creatr

Next,

I edited the email file as Plain Text in order to strip off all unnecessary email header information. (I changed the file extension from '.eml' to '.txt'—over the objections of my operating system, of course).

How much and what did I have to strip away, leaving enough for Thunderbird to still recognize this as an email? You can see the exact text in my first experimental post, here: Experimental Steemit Blockchain File Archive Test.

In order to preserve the simple text of that upload, I sandwiched it between a <code> and a </code> so that Markdown would show it as plain text.

I'll display just a snippet here—the header and the first line of MIME 1.0 encoded file data—so that you can see the literal details. Note that there are three lines in the header in which I had to replace a plain leading space with the special string "&nbsp;" in order for this to work.


<code>
MIME-Version: 1.0
Content-Type: multipart/mixed;
&nbsp;boundary="------------E012B2B96ED92D02BBC23510"
Content-Language: en-US

This is a multi-part message in MIME format.
--------------E012B2B96ED92D02BBC23510
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit

Steemit file preservation experiment

Original to Steemit, "Old Hands"

Copyright © 2018 by Duncan Cary Palmer

--------------E012B2B96ED92D02BBC23510
Content-Type: application/pdf;
&nbsp;name="handy.pdf"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
&nbsp;filename="handy.pdf"

JVBERi0xLjQNCiXi48/TDQozIDAgb2JqDQo8PA0KL0xpbmVhcml6ZWQgMQ0KL0wgMzczNzYN
...
CiUlRU9GDQo=
--------------E012B2B96ED92D02BBC23510--
</code>

Table of Contents

The blockchain has a long memory.
Image courtesy of Andrew Martin and http://pixabay.com

Check my original post,

and you'll see that there were no changes at all required in the rest of the file.

Finally,

after it has been stored on the blockchain, I open the Steemit post, and then highlight and copy the complete MIME text into a plain-text file.

I then change the file extension from .txt to .eml, open it with Thunderbird, and save the attached PDF file...

Voila! I have the original PDF file restored! :D

You can archive your own (small) files the same way.

You don't have to be a programmer or developer; all you need is attention to detail and careful editing.

If you go back through this article and follow the links, you should be able to find all the tools that I used and repeat the process for yourself. Then your Steemit blog can become a long-term archive for more than just your words.

Let me know if you have any questions; I'll be glad to help you repeat my experiment for your own nefarious purposes.

When I have some time,

I hope to continue these experiments . I want to see if there may be a simple way to split and preserve a larger image, or maybe an MP3 file across multiple Steemit posts.


~FIN~


All articles in this series to date:

Experimental Steemit Blockchain File Archive Test
Steemit Archive Test? What's He On About?
Steemit Archive Test - What I Did, and What I Learned


P.S. If you have an "in" with anybody at Steemit, Inc. - Would you please ask them to get rid of these damn, extremely annoying "off-website" arrow/boxes? The have, overnight, made Steemit ugly. There are much better solutions.


For more Steemit content, CLICK our Library Steemit Shelf.


Table of Contents


Table of Contents


LOOK! Check out our amazing product:
SILVERengines
Introducing: The SILVERengines proton - Image by @creatr
CONTACT US - Will Exchange for Steem


Thanks for your time and attention.
You are why I'm here on Steemit!
I have very eclectic interests and hope, over time, to write about them all.


⬇️To Check Out @creatr's World⬇️CLICK Each Image Below⬇️

@creatr @creatr @creatr

Sort:  

I assure you that I will keep this publication in the favorite area of my computer, you have no idea how many headaches I have had for that, how many of us have not happened that we reached the maximum weight limit of a file or number of characters.
You're an angel. Have a beautiful day like mine that you rejoiced.

Thank you for the sweet words. :)

🌻🌻🌻🌻🌻❤️

That's awesome that it worked. I am continuously amazed by this blockchain and the different uses people have for it. Steem is gaining Steem. I can't wait till it goes main stream (hey that rhymes).

Hi, Moe!

Nice hearing from you recently... :D

Yeah, besides earning some $$$ here, one of my ongoing hopes has been that Steemit might become an archive for my writing and my thoughts. A self-supporting storage depot where, some day, some of my curious descendants might drop by to check out what their great-great-great grandfather had on his mind.

For that to happen, of course, would require that Steemit survive and thrive... We'll see, I guess.

Thanks a lot for saying "Hey!" ;) Hope things are going well with you.

😄😇😄

@creatr

I finally added you to my watch list on Gina. We seldom post in the same circles...and I'm mostly too busy to peruse Steemit like I used to.

I think you and I have very similar desires for this technology. I also want somewhere where people can access my writings after I am gone. I also think Steem is a great place to do business.

Along those lines, how is your candied nut venture going? :)

My colloidal silver machines are trickling along, but I'm doing well on the consulting front these days, Thank the LORD...

I guess you could say we're doing ok. I've been away for a while with my "typical job" but we're pretty much in the black now (which is pretty good for being in business for less than two years). Then again, there are a lot of things I want to do with the business in order to get to the next step.

What kind of consulting do you do?

Glad to hear you're "in the black." :)

I do engineering consulting in a fairly wide range of disciplines. At the moment I'm doing a software engineering job that's pretty interesting.

I wrote a tiny bit about it in this article (just a teaser, really) and also included a photo of the device I'm interfacing to.

But I do other manufacturing consulting and can create high tech products from scratch.

I think you told me about your traveling job once, but I forgot the details... Do you think your "nut job" will eventually eliminate your need to travel? :D

I don't normally travel for my job. This particular project had a requirement for 10 months of ongoing support and I was kind of the only guy that could fulfill that requirement. It isn't something I would normally do otherwise. I do IT work for a fairly big company.

My goals for my business are pretty simple. They are as follows:

  1. Provide a tertiary source of income in order to support more quality time with my family.

  2. Serve as a type of education for myself for business education.

  3. Serve as a basis of instruction for my children and more so as a way to frame their minds to think in terms of owners rather than workers. That's not to say that working for someone is bad. It's just that, I feel they would be better off negotiating for a percentage of the profit rather than a pay raise.

That probably stems from a projection of my own experiences. I have learned that when I take a job, I tend to treat it as if I owned it. While doing so has brought me a lot of success according to my own standard, I have never approached the standard of the people for whom I work. I have never once been offered a share of the profits and have only recently asked for it (I was denied). My hope for my children is that they will feel comfortable asking for it and be willing to venture out on their own if they so desire.

Consulting sounds like a cool gig. I have always considered myself a bit of an unconventional-type thinker and someone who comes up with solutions that most would not have considered.

Consulting has been a real God-send for me, and has given me more freedom than the average worker. However, my real goal all along has been total independence via ownership.

I've been only partially successful in that, but the success has made it something that I wish to pass along to my children and grandchildren.

Sad to say, the pervasive culture seems to push them strongly towards "working for 'da man" as the preferred model. I struggle to convey the significant differences to them in practical terms that will actually help them escape "the rat race."

Holy cow, that's a good pile of nerdy tests and research.

Now, if steemit.com rejects 64k+ files, isn't that just a limitation of the website frontend? Can't someone theoretically write directly to the blockchain, presumably using much larger file sizes?

I know for larger fiction stories the limit that steemit.com will take is roughly 5000-6000 words, but other frontends (busy.org, etc) will allow for much larger posts to be written to the blockchain (all this is anecdotal and simple personal experience and maybe not related to the 64k limit you're mentioning).

Anyway, I like that you spent the time to find a solution like this, and the slightly impractical nature of it is charming. :)

Hey, I'm nothing if not impractical... :D

I suspect we're looking at the "block" in "blockchain" here with that limitation.

Some of the historical records I've uncovered (i.e. old Steemit posts on the subject) talk of a one megabyte limit...

So 64K may be a front-end limitation. However, just as disks are sliced into sectors and blocks, this should not be a limit to a front end programmer dealing directly with the chain.

I'm trying to do multiple things here, probably all mutually incompatible. If I ever get a round 'tuit and teach myself some Steemit programming, I will try to write an app that runs on a local computer and can store and retrieve "stuff" of any type on the Steemit blockchain. In the meanwhile, I wanted to see if "Joe Average" could do it, even on a limited basis. ;)

Coin Marketplace

STEEM 0.26
TRX 0.11
JST 0.032
BTC 63547.08
ETH 3070.13
USDT 1.00
SBD 3.83