This is a read-only snapshot of the ComputerCraft forums, taken in April 2020.
Lupus590's profile picture

Creating a good post for your program

Started by Lupus590, 27 December 2015 - 09:30 PM
Lupus590 #1
Posted 27 December 2015 - 10:30 PM
So you've made a cool program and want to share it with the forum!

Testing, testing, one two three!
First off, test your program, make sure that it works. I will admit that I don't always do this step, but if your program is of any decent length then you should test it. If it's big enough to share, it probably needs tests. Testing is making sure that your program does what you expected it to do. And doesn't do anything that you don't intend it to (bugs).

What does it do?
Give a short description of what your program does, is it similar to another program which we may know about already? If it is then tell us about things your program does differently to the ones that it's similar to. This is an important part of your post, if your program doesn't sound interesting or useful then it's not going to get downloaded.

Distribution
Make the download easy and clear, the best way to do this is to use pastebin, it's free, easy, you don't need an account, and you can do it via computercraft's inbuilt pastebin program. Just put the ID code on your forum page and tell us that it's the download.

If you have multiple files then you may want to use something like github. To make things easier for your users, make a pastebin installer, or direct us to use one of the many github downloading programs on the forums.
Alternatively, you could use something like compress to make a self-extracting installer, you can host this on pastebin and tell us to run it.

Special Instructions
Is there something which we have to configure on the first run? Did you use a fancy framework or API which needs to be installed on the end user machine or some other dependency (mods)? Tell us, better yet, get the program to (nicely) prompt the user to setup everything correctly. Preferably have the program know how to do it's first-time set-up and either do it itself or guide the user through it.

Turtle programs may have 'physical' considerations. Does the program expect the turtle to have certain items in the correct slots? Does it have to start in a particular location on the farm that it will manage?

No pics, no clicks
Quite a lot of people like screen shots. In my opinion, if the program has a GUI then a screen shot is useful, otherwise, one is not needed. I quite like using postimage for my image hosting needs, it's free and easy to use. As for getting the image in your post: in the post editor, click on the image icon below the smiley face, paste in a direct link to your image, click ok and you are done.

Ideally, your screen shot should only contain the information which we need. Just crop out things like the windows taskbar/titlebar (or the mac dock thing), if your screenshot is showing the computercaft screen, then crop your screenshot to that size. MSPaint (or your other OS default image editor) can handle this, no need for photoshop.

30~60 pics per second
If your program is very complex then a video may be beneficial. I'm sure the you have heard of the free video host called youtube. To get your video in the post: click on the link icon in the editor (below and to the left of the smiley face), paste a link to the video, make sure that the protocol is http:// (and not https:// ), then click ok.

A note about embedding, the embedded video will use the flash player. I am looking into a way to force it to embed the HTML5 player. For now, I advise adding another link to your video and making sure that it is using the https:// protocol. This will keep it as a link, allowing those who don't want to or can't enable flash to still be able to view your video on its youtube page.

Creating videos can be difficult, you will need a screen capture program. I personally use OBS, it's designed for streaming but it can record too, it's also free, but can be a bit complex to use. If you search Google for free screen recorders then you should find loads. As for editing your video, I haven't needed to because a lot of my videos are in one take (they tend to be very short). But any video editor should do what you need it to do, namely combining clips together. Again, google is a resource if you need a free video editor.

One final thing for video's, if you are talking and it's difficult to understand you (either English is not your first language or your microphone is not good quality) then add subtitles to the video. It will take you a while, but everyone will appreciate it (even if we don't say that we do).

Picking a name
Preferably you want the name of your program to be something short, memorable, related to the program, and unique. You are likely not going to fit all of those criteria. As for naming your forum thread, make sure that you have your program name and a short description of what your program does.

Legal - I know
What can we do with your code? Are you happy for us to make changes and to share those changes? Do we need to credit you if we make changes? This website is quite useful for this. I personally like the MIT license as it is me proof.
More information in this tutorial: http://www.computerc...p?/topic/26096-

Almost ready
Check for spelling mistakes in your post, also what font have you used? http://www.comicsanscriminal.com/ I like to keep to the default fonts and sizes (makes things easier for phone users - no need to zoom in and out). Heading wise I use bold text, again phones. Before you have posted, double check that all of your links work, the preview button is designed for things like this.

Don't forget to post your code
Your thread will be locked if you do forget, should it become locked just find your code and report your post (stating that you have found the code) and the forum mods will unlock it for you to post your code. The report button is in the bottom right, near the quote buttons. The edit button is in the same place. They show up clearer when the mouse is near.
Edited on 24 October 2016 - 06:26 AM
Creator #2
Posted 27 December 2015 - 10:58 PM
Nice tutorial. It is surprising no one has though of this before.
Lupus590 #3
Posted 28 December 2015 - 02:25 PM
OP edit: expanded picture and video sections. Also, made the sentence about using compress more clearly part of the multi-file distribution.

Also, thanks creator!
Edited on 28 December 2015 - 01:29 PM
Creator #4
Posted 28 December 2015 - 02:36 PM
Maybe, next you should do a tutorial on tutorials.
Blue #5
Posted 28 December 2015 - 07:38 PM
Maybe, next you should do a tutorial on tutorials.
Tutorial-ception? What about a tutorial on how to make a tutorial for tutorials?

Also,great tutorial Lupus,I hope that people who are new to the forums read this.
Edited on 28 December 2015 - 06:39 PM
Konlab #6
Posted 31 December 2015 - 06:59 PM
Great tutorial, but for videos you need flash :(/>
(I know it is subjective but I don't have flash for security and performance reasons)
Offtopic
What about a tutorial on how to make a tutorial for tutorials?
Recursive tutorial
Lupus590 #7
Posted 31 December 2015 - 07:29 PM
Great tutorial, but for videos you need flash :(/>
(I know it is subjective but I don't have flash for security and performance reasons)

I usually have all of my plugins disabled for the same reason, although i frequently forget to turn them back off.

I think I found a fix though. Going to test on this thread.
http://googlesystem....ml5-player.html


It no worky :(/>

OP edit: added note about embedding and the html5/flash problem
Edited on 14 January 2016 - 07:42 PM
Lupus590 #8
Posted 13 January 2016 - 09:59 PM
OP edit: added legal and special instructions sections
Wojbie #9
Posted 13 January 2016 - 10:19 PM
Thanks for the link to http://choosealicense.com/.
I never thought about what No License exactly implied.
I think i will use MIT on CC stuff from now on.
Edited on 13 January 2016 - 09:21 PM
Lupus590 #10
Posted 13 January 2016 - 10:49 PM
OP edit: spell checking and adding the conclusion
Lupus590 #11
Posted 19 January 2016 - 06:50 PM
OP edit: don't forget your code
Sewbacca #12
Posted 23 September 2016 - 09:28 PM
I have a few questions, because i gonna post my API soon.
What means exactly 'same license'?
What should i put in [fullname], if i don't want to put my real name there? Be my CC name enough?
Is it okay, if i post a little API with many possibilities that is not full debugged yet, because i also want that some people debug it?
What should i do, if i don't find a good name?

Sewbacca
Edited on 23 September 2016 - 08:34 PM
Lupus590 #13
Posted 24 September 2016 - 01:52 PM
  1. What means exactly 'same license'?
  2. What should i put in [fullname], if i don't want to put my real name there? Be my CC name enough?
  3. Is it okay, if i post a little API with many possibilities that is not full debugged yet, because i also want that some people debug it?
  4. What should i do, if i don't find a good name?
  1. I'll need context to be sure, but I think you mean distributing modified versions of someone else's work. Basically you are not allowed to change the license of the code, you may also not be able to claim it all as your own (your modifications will still be yours - I think). I would check the particular license to be sure. Also, this gets more complicated with APIs as sometimes the API will limit the licensing options of the program using it.
  2. I've seen others do that, you may have issues with proof of identity in court, but I can imagine a lot more issues regarding to court cases and computercraft scripts
  3. Mark it as a beta, stating that not everything has been debugged (don't call it an alpha - true alpha software is for testing done by the creator/s, beta is where it gets given to others - who have no involvement with the software's creation)
  4. Post the thread with a sort description and ask for name suggestions?
Edited on 24 September 2016 - 11:55 AM
Sewbacca #14
Posted 24 September 2016 - 07:49 PM
  1. I'll need context to be sure, but I think you mean distributing modified versions of someone else's work. Basically you are not allowed to change the license of the code, you may also not be able to claim it all as your own (your modifications will still be yours - I think). I would check the particular license to be sure. Also, this gets more complicated with APIs as sometimes the API will limit the licensing options of the program using it.
  2. I've seen others do that, you may have issues with proof of identity in court, but I can imagine a lot more issues regarding to court cases and computercraft scripts
  3. Mark it as a beta, stating that not everything has been debugged (don't call it an alpha - true alpha software is for testing done by the creator/s, beta is where it gets given to others - who have no involvement with the software's creation)
  4. Post the thread with a sort description and ask for name suggestions?
  1. I mean, there are some licenses, with the option 'same license'
  2. You also haven't posted your full name, you just posted in your signature a link to the MIT license.
  3. Thanks, i didn't knew the difference of alpha and beta =)
  4. The thing is, that it has not a real individuality. It creates a fs handle, like window.create.
  5. Thank you for your answer, this thread is really old, i worried that nobody would answer.
Lupus590 #15
Posted 24 September 2016 - 08:10 PM
  1. I mean, there are some licenses, with the option 'same license'
  2. You also haven't posted your full name, you just posted in your signature a link to the MIT license.
  3. Thanks, i didn't knew the difference of alpha and beta =)
  4. The thing is, that it has not a real individuality. It creates a fs handle, like window.create.
  5. Thank you for your answer, this thread is really old, i worried that nobody would answer.
  1. Then I assumed correctly on my original comment
  2. In projects on github I do, single file programs I comment a link to the MIT license and also comment my first name followed by my pseudonym - or at least I'm trying to get into the habit of doing this
  3. (no response needed)
  4. All APIs are useless without a program to utilise them - how you license your code is ultimately up to you but may affect the number of users you get (the GPL licenses are quite complex on their conditions, some of which I find restricting)
  5. I have another tutorial which goes through licensing in more detail: http://www.computercraft.info/forums2/index.php?/topic/26096-
Sewbacca #16
Posted 24 September 2016 - 08:27 PM
  1. Then I assumed correctly on my original comment
  2. In projects on github I do, single file programs I comment a link to the MIT license and also comment my first name followed by my pseudonym - or at least I'm trying to get into the habit of doing this
  3. (no response needed)
  4. All APIs are useless without a program to utilise them - how you license your code is ultimately up to you but may affect the number of users you get (the GPL licenses are quite complex on their conditions, some of which I find restricting)
  5. I have another tutorial which goes through licensing in more detail: http://www.computerc...p?/topic/26096-
  1. -
  2. But you don't put your last name there?
  3. -
  4. I think, i will use the MIT license (if number one means, that also the MIT license provides a 'read only' license (if you know what i mean)), which won't affect the number of users i get, i think.
  5. I come from this tutorial to the current tutorial.
Lupus590 #17
Posted 24 September 2016 - 10:16 PM
  1. -
  2. But you don't put your last name there?
  3. -
  4. I think, i will use the MIT license (if number one means, that also the MIT license provides a 'read only' license (if you know what i mean)), which won't affect the number of users i get, i think.
  5. I come from this tutorial to the current tutorial.
  1. -
  2. Correct, but I'd prefer privacy to increased success in claiming ownership
  3. -
  4. there's nothing stopping you from creating your own license, and you can modify some licenses to your needs
  5. I've added a new part to that
Lupus590 #18
Posted 24 October 2016 - 08:27 AM
OP edit: mentioned dependencies in the special instructions section
H4X0RZ #19
Posted 24 October 2016 - 12:52 PM
-snip-
  1. I've seen others do that, you may have issues with proof of identity in court, but I can imagine a lot more issues regarding to court cases and computercraft scripts

Sorry for necro-ing this discussion but… What if I have a keybase account bound to my GitHub account? Couldn't I use this to prove that I own the account, and therefore own the name and licensed program?
Edited on 24 October 2016 - 10:52 AM
Lupus590 #20
Posted 24 October 2016 - 01:16 PM
Sorry for necro-ing this discussion but… What if I have a keybase account bound to my GitHub account? Couldn't I use this to prove that I own the account, and therefore own the name and licensed program?


I have no idea. I would hope that they would recognise it as valid proof, but I'm worried that they will be too technically inept to do so.
Edited on 24 October 2016 - 11:18 AM
Sewbacca #21
Posted 24 October 2016 - 02:06 PM
I think that licenses are useless in case of computercraft, because never someone would steal CC code from others, and if they do so, they are really stupid. Also often you get the code just asking the owner. Licenses for CC are just formal i think.
H4X0RZ #22
Posted 24 October 2016 - 08:56 PM
I think that licenses are useless in case of computercraft, because never someone would steal CC code from others, and if they do so, they are really stupid. Also often you get the code just asking the owner. Licenses for CC are just formal i think.

CC is using Lua. Stealing CC-centric code would be stupid because we are "niche developers". But we can also write Lua-only implementations useful for other scenarios as well. For example a class system: it's nice to use one in CC, but it's useful outside of CC too (even when hacking something together really quick. That's what my FS mod used in Helium is, tbh)