Leave these fields empty (spam trap):
Name
You can leave this blank to post anonymously, or you can create a Tripcode by using the format Name#Password
Comment
[i]Italic Text[/i]
[b]Bold Text[/b]
[spoiler]Spoiler Text[/spoiler]
>Highlight/Quote Text
[pre]Preformatted & Monospace Text[/pre]
[super]Superset Text[/super]
[sub]Subset Text[/sub]
1. Numbered lists become ordered lists
* Bulleted lists become unordered lists
File

Sandwich


Forum/Image baord Creation

Reply
- Sat, 22 Aug 2020 18:01:19 EST qL+QCiK3 No.38945
File: 1598133679059.jpg -(277327B / 270.83KB, 1350x1450) Thumbnail displayed, click image for full size. Forum/Image baord Creation
I want to program my own image board from scratch but I don't know what programming language is ideal or where to start at all, really. What is the best tutorial or book out there on this topic that I can follow?
>>
Basil Fanwell - Sun, 23 Aug 2020 07:37:57 EST kpcKA+xT No.38946 Reply
>>38945
any language really, concepts are more important than technology. Build rest api in java/php/python/ruby, it should enable you to return all posts/threads in JSON, and inserting new. Then you write fronted in vue/react that just renders those JSON files. I am building imageboard in Java now, you can help me out if you want
>>
Shitting Droshspear - Sun, 23 Aug 2020 07:44:10 EST 9poX9sii No.38947 Reply
If it isn't for strictly didactical purposes, or you have in mind a totally new and exciting concept of imageboard, avoid reinventing the wheel. There is already tons of imageboard software floating on the internet. https://en.wikipedia.org/wiki/Imageboard#Software

That's just, like, my opinion, man
>>
Clara Drerringhig - Sun, 23 Aug 2020 16:42:04 EST qL+QCiK3 No.38949 Reply
>>38946
I do not think I will be of much help to you at all, I am only in my second year of CS at uni and my skills are a tad rusty at the moment. I'd like to see how things work though so I can get an idea of what I should be doing when I start my project, if you don't mind.

>>38947
Nice name. I will check out the wiki and see if any of the software has the features I plan on implementing. If not I'll have a lot of work to do.
>>
Cornelius Docklelotch - Fri, 28 Aug 2020 16:12:13 EST eM6TgR5q No.38951 Reply
Be a real man and use C, there's a lot of php examples. Imageboard models are a little different than what you may expect. Most of them don't use MVC. The app is served as static assets (.html/js/css) for performance reasons, you can also easily push those assets to a CDN to make even less load on server. Any updates such as new post call another function to regenerate the whole site's static assets such as board-catalog.html.
>>
Augustus Buppertudging - Thu, 03 Sep 2020 22:45:33 EST ZJh08KPY No.38959 Reply
>>38945
A lot of your problems are going to have to do with concurrency, so just let me nip something in the bud for you:

There is no such thing as parallel writes. There is no such thing as parallel writes.
>>
Thomas Herrykotch - Fri, 04 Sep 2020 04:53:53 EST 4Q4DkGKh No.38960 Reply
>>38945
there's already tons of free software for image boards on github. just download one you like from there and find a place to host it and your done. I have one myself but it's invite only and we trade nudes.
>>
Alice Clollydale - Fri, 02 Oct 2020 11:37:54 EST cxNZOZ4O No.39005 Reply
>>38960
What if the actual process of writing the software is what he's after, for practice or fun? If someone asks "how brew beer" you don't go saying "there's already loads of beer at the store and you don't have to pay for equipment"
User is currently banned from all boards
>>
Hannah Banningchut - Sat, 24 Oct 2020 04:23:55 EST qL+QCiK3 No.39031 Reply
>>39005
That is what I was talking about in the OP. If my site takes off I don't want any trouble paying royalties or anything like that
>>
Hannah Sazzlehood - Mon, 30 Nov 2020 22:13:35 EST 2hKE2oFL No.39118 Reply
1606792415608.jpg -(24125B / 23.56KB, 414x462) Thumbnail displayed, click image for full size.
>>38945
First, get a standard calculus text and dive in. You should also get linear algebra and discrete math books as well; make sure the discrete text is proof based.

Once you're a couple chapters in to your discrete book (you will want to have covered basic proposition and higher order logic, and basic proofs), you may begin learning programming and computer architecture. As a litmus test, if you don't know what this statement is

∀P((0∈P∧∀i(i∈P-->i+1∈P))-->∀n(n∈P))

you aren't ready to take the reins of a computer.

Now, forget what you do know about computer programming:

First, you learn boolean logic operations
then, you learn transistor logic
then, you learn how to build functional units from logic gates
then, you learn CPU design
then, and only then, you learn assembly language
then, after you have mastered assembly language (not dabbled, but mastered it), you learn C
then, after you have mastered C, you may learn the higher-level languages of your choice, but you will always use C and assembly as your primary languages because everything else is unnecessary bloat.

By this time you should be finished with your first wave of math and ready for the next: abstract algebra, analysis, multivariate and vector calculus, and, after you have progressed a way in those, topology.

Finally, you become familiar with topoi, and study the internal logic of categories
then familiarize yourself with (general) type theory, and its applications to programming. I also recommend studying how to reformulate mathematics in terms of globular categories for use in automatic theorem proving, because there is an inherent programming-like 'feel' to it.
>>
Shit Sallerwater - Tue, 01 Dec 2020 00:47:38 EST c3noA5KV No.39119 Reply
>>39118
Or just learn JavaScript and earn your place on levels.fyi for 500k a year to code React.js websites. Like me.
>>
Simon Hushhood - Tue, 01 Dec 2020 13:05:43 EST E3Sdh08B No.39121 Reply
>>39118
this is enthusiastic gatekeeping bullshit. You don't need to learn how transistors function to code HTML 5 and JavaScript. Telling someone to do all the bullshit you describe will just keep 90 percent of people away from programming. Are you telling me to write windows scripts or bash scripts to automate tasks I need to learn Calculus? Lol no. It's good to learn computing theory after you already jump into coding though
>>
Charles Tootwater - Tue, 01 Dec 2020 13:08:35 EST ucDQTB3L No.39122 Reply
>>39121
i have mild enthusiasm. cry about it, bitch.
User is currently banned from all boards
>>
Ernest Greenwill - Thu, 03 Dec 2020 12:19:10 EST 7sa8hi9j No.39124 Reply
1607015950941.gif -(1764462B / 1.68MB, 435x250) Thumbnail displayed, click image for full size.
>>39122
we're all enthusiastic
but only one of us is butthurt about it because they're too woke
>>
Jarvis Sebblespear - Tue, 29 Dec 2020 06:15:01 EST w6I3QuQ7 No.39199 Reply
>>38945

Hey buddy

This would be a great time to learn javascript. React frontend/ mongo db/ cloudinary for images/ node and express for backend. Make from scratch, I'd start with the post and reply functionality of threads. Take ur sweet time and take it from there. Have fun man!
>>
Shitting Blackhood - Thu, 31 Dec 2020 04:17:38 EST M6JFf11l No.39210 Reply
>>39124
I love how it pans out like a drama scene in some movie.
>>
Sophie Chillybanks - Fri, 01 Jan 2021 02:23:26 EST x6K3CZQk No.39215 Reply
1609485806112.png -(785007B / 766.61KB, 700x700) Thumbnail displayed, click image for full size.
>>38945
This comes up every X posts: how to make an image board
Well, first you have no money to afford an image board so you need to do it for free.
Vercel exists, it's some scheme where you generate the html using Next.js and push it to their CDN and it costs you $0.00
So the challenge is how can you update threads and then regenerate the html in any kind of decent time complexity in order to update the CDN and still not have to pay money?
Normally this is just a simple database, a new post get's pasted and you re-generate the html but it doesn't have to be you could do some kind of hackery to imitate a database
Problem is of course jannies and other things you have to worry about, all of which are not a technical solution, and spammers of course

Vercel/Zeit aren't the only ones there are other free solutions out there but I've used them for a few sites now, giving the illusion of being dynamic while just being a budget tier generated html illusion
>>
Cornelius Fecklehall - Tue, 05 Jan 2021 21:59:18 EST B7d5yb3y No.39235 Reply
I made an image board and even deployed it all on AWS.

Here is what you do:
>Learn HTML/CSS/JavaScript
>Learn frontend framework like React/Angular/Vue (learn one)
>Learn Node.js and Express

Oh who am I kidding this thread is 5 months old you'll give up once you fuck up flexbox shit.
>>
Ebenezer Drendlespear - Mon, 11 Jan 2021 02:09:33 EST LICzLI2p No.39255 Reply
>>38949
>I do not think I will be of much help to you at all, I am only in my second year of CS at uni
you'll learn everything on the job. just drop your email here and he contacts you later
>>
James Panningbudge - Mon, 11 Jan 2021 13:54:56 EST 1Q0VbBC+ No.39258 Reply
>>38945
An image board is a database, with a few special tweaks here and there. It's much more on the side of web admin than actual programming.

As a langauge, some database SQL back-end, and a few scripts in something like Python, or Ruby or whatever those crazy kids are doing nowadays. Problem would be, though, it'd be just you, not only a lone man, but also a beginner programmer, in charge of thinking up, planning, and implementing everything. And presumably it's gonna be a chan, so you'll have scores of arseholes and idiots trying to hack and DDOS the thing all day.

Going with a pre-written package instead gives you code that's had dozens of hands and years of battle-hardening. And a community of everyone else who uses that package.

Anyway... how to learn programming.... you probably need the database / scripts / www side rather than say C, which is for system work, games, high-performance stuff. So take a course in that.

Or else hang around communities of people who run their own boards. But programming isn't something you can learn in 5 minutes. Takes a long while, and I dunno how easy it is to learn as a grown adult rather than starting younger. In a way thinking like a programmer is a lot like giving yourself enthusiasm on purpose.

Actually would be a good thing for more people to learn, proper formal logic, and necessary and not-necessary implication and inference.
>>
Hamilton Gickleford - Wed, 10 Feb 2021 08:49:31 EST cxNZOZ4O No.39352 Reply
1612964971346.png -(15181B / 14.83KB, 1253x162) Thumbnail displayed, click image for full size.
>>39031
I don't think any IB software has any such license that requires you to pay for usage, regardless of how popular that usage is. Just check out the source page of whatever implementation it is you've found that fits your needs in whatever language you're comfortable with and is adequately modern, then find what license it uses.
Example pic related, IB-softw. in haskell free to use pretty much however you want.
If you still wanna work from scratch because it's fun go ahead, but if you're doing all that work because you're scared of legalities popping up later you're doing it because of superstition. It's super easy to know in advance.
User is currently banned from all boards
>>
Priscilla Gobberfuck - Fri, 12 Feb 2021 12:09:27 EST azP+DVy6 No.39363 Reply
>>38960
I read that as "nukes" and it was a lot funnier
>>
Cornelius Gugglehutch - Fri, 12 Feb 2021 20:10:52 EST cxNZOZ4O No.39364 Reply
>>39363
That'd be a pretty funny chan niche actually. NukeChan, every n (appropriate granule of time) there's a diceroll if the board should be nuked, and how severely (all the boards, just one, half, etc). Hidden /vault/ board that is protected from nuke effects you gain entry to somehow? Solve some kind of puzzle to get a key?
User is currently banned from all boards
>>
Angus Pommlelock - Sat, 01 May 2021 23:30:06 EST qL+QCiK3 No.39517 Reply
1619926206644.jpg -(1503037B / 1.43MB, 1280x1314) Thumbnail displayed, click image for full size.
>>39121
I'm pretty sure he was just kidding around. I do not think mastering linear algebra is a requirement, nor realistic first step, for most programmers.

>>39211
I want to make my own imageboard because I do not like using 4chan that much. I won't bore you by typing out paragraphs as to why, so I will just say this.
*The jannies are way too strict.
*Quality threads are increasingly scarce.
*Soundless webms!
*No VPNs allowed.
*The captchas.
And much more.

>>39215
If things get bad enough (me giving up entirely) I will consider this.

>>39235
Your advice is still appreciated, all of this has been helpful.

>>39258
I wanted to work from scratch so that I could actually learn the skill of programming a bit more, but now that I have been warned about spammers twice I guess I should just take some freeware and improve upon /tweak it. It'd suck putting in months of work and then some 341C H4C1<ER reduced it to dust.

>>39352
That's good to know. I guess I will go with experimenting on some IB software since that will cause less damage in the end. Thank you to everyone ITT for your advice.
>>
Wesley Gishbanks - Tue, 15 Jun 2021 10:03:48 EST 4eJFb52t No.39601 Reply
>>39235
Can you share the github link to your project if you have one please?
Just wanted to see what the source files of a finished imageboard will look like
>>
Albert Gaffingkatch - Thu, 02 Sep 2021 01:55:59 EST PRYO9wnw No.39787 Reply
do it in Perl lol
>>
Emma Gunningshit - Thu, 02 Sep 2021 17:04:38 EST RfCPWDDi No.39789 Reply
>>39601
There are loads of them already up on github, in a variety of langs, just give it a search
User is currently banned from all boards
>>
Nicholas Shittingbanks - Thu, 17 Feb 2022 09:45:05 EST DwIx2sYS No.40149 Reply
>>39121
cope
write your own web servers in assembly jolly african-american
>>
Edwin Goffingstack - Fri, 29 Apr 2022 21:30:55 EST U3E4S0yl No.40220 Reply
>>40149
Unless their passion is for assembly, or there's a particularly nasty bottleneck in web servers built without assembly, why would you suggest such a thing?

Report Post
Reason
Note
Please be descriptive with report notes,
this helps staff resolve issues quicker.