Sup Forums Makes a List, Part 3: Programming Boogaloo

So! Here we are again. Someone asked me to remove "re-write haskell in vb6", so we're just shy of 100 challenges. We have two options:
1) Get even more ideas than the intended 100 (Much like Version 3.0)
2) Get started on finalizing what we have so far.

Thoughts?

16 can be "hard" if there's a cached interpreter or even "fuck you" if there's a "dynamic recompiler" (a lot more doable if you use a dynarec/jit library)

53 is "medium" at most (it's been feature in multiple operating system and C books [fork() and exec*() family of functions])

64 is "medium"

66 is "hard" but the efficiency requirement makes it "fuck you"

70 is "hard" at most

75 if anybody is interested in this search for bisquit's video about doom like engines.

89 this is a "holy shit programming is so cool!" project IMO 10/10


some suggestions:

Medium: Program that displays the MBR contents
Medium: An ID3 reader (not hard but a pain in the ass to write)

Rolling to the beta version

Thanks for the suggestions!

why is 100 not covered in a cube?

Because Excel formatting is weird... Fixed it now!

I see you're planning to write 150 challenges, but there is a problem with that.
The challenge is determined by the last two digits of the post number, but if we are going to have 150 challenges, three digits must be used.
Now, if we use three digits, there is a probabilistic problem, because the challenges 51-99 are more likely to come out than the other ones.

A solution would be
challenge_number = last_three_digits_of_post_number%n_of_challenges

Now problems 1-100 have a greater likelihood of occurring than 101-150

That's not a solution because 150 doesn't divide cleanly into 1000. You'll get a skewed distribution

Let's be honest though, barely anyone uses it. I bet most people who roll don't bother doing it either or give up on it. I'd rather have loads of challenges on there that are useable than to have Sup Forums circle jerk on the projects on the list they pretend they have finished. I welcome this change to put > 99 on there.

What about a basic web crawler? Or maybe something that draws the map of a website

Since there is an ID3 reader, why not having also a JPG EXIF reader?

>c compiler
>green

tough luck dude, your threads always die and never autosage

SUggested task:


Write an interpreter, compiler and decompiler for interactive math and logical expressions evaluation with variables that can be assigned as in python. Must have: addition,multiplication,minus,braces,, not, or, and.

It sounds hard but it isnt if you look online on how to do it. You choose whether to use registers or stack.

Any one of them, but use Test Driven Development. Which isn't hard per se, but it does require you to know a bit about programming.

I'm currently reading an e-book about it. "Test Driven Development by example"

Why are the problems sorted chronologically instead of split into the different difficulties?

Version 3 here not sure if you copied all the shit over from this or not

>sounds hard
No it doesn't. It'd be top 5 easiest on the list so far probably.

I began the list chronologically, but I have a (slightly outdated) version of everything sorted by difficulty. Spoiler alert, there's more medium than anything else (not that that's a bad thing)

: You hit the nail on the head! This is mostly what I wanted. Not necessarily a "roll" thing (which I found out making threads on that is a bannable offense), but something someone could do if they wanted practice or were just bored

: Like this one;Web Crawler Medium difficulty? What do you think

: How hard would implementing this be?

My bad! I shifted everything up one because I erased a challenge in the second column... Changing it, though!

: Putting Expression Solver down and as a Bonus, I can put down "Dynamic interpreter and assignable variables"... Does that sound okay?

BTW: Pic related is the list sorted by difficulties

Quick question... It seems TDD is more of a software-design philosophy than an actual programming challenge. If I were to include TDD, what would the actual program entail?

Don't include TDD imo. Doesn't fit the theme. It's about proposing what to build, not how.

Yeah... I had a similar train of thought

bumping for interest in finished product

What's the point in this image existing?
It would be nice if it actually provided something to the user like resources... or standard -or- novel strategies.

it's in the earlier versions op will probably put it in at some point

personally i think part of it is looking it up yourself

...

Bumping before I go to sleep

Given a picture a cutie, determine if it's a trap. Make use of convolutinal neural networks. Difficulty : Fuck you.

suggestion:
Medium: a C++ IDE plugin for Sublime Text (or Atom or whatever) featuring true auto-complete using clang's AST, go-to symbol declaration and definition again using clang's AST. Nightmare Fuck You In the Ass Forever Mode: graphical debugging

Another suggestion for OP:

Medium: simple version control supporting checkout, commit with a commit message, delete, revert / go-to version #, user authentication, file locking (so that other users can't commit to it) and unlocking, and per-file configuration of number of revisions kept.

hard: write a GUI for the same

Writing a raytracer is easier than writing an IRC client.

It depends both of the raytracer and the IRC client.

The RFC of the IRC protocol is 60 pages, good luck if you want to do total compliance all alone. You will most likely implement the most useful subset.

The raytracer will be harder the more complex objects you support. Sphere, Columns are easy, but you can get to a point where you need to solve polynomials equations of large degrees very fast, and it's a descent into the madness of numerical computing from this point.

Another suggestion: CLI password manager
Would be easy
Bonus for secure random password generation

While that is true, I don't think irc being "medium" and raytracing being "hard" is justified.

How about a turing machine simulator?

Vigenère cipher cracker.

Maybe this one is stupid, but we have to reach 150.
A contact manager with a SQL DB. It should handle at least Names, Birthdays, Emails and Phone numbers.

Another challenge would be a basic Telegram bot, without using existing frameworks, just HTTPS libraries. I'd say easy difficulty. Bonus for implementing all the latest bot features such as reply buttons.

Imageboard, something like vichan. Medium difficulty. Bonus for creating an API.

Added. Both medium.

Separated this into two: Password Generator, and Password Manager, both easy)

: Putting this down as difficult

Medium

: Medium

a REPL (read eval print loop) for a compiled programming language

: Medium-to-Hard

Put "Create a Torrent Client" on Fuck you because all Sup Forums can do is create the logo :^)

Done! Put it as hard... Thoughts?

Bumperino Bumperino give me the formulino

109 is a sub set of 54, also a vigenere cipher is very easy.

Also a turing machine simulator is baby tier easy, basically you just put the definition into code. But programming a turing machine is more difficult (see brainfuck for example), so I'd say writing a compiler for this turing machine would be a worthy challange.


Basically I found the original version (in the OP) was the best version.

So these are smart to do along the way if you're learning how to program in uni?

I've been using other versions of these to help me program... Pretty useful, imo